考试突击4自下而上

发布时间 2023-06-19 09:10:55作者: __yomi

顺序

从输入串开始到文法开始符号

img
=>上面加*或者+表示需要一步或多步,没有表示只要一步

规范规约

  • 以某非终结符为根的子树的所有末端结点
    从左到右排列就是一个短语
  • 只有父子两代的子树的所有末端结点
    从左到右排列就是一个直接短语。
  • 句柄是树中末节点最左边

符号栈的使用

类似自上而下,不过是倒叙,这个是输入符号,安徽变成规约符号

LR分析法

  • 拓广文法

    • 将文法开始符号E,生成一个E'->E
    • 将文法有两个的分开写如A->a|E, A->a,A->E
    • 注意前面要加上数字顺序
  • 项目集范围族

    • img
    • 现在拓广E'
    • 然后\(I_0\)可以每个参数式右边的最左边打一个点
    • 然后移动点比如这里经过一个E到达\(I_1\)
    • 注意当经过一个符号后,当点后是非终结符时,要将点后的非终结符所有文法写下来比如这里I3中经过T中经过一个(达到点后是E久些E,但是E的一个后面有T那么也加上T
  • 构造action-goto表

    • action表是所有终结符列
    • goto是非终结符表
    • img
    • 其中状态0表示I0在goto表中经过E到达I1就写1
    • action表经过什么到达写S几,
    • 如果I几对应的点在最后,就是终结了,那么查找它在上面的文法对应的数字,用R数字表示
    • 最后acc,E'点在最后的I几就在起#列写acc