亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? accidenceanalyser.txt

?? 這是用Java寫的詞法分析器
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
                             Java詞法分析器
            [使用java開發,并且用來分析java源文件]
1. 開發工具:rational rose2002 jedition,borland jbuilder6 professional
2. 開發步驟:
3. 源代碼:
//lisence head
/*Java Accidence Analyser
**Author yellowicq
**All copyright reserved
**Version 1.0
*/
//lisence
1) 詞法分析器引導文件:main.java
package JAccidenceAnalyse;
import javax.xml.parsers.*;
import org.w3c.dom.*;

public class main {

  /**
   * @param args
   * @return void
   * @roseuid 3D9BAE4702AD
   */
  public static void main(String[] args) {
//讀取配置文件,得到系統屬性
    String cfgString[] = new String[4];
    try {
      cfgString = main.loadAACfg("d:\\aaCfg.xml");
    }
    catch (Exception e) {
      e.printStackTrace(System.err);
    }
//設置待讀文件名
////////////////////////////////////////////////////
    //保留字表文件
    String reserveFileName = cfgString[0];
    //類型種別碼表文件
    String classFileName = cfgString[1];
    //需要分析的源文件
    String sourceFileName = cfgString[2];
    //輸出文件
    String outputFileName = cfgString[3];
////////////////////////////////////////////////////
    //創建詞法分析器
    AccidenceAnalyser aa = new AccidenceAnalyser();
    aa.setFilesPath(reserveFileName, classFileName, sourceFileName,
                    outputFileName); //建立所需要的文件對象
    //初始化詞法分析器
    aa.initAA();
    //初始化關鍵字表
    aa.keyWordTable.initKeyWordTable();
    //初始化類型種別碼表
    aa.classIdentity.initClassIdentityTable();
    //開始進行詞法分析
    aa.startAA();
    //分析完畢
  }

  //讀取配置文件
  private static String[] loadAACfg(String name) throws Exception {
    String cfgString[] = new String[4];
    /*解析xml配置文件*/
    try {
      /*創建文檔工廠*/
      DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
      /*創建文檔解析器*/
      DocumentBuilder builder = factory.newDocumentBuilder();
      /*解析配置文件*/
      Document doc = builder.parse(name);
      /*規范化文檔*/
      doc.normalize();
      /*查找接點表*/
      NodeList nlists = doc.getElementsByTagName("FilePath");
      for (int i = 0; i < nlists.getLength(); i++) {
        Element item = (Element) nlists.item(i);
        //取得需要的配置屬性
        /******************/
        cfgString[0] = item.getElementsByTagName("ReserveFileName").item(0).
            getFirstChild().getNodeValue().trim();
        /******************/
        cfgString[1] = item.getElementsByTagName("ClassFileName").item(0).
            getFirstChild().getNodeValue().trim();
        /******************/
        cfgString[2] = item.getElementsByTagName("SourceFileName").item(0).
            getFirstChild().getNodeValue().trim();
        /******************/
        cfgString[3] = item.getElementsByTagName("OutputFileName").item(0).
            getFirstChild().getNodeValue().trim();
        /******************/
      }
    }
    catch (Exception e) {
      e.printStackTrace();
      throw new Exception("[ERROR]加載配置文件 " + name + " 錯誤!");
    }
    //返回屬性數組
    return cfgString;
  }

}
2) 詞法分析器主程序:AccidenceAnalyser.java
//Source file: d:\\JAccidenceAnalyse\\AccidenceAnalyser.java

package JAccidenceAnalyse;

import java.io.*;
import java.util.*;
import JAccidenceAnalyse.Buffer.*;

public class AccidenceAnalyser {
  private java.io.File SourceFile;
  private java.io.File ReserveFile;
  private java.io.File ClassFile;
  private java.io.File OutputFile;
  public Pretreatment pretreatment;
  public KeyWordTable keyWordTable;
  public ClassIdentity classIdentity;
  public Scaner scaner;
  public ConcreteScanBufferFactory csbFactory;

  /**
   * @roseuid 3D9BB93303D0
   */
  public AccidenceAnalyser() {
    System.out.println("[INFOR]已經建立詞法分析器!");
  }

  /**
   * @roseuid 3D9BAEF9029F
   */
  public void initAA() {
    //創建緩沖工廠
    this.csbFactory = new ConcreteScanBufferFactory();
    //創建字符串掃描對象
    scaner = new Scaner(this);
    //創建pre處理對象
    pretreatment = new Pretreatment(SourceFile, this);
    //創建關鍵字表對象
    keyWordTable = new KeyWordTable(ReserveFile);
    //創建對象種別碼表對象
    classIdentity = new ClassIdentity(ClassFile);
    System.out.println("[INFOR]已經初始化詞法分析器!");
  }

  /**
   * @roseuid 3D9BAF12022D
   */
  public void setFilesPath(String reserveFileName, String ClassFileName,
                           String sourceFileName, String outputFileName) {
    //創建文件對象
    SourceFile = new java.io.File(sourceFileName);
    //創建文件對象
    ReserveFile = new java.io.File(reserveFileName);
    //創建文件對象
    ClassFile = new java.io.File(ClassFileName);
    //創建文件對象
    OutputFile = new java.io.File(outputFileName);

    //如果文件已經存在,先刪除,然后建立新文件
    if (OutputFile.exists()) {
      OutputFile.delete();
    }
    try {
      OutputFile.createNewFile();
    }
    catch (Exception e) {
      e.printStackTrace(System.err);
    }
    try {
      //創建文件隨機讀取對象
      java.io.RandomAccessFile ROutputFile = new java.io.RandomAccessFile(this.
          OutputFile, "rw");
      //提示信息
      ROutputFile.write("//////////////////////////////////////////////////\n".
                        getBytes());
      ROutputFile.write( ("//JAccidenceAnalyser version " + getVersion() +
                          " design by yellowicq//\n").getBytes());
      ROutputFile.write("//java詞法分析器//////////////\n".getBytes());
      ROutputFile.write("//使用java語言開發////////////////////////////////////\n".
                        getBytes());
      ROutputFile.write("//////////////////////////////////////////////////\n".
                        getBytes());
      ROutputFile.write("詞法分析結果如下:\n".getBytes());
      //關閉文件流
      ROutputFile.close();
    }
    catch (Exception e) {
      e.printStackTrace(System.err);
    }

  }

  /**
   * @roseuid 3D9BAFAB0089
   */
  public void startAA() {
    //從預處理開始詞法分析
    this.pretreatment.startPretreatment();
  }

  /**
   * @roseuid 3D9BB0B40383
   */
  public void outputAccidence(String outputString) {
    //把分析出來的單詞寫入文件
    outputString = "\n[第" + this.pretreatment.fileRow + "行]\n" + outputString;
    try {
      //創建文件隨機讀取對象
      java.io.RandomAccessFile ROutputFile = new java.io.RandomAccessFile(this.
          OutputFile, "rw");
      //移動指針到文件末尾
      ROutputFile.seek(ROutputFile.length());
      //Start appending!
      ROutputFile.write(outputString.getBytes());
      //關閉文件流
      ROutputFile.close();

    }
    catch (Exception e) {
      e.printStackTrace(System.err);
    }
    //將分析的單詞結果輸出到終端
    System.out.print(outputString);
  }

  /**
   * @roseuid 3D9BB0CE02C2
   */
  public void controlThread() {
    //控制掃描器啟動掃描
    scaner.controlThread();
  }

  //獲得版本號
  public String getVersion() {
    return "1.0";
  }
}
3) 預處理子程序:Pretreatment.java
 //Source file: d:\\JAccidenceAnalyse\\Pretreatment.java

package JAccidenceAnalyse;

import JAccidenceAnalyse.Buffer.*;
import java.io.*;

