哪种编程语言的EBNF文法简短优美?
有些语言更易于解析。以前我创建了一个简单的VHDL解析器,但它非常慢。这并不是因为它完全使用Python实现,而是因为VHDL的EBNF文法太大了。Python的EBNF文法很优美,但不是非常简短。
我建议像LISP这样的许多函数式编程语言拥有简短简单的文法,但我对像C或Bash这样更流行的简单命令式语言感兴趣。
哪种编程语言的EBNF文法简短优美?
有些语言更易于解析。以前我创建了一个简单的VHDL解析器,但它非常慢。这并不是因为它完全使用Python实现,而是因为VHDL的EBNF文法太大了。Python的EBNF文法很优美,但不是非常简短。
我建议像LISP这样的许多函数式编程语言拥有简短简单的文法,但我对像C或Bash这样更流行的简单命令式语言感兴趣。
我没有进行比较,但Lua是一种以简单语法闻名的语言。BNF在这个参考手册的末尾:http://www.lua.org/manual/5.1/manual.html。
总的来说,特别是对于具有简单架构(少量指令、少量寻址模式、少量寄存器)的CPU而言,汇编语言的语法相对较短。
事实上,像可编程逻辑控制器中发现的这样的专用处理器可以具有甚至更简单的语法。但是,最简单的PLC本质上只是布尔方程计算器。
最简单的命令式语言之一是Oberon-2。 Oberon-2 语法。
同时,请参考Oberon-07 (编程语言 Oberon-07,PDF) 和 Component Pascal。
Pascal只有2-3页的BNF符号说明
GL Shading language 怎么样? 语言规范 (PDF)
然而,对于这些爱好,我总是更喜欢自己实现已知语言的子集,而不选择任何“预制品”...
Lisp可能非常小。
lisp ::= `(´ exp `)´