搜索资源列表
LR0
- (1)构造文法G的LR(0)项目 (2)构造文法G的LR(0)项目集规范族及识别活前缀的DFA (3)证明文法G不是LR(0)文法而是SLR(1)文法,并构造SLR(1)分析表 (4)设计LR语法分析程序,且能输出分析过程 (5)列举两个例子测试语法分析程序(识别失败一例,识别成功一例,后者推导步骤不得少于10步) -(1) construct grammar G of the LR (0) item (2) construct grammar G of the LR (0)
compile_lab2
- 递归下降分析。描述算术表达式的LL(1)文法的递归下降分析程序 G[E]: E→TE′ E′→ATE′|ε T→FT′ T′→MFT′|ε F→ (E)|i A→+|- M→*|/-Recursive descent. Descr iption arithmetic expressions LL (1) grammar recursive descent parser G [E]: E → TE ' E
CP_work_8
- 设计一个四则表达式分析软件,其接受从文件或键盘输入的四则表达式(运算对象支持整数和变量),给出该表达式的二叉树表达形式,并在键盘上按后续遍历方式输出该二叉树。 例如,输入a+b*c,输出 a b c * + 提示:参考下列的设计指导: 递归下降分析法实验设计思想及算法 为G的每个非终结符号U构造一个递归过程,不妨命名为U。U的产生式的右边指出这个过程的代码结构: (1)若是终结符号,则和向前看符号对照,若匹配则向前进一个符号;否则出错。 (2)若是非终结符号,
InputAndOutputOfGrammar
- 1、了解文法定义的4个部分: G(Vn, Vt, S, P) Vn 文法的非终结符号集合,在实验中用大写的英文字母表示; Vt 文法的终结符号集合,在实验中用小写的英文字母表示; S 开始符号,在实验中是Vn集合中的一个元素; P 产生式,分左部和右部,左部为非终结符号中的一个,右部为终结符号或非终结符号组成的字符串,如S->ab|c 2、根据文法各个部分的性质,设计一个合理的数据结构用来表示文法, 1)若使用C语言编写,则文法可以设计成结构体形式,结构体中应包
operator-precedence-parser
- 1、给出文法如下: G[E] E->T|E+T T->F|T*F F->i(E) 可以构造算符优先表如下: + * ( ) i + * ( ) i 2、计算机中表示上述优先关系,优先关系的机内存放方式有两种1)直接存放,2)为优先关系建立优先函数,这里由学生自己选择一种方式; 3、给出算符优先分析算法如下: k:=1 S[k]:=‘#’ REP
postfix-notation
- 1、给出文法如下: G[E] E->T|E+T T->F|T*F F->i(E) 对应的转化为逆波兰式的语义动作如下: E-> E(1)op E(2) {E.CODE:= E(1).CODE||E(2).CODE||op} E->(E(1)) { E.CODE := E(1).CODE} E->id { E.CODE := id} 2、利用实验5中的算符优先分析算法,结合上面给出的语义动作实现逆波兰式的构造