- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理实习设计
词法分析程序
一.实习目的
构造一个小语言的词法分析程序。
二.实习要求
设计一个包含简单算术表达式、赋值语句、IF语句的小语言的文法。
根据此文法,构造一个词法分析程序,输入以“#”为结束符的源程序,输出为各类单词表和单词串文件。
源程序和输出的单词串均以文件的形式存放。
单词的自身值均为其对应的表的指针,如标识符表的指针、常数表的指针等。
提交实习报告和程序运行结果。
三.相关图表
1.状态转换图
图一:标志符和关键字的识
图二:整数的识别
图三:实数的识别
2.单词符号对照表
单词符号 助记符 内码值 标志符
整数
浮点数
关键字
‘
“
!
!=
^
%
%=
=
==
|
||
,
;
(
)
[
]
{
}
+
++
+=
-
――
-=
*
*=
/
/= $ID
$Int
$FLOAT
$KeyWord
$Syin
$Yinhao
$Not
$NotQU
$Weiyu
$GESHICONTROL
$mo-EQ
$EQU
$ EQ
$and
$Wyu
$Whuo
$Or
$douhao
$fenhao
$Lpar
$Rpar
$Lmid
$Rmid
$Lbig
$Rbig
$Plus
$Plus-Plus
$Plus-EQ
$dec
$dec-dec
$dec-EQ
$Mul
$Mul-EQ
$Div
$Div-EQ 字符串值
数值
数值
字符串值
‘
“
!
!=
^
%
%=
=
==
|
||
,
;
(
)
[
]
{
}
+
++
+=
-
――
-=
*
*=
/
/=
四.源程序和结果
1.分析器程序
#include stdio.h
#include stdlib.h
#include string.h
#define Max 120
FILE *fprogram;
FILE *foutput;
int WordEnd;
char Buffer[Max*2];
char ch;
int IsLetter(char ch)
{
if( (ch=a ch=z) || (ch=A ch=Z) )
{
return(1);
}
else
{
return(0);
}
}
int IsDigit(char ch)
{
if(ch=0 ch=9)
{
return(1);
}
else
{
return(0);
}
}
char *Par(char par, char *str)
{
switch (par)
{
case (:
str=$Lpar;
break;
case ):
str= $Rpar;
break;
case [:
str= $Lmid;
break;
case ]:
str= $Rmid;
break;
case {:
str= $Lbig;
break;
case }:
str= $Rbig;
break;
default:
break;
}
return str;
}
void WriteBuffer()
{
char tmpch= ;
int i=0;
long pos;
WordEnd=0;
for(int t=0; tMax*2; t++)
{
Buffer[t]=NULL;
}
while(iMax)
{
ch=fgetc(fprogram);
if(ch!=EOF)
{
if(ch==\n || ch==\t || ch== )
{
ch= ;
}
if( !(tmpch== ch== ) )
{
if(ch==/)
{
ch=fgetc(fprogram);
if(ch!=EOF)
{
if( ch==*)
{
char flo;
while(1)
{
ch=fgetc(fprogram);
if(ch!=EOF)
{
if(ch==*)
{
flo=ch;
ch=fgetc(fprogram);
if(ch==EOF)
{
break;
}
if
您可能关注的文档
最近下载
- 一种重组肉毒杆菌毒素及其制备方法.pdf VIP
- 6万吨重型非标化工装备制造项目立项投资可行性论证分析报告.doc VIP
- 以生为本 探究成长——初中历史项目式教学应用分析-来源:文科爱好者(教育教学版)(第2022002期)-成都大学.pdf VIP
- 2.5跨学科实践:制作隔音房间模型 课件-人教版物理八年级上册第二章.pptx VIP
- 电气控制及S7-1200 PLC应用技术.ppt VIP
- 网渔网咖网鱼员工手册.pdf
- 胺碘酮药液外渗护理病历讨论ppt.pptx
- 初中英语课题中期研究报告(共10篇).docx
- 2024-2025学年江苏省宿迁市高三上学期第一次调研考试地理试卷含详解.docx
- 超星网课《汽车之旅》超星尔雅答案2023章节测验答案.doc
文档评论(0)