新建
上传
首页
助手
最?/div>
资料?/div>
工具

实验

1-3  S

语言词法分析器设?/p>

 

一、实验名称:

S

语言词法分析器设?/p>

 

二?/p>

实验目的?/p>

通过手工编写简?/p>

C

语言词法分析器,

熟悉并深入理解编译程序词法分析器

的工作原理?/p>

 

三、实验内容:

 

1

.根据保留字和特殊符号表能区分出源文件中的保留字、普通标识符和特殊符号,并能?/p>

行简单的错误处理?/p>

 

2

.设计词法分析器模块调用结构图和各模块流程图?/p>

 

3

.程序源代码?/p>

 

4

.程序的执行结果:输入文件,输出结果文件及屏幕信息?/p>

 

四、实验中出现的问题及解决方法?/p>

 

遇到问题及解决:

 

1

、关于注?/p>

//

和除?/p>

/

。需要区分,?/p>

isanotation

函数中?/p>

 

2

、关于遇到空格时回退,一开始没有懂,后来经过同学讲解,明白了如何回退的?/p>

 

3

、关于词法分析器的思想过程,经过老师再三讲解,已经大致明白,具体步骤,在最后体

会部分中?/p>

 

五、程序结构和代码

 

 

 

源程?/p>

 

词法分析程序

 

记号文件

 

 

程序结构?/p>

 

 

Scanner 

close 

Isalpha 

Isnumber 

Isanotation 

Output 

Isother 

Error 

主函?/p>

 

Initscanner 

Lexscan 

 

 

代码?/p>

 

#include<stdio.h> 

#include<stdlib.h> 

#include<string> 

#include<iostream> 

using namespace std; 

//

关键字表

 

string 

keywords[20]={"include","void","main","

int","char","float","double","if","else

","then","break","continue","for","do",

"while","printf","scanf","begin","end",

"return"}; 

char aa[99999]=" "; 

//

关键字表初始为空

 

string id[10000]; 

int pp=0; 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

实验

1-3  S

语言词法分析器设?/p>

 

一、实验名称:

S

语言词法分析器设?/p>

 

二?/p>

实验目的?/p>

通过手工编写简?/p>

C

语言词法分析器,

熟悉并深入理解编译程序词法分析器

的工作原理?/p>

 

三、实验内容:

 

1

.根据保留字和特殊符号表能区分出源文件中的保留字、普通标识符和特殊符号,并能?/p>

行简单的错误处理?/p>

 

2

.设计词法分析器模块调用结构图和各模块流程图?/p>

 

3

.程序源代码?/p>

 

4

.程序的执行结果:输入文件,输出结果文件及屏幕信息?/p>

 

四、实验中出现的问题及解决方法?/p>

 

遇到问题及解决:

 

1

、关于注?/p>

//

和除?/p>

/

。需要区分,?/p>

isanotation

函数中?/p>

 

2

、关于遇到空格时回退,一开始没有懂,后来经过同学讲解,明白了如何回退的?/p>

 

3

、关于词法分析器的思想过程,经过老师再三讲解,已经大致明白,具体步骤,在最后体

会部分中?/p>

 

五、程序结构和代码

 

 

 

源程?/p>

 

词法分析程序

 

记号文件

 

 

程序结构?/p>

 

 

Scanner 

close 

Isalpha 

Isnumber 

Isanotation 

Output 

Isother 

Error 

主函?/p>

 

Initscanner 

Lexscan 

 

 

代码?/p>

 

#include<stdio.h> 

#include<stdlib.h> 

#include<string> 

#include<iostream> 

using namespace std; 

//

关键字表

 

string 

keywords[20]={"include","void","main","

int","char","float","double","if","else

","then","break","continue","for","do",

"while","printf","scanf","begin","end",

"return"}; 

char aa[99999]=" "; 

//

关键字表初始为空

 

string id[10000]; 

int pp=0; 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

实验

1-3  S

语言词法分析器设?/p>

 

一、实验名称:

S

语言词法分析器设?/p>

 

二?/p>

实验目的?/p>

通过手工编写简?/p>

C

语言词法分析器,

熟悉并深入理解编译程序词法分析器

的工作原理?/p>

 

