Location:
Search - Infix grammar
Search list
Description: 表达式类型的实现:
1、 一个表达式和一颗二叉树之间,存在着自然的对应关系。
2、 假设算术表达式Expression内可以含有变量(a~z)、常量(0~9)和二元运算符(+,-,*,/,^)。实现一下操作。
(1) ReadExpr(E)——以字符序列的形式输入语法正确的前缀表示式并构造表达式E。
(2) WritrExpr(E)——用带括弧的中缀表示式输出表达式E。
(3) Assign(V,c)——实现对变量V的赋值(V=c),变量的初值为0。
(4) Value(E)——对算术表达式E求值。
(5) CompoundExpr(P,E1,E2)——构造一个新的复合表达式(E1)P (E2)。
-Realize the type of expression: one, an expression, and between a binary tree, there is a natural correspondence between. 2, assuming that the arithmetic expression Expression can contain variables (a ~ z), constant (0 ~ 9) and binary operators ( ,-,*,/,^)。 You realize the operation. (1) ReadExpr (E)- sequence of characters in the form of input grammar correct prefix expressions and tectonic expression of E. (2) WritrExpr (E)- used within parentheses express output infix expression E. (3) Assign (V, c)- realize the value V of the variables (V = c), variable initial value is 0. (4) Value (E)- on the arithmetic expression E is evaluated. (5) CompoundExpr (P, E1, E2)- Construction of a new composite expression (E1) P (E2).
Platform: |
Size: 58368 |
Author: |
Hits:
Description: 将中缀表达式转换为后缀表达式,并计算任意四则运算表达式的结果,采用链表和队列实现,非文法和状态机-Infix expression would be converted to suffix expressions, and calculate the arithmetic expression of arbitrary results, the use of linked lists and queues to achieve, non-grammar and the state machine
Platform: |
Size: 7168 |
Author: wuwenxi |
Hits:
Description: 将中缀表达式转换为后缀表达式,并计算任意四则运算表达式的结果果,采用链表和队列实现,非文法和状态机,已通过测试。
-Infix convert an expression for the postfix expression, and calculate any four of expression is the result fruit, using linked lists and queues, non-grammar and state machines, has been tested.
Platform: |
Size: 7168 |
Author: 认可 |
Hits:
Description: 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中的算符优先分析算法,结合上面给出的语义动作实现逆波兰式的构造;
3、利用栈,计算生成的逆波兰式,步骤如下:
1)中缀表达式,从文本文件读入,每一行存放一个表达式,为了降低难度,表达式采用常数表达式;
2)利用结合语法制导翻译的算符优先分析,构造逆波兰式;
3)利用栈计算出后缀式的结果,并输出;-1 gives grammar as follows: E [E] E-> T | E+ T T-> F | T* F F-> i (E) the corresponding inverse Polish into semantic action as follows:
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, the use of experimental 5 operator priority analysis algorithms, combined with semantic actions given above structure to achieve reverse Polish notation
3, the use of the stack, calculates the resulting Reverse Polish Notation, as follows:
1) infix expression, read a text file, each line deposited an expression, in order to reduce the difficulty of using a constant expression expression
2) the use of binding syntax directed translation of operator priority analysis, structural inverse Polish
3) Using the calculated postfix stack of results and outputs
Platform: |
Size: 1024 |
Author: 忆昔 |
Hits: