Курсовая работа
Транслятор с мини pascal
в среде программирования Delphi (Дельфи, Делфи)
Программа и описание

Среда программирования: Delphi 7.0
Название работы: Транслятор с мини pascal
Вид работы: Курсовая работа
Тематика работы: Компиляторы
Объем программы: 6 (по десятибалльной шкале)
Уровень сложности: 7 (по десятибалльной шкале)
Разработчик (автор): Программист сайта kursovik.com (письмо автору)
Ключевые слова: компилятор, файл, транслятор, интерпретатор, паскаль, язык, синтаксис
Функции программы:
Нужно построить интерпретатор Паскале подобного языка, синтаксис которого описан ниже.
Программа проверяет синтаксис входного файла и при этом строит дерево разбора программы.
Дерево разбора доступно для просмотра пользователю.
После успешной проверки синтаксиса программу можно запустить на выволнение.
Описание синтаксиса языка:
1. депак является сильно урезанной реализацией настоящего паскаля.
всякая правильная программа на депаке правильно будет работать и на паскале.
2. заглавные и строчные буквы в тексте программы не различаются.
3. все переменные в депаке имеют только целые неотрицательные значения,
не превышающие 65535. их имена состоят из одной латинской буквы.
описание переменных в программе всегда одно и имеет вид:
var <список перменных через запятую>:word;
например:
var a,t,b,z:word;
4. арифметические выражения в депаке состоят не более чем из одного
арифметического действия; скобки запрещены. вид возможных
арифметических выражений:
a const
a+b const+a a+const
a-b const-a a-const
a*b const*a a*const
a div b const div a a div const (деление нацело).
формально разрешено действие над двумя числами типа const1+const2 и т.п.
в приведенных выражениях a и b - имена переменных,
а const1 и const2 - произвольные значения целых чисел в
диапазоне 0-65535 включительно .
5. оператор присвоения имеет традиционный синтаксис:
<переменная>:=<арифметическое выражение>;
арифметическое выражение должно удовлетворять требованиям пункта 4.
6. внутри всех конструкций языка (условный оператор, циклы)
допускается использование составного оператора, заключенного
между служебными словами begin/end и состоящего из нескольких
операторов присвоения.
например:
begin
x:=2*n;
k:=x+1;
end;
разрешается писать один оператор внутри begin/end, но отсутствие
операторов между ними считается ошибкой.
; перед end ставить не обязательно.
7. условие может иметь вид:
<арифметическое выражение> <знак> <арифметическое выражение>
где <знак> - один из следующих: = <> > < >= <=
8. условный оператор имеет вид:
if <условие> then <оператор1> else <оператор2>;
операторы 1 и 2 могут быть только операторами присвоения (или составными)!!!
9. циклы могут быть записаны следующими способами:
while <условие> do <оператор>;
repeat <оператор> until <условие>;
for <переменная>:=<выражение> to <выражение> do <оператор>;
for <переменная>:=<выражение> downto <выражение> do <оператор>;
оператор в теле цикла может быть только оператором присвоения или составным!!!
примечание. напомним, что в паскале конструкция repeat/until одновременно
служит ограничителями составного оператора. поэтому в депаке сочетание
repeat begin считается ошибкой.
10. цикл for c задаваемым шагам имеет вид:
for <переменная>:=<выражение> to <выражение> step <выражение> do <оператор>
for <переменная>:=<выражение> downto <выражение> step <выражение> do <оператор>;
11. для вывода результатов используется процедура
writeln(<переменная1>,<переменная2>,<переменная3>);
количество выводимых на дисплей чисел обязательно равно трем!
(допускается повторение одной и той же переменной). после writeln();
12. программа должна иметь следующую структуру:
program <имя>;
var <список>:integer;
begin <операторы программы>
end.
именем программы может служить любое сочетание символов до ";". <список>
представляет собой имена переменных, разделенных запятыми (см. пример в п.3).
13. разрешается использовать комментарии, заключая произвольный текст
в { }. отмечающие комментарий скобки должны быть обязательно парными;
внутри комментария символ { воспринимается как ошибка. число и размер
комментариев ограничен только наличием свободного места для текста.
14. цикл for c задаваемым шагам имеет вид:
for <переменная>:=<выражение> to <выражение> step <выражение> do <оператор>;
for <переменная>:=<выражение> downto <выражение> step <выражение> do <оператор>;
Описание (отчет): Есть на 49 страниц, посмотреть оглавление
На данный момент (14 июля 2025) на выполнении находится 23 заказа.
Количество программистов, занятых выполнением текущих заказов: 9.
В текущем месяце (июль 2025) нами уже выполнено 10 заказов.
В текущем году (2025) нами уже выполнено 398 заказов.
В прошлом году (2024) нами было выполнено 763 заказа.
В позапрошлом году (2023) нами было выполнено 777 заказов.
Количество активных программистов на сайте: 63.
Загруженность отдела заказами: 22%.

Размер архива 210 Кб, все фaйлы прoверены aнтивирусом Кaсперского. Скачать





















К программе прилагается описание, объемом 49 страниц.
Перед покупкой готовой работы не забудьте проверить её оригинальность. Запросить у администратора проверку текущей оригинальности работы по версии системы Антиплагиат.РУ

Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Проектироавание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 Кодирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Тестирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 ЗАКЛЮЧЕНИЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ . . . . . .