⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java词法分析器_ - java - java_开发文档.htm

📁 java 好的分析器
💻 HTM
📖 第 1 页 / 共 5 页
字号:
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      "\n";</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //clear up 
      token<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.TOKEN 
      = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case '(':</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      //state11<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.TOKEN = this.CONTACT(TOKEN, 
      CHAR);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.finalAccidence = this.finalAccidence + "[左括号] " 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.returnAWord(TOKEN) + "[种别码] " 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      String.valueOf(aa.classIdentity.findKey(String.valueOf(CHAR))) 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      "\n";</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //clear up 
      token<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.TOKEN 
      = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case ')':</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      //state12<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.TOKEN = this.CONTACT(TOKEN, 
      CHAR);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.finalAccidence = this.finalAccidence + "[右括号] " 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.returnAWord(TOKEN) + "[种别码] " 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      String.valueOf(aa.classIdentity.findKey(String.valueOf(CHAR))) 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      "\n";</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //clear up 
      token<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.TOKEN 
      = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case '{':</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      //state13<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.TOKEN = this.CONTACT(TOKEN, 
      CHAR);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.finalAccidence = this.finalAccidence + "[左大括号] " 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.returnAWord(TOKEN) + "[种别码] " 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      String.valueOf(aa.classIdentity.findKey(String.valueOf(CHAR))) 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      "\n";</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //clear up 
      token<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.TOKEN 
      = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case '}':</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      //state14<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.TOKEN = this.CONTACT(TOKEN, 
      CHAR);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.finalAccidence = this.finalAccidence + "[右大括号] " 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.returnAWord(TOKEN) + "[种别码] " 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      String.valueOf(aa.classIdentity.findKey(String.valueOf(CHAR))) 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      "\n";</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //clear up 
      token<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.TOKEN 
      = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case '[':</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      //state15<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.TOKEN = this.CONTACT(TOKEN, 
      CHAR);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.finalAccidence = this.finalAccidence + "[左中括号] " 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.returnAWord(TOKEN) + "[种别码] " 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      String.valueOf(aa.classIdentity.findKey(String.valueOf(CHAR))) 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      "\n";</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //clear up 
      token<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.TOKEN 
      = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case ']':</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      //state16<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.TOKEN = this.CONTACT(TOKEN, 
      CHAR);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.finalAccidence = this.finalAccidence + "[右中括号] " 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.returnAWord(TOKEN) + "[种别码] " 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      String.valueOf(aa.classIdentity.findKey(String.valueOf(CHAR))) 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      "\n";</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //clear up 
      token<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.TOKEN 
      = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case '.':</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      //state17<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.TOKEN = this.CONTACT(TOKEN, 
      CHAR);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.finalAccidence = this.finalAccidence + "[点号] " 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.returnAWord(TOKEN) + "[种别码] " 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      String.valueOf(aa.classIdentity.findKey(String.valueOf(CHAR))) 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      "\n";</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //clear up 
      token<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.TOKEN 
      = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      //state18<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.TOKEN = this.CONTACT(this.TOKEN, this.CHAR);</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      //追加出错信息<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.finalAccidence = this.finalAccidence + "[ERROR]" 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.WORD_ERROR_INF + "'" + this.TOKEN + "'" + 
      "\n";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.ASTATE = false;</P>
      <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //clear up 
      token<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.TOKEN 
      = "";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (this.ASTATE == false) 
      {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
      <P>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return 
      this.finalAccidence;<BR>&nbsp; }</P>
      <P>&nbsp; /**<BR>&nbsp;&nbsp; * @roseuid 3D9BB2E70260<BR>&nbsp;&nbsp; 
      */<BR>&nbsp; public void controlThread() {<BR>&nbsp;&nbsp;&nbsp; 
      this.toDelString = 
      this.readFromBuffer(this.scanBuffer.Data);<BR>&nbsp;&nbsp;&nbsp; 
      this.aa.outputAccidence(this.scan(this.toDelString));<BR>&nbsp;&nbsp;&nbsp; 
      //分割符<BR>&nbsp;&nbsp;&nbsp; System.out.println("...................end row 
      " + aa.pretreatment.fileRow 
      +<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      ".........................");<BR>&nbsp;&nbsp;&nbsp; 
      //结束这一行分析<BR>&nbsp;&nbsp;&nbsp; //clear up the var<BR>&nbsp;&nbsp;&nbsp; 
      this.index = 0;<BR>&nbsp;&nbsp;&nbsp; this.finalAccidence = 
      "";<BR>&nbsp;&nbsp;&nbsp; this.ASTATE = true;<BR>&nbsp;&nbsp;&nbsp; 
      this.toDelString = "";<BR>&nbsp;&nbsp;&nbsp; this.senLength = 
      0;<BR>&nbsp;&nbsp;&nbsp; this.TOKEN = "";<BR>&nbsp; }</P>
      <P>&nbsp; /**<BR>&nbsp;&nbsp; * @param tmpString<BR>&nbsp;&nbsp; * @return 
      String<BR>&nbsp;&nbsp; * @roseuid 3D9BB3FB037F<BR>&nbsp;&nbsp; 
      */<BR>&nbsp; public String returnAWord(String TOKEN) 
      {<BR>&nbsp;&nbsp;&nbsp; return TOKEN;<BR>&nbsp; }</P>
      <P>&nbsp; /**<BR>&nbsp;&nbsp; * @roseuid 3D9BB55502B4<BR>&nbsp;&nbsp; 
      */<BR>&nbsp; public void initBuffer() {<BR>&nbsp;&nbsp;&nbsp; 
      this.scanBuffer = aa.csbFactory.createScanBuffer(BUFFER_SIZE);<BR>&nbsp; 
      }</P>
      <P>//以下为字符的处理方法<BR>/////////////////////////////////////////////////////<BR>//////////////字符方法开始///////////////////////////<BR>/////////////////////////////////////////////////////<BR>&nbsp; 
      /**<BR>&nbsp;&nbsp; * @roseuid 3D9BB0B40383<BR>&nbsp;&nbsp; */<BR>&nbsp; 
      public char GETBC(char[] sentenceChar) {<BR>&nbsp;&nbsp;&nbsp; try 
      {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ( (sentenceChar[this.index]) == 
      ' ') {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      this.index++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.index++;<BR>&nbsp;&nbsp;&nbsp; 
      }<BR>&nbsp;&nbsp;&nbsp; catch (java.lang.ArrayIndexOutOfBoundsException e) 
      {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ';'; 
      //表示此行已经结束<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; return 
      sentenceChar[index - 1];<BR>&nbsp; }</P>
      <P>&nbsp; /**<BR>&nbsp;&nbsp; * @roseuid 3D9BB0B40383<BR>&nbsp;&nbsp; 
      */<BR>&nbsp; public char GETCHAR(char[] sentenceChar) 
      {<BR>&nbsp;&nbsp;&nbsp; next();<BR>&nbsp;&nbsp;&nbsp; return 
      sentenceChar[this.index - 1];<BR>&nbsp; }</P>
      <P>&nbsp; /**<BR>&nbsp;&nbsp; * @roseuid 3D9BB0B40383<BR>&nbsp;&nbsp; 
      */<BR>&nbsp; public void next() {<BR>&nbsp;&nbsp;&nbsp; 
      this.index++;<BR>&nbsp; }</P>
      <P>&nbsp; /**<BR>&nbsp;&nbsp; * @roseuid 3D9BB0B40383<BR>&nbsp;&nbsp; 
      */<BR>&nbsp; public boolean ISLETTER(char letter) {<BR>&nbsp;&nbsp;&nbsp; 
      return java.lang.Character.isLetter(letter);<BR>&nbsp; }</P>
      <P>&nbsp; /**<BR>&nbsp;&nbsp; * @roseuid 3D9BB0B40383<BR>&nbsp;&nbsp; 
      */<BR>&nbsp; public boolean ISDIGIT(char letter) {<BR>&nbsp;&nbsp;&nbsp; 
      return java.lang.Character.isDigit(letter);<BR>&nbsp; }</P>
      <P>&nbsp; /**<BR>&nbsp;&nbsp; * @roseuid 3D9BB0B40383<BR>&nbsp;&nbsp; 
      */<BR>&nbsp; public String CONTACT(String TOKEN, char CHAR) 
      {<BR>&nbsp;&nbsp;&nbsp; String tmpS = TOKEN + 
      String.valueOf(CHAR);<BR>&nbsp;&nbsp;&nbsp; TOKEN = 
      tmpS;<BR>&nbsp;&nbsp;&nbsp; return TOKEN;<BR>&nbsp; }</P>
      <P>&nbsp; /**<BR>&nbsp;&nbsp; * @roseuid 3D9BB0B40383<BR>&nbsp;&nbsp; 
      */<BR>&nbsp; public boolean ISRESERVE(String TOKEN) 
      {<BR>&nbsp;&nbsp;&nbsp; return aa.keyWordTable.isKeyWord(TOKEN);<BR>&nbsp; 
      }</P>
      <P>&nbsp; /**<BR>&nbsp;&nbsp; * @roseuid 3D9BB0B40383<BR>&nbsp;&nbsp; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -