簡體   English   中英

如何從代碼段生成后綴符號?

[英]How to generate a postfix notation from code segment?

任何人都可以在不使用任何編程語言工具的情況下解釋一下,將代碼段(不是表達式)轉換為后綴表示法的規則是什么....謝謝我提前感謝您的回復

中間代碼和最終代碼使用前綴表示法,而不是后固定表示法。

示例(前綴符號):

Sum B, Mem[6455];

示例(帶固定符號):

B, Mem[6455], Sum

假設您的意思是“前綴符號”。

有兩組指令可以轉換為前綴符號。

第一個是像這樣的表達式:

somevar <- (x + y);

其次,非返回函數也稱為“過程”或“子程序”。

GotoXY(Column, Row);

在第二個中,函數的 Id 成為前綴 Id。 指令,后跟參數。

GotoXY Column, Row

通常是Id。 表示地址:

Load RegisterA, Column;
Load RegisterB, Row;
Load RegisterC, GotoXY
Call RegisterC

這可能因一個中間代碼而異。

將表達式和指令結合使用是很常見的。

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

因此,您可能必須首先轉換內部表達式和內部函數調用。

假設您正在嘗試將中綴符號轉換為后綴, Shunting-yard Algorithm可能是您正在尋找的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM