91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 12KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2024-01-28
  • 語言: Java
  • 標簽: 編譯原理??C語言??

資源簡介

編譯原理課程實驗題目,實現了C語言、Java語言詞法分析器的功能,包括圖形用戶界面,可以打開指定的文件,可以保存相應的分析結果。

資源截圖

代碼片段和文件信息

package?compile;

import?java.awt.BorderLayout;
import?java.awt.Font;
import?java.awt.GridLayout;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.io.BufferedReader;
import?java.io.File;
import?java.io.FileOutputStream;
import?java.io.FileReader;

import?javax.swing.JButton;
import?javax.swing.JFileChooser;
import?javax.swing.Jframe;
import?javax.swing.JLabel;
import?javax.swing.JMenu;
import?javax.swing.JMenuBar;
import?javax.swing.JMenuItem;
import?javax.swing.JOptionPane;
import?javax.swing.JPanel;
import?javax.swing.JScrollPane;
import?javax.swing.JTextArea;
import?javax.swing.border.EmptyBorder;
import?javax.swing.border.titledBorder;

/**
?*?C語言詞法分析器
?*?@author?王偉
?*
?*/
public?class?CLanguageCompile?extends?Jframe?implements?ActionListener?{

private?static?final?long?serialVersionUID?=?-5936979066746570003L;
private?String[]?s1?=?{“文件“?“幫助“};
private?String[][]?s2?=?{{“打開“?“保存“?“退出“}?{“關于詞法分析器“}};
JMenu[]?jMenus?=?new?JMenu[s1.length];
JMenuItem[][]?jMenuItems?=?new?JMenuItem[s1.length][s2[0].length];
private?int?lineCount?=?0;

//C語言識別保留字
//private?String[]?keyWord?=?{“if“?“else“?“int“?“for“?“while“?“do“?“ruturn“?“break“?“countinue“?“printf“?“scanf“?“void“};
//Java語言識別保留字
private?String[]?keyWord?=?{“if“?“else“?“byte“?“char“?“short“?“int“?“long“?“float“?“double“?“String“?“for“?“while“?“do“?“ruturn“?“break“?“countinue“?“println“?“print“?“void“?“static“?“private“?“protected“?“public“?“final“};
//特殊字符
private?String[]?specialChar?=?{“;“?““?“““?“(“?“)“?“{“?“}“?“+“?“-“?“*“?“/“?“<=“?“>=“?“==“?“!=“?“:“?“[“?“]“};?
//臨時字符串
StringBuilder?sBuilder?=?new?StringBuilder();
//最終分析結果字符串
StringBuilder?resultBuilder?=?new?StringBuilder();

private?JTextArea?contentArea?resultArea;
private?JButton?analyze?reset;

/**
?*?構造
?*/
public?CLanguageCompile()?{
init();
}

/**
?*?初始化界面方法
?*/
public?void?init()?{
this.settitle(“Java語言此法分析器?BY?王偉“);
this.setBounds(100?100?850?700);
this.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
this.setResizable(false);
this.setContentPane(createTotalPane());
JMenuBar?jmb?=?new?JMenuBar();

/**
?*?設置菜單欄
?*/
for(int?i=0;?i jMenus[i]?=?new?JMenu(s1[i]);
jMenus[i].setFont(new?Font(““?Font.BOLD?20));
jmb.add(jMenus[i]);
for(int?j=0;?j jMenuItems[i][j]?=?new?JMenuItem(s2[i][j]);
jMenuItems[i][j].setFont(new?Font(““?Font.BOLD?20));
jMenus[i].add(jMenuItems[i][j]);
jMenuItems[i][j].addActionListener(this);
}
}
this.setJMenuBar(jmb);
}

public?JPanel?createTotalPane()?{
JPanel?pane?=?new?JPanel(new?BorderLayout());
pane.setBorder(new?EmptyBorder(10?10?10?10));
pane.add(BorderLayout.NORTH?createLabelPane());
pane.add(BorderLayout.CENTER?createTextAreaPane());
pane.add(BorderLayout.SOUTH?createButtonPan

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-05-19?14:20??CLanguageCompile\
?????文件?????????232??2012-05-02?18:07??CLanguageCompile\.classpath
?????文件?????????392??2012-05-02?18:07??CLanguageCompile\.project
?????目錄???????????0??2012-05-19?14:20??CLanguageCompile\bin\
?????目錄???????????0??2012-05-19?14:20??CLanguageCompile\bin\compile\
?????文件????????1244??2012-05-09?19:50??CLanguageCompile\bin\compile\CLanguageCompile$1.class
?????文件?????????924??2012-05-09?19:50??CLanguageCompile\bin\compile\CLanguageCompile$2.class
?????文件???????10340??2012-05-09?19:50??CLanguageCompile\bin\compile\CLanguageCompile.class
?????目錄???????????0??2012-05-19?14:20??CLanguageCompile\src\
?????目錄???????????0??2012-05-19?14:20??CLanguageCompile\src\compile\
?????文件????????9950??2012-05-09?19:50??CLanguageCompile\src\compile\CLanguageCompile.java

評論

共有 條評論