编译4语法分析—自上而下分析重点.ppt

* * 主程序: PROGRAM PARSER; BEGIN ADVANCE; E; IF SYM ’#’ THEN ERROR END; * * 在元符号“→”和“|”的基础上,扩充几个元语言符号: 1. 用花括号{?}表示闭包运算?*。 2. 用 {?}n0表示可任意重复0次至n次,。 3. 用方括号[?]表示{?}10 ,即表示?的出现可有可无(等价于?|?)。 引入上述元符号的文法亦称扩充的巴科斯范式。 文法的另一种表示法和转换图(略) * * 例如,通常的“实数”可定义为: decimal→[sign]integer.{digit}[exponent] exponent→E[sign]integer integer→digit{digit} sign→ + | - 用扩充的巴科斯范式来描述语法,直观易懂,便于表示左递归消去和因子提取。 * * 例4.5 文法 E→T | E+T T→F | T*F F→i | (E) 可表示成 E→T{+T} T→F{*F} F→i | (E) (4.6) * * 可以用语法图来表示语言的文法。 T + E T F * T F i ) F E ( * * 可构造一组递归下降分析程序: PROCEDURE E; BEGIN

文档评论(0)

1亿VIP精品文档

相关文档