Более рациональный метод построения переводящей программы
Тот факт, что символы, подобные точке, могут быть ошибочно повторены в пределах одного «числа», говорит о том, что все рекурсивное построение невозможно контролировать без дополнительного введения в генераторах сложного процесса запоминания, что не предусматривается в переводящей программе ИТ.
Следовательно, для полной проверки выполнения правил составления программы в обозначениях языка ИТ, а также для правильного обращения к генераторам необходим многократный просмотр программы. Следуя за Розенблюмом, мы будем описывать этот процесс в терминах правил порождения или правил определения в языке. Можно заметить, что приводимый ниже список правил порождения соответствует исходному списку правил составления программы в языке ИТ (опять мы для простоты опускаем вопросы, связанные с нормой операторов).
Из приведенных 46 правил порождения, каждое из которых определяет новую последовательность, которая может быть развернута в терминах предыдущих, образуется «порождающее дерево», являющееся графической формой представления этого процесса. Теперь, добавив эти символы к алфавиту нашего языка, мы можем образовать формальную систему, основанную на совокупности «аксиом» и совокупности «правил порождения», которые позволят нам получить все возможные константы, переменные, расширения, операнты и операторы.
Можно считать, что введенные выше дополнительные символы являются признаками, по которым машина должна опознать и соответственно обработать объект определенного типа. Маленькими греческими буквами обозначаются последовательности символов. Грубо говоря, мы ищем метод, с помощью которого мы могли бы проверить, что оператор, записанный на языке ИТ Перлиса,, подчиняется введенным нами правилам построения (для этого оператора).
Источник: delete-it