Везде почему-то встречаю утверждение, лексический анализ нужен НЕ БОЛЕЕ, ЧЕМ ДЛЯ УДОБСТВА. Вплоть до монографий мэтра Вирта.
Есть одно соображение: если присоединить регулярные выражения, из определений лексем - к основной грамматике, то результирующая станет неоднозначной. За очень редкими исключениями, не имеющими практически никакой практической пользы.
Например, грамматика РБНФ - в эти «исключения» уже не попадает. Чего обычно делает сканер, кроме конечно-автоматного парсинга заданных регулярных выражений? Он применяет «правило самой длинной лексемы». А если разные регулярные выражения парсят одну длину (например, и ), то сканер «волевым» образом решает, что это за лексема. Ну например, по порядковому номеру регулярного выражения в своем определении. Это никем не канонизировано, но практически все именно так и делают.
И это правило никаким образом не вытекает из теорий грамматик Хомского.
Так все-таки, зафиксируем какой-нибудь язык, и спросим: можно ли обойтись без сканера, или нет ???
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.