我在哪里可以找到 Emacs Lisp 语法的正式规范(使用 EBNF 或其他标准符号表示——源代码中的“read”函数不计在内!)?
如果有 .y 文件,我会很高兴;不过,遗憾的是,Emacs 自己的解析器并不使用 yacc。
我在哪里可以找到 Emacs Lisp 语法的正式规范(使用 EBNF 或其他标准符号表示——源代码中的“read”函数不计在内!)?
如果有 .y 文件,我会很高兴;不过,遗憾的是,Emacs 自己的解析器并不使用 yacc。
在https://github.com/Wilfred/tree-sitter-elisp/blob/4b0e4a3891337514126ec72c7af394c0ff2cf48c/src/grammar.json上有一个tree-sitter语法,用于Emacs Lisp。 这是一个机器可读的语法规范,然后用于生成C解析器。
我认为这与任何Lisp语言都是相同的,不是吗?以下是维基百科中Lisp页面描述Lisp的内容:
expression -> atom | list
atom -> number | name | string | operator
list -> '(' expression* ')'