Какой язык программирования имеет очень короткую контекстно-свободную грамматику в ее формальной спецификации?

Какой язык программирования имеет короткие и красивые грамматики (в EBNF)?

Некоторые языки легче разбираться. Некоторое время назад я создал простой парсер VHDL, но он был очень медленным. Не потому, что он полностью реализован в Python, а потому, что грамматика VHDL (в EBNF) огромна. EBNF Python красив, но он не очень короткий.

Я полагаю, что многие языки программирования, такие как LISP, имеют короткие простые грамматики, но меня интересует более популярный простой императивный язык, такой как C или Bash.

Ответ 1

Я не сравнивал, но Lua - это язык, известный своим простым синтаксисом. BNF находится в самом конце этого справочного руководства: http://www.lua.org/manual/5.1/manual.html.

Ответ 3

Языки сборки!

... в общем, и особенно для процессоров, которые имеют простую архитектуру (несколько инструкций, несколько режимов адресации, несколько регистров) имеют относительно короткую грамматику.

Фактически, специализированные процессоры, такие как обнаруженные в программируемых логических контроллерах, могут иметь язык с еще более простыми грамматиками. Но опять же самый простой из ПЛК - это не что иное, как калькуляторы булевых уравнений.

Ответ 4

Паскаль имеет только 2-3 страницы нот BNF

Ответ 5

Как насчет GL Shading language? Спецификация языка (PDF)

Однако для такого рода увлечений я всегда предпочитал реализовать подмножество известного языка самостоятельно, не выбирая ничего "готового".

Ответ 6

Lisp, вероятно, довольно маленький.

lisp ::= `(´ exp `)´

Ответ 7

Можете ли вы предоставить ссылку на грамматику LISP