public class Pretreatment {
  private String tmpString;
  private String outputString;
  private int BUFFER_SIZE = 100;
  private AccidenceAnalyser aa;
  public InputBuffer inputBuffer; //輸入緩沖區--共享
  private java.io.File SourceFile; //文件對象
  private java.io.RandomAccessFile randomAFile; //隨機文件對象
  public static int fileRow = 0;
  /**
   * @roseuid 3DAB7C530399
   */
  public Pretreatment(File SourceFile, AccidenceAnalyser aa) {
    try {
      this.SourceFile = SourceFile;
      this.randomAFile = new java.io.RandomAccessFile(this.SourceFile, "r");
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩综合aⅴ视频| 成人动漫一区二区| 91天堂素人约啪| 国产日韩一级二级三级| 亚洲成人黄色小说| 欧美怡红院视频| 亚洲精品综合在线| 一本在线高清不卡dvd| 中文字幕中文在线不卡住| 精品亚洲欧美一区| 日韩欧美专区在线| 久久福利资源站| 精品久久国产老人久久综合| 日本不卡一二三| 日韩一区二区精品| 日韩国产欧美在线播放| 一区二区免费看| 欧美精品黑人性xxxx| 天堂在线亚洲视频| 日韩午夜av一区| 国产尤物一区二区| 欧美国产日韩在线观看| av在线一区二区| 亚洲视频一区在线观看| 在线观看视频一区| 日韩精品91亚洲二区在线观看| 欧美日韩国产中文| 久久99精品国产麻豆不卡| 久久综合999| 99久久er热在这里只有精品15| 一区免费观看视频| 91精品国产综合久久香蕉麻豆| 日本女优在线视频一区二区| 久久久青草青青国产亚洲免观| 成人激情免费电影网址| 一区二区三区四区在线| 午夜免费欧美电影| 国产精品私人影院| 日韩欧美一级在线播放| 成人免费看的视频| 欧美aⅴ一区二区三区视频| 国产亚洲福利社区一区| 91九色02白丝porn| 激情综合色综合久久综合| 国产精品久久久久久久第一福利 | 国产精品久久久久久久久免费桃花| 欧美性大战久久久久久久| 国产一区二区视频在线播放| 97se亚洲国产综合自在线观| 久久99国产精品麻豆| 91成人看片片| 中文字幕一区二区在线观看| 欧美一区二区在线视频| 国产成人免费9x9x人网站视频| 亚洲永久免费视频| 亚洲国产精品二十页| 91精品午夜视频| 成人午夜又粗又硬又大| 精品一区二区免费视频| 亚洲国产一区二区a毛片| 国产精品第13页| 久久只精品国产| 国产欧美一区二区精品仙草咪| 日韩欧美视频一区| 日韩欧美国产三级| 日韩欧美色综合网站| 日韩免费高清视频| 4hu四虎永久在线影院成人| 欧美视频一区在线观看| 97精品国产97久久久久久久久久久久| 国产一区视频网站| 国产精品99久久久久| 国产xxx精品视频大全| 成人avav影音| 91精彩视频在线观看| 欧美日韩一级片网站| 91精品国产综合久久香蕉的特点| 欧美裸体一区二区三区| 日韩精品一区二区三区在线| 91精品国产综合久久福利软件 | 图片区小说区区亚洲影院| 爽好多水快深点欧美视频| 日本欧美肥老太交大片| 国产一区二区三区| av电影在线观看一区| 欧洲精品在线观看| 日韩三级免费观看| 亚洲欧洲韩国日本视频| 午夜精彩视频在线观看不卡| 久久精品99国产精品| 国产成人综合网| 在线精品亚洲一区二区不卡| 91精品午夜视频| 欧美国产日韩精品免费观看| 亚洲午夜免费电影| 国产美女精品在线| 欧美揉bbbbb揉bbbbb| 久久综合五月天婷婷伊人| **欧美大码日韩| 黑人精品欧美一区二区蜜桃 | 国产精品福利一区二区| 日韩电影免费在线观看网站| 国产精品正在播放| 在线不卡一区二区| 中文字幕在线不卡一区| 免费成人av在线播放| 色哟哟精品一区| 国产三级精品三级| 美女网站视频久久| 欧美日韩一区二区三区免费看| 久久久亚洲高清| 亚洲成人www| 成人一道本在线| 精品国产伦理网| 奇米色777欧美一区二区| 欧美亚洲综合另类| 亚洲视频免费看| jiyouzz国产精品久久| 久久久国产精华| 国产精品一卡二卡在线观看| 精品日韩在线一区| 久久精品久久99精品久久| 51精品久久久久久久蜜臀| 亚洲影院久久精品| 在线看日本不卡| 亚洲国产婷婷综合在线精品| 色综合天天综合给合国产| 国产精品久久99| 久久久久久97三级| 国产精品一区专区| 国产精品色哟哟| 99久久精品免费看| 亚洲精选视频免费看| 欧美日韩一区二区三区在线看| 一二三四社区欧美黄| 在线观看不卡视频| 久久精品国产第一区二区三区| 精品奇米国产一区二区三区| 国产专区欧美精品| 亚洲图片欧美激情| 欧美喷潮久久久xxxxx| 久久精品二区亚洲w码| 国产精品毛片久久久久久| 色婷婷综合视频在线观看| 日韩和欧美一区二区三区| 亚洲精品在线一区二区| av电影天堂一区二区在线观看| 亚洲免费观看高清完整版在线观看熊 | 一级女性全黄久久生活片免费| 7777精品久久久大香线蕉| 久久精品av麻豆的观看方式| 18涩涩午夜精品.www| 欧美日韩不卡在线| 午夜免费欧美电影| 中文字幕高清一区| 一区二区三区欧美亚洲| 久久综合久久鬼色中文字| 在线观看一区日韩| 国产成人av在线影院| 日本不卡123| 亚洲主播在线观看| 中文欧美字幕免费| 这里只有精品电影| 欧美最新大片在线看| 丰满放荡岳乱妇91ww| 欧美a一区二区| 亚洲欧美日韩综合aⅴ视频| 国产欧美日韩三级| 欧美tk—视频vk| 69久久夜色精品国产69蝌蚪网| 91麻豆精品视频| 成人小视频免费观看| 韩国午夜理伦三级不卡影院| 亚洲第一成年网| 亚洲黄色小说网站| 亚洲精品欧美在线| 亚洲啪啪综合av一区二区三区| 久久久久久久久岛国免费| 欧美成人精品3d动漫h| 日韩一级片在线播放| 日韩一区二区精品| 精品理论电影在线观看 | 亚洲精品视频在线看| 国产精品国产三级国产a| 国产亚洲精品7777| 国产欧美精品一区| 国产精品久久久久天堂| 国产精品天美传媒| 亚洲婷婷综合色高清在线| 一区在线观看视频| 亚洲乱码国产乱码精品精的特点| 亚洲天堂精品在线观看| 樱桃国产成人精品视频| 亚洲高清不卡在线| 日本aⅴ精品一区二区三区| 久久99久久99精品免视看婷婷| 国产一区不卡精品| 91猫先生在线| 欧美区在线观看| 欧美国产精品v|