- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c___minus词法分析和语法分析设计编译器编译原理设计____论文
编译原理课程设计报告
课题名称: C- Minus词法分析和语法分析设计
提交文档学生姓名: X X X
提交文档学生学号: XXXXXXXXXX
同组 成 员 名 单: X X X
指导 教 师 姓 名: X X
指导教师评阅成绩:
指导教师评阅意见:
.
.
提交报告时间:2015年6月10日
课程设计目标
实验建立C-编译器。只含有扫描程序(scanner)和语法分析(parser)部分。
分析与设计
C-编译器设计的整体框架,本实验实现扫描处理和语法分析程序(图中粗黑部分)。
2.1 、扫描程序scanner部分
2.1.1系统设计思想
设计思想:根据DFA图用switch-case结构实现状态转换。
惯用词法:
语言的关键字:else if int return void while
专用符号:+ - * / = = == != = ; , ( ) [ ] { } /* */
其他标记是ID和NUM,通过下列正则表达式定义:
ID = letter letter*
NUM = digit digit*
letter = a|..|z|A|..|Z
digit = 0|..|9
大写和小写字母是有区别的
空格由空白、换行符和制表符组成。空格通常被忽略,除了它必须分开ID、NUM关键字。
注释用通常的C语言符号/ * . . . * /围起来。注释可以放在任何空白出现的位置(即注释不能放在标记内)上,且可以超过一行。注释不能嵌套
说明:当输入的字符使DFA到达接受状态的时候,则可以确定一个单词了。初始状态设置为START,当需要得到下一个token时,取得次token的第一个字符,并且按照DFA与对此字符的类型分析,转换状态。重复此步骤,直到DONE为止,输出token类型。当字符为“/”时,状态转换为SLAH再判断下一个字符,如果为“*”则继续转到INCOMMENT,最后以“*”时转到ENDCOMMENT状态,表明是注释,如果其他的则是字符停滞于当前字符,并且输出“/”。
2.1.2程序流程图
2.1.3 各文件或函数的设计说明
扫描程序用到:scanner.h,scanner.cpp
scanner.h:声明词法状态,词法分析
//DFA中的状态
typedef enum
{
START = 1, INNUM, INID, INDBSYM, DONE
} DFAState;
//定义的Token的类型(31种),分别对应于else、if、int、return、void、while、+、-、*、/、、=、、=、==、!=、=、;、,、(、)、[、]、{、}、/*、*/、num、id、错误、结束
typedef enum
{
ELSE = 1,IF,INT,RETURN,VOID,WHILE,
PLUS,MINUS,TIMES,OVER,LT,LEQ,GT,GEQ,EQ,NEQ,ASSIGN,SEMI,COMMA,LPAREN,RPAREN,LMBRACKET,RMBRACKET,LBBRACKET,RBBRACKET,LCOMMENT,RCOMMENT,
NUM,ID,ERROR,ENDFILE
} TokenType;
//定义的Token结构体,包括类型、对应的串、所在代码的行号
struct Token
{
TokenType tokenType;
string tokenString;
int lineNo;
};
//每种TokenType对应的串,如tokenTypeString[ELSE]==ELSE
const string tokenTypeString[32] = {OTHER, ELSE,
您可能关注的文档
- “两报”下报纸的编辑策略研究大学生毕业论文(设计).doc
- 《冲压模具设计与制造》课程单元设计____论文.doc
- 《黑暗的心》所体现的康拉德对殖民主义的矛盾态度___英语论文.doc
- 《华西都市报》城管刻板印象研究____论文.doc
- 《旅游法》颁布对我国旅游行政管理的和政府应___对措施大学生毕业论文(设计).doc
- 《煤炭企业人力资源管理研究》本科生毕业(设计)论文.doc
- 《倾城之恋》与《傲慢与偏见》中婚恋观的比较___以白流苏和伊丽莎白为例___英语论文.doc
- 《施工项目管理手册-大全》合同、材料、结算、财务版.doc
- 《双城记》中卡顿的悲剧___英语论文.doc
- 《雾都孤儿》___批判现实主义的力作英文大学生毕业论文(设计).doc
文档评论(0)