Недавно я изучал теорию компиляторов о лексическом анализе. Как я понял, есть несколько способов построения лексического сканера, например:
- Использование Lex / Flex для автоматического создания сканера.
- Создайте свой собственный. В примерах я встречал модель корпуса коммутатора с использованием техники упреждающего чтения (имитация DFA, NFA).
Мой вопрос: какой из них больше подходит для реализации базового языка программирования (состоит из переменных, условий, цикла)? Как их использовать на практике? Можно ли использовать и то, и другое?