Блок сканирования должен выдавать каждую лексему, устанавливая ее принадлежность тому или иному классу:
Всего выделяют три типа формальных грамматик:
Генератор кода генерирует код на машинном языке:
Дерево разбора - графическое представление цепочки вывода:
Если на каждом этапе самый левый нетерминал замещался с помощью одного из порождающих правил грамматики, то такой вывод называется левосторонним:
Интерпретатор в отличие от компилятора вместо построения объектного кода сам производит соответствующие действия:
Ключевые слова не являются лексемами данного языка:
Компилятор - программа, способная воспринимать строку символов определенного вида и выдавать другую строку символов:
Кроссовый компилятор - компилятор, осуществляющий перевод программы с одного языка программирования на другой:
Лексический анализ - последняя фаза компиляции:
На фазе грамматического разбора проверяется правильность следования операторов:
Однопроходные компиляторы являются более быстродействующими, чем двухпроходные:
Предложения языка могут включать нетерминальные символы:
Самым простым типом грамматик являются грамматики типа 0:
Семантика языка определяет правила построения правильных цепочек символов:
Синтаксис - множество правил, которые задают множество формально правильных предложений:
Существует общий метод решения задачи определения, и эта грамматика однозначная: