- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理词法分析程序设计实验报
告
【实验目得】
1.了解词法分析得主要任务。
2. 熟悉编译程序得编制。
【实验内容】
根据某文法 , 构造一基本词法分析程序。找出该语言得关键字、标识符、整数以及其她一些特殊符号,给出单词得种类与值 .
【实验要求】
构造一个小语言得文法
类 C 小语言文法 ( 以 EB N F 表示) ?
?〈程序>:: =〈分程序> {<分程序 } 、
<分程序> : := 标识符> ( <’变量说明部分〉 {,〈变量说明部分〉 }) 〈’函数体〉 ?〈变量说明部分〉 : :
=in t〈标识符 {,<标识符>} ? 函数体>:: =’{’[ 变量说明部分 ;] 语句序列〉 ’} ’
语句序列〉 :: =<语句序列 ;〈语句〉|〈语句〉 ?〈语句>: : = 赋值语句 |〈条件语句 | 循环
语句〉|<函数调用语句 ?<赋值语句 : := <标识符〉 =〈表达式
<表达式>:: =[+| -]<项>{〈加法运算符><项 } ?<项〉 : :=<因子〉 {〈乘法运算符 〈因
子〉 }
<因子 := 标识符〉| 无符号整数〉
加法运算符>: : = +|-
乘法运算符>: : = *|/ ?<条件语句 :: =if 条件 ’{ ’语句序列 ’ } ’ [else{’语句序列 ’]}
条件〉:: = 表达式 〈关系运算符 表达式〉 ? 关系运算符 :: = == |!= |>| |=|=
〈循环语句> : : =for ’(’〈表达式 ; 条件 ;〈表达式 ) ’’<{’语句序列〉 ’} ’
〈函数调用语句〉 :: = 标识符> ’〈(’标识符 { ,<标识符 } |<空 ’) ? 标识符 :: = <字母>{<字
母〉 |数字>}
<无符号整数 :: =〈数字〉 { 〈数字 } ?〈字母 : :=a |b |c| ?| X|Y| Z
<数字> :: =0|1| 2| ?|8 |9
单词分类情况
关键字 : int if els e for
标识符:以字母开头得字母与数字得组合
关系运算符: = =|! = |〉 |〈|>=|〈 =
加法运算符: +|- ?乘法运算符 : *| /界符 :,; { } ( )
设计单词得输出形式,单词得种类与值得表示方法
种别码 单词值
如: 1 i nt
3、 编写词法分析程序 cffx 、c
实现基本得词法分析器 , 能够分析关键字、标识符、数字、运算符(需要有“ ==”或“:=
之类需要超前搜索得运算符)以及其她一些符号 .
编译原理词法分析程序、 cpp
include 〈 stdio、 h
#include<s tdli b、 h>
incl ud e〈st ring 、h 〉
t y pedef st ruct wor d s
{
?int id;
?ch ar n ame[20] ;
ha r value [20] ;
word ;
h ar intege r [20] ={i', n ' , ’}t’;
char iff[ 20 ]={' i ’’f',};
char elsee[20 ] ={ ’ e'’,', ’ls,’ e;’}
har for r[ 20]= { ’f',o ’,'r };
int main ()
{
?char cod e[1 0000];
?char word s[ 20], ch;
nt i, j,p, count,n , m;
?in t k=0;
?wor d s ymbo l[500 ];
pri ntf( 种别码: 1 类别:关键字 int\n ");
prin tf ( 种别码: 2 类别 : 关键字 if\ n”);
p ri nt f(”种别码 :3 类别 :关键字 else \n ” );
printf (”种别码:4 类别:关键字 for\ n");
rintf( 种别码 :5 类别:标识符 \n ” );
printf (”种别码: 6 类别 :计算运算符 n ) ;
p rint f (”种别码:7 类别 :关系运算符\ n”);
printf( 种别码: 8 类别 :界符 \n);
?while ( 1)
?{
?gets( code );
n=st r le n( cod e);
for( m=0,j =0;m< n; m+ +)
??{
if (( code[m ]〉= ’ a&co de[ m] =' z)|| ( code[m ]> =’0 & cod e[ m]
<=’9)’)
{
words[j ] =co de[m] ;
j++;
}
else
{
? i f(w ords[0]== ’&i&w ords[1
您可能关注的文档
- 2019年城市道路工程设计审批流程几何设计(路线设计)交叉口设计试卷及答案.docx
- 2019年山东省执业药师继续教育答案-口服缓控释制剂的设计与临床应用.docx
- 2019第十三届“创意中国”设计大奖投稿登记表.docx
- 2019年福建省产品质量检验研究院应聘信息登记表.docx
- 2020年10月全国电子商务概论自考试题及答案解析.docx
- 2020年10月全国自考秘书学概论试题及答案解析.docx
- 2020年10月全国自考公安学基础理论试题及答案解析.docx
- 2020年4月浙江自考中国文化概论试题及答案解析.docx
- 2020年4月浙江自考企业形象设计(CIS)试题及答案解析.docx
- 2020年4月浙江自考广告设计基础试题及答案解析.docx
最近下载
- 河南省青桐鸣2024-2025学年高二上学期11月期中化学试卷.docx VIP
- 住院费用清单模板.doc VIP
- 大学学术英语视听说教程下册(第2版)Miriam_Espeseth习题答案.pdf
- 浙江省嘉兴八校联盟2024-2025学年高一上学期期中联考物理试卷(含答案).pdf VIP
- 颈动脉灌注机制.pptx VIP
- 浙江省嘉兴八校联盟2024-2025学年高一上学期期中考试 化学试题(含答案).pdf VIP
- Unit 4 Friends Lesson3 课件 人教精通版英语三年级上册.ppt
- 锅炉原理课件:第七章 锅炉设备的通风计算.ppt VIP
- 生涯发展展示-(第一版).pptx VIP
- 《选品与采购》课件——4.电商采购.pptx VIP
原创力文档


文档评论(0)