词法分析——判断单词类别并输出

这篇博客介绍了词法分析的基本概念,包括关键字、运算符、标识符和整型常数的定义,并展示了词法分析程序的功能。该程序接收源程序字符串,输出单词类别和对应的字符串或数值。文章提到了状态转换图方法,并讨论了设计过程和技术难点,如结束标记的选择和字符映射的建立。
摘要由CSDN通过智能技术生成

词法分析小程序。

实验目的

1.待分析的简单的词法

(1)关键字:

   begin  if then  while  do end 

注:所有的关键字都是小写。

(2)运算符和界符

. + -  *  /   =<>  <  <= > >=  (  ) ; :=

(3)其他单词是标识符(IDENT)和整型常数(NUMBER),通过以下正规式定义:

IDENT  ::= letter (letter |digit)*

NUMBER ::= digit digit*

注:所有的IDENTNUMBER的长度不超过20

(4)空格有空白、制表符和换行符组成。空格一般用来分隔IDENT、NUMBER、运算符、界符和关键字,词法分析阶段通常被忽略。整个程序串长度不超过80个字符。

2. 各种单词符号对应的类别值:

表 各种单词符号对应的类别码

单词符号

是否保留字

枚举值

类别码

.

 

period

0

+

 

plus

1

-

 

minus

2

*

 

times

3

/

 

slash

4

=

 

eql

5

<> 

 

neq

6

 

lss

7

<=

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值