第三章 词法分析

第三章 词法分析

3.1 对于词法分析器的要求

       词法分析器的任务:

              就是把写好的代码翻译成一个个由单词符号组成的程序。

       词法分析器的构造:

  1. 可以自己编写程序。
  2. 可以利用工具Lex等

       单词符号概念:

              指语言中具有独立意义的最小的语法符号。

       单词符号的种类:

              基本字,标识符,常数,运算符,界符。

       单词的表现形式:

              <单词种别,单词符号的属性值>

      

3.2 词法分析器的设计

       1.词法分析器的结构:

             

 

       源程序文本放入输入缓冲区,在缓冲区可以处理空格,回车,换行等编辑性字符,打印出错列表,除去注释行。

       最后将处理好的子程序放到扫描缓冲区。

 2.单词符的识别

       1)超前搜索:通过对多个单词的识别来准确地识别一个单词。

        2)直接分析:保留字,数字,变量等可以直接识别

           直接分析流程图:

              

 

                     

3.3 正规表达式与有限自动机

       1.词法分析器的构造的基本思路:

              程序语言的描述:

              词法规则,正规表达式,有限自动机,词法分析程序。

  1. 正规式和正规集

我们可以把具有相同特征的字放在一起组成一个集合,即所谓的正规集

然后使用一种形式化的方法来表示正规集,即所谓的正规式

  1. 有限自动机

定义:一个确定有限自动机(DFA)M是一个五元式:

M = (S, ∑, f, s0, F),其中

1)S是一个有限的状态集合,它的每个元素我们称为一个状态

2)∑是一个有穷的输入符号的字母表,它的每个元素我们称为一个输入字符

3)f是从 S×∑ →S的单值部分映射

4)s0是S的一个元素,为初始状态,它是唯一的

5)状态集合F是终止状态的集合,它是S的子集(可空)

posted @ 2018-04-04 21:44  勿忘初心0924  阅读(174)  评论(0)    收藏  举报