编译原理_复习笔记3章

第三章 词法分析

词法分析的任务:从左至右逐个字符地对源程序进行扫描,产生一个个单词符号。

词法分析器(Lexical Analyzer) 又称扫描器(Scanner):执行词法分析的程序。功能是输入源程序、输出单词符号。

单词符号的种类:

  • 基本字:如 begin,repeat,
  • 标识符:表示各种名字:如变量名、数组名和过程名
  • 常数:各种类型的常数
  • 运算符:+,-,*,/,
  • 界符:逗号、分号、括号和空白

输入源程序输出二元组–输出的单词符号的表示形式: (单词种别,单词自身的值) 如(保留字,‘const’)、(运算符,‘=’)…

词法分析器作为一个独立子程序供语法分析器调用:词法分析是作为一个独立的阶段,但不处理为独立的一遍。

  • 作为独立阶段的优点:
    • 使整个编译程序结构简洁、清晰和条理化,
    • 有利于集中考虑词法分析一些枝节问题。
  • 不作为独立的一遍:
    • 将其处理为一个子程序。

词法分析与语法分析同时交替进行。词法分析器借助符号表将单词符号分解出来传给语法分析器,语法分析器(同样需要符号表)再接着向词法分析器取下一个单词,一个闭环。

正规表达式与有限(有穷)自动机


                
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值