Хранилище грамматик БНФ? - PullRequest
       13

Хранилище грамматик БНФ?

24 голосов
/ 02 декабря 2008

Есть ли место, где я могу найти грамматику Бэкуса-Наура или грамматику BNF для популярных языков? Всякий раз, когда я делаю поиск, я не появляюсь много, но я полагаю, что они должны быть где-то опубликованы. Меня больше всего интересует возможность увидеть один для Objective-C и, возможно, MySQL.

Ответы [ 5 ]

18 голосов
/ 02 декабря 2008

вам нужно искать инструменты, используемые для создания грамматик: "грамматика lex / yacc", "грамматика antlr" "диаграмма железных дорог"

http://www.antlr3.org/grammar/list.html

Вот некоторые файлы грамматики

Objective-C

питон

1031 * Javascript * http://tomcopeland.blogs.com/EcmaScript.html http://www.ccs.neu.edu/home/dherman/javascript/ рубин

6 голосов
/ 02 декабря 2008

FWIW, файл грамматики MySQL (mysql-server/sql/sql_yacc.y) является открытым исходным кодом и доступен для просмотра на launchpad.net (хотя он немного медленный, и я получил ошибку при попытке открыть конкретный файл).

Кроме того, снимок всего исходного кода MySQL Server можно загрузить с dev.mysql.com .

6 голосов
/ 02 декабря 2008
3 голосов
/ 02 декабря 2008

IIRC, грамматики BNF просто достаточно отличаются от того, что yacc / bison хочет, чтобы ввод был действительно раздражающим :) Если вы намереваетесь подавать эти файлы в генератор синтаксического анализатора, вы можете искать файлы в соответствующем формате. Я помню, как видел такие файлы для Java, JavaScript и C ++ в одной точке. Вероятно, как часть Eclipse, Firefox и GCC соответственно, но я точно не помню. Я предполагаю, что вы можете найти практически любой входной файл парсера, найдя проект с открытым исходным кодом, использующий этот язык.

2 голосов
/ 15 августа 2015

Я также искал это, и я собрал этот репозиторий

http://slps.github.io/zoo/

...