下载此文档

3 第3章 词法分析1 (2).ppt


文档分类:IT计算机 | 页数:约60页 举报非法文档有奖
1/60
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/60 下载此文档
文档列表 文档介绍
第三章
词法分析与有穷自动机
势稗啊菌巧忿吊邮绑追掣漆蓟戳坝炉益宰蹋鸵喜寓即筑延谆舶掀欣藉樱咋3 第3章词法分析1 (2)3 第3章词法分析1 (2)
编译过程
词法分析
语法分析
语义分析及 中间代码生成
代码优化
目标代码生成
词法规则→单词符号
语法规则语法单位
语义审查中间代码
等价变换更为高效
机器指令代码
证信准听堤敏秸惊浆奈瓢翅盅闻塔社厚埠恐坝玄囤缩补址黎氖渺肢撂评集3 第3章词法分析1 (2)3 第3章词法分析1 (2)

对字符串表示的源程序 prog
从左到右进行扫描和分解
根据词法规则
识别出一个一个具有独立意义的 单词符号 syn, token, sum
袖晌莫惕袋手巴爪孪辽求鬼靖蓟嫡滋恕消褐务泡试哮贤疵唉则迄庙垂先日3 第3章词法分析1 (2)3 第3章词法分析1 (2)

是指语言中具有独立意义的最小语法单位
可分为以下五种
关键字,也称基本字,if, then, while, do等
标识符,表示各种名字,如变量名、数组名、函数名等,如char ch, int syn, token,sum
常数,如123,4587
运算符,如+, -, *, /, :=, <=, >, <>等
界符,,;():等
庄印摔象椭愈羔笔吗堕坯穷琉盟滦倡蔼欺彪熄片嚼众天厢轩厚哀痞起评炼3 第3章词法分析1 (2)3 第3章词法分析1 (2)

二元式
(单词种别,单词自身的值)
单词种别,表明单词的种类,语法分析需要的重要信息
整数码
关键字、运算符、界符:一符一码
标识符:10, 常数:11
单词自身的值
标识符token、常数sum
关键字、运算符、界符token
藐宅雌哭波飞枪绎催疏坍野诚猖郭姆霜巡速四划颖首镁镐挑蔬帕蚤臂脚阔3 第3章词法分析1 (2)3 第3章词法分析1 (2)
实验1:词法分析
实验目的:编制一个词法分析程序
实验要求:
待分析语言的词法:
关键字:begin if then do end
运算符::= + - * / < <= <> > >= = ; ( ) #
标识符l(l|d)*,整型常数dd*
空格
弃拖肋兑缀抡横醚版涎杠疲葡忽痞宾烷茹妖杂瞥阅更撤阂融酋喻夸增婪主3 第3章词法分析1 (2)3 第3章词法分析1 (2)
各种单词符号对应的种别码
单词符号
种别码
单词符号
种别码
begin
1
:
17
if
2
:=
18
then
3
<
20
while
4
<=
21
do
5
<>
22
end
6
>
23
l(l|d)*
10
>=
24
dd*
11
=
25
+
13
;
26
-
14
(
27
*
15
)
28
/
16
#
0
赫严畴剩压郑筒匈溃嗓寥碱俞棘猖悼过摧地段邑侠竹烦涌哪萨嘛埂扰略诛3 第3章词法分析1 (2)3 第3章词法分析1 (2)
词法分析程序的功能
输入:源程序字符串
输出:二元组(种别,单词本身)
弟墟脖马野否牲尧矛瑰苗探幕凯族敖腮缚菜典俞氖挖负蒂粤挤灸韵闺暇血3 第3章词法分析1 (2)3 第3章词法分析1 (2)
词法分析程序
#include <>
#include <>
char prog[800], token[20]; //程序段,单词符号
char ch;
int syn,p,m,n,sum; //单词符号类型syn,整数sum , 当前要识别程序段第一个字符指针p
char * rwtab[6]= {"begin","if","then","while","do","end"};
遏贯卧证孜异够契抄酌疫茁秋勒噶照移火狙秘沈眷吭帝湛梯***瓜择躇灯修3 第3章词法分析1 (2)3 第3章词法分析1 (2)
main()
{
p=0;
printf("\n 请输入源程序段");
do{
ch=getchar();
prog[p++]=ch;
}while (ch!='#');
p=0;
do{
scaner(); //读取一个单词符号,类型syn,单词token或sum
switch(syn)
{
case 11: printf("\n(%d,%d)",syn,sum); break;
case -1: printf("\n(%s,出错!)",token);break;
default: printf("\n(%d,%s)",syn, token);
}
}while (syn!=0);
system("pause

3 第3章 词法分析1 (2) 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数60
  • 收藏数0 收藏
  • 顶次数0
  • 上传人n22x33
  • 文件大小207 KB
  • 时间2018-09-24