美文网首页
编译原理——SDT在产生式中的操作

编译原理——SDT在产生式中的操作

作者: 牛程程 | 来源:发表于2017-08-23 21:30 被阅读0次

    一、SDT在产生式中的操作

    一个操作可以发生在产生式的任何位置。在它左边的符号都运行完成之后,这个操作就会立即执行。因此,如果有一个产生式B->X{a}Y,当识别出X(如果X是一个终结符)或者所有由X(如果X是一个非终结符)派生而来的终结符之后,就执行了操作a。更确切的说:

    1.如果是自底向上解析,那么在X出现在解析栈顶时,操作a就会执行。

    2.如果是自顶向下解析,那么在准备扩展Y(如果Y是非终结符)或者准备检查Y(Y是终结符)的输入之前,就会执行a操作。

    二、从SDD转化到SDT的L属性规则

    1.在产生式中出现A之前,立即计算非终结符A的继承属性值的操作。如果A的多个继承属性以非循环的方式相互依赖,那么应该对这些属性值排序,以便于先计算出所需要的属性。

    2.将产生式前部分计算综合属性的操作放在该产生式的末尾部分。

    相关文章

      网友评论

          本文标题:编译原理——SDT在产生式中的操作

          本文链接:https://www.haomeiwen.com/subject/nbvjdxtx.html