短语编译原理
❶ 编译原理的疑问
设文法G的开始符号为S,abc是G的一个句型。
如果有句型S *=>aAc,且A +=>b,则称b是句型abc相对于非终结符A的短语。
假如A =>b,则称b是句型abc相对于规则A=>b的直接短语。
句柄就是句型的最左直接短语。
假如一个短语,有且只含有一个非终结符,则称之为素短语;(语法树)最左边的素短语为最左素短语。
形式语言里,规范推导是最右开始,则归约是最左开始。
短语的特点是由非终结符而来。在算符优先分析里,短语是进行归约的方向。它和常见的中文、英文里所说的短语概念有相似,也有不同。
❷ 编译原理中,句柄的定义中的最左直接短语,那个最左是什么意思啊急求!!!跪谢!!!
就是说,对一棵分析树从上到下,从左到右把所有的直接短语写出来,在所有的直接短语的最前面(也就是最左边)的那个就是句柄啦。
希望帮到你理解这个意思。
❸ 编译原理中,素短语是个什么东东
素短语是一个短语,它至少含有一个终结符,而且除他之外不含有其他素短语。
短语:一个句型的语法树中任一子树叶节点所组成的符号串都是该句型的短语。
❹ 编译原理!为什么F3.不是素短语
素短语是至少含有一个终结符的短语,且除它自身外不再含有任何更小的素短语。F3是
非终极符,所以只有i1是素短语。
❺ 编译原理有关语法的题
短语:E+F*(E+i),F*(E+i),(E+i),E+i,i
直接短语:i(能直接推出来的)
句柄:i(最左直接短语)
素短语:i(并且至少含有一个终结符并除自身之外不含任何更小的素短语)
这些你根据语法树看,就比较好找了啊~
语法树如图:
❻ 编译原理,设文法G[E]如下,句型T+T * F+a的素短语是__
试给出句型T-T/F+a和T+T*F-F↑a的短语、句柄、素短语:
句型1:短语TT/F+a, T-T/F, T, T/F, a
句型T
素短语: T/F,a
句型2:短语E+T*F_F↑a, E+T*F, T*F,F↑a, a
句型T*F
素短语: T*F,a
(6)短语编译原理扩展阅读
文法:以有穷的集合描述无穷的计划的工具。
字母表:元素的非空有穷集合,其中的元素称为符号,因此也叫符号集。
符号串:由字母表中的元素组成的任何有穷序列,串中的元素个数叫做符号串的长度,空符号串ε,长度为0。
符号串的运算:
连接-符号串x = ab,y=cd, xy = abcd
方幂-z=xn,当n = 0, z = ε,当 n = 2, z = xx
集合的闭包-∑* = ∑0 ∪∑1 ∪∑2 ∪…∪∑n
∑+ 为正闭包 = ∑1 ∪∑2 ∪…∪∑n
❼ 编译原理中的短语、直接短语、句柄
如果给出短语等名词的形式化的定义,便较难理解,不好求。我们通过构造语法树来求解。首先你应该会根据文法将所给句型构造成语法树的形式,即根据文法怎样推导出句型E+T*F。如果你有数据结构二叉树基础的话这很简单就构造出来了。构造出语法树后,求短语看根节点,有T,和E。则短语为:E+T*F,T*F,而直接短语是指能直接推出叶子节点的根所对应的短语,可知该节点为T,直接短语为:T*F。句柄是最左直接短语,可知为:T*F。
❽ 编译原理:空字符串可以是短语吗
可以的。。。
❾ 编译原理实现判断是不是一个文法的句子
构造LL(1)语法分析程序,任意输入一个文法符号串,并判断它是否为文法的一个句子。程序要求为该文法构造预测分析表,并按照预测分析算法对输入串进行语法分析,判别程序是否符合已知的语法规则,如果不符合(编译出错),则输出错误信息。
❿ 编译原理中的句柄是什么意思举个简单的例子
语法树的最左子树