Разработка программы-интерпретатора - Контрольная работа

бесплатно 0
4.5 68
Характеристика преимуществ современных языков программирования для создания программного обеспечения. Изучение методики создания простой программы-интерпретатора для обработки исходных текстов программ, выполняющих действия над комплексными числами.


Аннотация к работе
В настоящее время имеет применение довольно большое количество языков программирования. Наряду с традиционными языками, такими, например, как Фортран, широкое распространение получили так называемые «универсальные» языки (Паскаль, Си, Модула-2, Ада) и др., а также некоторые специализированные (например, язык обработки списочных структур Лисп). Кроме того, большое распространение получили языки, связанные с узкими предметными областями, такие, как входные языки пакетов прикладных программ. В данной контрольной работе требуется: создать программу-интерпретатор, способную принимать на вход текстовый файл в ASCII-кодировке с текстом программы, разработать синтаксис для записи текста входной программы. Лексическая свертка вещественного числа включает дескриптор целой части числа и дескриптор дробной части числа, разделенные "." - CONST;Программа-интерпретатор выполнена с использованием среды разработки Borland Delphi 6.0 и представляет собой интерактивную оболочку, позволяющую загружать исходный ASCII-текст, содержащий программу, написанную в соответствии с синтаксисом входного языка. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 procedure TFORM1.Button1Click(Sender: TOBJECT); var xc,yc,x,y,r,x1,y1,x2,y2:integer; begin xc:=strtoint(edit1.Text); yc:=strtoint(edit2.Text); x:=strtoint(edit3.Text); y:=strtoint(edit4.Text); Canvas.Ellipse(xc-2,yc-2,xc 2,yc 2); Canvas.Ellipse(x-2,y-2,x 2,y 2); r:=round(sqrt(sqr(x-xc) sqr(y-yc))); x1:=xc-r;y1:=yc-r; x2:=xc r;y2:=yc r; with Canvas do begin Brush.Style:=BSCLEAR; Ellipse(xc-2,yc-2,xc 2,yc 2); Ellipse(x-2,y-2,x 2,y 2); Ellipse(x1,y1,x2,y2); end; end; var r1, r2: TRECT; // координаты углов прямоугольников begin with form1.Canvas do begin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 procedure Pline(x0,y0,x1,y1,sleeptime:integer; PAINTBOX1: TPAINTBOX); var x,y:integer; k:real; begin Form1.PAINTBOX1.Canvas.Moveto(x0,y0); Form1.PAINTBOX1.Canvas.Pen.Width:=3; if x1=x0 then begin y:=y0; k:=0; while (yy1) do begin if y0x1) do begin if x0<x1 then x:=x 1 else x:=x-1; y:=round(k*(x-x0)) y0; Form1.PAINTBOX1.Canvas.LINETO(x,y); sleep(sleeptime); end; end;В данной курсовой работе была выполнена задача создания простой программы-интерпретатора для обработки исходных текстов программ, выполняющих действия над комплексными числами.
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?