资源简介
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 < c.length; 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 < c.length; 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高斯线检测自翻原稿
- 下一篇:数据库课程设计——仓库设备管理系统
评论
共有 条评论