词法分析有限状态机的状态变更

在词法分析的过程中有限状态机的状态是不断发生变化的,其中最麻烦的是保留字的判断,拿强类型语言中的int为例
在整个推到过程中需要涉及

i --------> id_Int1
n --------> id_Int2
t ---------> id_Int3
(空白符) ---------> int

四个阶段,其中任意一个阶段只有严格符合预期才能进入下一个阶段,而一旦与预期不符,马上将其视为id。且此时token的类型可以确定为id类型。而保留字只有在所有的条件都符合时才能确定token的类型。但总体而言保留字和id都不是在初始化的过程中确立token类型的。
而一开始能确定token类型的有:

  1. 单一的字符,如 引号
  2. 数字(在不考虑整形浮点型以及科学计数法的前提下)
    因此在词法分析器的设计过程中,能够在第一个字符就能确定类型的token类型,initToken过程中便对token进行类型定义,而其余的只有在不断的读入与有限自动机状态迁移过程中确定。

有限自动机的推断应该不断的发生变化,而Token的推断应该尽可能倾向于概率大的类型,这样可以尽量的减少更新次数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值