Есть ли готовые решения для лексического/синтаксического анализатора?

У меня задача из входного текстового файла выделить структуры данных и записать их в базу данных. Текст в текстовом файле представляет из себя некий формальный язык. Я начал искать инфу что да как, понял что нужно выделить лексемы сначала, потом провести синтаксический анализ. Как я понял все это делается с помощью конечного автомата. Например var number = 20, занести в таблицу "Переменные" запись с названием и со значением. Правильно ли я понимаю порядок действий? :

  1. Написать лексический анализатор
  2. Синтаксический анализатор

Есть ли готовые средства для этого (слышал что то про генераторы лексических анализаторов, но пока не смотрел)?


Ответы (1 шт):

Автор решения: Qwer

Разумеется есть: ANTLR, yacc/bison + lex/flex. Но задача реализации языка, пусть даже и примитивного, не так проста как может показаться. Если опыта нет, придётся потратить значительное время, чтобы углубиться в тему.

P.S.: Если задача только хранить/читать/писать данные, может имеет смысл выбрать другой способ их представления: XML, JSON, CSV и прочее.

→ Ссылка