最直白的编译原理-词法分析(清华-王书3版)

本文介绍了编译原理中的词法分析,详细讲解了词法分析器的作用,如识别单词符号,过滤空格和注释。文章探讨了正则文法与正则表达式的等价性,以及有穷自动机FA的概念,包括NFA的确定化和DFA的最小化过程。此外,还讨论了正规式与FA之间的相互转换。
摘要由CSDN通过智能技术生成

欢迎进入乱码IT的精神世界,请多指教~

词法分析

  • 词法分析是编译过程的一个阶段:从左到右逐个字符的读入源程序,并对源程序字符流进行扫描和分解,识别出一个个单词。(对源程序的结构进行分析)

  • PL/0编译程序词法分析器作为子程序来调用,以语法分析器为主,语法分析器工作,需要词法分析器的输出作为输入,语法分析器需要分析时,发出请求调用词法分析器,词法分析器以二元式形式输出分析得到的单词符号,然后输入到语法分析器作为回应。(词法分析与语法分析在同一遍里,省掉了中间文件或储存区)

  • 单词符号一般分类:
    1.关键字(例:If、while)
    2.标识符(例:常量名、变量名)
    3.常数(例、25、3.14、TRUE、ABC)
    4.运算符(例:+ - )
    5.界符(例:逗号、括号)

  • 二元式表示单词符号:(单词种别,单词自身的值)<例:(3,‘while’),‘3’表示单词种别为‘关键字’,该单词种别的值为‘while’>

  • 词法分析器其他任务: 滤掉空格和注释、将行号与错误信息关联编译定位、完成编译预处理等

  • 词法规则描述工具(即单词描述工具,分为两类:形式化、半形式化):状态转换图、有穷自动机、正则表达式、正则文法等

正则文法与正则表达式的等价性

即两者之间的相互转换

转换规则如下:

等价转换规则
例:

转换范例
Z

有穷自动机FA

分两类:

  • 不确定的有穷自动机NFA
  • 确定的有穷自动机DFA

FA的表示(五元式):
状态结点集输入符号表转换函数初态集终态集

注:

  • 转换函数反映的是‘状态结点+输入符号→下一状态结点’的一种映射关系&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值