Задать вопрос
doublench21
@doublench21

Как внутри работает Flex или Lex?

Как именно работает лексер внутри ? Понял, что он строит две таблицы, одна из которых это таблица переходов, а вторая, сопоставляет состоянию - действие. А как именно работает сам цикл я так и не понял. Может кто сможет пояснить ?
  • Вопрос задан
  • 240 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Нет, задача лексера - преобразовать поток символов (текст программы) на входе в поток лексем, как правило расширенных, на выходе. Например:
1 + 1 * 2 => <число(1)> <плюс> <число(2)> <умножить> <число(2)>

flex по формальной грамматике строит лексер, то есть выдаёт код на C, содержащий определение функции yylex(), при каждом вызове которой выдаётся следующая лексема.
Реализация лексера может быть различной, часто используются конечные автоматы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 75 000 ₽
ITK academy Нижний Новгород
от 75 000 до 125 000 ₽
JustBusiness Санкт-Петербург
от 130 000 до 150 000 ₽