пометка: на странице 101 в книге Замятин, Шур, описывается нужная тема.

Задача лексического анализа состоит в выделении во входной цепочке минимальных смысловых единиц, называемых лексемами и определении соответсвующих лексемам синтаксических категорий языка - токенов. Попутно из текста исходной программы удаляются комментарии и пробелы, не имеющие смысловой нагрузки, а также обнаруживаются ошибки некоторых видов. Преобразованная лексическим анализатором программа является цепочкой уже не в исходном алфавите, а в алфавите токенов.

Если более кратко то:

$x_1 \ and \ y_{max} \rArr z_{min} \ or \ x_1$

Задача лексического анализа:

$\def\arraystretch{1.5} \begin{array}{c:c:c} \text{пример лексемы} & \text{токен} & \text{шаблон} \\ \hline y_{max} & \text{операнд.} & letter(letter + digit)^* \\ \hdashline 1,05 & \text{числа} & ДКА \end{array}$

Регистрация лексемы:

«атрибуты» - параметры для лексемы

Основные понятия:

Предположим, что на вход компилятора подана цепочка:

if a13 > 2300 then ab12:= 1400

На стадии синтаксического анализа несущественно, что слева о знака неравенства стоит переменная, имя которой есть последовательность из буквы и двух цифр, а существенно только то, что это идентификатор. Точно так же неважно, что справа от знака неравенства стоит число 2300, а не 2301, а важно только то, что это числовая константа.