Изучение составных частей, основных принципов построения и функционирования интерпретаторов, практическое освоение методов построения простейших интерпретаторов для заданного входного языка.
Курсовая работа заключается в создании интерпретатора.
Интерпретатор должен запускаться командной строкой с одним входным параметром. Входным параметром должно быть имя входного файла.
Входной язык интерпретатора должен удовлетворять следующим требованиям:
входная программа начинается ключевым словом и заканчивается ключевым словом ;
входная программа может быть разбита на строки произвольным образом, все пробелы и переводы строки должны игнорироваться;
входная программа должна представлять собой единый модуль, содержащий линейную последовательность операторов, вызовы процедур и функций не предусматриваются;
должны быть предусмотрены следующие варианты операторов входной программы:
оператор присваивания вида <переменная>:=<выражение>;
составной оператор вида begin … end;
дополнительный оператор, предусмотренный вариантом задания;
выражения в операторах могут содержать следующие операции (минимум):
арифметические операции сложения (+) и вычитания (-);
операции сравнения меньше (<), больше (>), равно (=);
дополнительные арифметические операции, предусмотренные вариантом задания;
операндами в выражениях могут выступать идентификаторы (переменные) и константы (тип Integer);
все идентификаторы, встречающиеся в исходной программе, должны восприниматься как переменные, имеющие тип Integer, заданный в варианте задания (предварительное описание идентификаторов в исходной программе не требуется).
Полное описание входного языка должно быть задано в грамматике входного языка, которая строится исполнителем на первом этапе работы. Грамматика входного языка должна предусматривать любые входные цепочки, удовлетворяющие изложенным выше требованиям.
Все встречающиеся в исходной программе идентификаторы считать простыми скалярными переменными, не требующими выполнения преобразования типов. Ограничения на длину идентификаторов и констант во входной программе исполнитель выбирает самостоятельно, но выбранная длина не должна быть меньше 32.
В случае, если на вход интерпретатора подается входная программа, содержащая семантические или синтаксические ошибки, интерпретатор должен корректно завершать свое выполнение и выдавать сообщение о найденной ошибке.
Отзывов от покупателей не поступало.