词法分析器-编译原理-C++实现-实验报告Word文档下载推荐.doc
- 文档编号:673276
- 上传时间:2023-04-29
- 格式:DOC
- 页数:7
- 大小:147KB
词法分析器-编译原理-C++实现-实验报告Word文档下载推荐.doc
《词法分析器-编译原理-C++实现-实验报告Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《词法分析器-编译原理-C++实现-实验报告Word文档下载推荐.doc(7页珍藏版)》请在冰点文库上搜索。
实验日期及节次
周二上午周三下午
一、实验综述
1、实验目的及要求
使用任意语言实现词法分析器
2、实验仪器、设备或软件
VisualC++。
二、实验过程(实验步骤、记录、数据、分析)
代码:
#include<
iostream>
fstream>
cstring>
usingnamespacestd;
#defineMAX10//保留字个数
#defineLIST_MAX_LENGTH10
charch='
'
;
//存放最新读进的字符
charstrToken[LIST_MAX_LENGTH];
//单词符号长度
intlen=0;
//单词符号的长度
ints=0;
//判断是否多读一位
charkey[30][10]={"
if"
"
else"
for"
while"
do"
bool"
int"
char"
double"
friend"
class"
struct"
return"
delete"
new"
public"
"
private"
endl"
break"
const"
static"
include"
auto"
iostream"
cstring"
define"
void"
cin"
cout"
};
charGetChar()//读一个字符
{
ch=getchar();
if(ch!
='
/n'
)
returnch;
return'
}
charGetBC()//检查ch是否为空白
while(ch=='
ch=GetChar();
returnch;
voidConcat()//连接
strToken[len]=ch;
len++;
intReserve(charstrToken[])//判断是否为保留字
for(inti=0;
i<
(sizeof(key)/sizeof(key[0]));
i++)
if(strcmp(key[i],strToken)==0)
{
return1;
}
return0;
intIsLetter()//判断是否为字母
if(((ch<
z'
)&
&
(ch>
a'
))||((ch<
Z'
A'
)))
return1;
else
return0;
intIsDigit()//判断是否为数字
if(ch>
0'
ch<
9'
return1;
else
return0;
voidInsertId()//插入符号表
ofstreamoutfile("
symbol.txt"
ios:
:
app);
len;
{
outfile<
<
strToken[i];
}
outfile<
endl;
outfile.close();
voidInsertConst()//插入常数表
number.txt"
intmain()
cout<
请输入字符串代码:
if(s!
=1)
GetChar();
while(ch!
=10)
//getchar();
// cout<
GetBC();
if(IsLetter())
while(IsLetter())
{
Concat();
GetChar();
}
s=1;
// Retract();
if(Reserve(strToken))
cout<
strToken<
$保留字"
len=0;
memset(strToken,0,sizeof(strToken));
//清空数组
else
$普通标识符"
InsertId();
elseif(IsDigit())
while(IsDigit())
// Retract();
cout<
$常数"
InsertConst();
len=0;
memset(strToken,0,sizeof(strToken));
elseif(ch=='
#'
){cout<
'
$警号"
s=0;
$分号"
+'
$加号"
$等号"
*'
$乘号"
>
$大于号"
$小于号"
('
$左括号"
)'
$右括号"
{'
$左中括号"
}'
$右中括号"
$双引号"
elsecout<
错误处理"
if(s!
GetChar();
三、结论
1、实验结果
2、分析讨论
通过本次实验,使我更加了解了词法分析器的工作原理,并基本学会了怎样用程序代码去实现它。
四、指导教师评语及成绩:
评语:
成绩:
指导教师签名:
批阅日期:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 词法 分析器 编译 原理 C+ 实现 实验 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)