Emacs Lisp的正式语法

5

我在哪里可以找到 Emacs Lisp 语法的正式规范(使用 EBNF 或其他标准符号表示——源代码中的“read”函数不计在内!)?

如果有 .y 文件,我会很高兴;不过,遗憾的是,Emacs 自己的解析器并不使用 yacc。


1
这是我找到的最接近elisp语法的内容。EBNF语法对我现在也非常有用。不知道你是否解决了这个问题。 - SerialDev
1
不好意思,我放弃了那个项目。我相信@Drew在下面的回复是正确的,除了emacs中lisp阅读器的源代码之外,没有其他正式的定义。 - Jonathan Klabunde Tomer
2个回答

0

此外,Guile 在 https://git.savannah.gnu.org/cgit/guile.git/tree/module/language/elisp 上有一个独立的 lexer 和 parser 的实现,使用 Guile Scheme 编写。 - tla

-1

我认为这与任何Lisp语言都是相同的,不是吗?以下是维基百科中Lisp页面描述Lisp的内容:

expression -> atom | list
atom -> number | name | string | operator
list -> '(' expression* ')'

4
不,这个还远远不够。Emacs Lisp 还有许多其他类型——字符和字符串字面量、向量、chartable 等等——都有特殊的读语法。我希望有一个覆盖所有类型的语法。 - Jonathan Klabunde Tomer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接