词法分析

词法分析(lexical analysis)程序 :
又称词法分析器或扫描器,主要功能是逐个读入源程序字符并按照构词规则切分成一系列单词。单词是语言中具有独立意义的最小单位,包括保留字、标识符、运算符、标点符号和常量等。词法分析是编译过程中的一个阶段,在语法分析前进行 。也可以和语法分析结合在一起运行

  • 词法分析程序的主要任务:
    • 扫描源程序,识别出具有独立意义的单词
  • 词法分析程序的其他任务:
    • 滤掉空格,跳过注释、换行符
    • 追踪换行标志,将行号与出错信息相联系起来。
    • 宏展开, ……

词法分析程序的输出格式 :
词法分析的输出常采用二元式(单词类别,单词自身的值)
单词类别通常用一个整数类码或单词记号表示,单词记号比整数码含义明确。
若还需记录单词的一些其它属性值:如标识符的类别、层次等,可将这些属性统一放到符号表中,并将单词的二元式表示为:(标识符,指向该标识符所在符号表中位置的指针)

词法分析程序的结构 :
词法分析从语法分析部分独立出来的原因 :

  • 使整个编译程序的结构更简洁、清晰、条例化
  • 改进编译效率
  • 增加编译系统的可移植性

词法分析程序的常用设计方法 :

  • 手工构造
    • 首先确定出能够识别程序中单词的确定的有穷自动机(DFA),然后可以采用直接编程的方法或者表驱动的方法来构造词法分析器。
  • 借助相关工具的自动构造
    • 如:Lex编译系统
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值