Compiler construction 如何从代码段生成后缀符号?

Compiler construction 如何从代码段生成后缀符号?,compiler-construction,intermediate-code,Compiler Construction,Intermediate Code,请任何人在不使用任何编程语言工具的情况下解释一下,将代码段(而不是表达式)转换为后缀符号的规则是什么……感谢您,我提前感谢您的回答假设您正在尝试将中缀符号转换为后缀符号,您可能正在寻找中间代码,最后的代码使用前缀表示法,而不是posfixed表示法 示例(前缀表示法): 示例(固定符号): 假设你的意思是“前缀符号” 有两组指令可以转换为前缀表示法 第一种表达方式如下: somevar <- (x + y); 在第二种情况下,函数的Id成为指令的前缀Id,后跟参数 GotoXY Colu

请任何人在不使用任何编程语言工具的情况下解释一下,将代码段(而不是表达式)转换为后缀符号的规则是什么……感谢您,我提前感谢您的回答

假设您正在尝试将中缀符号转换为后缀符号,您可能正在寻找中间代码,最后的代码使用前缀表示法,而不是posfixed表示法

示例(前缀表示法):

示例(固定符号):

假设你的意思是“前缀符号”

有两组指令可以转换为前缀表示法

第一种表达方式如下:

somevar <- (x + y);
在第二种情况下,函数的Id成为指令的前缀Id,后跟参数

GotoXY Column, Row
通常Id表示地址:

Load RegisterA, Column;
Load RegisterB, Row;
Load RegisterC, GotoXY
Call RegisterC
这在不同的中间代码中可能有所不同

将表达式和指令结合在一起是很常见的

GotoXY (Sum(Delta, W), B - Z);

因此,您可能必须首先转换内部表达式和内部函数调用。

如果您不是在谈论表达式,那么后缀符号是什么意思?
GotoXY Column, Row
Load RegisterA, Column;
Load RegisterB, Row;
Load RegisterC, GotoXY
Call RegisterC
GotoXY (Sum(Delta, W), B - Z);