資源簡介
IF-ELSE條件語句的翻譯程序設計(遞歸下降法、輸出三地址表示)

代碼片段和文件信息
package?test;
import?java.awt.Color;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.io.*;
import?javax.swing.*;
/*
?*?用于介面設計
?*?*/
public?class?test1?extends?Jframe?implements?ActionListener?{
//?界面設計
BufferedReader?fin?=?null;
JPanel?jp?=?new?JPanel();
JLabel?jl?=?new?JLabel(“檢測文本名“);
JTextField?jtf?=?new?JTextField(“1.txt“);
JButton?jb?=?new?JButton(“開始檢測“);
public?test1()?{
this.add(jp);
jp.setLayout(null);
this.setBounds(100?100?250?200);
this.setVisible(true);
jp.add(jtf);
jtf.setBounds(110?30?100?50);
jp.add(jl);
jl.setBounds(10?30?100?50);
jp.add(jb);
jb.setBounds(60?100?100?50);
jb.addActionListener(this);
this.settitle(“If-else檢測“);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
jp.setBackground(Color.green);
this.setResizable(false);
}
//?主程序調用
public?static?void?main(String?args[])?{
new?test1();
}
//?事件觸發器
public?void?actionPerformed(ActionEvent?e)?{
try?{
File?fc0?=?new?File(jtf.getText());
fc0.createNewFile();
fin?=?new?BufferedReader(new?FileReader(fc0));
String?c?=?““;
String?s?=?““;
while?((c?=?fin.readLine())?!=?null)?{
s?=?s?+?c;
}
char[]?ch?=?s.toCharArray();
Begin(ch);//?開始檢測文本內容
}?catch?(Exception?e1)?{
e1.printStackTrace();
}
}
/*
?*?從這里開始檢測
?*/
//?開始檢測
public?void?Begin(char?c[])?{
for?(int?i?=?0;?i? int?k?=?i;
if?((c[i]?==?‘i‘?||?c[i]?==?‘I‘)
&&?(c[i?+?1]?==?‘f‘?||?c[i?+?1]?==?‘F‘))?{
CheckIf(c?k);
break;
}
}
}
//?提出if段代碼檢測
public?void?CheckIf(char?c[]?int?i)?{
char?ch[]?=?new?char[1000];
Boolean?b?=?false;
boolean?b1?=?true;
int?j?=?0;
for?(j?=?0;?j? if?(c[i]?==?‘e‘?&&?c[i?+?1]?==?‘l‘?&&?c[i?+?2]?==?‘s‘
&&?c[i?+?3]?==?‘e‘)?{
ch[j]?=?c[i];
ch[j?+?1]?=?c[i?+?1];
ch[j?+?2]?=?c[i?+?2];
ch[j?+?3]?=?c[i?+?3];
b?=?true;
}
if?(c[i]?==?‘{‘?||?c[i]?==?‘}‘)?{
b1?=?!b1;
}
if?(b?==?true?&&?c[i]?==?‘;‘)?{
if?(b1?==?true)?{
ch[j]?=?c[i++];
j?=?c.length;
}?else?{
ch[j++]?=?c[i++];
ch[j]=‘}‘;
j?=?c.length;
}
}
ch[j]?=?c[i++];
}
ch[j]?=?‘\0‘;
JumpTest2(ch);
}
//?轉向test2?詞法分析
public?void?JumpTest2(char?c[])?{
System.out.println(“test1輸出:“);
System.out.println(“提取出來的if——else程序如下“);
System.out.println(c);
new?test2(c);
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????383??2010-01-06?10:35??0120710340806?陳揚\.project
?????文件????????232??2010-01-06?10:35??0120710340806?陳揚\.classpath
?????文件????????147??2009-10-09?09:41??0120710340806?陳揚\1.txt
?????文件????????131??2010-01-07?10:18??0120710340806?陳揚\2.txt
?????文件????????132??2010-01-07?10:18??0120710340806?陳揚\3.txt
?????文件????????130??2010-01-07?10:25??0120710340806?陳揚\4.txt
?????文件????????176??2009-10-09?08:26??0120710340806?陳揚\5.txt
?????文件???????2592??2010-01-07?18:17??0120710340806?陳揚\src\test\test1.java
?????文件???????4325??2009-10-09?09:41??0120710340806?陳揚\src\test\test2.java
?????文件???????2099??2010-01-07?18:22??0120710340806?陳揚\src\test\test3.java
?????文件???????4316??2009-10-09?09:41??0120710340806?陳揚\bin\test\test2.class
?????文件???????3763??2009-10-09?08:22??0120710340806?陳揚\bin\test\test1.class
?????文件???????2776??2009-10-09?08:22??0120710340806?陳揚\bin\test\test3.class
?????文件?????201216??2010-01-07?18:28??0120710340806?陳揚\課程設計0708陳揚.doc
?????目錄??????????0??2010-01-07?19:47??0120710340806?陳揚\src\test
?????目錄??????????0??2010-01-07?19:47??0120710340806?陳揚\bin\test
?????目錄??????????0??2010-01-07?19:47??0120710340806?陳揚\src
?????目錄??????????0??2010-01-07?19:47??0120710340806?陳揚\bin
?????目錄??????????0??2010-01-07?19:47??0120710340806?陳揚
-----------?---------??----------?-----??----
???????????????222418????????????????????19
- 上一篇:steger高斯線檢測自翻原稿
- 下一篇:數據庫課程設計——倉庫設備管理系統
評論
共有 條評論