编译原理实验一 词法分析 C++

本文介绍了一个编译原理实验,内容涉及使用C++实现无符号数的词法分析。实验要求包括设计自动机识别无符号数,制定算法判断输入字符串是否为无符号数,并用C++进行实现。无符号数的判断标准是不包含正负符号,对于格式错误的数字串,如23.、23e等,将被判定为非无符号数。
摘要由CSDN通过智能技术生成

实验内容:识别无符号数

实验步骤:

1、画出识别无符号数的自动机

 

若初始输入不是d(d表示数字),则肯定不是无符号数。我画的还有缺陷,比如0开头的情况没考虑。

2、设计识别无符号数的算法

要求:输入一个字符串,输出判定结果(是无符号数,不是无符号数)

例如:2,23,23.38, 23.34e9, 23.34e789, 23e-9,3e-10 都是无符号数

2e, 35e-,35e*不是无符号数

3、选择一种语言实现算法

思路:

无符号数和有符号数,就在于前面是否有符号,如果你输入一个数前面有'+''-',这个数就是一个有符号数,反之则是无符号数。当然不合规则的数,如23.  23e  23- 连数都不是,自然不是无符号数。

#includ
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值