« назад «

Курсовой проект по курсу "Системное программное обеспечение".

[ 22 / 05 / 04 ]


Курсовая работа заключалась в создании компилятора с заданного подмножества языка Паскаль с незначительными модификациями и упрощениями. Результатом курсовой работы является программная реализация заданного компилятора. Для программной реализации компилятора был использовал язык программирования С++ и оболочка Microsoft Visual Studio 6.0. В итоге у меня получился интерпретатор, но и это тоже неплохо. В курсовой работе были использованы такие программные средства, как Lex и Yacc, что сильно упростило жизнь. Главной же особенностью программы - это подсветка синтаксиса и рисованный интерфейс, ну и, конечно же, все это работает как и требовало задание :-)



Требования для входного языка компилятора:

- входная программа начинается ключевым словом и заканчивается ключевым словом;
- входная программа может быть разбита на строки произвольным образом, все пробелы и переводы строки должны игнорироваться компилятором;
- текст входной программы может содержать комментарии любой длины, которые должны игнорироваться компилятором;
- вид комментария: комментарий начинается косой чертой со звездочкой и заканчивающийся звездочкой с косой чертой: /*…*/
- входная программа должна представлять собой единый модуль, содержащий линейную последовательность операторов, вызовы процедур и функций не предусматриваются;
- должны быть предусмотрены следующие варианты операторов входной программы:
- оператор присваивания вида <переменная>:=<выражение>;
- условный оператор вида if <выражение> then <выражение> else <выражение>;
- составной оператор вида begin … end;
- оператор цикла с постусловием типа repeat <оператор> until <выражение>;
- выражения в операторах могут содержать следующие операции (минимум):
- арифметические операции сложения (+) и вычитания (-);
- операции сравнения меньше (<), больше (>), равно (=);
- логические операции "и" (and), "или" (or), "нет" (not);
- декремент (--);
- операндами в выражениях могут выступать идентификаторы (переменные) и константы: тип констант - восьмеричные;
- все идентификаторы, встречающиеся в исходной программе, должны восприниматься как переменные, имеющие тип word;






Скачать программу: xeditor.zip [135 Kb] download








© 2004 by MAX фотогалерея :: программирование :: flash :: о проекте    
Сайт создан в системе uCoz