Хранилище грамматик BNF?
-
22-07-2019 - |
Вопрос
Есть ли где-нибудь, где я могу найти форму Бэкуса–Наура или грамматики BNF для популярных языков?Всякий раз, когда я провожу поиск, я мало что нахожу, но я полагаю, что они должны быть где-то опубликованы.Мне больше всего интересно посмотреть один из них для Objective-C и, возможно, MySQL.
Решение
вы должны выполнить поиск по инструментам, используемым для создания грамматик:"грамматика lex /yacc", "грамматика antlr", "схема железной дороги"
http://www.antlr3.org/grammar/list.html
Вот несколько грамматических файлов
цель-c
питон
javascript
рубин
Другие советы
FWIW, файл грамматики MySQL ( mysql-server / sql / sql_yacc.y
) с открытым исходным кодом и доступен для просмотра на launchpad.net (хотя он немного медленный, и при попытке получить ошибку подтянуть конкретный файл).
Кроме того, снимок всего исходного кода MySQL Server можно загрузить с dev.mysql. .com . р>
Есть несколько ссылок из w:BNF#Грамматики языка.
Я также нашел Страница в нем перечислены грамматики для Objective C.
IIRC, грамматики BNF достаточно отличаются от того, что yacc / bison хочет, чтобы ввод был действительно раздражающим :) Если вы намереваетесь подавать эти файлы в генератор синтаксического анализатора, вы можете искать файлы в соответствующем формате. Я помню, как видел такие файлы для Java, JavaScript и C ++ в одной точке. Вероятно, как часть Eclipse, Firefox и GCC соответственно, но я точно не помню. Я предполагаю, что вы можете найти практически любой входной файл парсера, найдя проект с открытым исходным кодом, использующий этот язык.
Я также искал это, и я собрал этот репозиторий