Как мне создать анализатор конечного автомата LR?

StackOverflow https://stackoverflow.com/questions/308073

  •  08-07-2019
  •  | 
  •  

Вопрос

Я хочу поиграть с созданием генераторов парсера LR. Кто-нибудь знает хороший (бесплатный) ресурс, описывающий, как создать таблицу конечного автомата из грамматики?

Это было полезно?

Решение

Для бесплатного ресурса рассмотрите исходный код Python для PLY - полной реализации Lex и Yacc в Python.

Однако я бы порекомендовал книгу, и вы вряд ли добьетесь большего успеха, чем получить Книга Дракона .

Другие советы

Лучший ресурс, с которым я столкнулся, это:

Методы синтаксического анализа - практическое руководство

Очевидный ответ - стандартный текст компилятора от Aho / Ullman / Ravi, Компиляторы: Принципы, методы и инструменты

В нем есть полные главы о разборе. Это не бесплатно, но стоит каждой копейки, и если вы собираетесь создавать парсеры или другие подобные компилятору инструменты, вы просто с ума сошли, если у вас нет этой книги.

Может быть, вы найдете Grammatica полезным. Это бесплатный генератор Parser для .NET. У меня есть некоторый опыт с этим, и это было хорошо. Вы можете попробовать и изучить его код. http://grammatica.percederberg.net/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top