編譯語言-中間代碼生成

編譯語言-中間代碼生成

ID:47466745

大小:71.50 KB

頁數(shù):5頁

時間:2020-01-11

編譯語言-中間代碼生成_第1頁
編譯語言-中間代碼生成_第2頁
編譯語言-中間代碼生成_第3頁
編譯語言-中間代碼生成_第4頁
編譯語言-中間代碼生成_第5頁
資源描述:

《編譯語言-中間代碼生成》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、實驗四中間代碼生成一、實驗內(nèi)容設(shè)計一個程序,該程序能夠?qū)⑿稳鐇=yopz的簡單賦值語句翻譯為對應(yīng)的四元式序列,其中op可為+、-、*、/等二元運算符。(可參考實驗指導(dǎo)書P163至P164)。要求用JAVA語言編程。例如:若輸入賦值語句a=b+c,則輸出如下四元式序列。二、程序代碼InToPost.JAVApackagezlf;importjava.io.IOException;publicclassInToPost{privateStacktheStack;privateStringinput;privateStringoutpu

2、t="";publicInToPost(Stringin){input=in;intstackSize=input.length();theStack=newStack(stackSize);}publicStringdoTrans(){for(intj=0;j

3、eStack.push(ch);break;case')':gotParen(ch);break;default:output=output+ch;break;}}while(!theStack.isEmpty()){output=output+theStack.pop();}//System.out.println(output);returnoutput;}publicvoidgotOper(charopThis,intprec1){while(!theStack.isEmpty()){charopTop=theStack.p

4、op();if(opTop=='('){theStack.push(opTop);break;}else{intprec2;if(opTop=='+'

5、

6、opTop=='-')prec2=1;elseprec2=2;if(prec2

7、ack.pop();if(chx=='(')break;elseoutput=output+chx;}}classStack{privateintmaxSize;privatechar[]stackArray;privateinttop;publicStack(intmax){maxSize=max;stackArray=newchar[maxSize];top=-1;}publicvoidpush(charj){stackArray[++top]=j;}publiccharpop(){returnstackArray[top--

8、];}publiccharpeek(){returnstackArray[top];}publicbooleanisEmpty(){return(top==-1);}}}QuaternaryTypeOfAlgorithm.JAVApackagezlf;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.util.Stack;publicclassQuaternaryTypeOfAlgorithmextendsJFrame{privatesta

9、ticStacknumber=newStack();privateintn=1;privateJButtonjbt=newJButton("生成");privateJTextAreajta=newJTextArea();privateJTextFieldjtf=newJTextField("A=B+C*D+E",20);privatebooleanhasError=false;publicQuaternaryTypeOfAlgorithm(){JPanelp1=newJPanel();p1.add(

10、jtf);p1.add(jbt);add(p1,BorderLayout.NORTH);add(newJScrollPane(jta),BorderLayout.CENTER);jbt.addActionListener(newActionList

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。