编译原理

词法分析

DFA&NFA

编译原理_第1张图片
  • 存在DFA和NFA相互转化的算法
  • DFA和NFA可以等价

过程

正规式(正规集)->NFA->DFA->DFA实现程序

语法分析

编译原理_第2张图片

巴科斯范式(BNF)

文法、推导

  • 最右推导
  • 最左推导

语法树

二义性

乔姆斯基(chomsky)文法分类

  • 0型文法 (例如图灵机)
  • 1型文法(上下文有关法)
  • 2型文法(上下文无关法)
  • 3型文法(正规文法(正规文法又包括左线性文法和右线性文法))

自上而下分析

问题

文法左递归:解决方法:将左递归转换为右递归

直接左递归的消除:
编译原理_第3张图片

间接左递归的消除(先转换成直接左递归)


编译原理_第4张图片

算法实现:
编译原理_第5张图片

回溯

编译原理_第6张图片
  • FIRST集合:候选首符集
    提取公共左因子
  • FOLLOW集合


    编译原理_第7张图片

LL(1)文法

  • 第一个L指从左到右推导(left);第二个L指最左推导;1指每一步只需向前查看一个符号。
    编译原理_第8张图片

你可能感兴趣的:(编译原理)