西安电子科技大学编译原理课件.ppt

西安电子科技大学编译原理课件.ppt

ID:57033951

大小:447.50 KB

页数:26页

时间:2020-07-27

西安电子科技大学编译原理课件.ppt_第1页
西安电子科技大学编译原理课件.ppt_第2页
西安电子科技大学编译原理课件.ppt_第3页
西安电子科技大学编译原理课件.ppt_第4页
西安电子科技大学编译原理课件.ppt_第5页
资源描述:

《西安电子科技大学编译原理课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、词法分析器《编译原理》上机作业(1)1一、上机作业的目的通过做上机题加深对编译器构造原理和方法的理解,巩固所学知识。<1>会用正规式设计简单语言的词法;<2>会用产生式设计简单语言的语法;<3>会用递归下降子程序编写语言的解释器。2二、简单的函数绘图语言2.1语言简述<1>5种语句循环绘图(FOR-DRAW)比例设置(SCALE)角度旋转(ROT)坐标平移(ORIGIN)注释(--或//)<2>屏幕(窗口)的坐标系左上角为原点x方向从左向右增长y方向从上到下增长(与一般的坐标系方向相反)3<3>函数

2、绘图源程序举例---------------函数f(t)=t的图形originis(100,300);--设置原点的偏移量rotis0;--设置旋转角度(不旋转)scaleis(1,1);--设置横坐标和纵坐标的比例forTfrom0to200step1draw(t,0);--横坐标的轨迹(纵坐标为0)forTfrom0to150step1draw(0,-t);--纵坐标的轨迹(横坐标为0)forTfrom0to120step1draw(t,-t);--函数f(t)=t的轨迹默认值:originis

3、(0,0);rotis0;scaleis(1,1);记号的类别(100,300)4其他函数图形:52.2语句的语法和语义(syntax&semantics)语句满足下述规定(原则):<1>各类语句可以按任意次序书写,且非注释语句以分号结尾。源程序中的语句以它们出现的先后顺序处理。<2>ORIGIN、ROT和SCALE语句只影响其后的绘图语句,且遵循最后出现的语句有效的原则。例如,若有下述ROT语句序列:ROTIS0.7;ROTIS1.57;则随后的绘图语句将按1.57而不是0.7弧度旋转。<3>无论

4、ORIGIN、ROT和SCALE语句的出现顺序如何,图形的变换顺序总是:比例变换→旋转变换→平移变换<4>语言对大小写不敏感,例如for、For、FOR等,均被认为是同一个保留字。<5>语句中表达式的值均为双精度类型,旋转角度单位为弧度且为逆时针旋转,平移单位为像素点。62.2.1循环绘图(FOR-DRAW)语句语法:语义:举例:说明:注意:FORTFROM起点TO终点STEP步长DRAW(横坐标,纵坐标);令T从起点到终点、每次改变一个步长,绘制出由(横坐标,纵坐标)所规定的点的轨迹。FORTFR

5、OM0TO2*PISTEPPI/50DRAW(cos(T),sin(T));该语句的作用是令T从0到2*PI、步长PI/50,绘制出各个点的坐标(cos(T),sin(T)),即一个单位园。由于绘图系统的默认值是ORIGINIS(0,0);ROTIS0;SCALEIS(1,1);所以实际绘制出的图形是在屏幕左上角的2个点。72.2.2比例设置(SCALE)语句语法:语义:举例:说明:SCALEIS(横坐标比例因子,纵坐标比例因子);设置横坐标和纵坐标的比例,并分别按照比例因子进行缩放。SCALEIS

6、(100,100);将横坐标和纵坐标的比例设置为1:1,且放大100倍。语法:语义:举例:说明:2.2.3坐标平移(ORIGIN)语句ORIGINIS(横坐标,纵坐标);将坐标系的原点平移到横坐标和纵坐标规定的点处。ORIGINIS(360,240);将原点从(0,0)平移到(360,240)处。若:SCALEIS(100,100/3);则:横坐标和纵坐标的比例为3:1。82.2.4角度旋转(ROT)语句语法:语义:举例:说明:ROTIS弧度值;绕原点逆时针旋转弧度值所规定的角度。计算公式:旋转后X

7、=旋转前X*COS(弧度)+旋转前Y*SIN(弧度)旋转后Y=旋转前Y*COS(弧度)-旋转前X*SIN(弧度)公式的推导可参阅辅助教材。ROTISPI/2;逆时针旋转PI/2,即逆时针旋转90度。2.2.5注释语句注释的作用:语法:语义:便于理解;屏蔽暂时不需要的语句。//Thisisacommentline或--此行是注释//或--之后,直到行尾,均是注释9语句功能的演示ORIGINIS(360,240);//(1)原点移至(360,240)SCALEIS(100,100);//(2)图形放大1

8、00SCALEIS(100,100/3);//(3)纵坐标缩小为三分之一ROTISPI/2;//(4)逆时针旋转90度--绘制园的轨迹FORTFROM0TO2*PISTEPPI/50DRAW(cos(T),sin(T));仅(1)和(2)加入(3)加入(4)10题目:为函数绘图语言编写一个解释器输入:用函数绘图语言编写的源程序,1)用词法分析器识别其中的记号(可将记号的信息显示出来);2)用语法分析器识别记号流中的语句(可将语句结构显示出来);3)解释器:能绘制图形,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。