doublench21
@doublench21

Лексер для подсветки синтаксиса языка заданного грамматикой BNF?

Доброго времени суток.
Хотел реализовать подсветку синтаксиса для языка используя для этого лексер. Суть проста, находим токен, обрамляем её набором символом для того или иного цвета. Но дело в том, что токены языка описаны в BNF, а lex/flex работают с регулярными выражениями для записи токенов. Вопрос собственно в том, как построить лексер для грамматики BNF?
  • Вопрос задан
  • 263 просмотра
Пригласить эксперта
Ответы на вопрос 2
zagayevskiy
@zagayevskiy
Android developer at Yandex
Ты токен с терминалом/нетерминалом не путаешь? Потому что для лексического анализа и разбора на токены грамматика в форме BNF не нужна. Точнее, она будет очень простой - тупо перечисление всех токенов.
Ответ написан
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
qF5rfVj.png

Эта грамматика легко сводится к регулярным выражениям flex.

как построить лексер для грамматики BNF

парсер для грамматики нужен, если ты собираешься подсвечивать конструкции языка.
Ну и вообще bison для этого есть, раз уж ты с flex'а зашёл.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы