程序设计语言编译原理(第3版)第2章.pptVIP

  • 9
  • 0
  • 约6.41千字
  • 约 37页
  • 2017-05-19 发布于四川
  • 举报
程序设计语言编译原理(第3版)第2章

2.3程序语言的语法描述 例:句子 i+i*i的最左推导过程 E E E E * E + i i i E E E E + E * i i i 最左推导 E?E+E?i+E  ?i+E*E?i+i*E  ?i+i*i E?E*E?E+E*E  ?i+E*E?i+i*E  ?i+i*i * 2.3程序语言的语法描述 最右推导 E E E E * E + i i i E E E E + E * i i i E?E+E?E+E*E  ?E+E*i?E+i*i  ?i+i*i E?E*E?E*i  ?E+E*i?E+i*i  ?i+i*i * 2.3程序语言的语法描述 注意: A、区分:文法的二义性——语言的二义性   二义文法G≠无二义文法G’  但L(G)=L(G’) 例如:G :E?E+E|E*E|(E)|i G’:E?T|E+T T?F|T*F F?(E)|i ?L(G)=L(G’) * B、二义问题是不可判定的: 即不存在一个算法,它能在有限步骤内,确切 的判定一个文法是否为二义的. 所能做的只是为无二义性寻找一组充分条件 2.3程序语言的语法描述 * 2.3程序语言的语法描述 三、形式语言 G=(VT ,VN ,S ,Ρ) 0型文法: ??? ?? (VN?VT)* ,至少有一个非终结符 任何产生式 ??? 均满足|?|≤ |?|; 仅S??例

文档评论(0)

1亿VIP精品文档

相关文档