> -- igor писал(а):
> Рассмотрим три конкретных лексемы: число "20", идентификатор "X" и символьную константу "20Х". Вопрос: как сканер умудряется их различать, ведь "20" и "20Х" начинаются одинаково?Мой сканер многоуровневый, он их различает так. На первом уровне есть понятие последовательности цифр ("20") и последовательности букв ("X"). На следующем уровне, где производится распознавание чисел, ожидается, что за последовательностью цифр может идти буква H, X, E или D, которая и определяет тип числовой константы.