三、实验内容:

 

1

.根据保留字和特殊符号表能区分出源文件中的保留字、普通标识符和特殊符号,并能?/p>

行简单的错误处理?/p>

 

2

.设计词法分析器模块调用结构图和各模块流程图?/p>

 

3

.程序源代码?/p>

 

4

.程序的执行结果:输入文件,输出结果文件及屏幕信息?/p>

 

四、实验中出现的问题及解决方法?/p>

 

遇到问题及解决:

 

1

、关于注?/p>

//

和除?/p>

/

。需要区分,?/p>

isanotation

函数中?/p>

 

2

、关于遇到空格时回退,一开始没有懂,后来经过同学讲解,明白了如何回退的?/p>

 

3

、关于词法分析器的思想过程,经过老师再三讲解,已经大致明白,具体步骤,在最后体

会部分中?/p>

 

五、程序结构和代码

 

 

 

源程?/p>

 

词法分析程序

 

记号文件

 

 

程序结构?/p>

 

 

Scanner 

close 

Isalpha 

Isnumber 

Isanotation 

Output 

Isother 

Error 

主函?/p>

 

Initscanner 

Lexscan 

 

 

代码?/p>

 

#include<stdio.h> 

#include<stdlib.h> 

#include<string> 

#include<iostream> 

using namespace std; 

//

关键字表

 

string 

keywords[20]={"include","void","main","

int","char","float","double","if","else

","then","break","continue","for","do",

"while","printf","scanf","begin","end",

"return"}; 

char aa[99999]=" "; 

//

关键字表初始为空

 

string id[10000]; 

int pp=0; 

Ͼλ">
Ͼλ
Ŀ

S语言词法分析器设?- 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

实验

1-3  S

语言词法分析器设?/p>

 

一、实验名称:

S

语言词法分析器设?/p>

 

二?/p>

实验目的?/p>

通过手工编写简?/p>

C

语言词法分析器,

熟悉并深入理解编译程序词法分析器

的工作原理?/p>

 

三、实验内容:

 

1

.根据保留字和特殊符号表能区分出源文件中的保留字、普通标识符和特殊符号,并能?/p>

行简单的错误处理?/p>

 

2

.设计词法分析器模块调用结构图和各模块流程图?/p>

 

3

.程序源代码?/p>

 

4

.程序的执行结果:输入文件,输出结果文件及屏幕信息?/p>

 

四、实验中出现的问题及解决方法?/p>

 

遇到问题及解决:

 

1

、关于注?/p>

//

和除?/p>

/

。需要区分,?/p>

isanotation

函数中?/p>

 

2

、关于遇到空格时回退,一开始没有懂,后来经过同学讲解,明白了如何回退的?/p>

 

3

、关于词法分析器的思想过程,经过老师再三讲解,已经大致明白,具体步骤,在最后体

会部分中?/p>

 

五、程序结构和代码

 

 

 

源程?/p>

 

词法分析程序

 

记号文件

 

 

程序结构?/p>

 

 

Scanner 

close 

Isalpha 

Isnumber 

Isanotation 

Output 

Isother 

Error 

主函?/p>

 

Initscanner 

Lexscan 

 

 

代码?/p>

 

#include<stdio.h> 

#include<stdlib.h> 

#include<string> 

#include<iostream> 

using namespace std; 

//

关键字表

 

string 

keywords[20]={"include","void","main","

int","char","float","double","if","else

","then","break","continue","for","do",

"while","printf","scanf","begin","end",

"return"}; 

char aa[99999]=" "; 

//

关键字表初始为空

 

string id[10000]; 

int pp=0; 



ļ׺.doc޸Ϊ.docĶ

  • 18ϴѧ[0556]ͯѧҵ
  • 3͸Сѧһ꼶㡱ѧʵʩ
  • ˽̰꼶ϲ24Ρޡѧ
  • 2020רҵԱ96ֳ
  • úȫ鹤
  • ¿֪ʶ㡶ƻһ ۵ĽڻϢʹöҪ
  • 2020ϰ갲սʦʸ֤ע
  • 2003걱רӢ
  • ˿ȵ
  • 2018-2019桿꼶ʷϲ᣺ȫᵥԪ(4,

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)