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

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

?? preprocessor.java

?? 類似QQ的功能
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*******************************************************************************SiJaPP - Simple Java PreProcessorCopyright (C) 2003  Manuel LinsmayerThis program is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public Licenseas published by the Free Software Foundation; either version 2of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.*******************************************************************************/package sijapp;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.util.Enumeration;import java.util.Hashtable;import java.util.Stack;import java.util.Vector;public class Preprocessor {  // Defines  private Hashtable defines;  private Hashtable localDefines = new Hashtable();  // Input stream  private BufferedReader reader;  // Output stream  private BufferedWriter writer;  // Line counter  private int lineNum;  // Stop flag  private boolean stop;  // Skip flag/stack  private boolean skip;  private Stack skipStack = new Stack();  // Done flag/stack  private boolean done;  private Stack doneStack = new Stack();  // Constructor  public Preprocessor(Hashtable defines) {    this.defines = defines;  }  // Evaluate expression  public Scanner.Token[] evalExpr(Scanner.Token[] tokens) throws SijappException {    // Create token vector    Vector t = new Vector();    for (int i = 0; i < tokens.length; i++) {      t.add(tokens[i]);    }    main: while(true) {      // T_EXPR_PRS_LEFT T_BOOL T_EXPR_PRS_RIGHT      for (int i = 0; i < t.size()-2; i++) {        Scanner.Token t1 = (Scanner.Token) t.get(i);        Scanner.Token t2 = (Scanner.Token) t.get(i+1);        Scanner.Token t3 = (Scanner.Token) t.get(i+2);        if ((t1.getType() == Scanner.Token.T_EXPR_PRS_LEFT) && (t2.getType() == Scanner.Token.T_BOOL) && (t3.getType() == Scanner.Token.T_EXPR_PRS_RIGHT)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          t.add(i, t2);          continue main;        }      }      // T_IDENT/T_STRING/T_EXPR_DEF T_EXPR_EQ T_IDENT/T_STRING/T_EXPR_DEF      for (int i = 0; i < t.size()-2; i++) {        Scanner.Token t1 = (Scanner.Token) t.get(i);        Scanner.Token t2 = (Scanner.Token) t.get(i+1);        Scanner.Token t3 = (Scanner.Token) t.get(i+2);        if ((t1.getType() == Scanner.Token.T_IDENT) && (t2.getType() == Scanner.Token.T_EXPR_EQ) && (t3.getType() == Scanner.Token.T_IDENT)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          String left = (String) this.localDefines.get(t1.getValue());          String right = (String) this.localDefines.get(t3.getValue());          if (((left == null) && (right != null)) || ((left != null) && (right == null))) {            t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(false)));            continue main;          }          else if ((left == null) && (right == null)) {            t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(true)));            continue main;          }          else {            t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(left.equals(right))));            continue main;          }        }        else if ((t1.getType() == Scanner.Token.T_IDENT) && (t2.getType() == Scanner.Token.T_EXPR_EQ) && (t3.getType() == Scanner.Token.T_STRING)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          String left = (String) this.localDefines.get(t1.getValue());          String right = (String) t3.getValue();          if (left == null) {            t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(false)));            continue main;          }          else {            t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(left.equals(right))));            continue main;          }        }        else if ((t1.getType() == Scanner.Token.T_IDENT) && (t2.getType() == Scanner.Token.T_EXPR_EQ) && (t3.getType() == Scanner.Token.T_EXPR_DEF)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(this.localDefines.containsKey(t1.getValue()))));          continue main;        }        else if ((t1.getType() == Scanner.Token.T_STRING) && (t2.getType() == Scanner.Token.T_EXPR_EQ) && (t3.getType() == Scanner.Token.T_IDENT)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          String right = (String) this.localDefines.get(t1.getValue());          String left = (String) t1.getValue();          if (left == null) {            t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(false)));            continue main;          }          else {            t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(left.equals(right))));            continue main;          }        }        else if ((t1.getType() == Scanner.Token.T_STRING) && (t2.getType() == Scanner.Token.T_EXPR_EQ) && (t3.getType() == Scanner.Token.T_STRING)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          String left = (String) t1.getValue();          String right = (String) t3.getValue();          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(left.equals(right))));          continue main;        }        else if ((t1.getType() == Scanner.Token.T_STRING) && (t2.getType() == Scanner.Token.T_EXPR_EQ) && (t3.getType() == Scanner.Token.T_EXPR_DEF)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(true)));          continue main;        }        else if ((t1.getType() == Scanner.Token.T_EXPR_DEF) && (t2.getType() == Scanner.Token.T_EXPR_EQ) && (t3.getType() == Scanner.Token.T_IDENT)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(this.localDefines.containsKey(t3.getValue()))));          continue main;        }        else if ((t1.getType() == Scanner.Token.T_EXPR_DEF) && (t2.getType() == Scanner.Token.T_EXPR_EQ) && (t3.getType() == Scanner.Token.T_STRING)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(true)));          continue main;        }        else if ((t1.getType() == Scanner.Token.T_EXPR_DEF) && (t2.getType() == Scanner.Token.T_EXPR_EQ) && (t3.getType() == Scanner.Token.T_EXPR_DEF)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(true)));          continue main;        }      }      // T_IDENT/T_STRING/T_EXPR_DEF T_EXPR_NEQ T_IDENT/T_STRING/T_EXPR_DEF      for (int i = 0; i < t.size()-2; i++) {        Scanner.Token t1 = (Scanner.Token) t.get(i);        Scanner.Token t2 = (Scanner.Token) t.get(i+1);        Scanner.Token t3 = (Scanner.Token) t.get(i+2);        if ((t1.getType() == Scanner.Token.T_IDENT) && (t2.getType() == Scanner.Token.T_EXPR_NEQ) && (t3.getType() == Scanner.Token.T_IDENT)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          String left = (String) this.localDefines.get(t1.getValue());          String right = (String) this.localDefines.get(t3.getValue());          if (((left == null) && (right != null)) || ((left != null) && (right == null))) {            t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(true)));            continue main;          }          else if ((left == null) && (right == null)) {            t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(false)));            continue main;          }          else {            t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(!left.equals(right))));            continue main;          }        }        else if ((t1.getType() == Scanner.Token.T_IDENT) && (t2.getType() == Scanner.Token.T_EXPR_NEQ) && (t3.getType() == Scanner.Token.T_STRING)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          String left = (String) this.localDefines.get(t1.getValue());          String right = (String) t3.getValue();          if (left == null) {            t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(true)));            continue main;          }          else {            t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(!left.equals(right))));            continue main;          }        }        else if ((t1.getType() == Scanner.Token.T_IDENT) && (t2.getType() == Scanner.Token.T_EXPR_NEQ) && (t3.getType() == Scanner.Token.T_EXPR_DEF)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(!this.localDefines.containsKey(t1.getValue()))));          continue main;        }        else if ((t1.getType() == Scanner.Token.T_STRING) && (t2.getType() == Scanner.Token.T_EXPR_NEQ) && (t3.getType() == Scanner.Token.T_IDENT)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          String right = (String) this.localDefines.get(t1.getValue());          String left = (String) t1.getValue();          if (left == null) {            t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(true)));            continue main;          }          else {            t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(!left.equals(right))));            continue main;          }        }        else if ((t1.getType() == Scanner.Token.T_STRING) && (t2.getType() == Scanner.Token.T_EXPR_NEQ) && (t3.getType() == Scanner.Token.T_STRING)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          String left = (String) t1.getValue();          String right = (String) t3.getValue();          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(!left.equals(right))));          continue main;        }        else if ((t1.getType() == Scanner.Token.T_STRING) && (t2.getType() == Scanner.Token.T_EXPR_NEQ) && (t3.getType() == Scanner.Token.T_EXPR_DEF)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(false)));          continue main;        }        else if ((t1.getType() == Scanner.Token.T_EXPR_DEF) && (t2.getType() == Scanner.Token.T_EXPR_NEQ) && (t3.getType() == Scanner.Token.T_IDENT)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(!this.localDefines.containsKey(t3.getValue()))));          continue main;        }        else if ((t1.getType() == Scanner.Token.T_EXPR_DEF) && (t2.getType() == Scanner.Token.T_EXPR_NEQ) && (t3.getType() == Scanner.Token.T_STRING)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(false)));          continue main;        }        else if ((t1.getType() == Scanner.Token.T_EXPR_DEF) && (t2.getType() == Scanner.Token.T_EXPR_NEQ) && (t3.getType() == Scanner.Token.T_EXPR_DEF)) {          t.remove(i+2);          t.remove(i+1);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区人| 欧美日韩国产电影| 人人精品人人爱| 亚洲乱码国产乱码精品精小说| 欧美一区永久视频免费观看| 91美女精品福利| 国产sm精品调教视频网站| 狠狠色综合日日| 麻豆国产精品777777在线| 亚洲大尺度视频在线观看| 一区二区三区在线视频免费| 国产精品国产三级国产aⅴ无密码| 26uuu精品一区二区在线观看| 7777女厕盗摄久久久| 欧美日韩成人高清| 国产亚洲成aⅴ人片在线观看| 在线播放日韩导航| 欧美一区二区三区在线观看| 欧美美女喷水视频| 日韩精品一区二区三区老鸭窝 | 欧美变态tickling挠脚心| 欧美二区乱c少妇| 日韩精品一区二区三区中文不卡| 欧美一区二区在线播放| 精品乱码亚洲一区二区不卡| 日韩一区二区精品在线观看| 精品少妇一区二区三区在线播放| 精品久久人人做人人爱| 久久精品综合网| 综合激情成人伊人| 色噜噜狠狠色综合中国| 欧美日韩精品一区二区三区四区| 日韩美女视频一区二区在线观看| 精品少妇一区二区三区| 国产精品丝袜在线| 99视频精品在线| 4438x亚洲最大成人网| 国产精品久久久久桃色tv| 国产亚洲一二三区| 亚洲激情第一区| 麻豆精品在线观看| 色偷偷成人一区二区三区91| 欧美精品丝袜中出| 中文字幕一区视频| 韩国三级中文字幕hd久久精品| youjizz国产精品| 久久影院午夜论| 亚洲福利视频一区二区| 波多野结衣视频一区| 国产精品久久三区| 亚洲成人精品影院| 色呦呦国产精品| 中文字幕国产一区| 韩国av一区二区| 91精品国产色综合久久不卡蜜臀| 国产精品免费久久| 国产成人免费在线| 欧美mv日韩mv国产网站app| 午夜精品久久久久久久99樱桃| caoporn国产一区二区| 国产欧美精品一区aⅴ影院| 蓝色福利精品导航| 欧美不卡一区二区三区四区| 日韩影院精彩在线| 91麻豆精品国产91久久久资源速度 | 波多野结衣在线aⅴ中文字幕不卡| 欧美大片日本大片免费观看| 日韩电影一区二区三区四区| 欧美日韩黄视频| 日本美女一区二区三区| 精品视频1区2区| 亚洲chinese男男1069| 色哦色哦哦色天天综合| 亚洲国产视频a| 欧美va天堂va视频va在线| 国产一区二区精品久久91| 国产精品免费久久久久| 91高清在线观看| 免费高清成人在线| 国产精品网站在线观看| 91黄色免费观看| 首页国产欧美久久| 国产蜜臀av在线一区二区三区| 99久久精品国产麻豆演员表| 午夜精品爽啪视频| 一区二区三区欧美久久| 欧美午夜影院一区| 麻豆高清免费国产一区| 综合久久久久久久| 日韩精品一区二区三区swag| 国产精品白丝av| 亚洲中国最大av网站| 精品av久久707| 欧美日韩国产影片| 成人91在线观看| 国产一区二区三区美女| 一区二区成人在线观看| 国产色一区二区| 精品奇米国产一区二区三区| 色香蕉成人二区免费| 韩国理伦片一区二区三区在线播放| 一区二区三区蜜桃| 综合激情成人伊人| 久久伊人蜜桃av一区二区| 欧美精品视频www在线观看| 波多野结衣精品在线| 国产精品一区二区久激情瑜伽 | 欧美日韩久久一区| 色综合天天在线| www.欧美.com| 不卡视频一二三| 99久久精品国产毛片| 国产99久久精品| 欧美精品久久一区二区三区| 91福利在线看| 欧美视频一区二区三区| 欧美午夜精品一区二区蜜桃| 色播五月激情综合网| 91亚洲精华国产精华精华液| 91社区在线播放| 91久久精品日日躁夜夜躁欧美| 91尤物视频在线观看| 色综合久久久久久久| 在线精品视频小说1| 欧美伊人久久大香线蕉综合69| 欧美一卡二卡三卡四卡| 在线不卡的av| 久久亚洲精品国产精品紫薇| 国产女人水真多18毛片18精品视频| 欧美极品少妇xxxxⅹ高跟鞋| 1024国产精品| 青娱乐精品视频在线| 成人午夜电影小说| 91福利社在线观看| 在线不卡中文字幕播放| 久久久久久久综合狠狠综合| 亚洲日本电影在线| 免费在线观看精品| av电影在线观看不卡| 在线电影欧美成精品| 国产精品久久综合| 日本欧美在线观看| 91电影在线观看| 午夜精品福利一区二区蜜股av| 久久99在线观看| 在线亚洲免费视频| 久久久久久夜精品精品免费| 亚洲精品中文字幕在线观看| 国产在线精品一区二区夜色 | 免费的成人av| 99免费精品视频| 国产丝袜在线精品| 国产在线视频精品一区| 欧美人xxxx| 亚洲成人资源网| 99久久婷婷国产综合精品| 欧美sm美女调教| 日韩国产在线观看一区| 欧美性极品少妇| 亚洲婷婷在线视频| 国产成人精品免费看| 精品成人佐山爱一区二区| 日韩二区三区四区| 制服丝袜日韩国产| 亚洲国产成人高清精品| 91成人在线观看喷潮| 一区二区三区四区在线| 97精品久久久午夜一区二区三区| 欧美韩日一区二区三区四区| 在线观看日韩高清av| 国产精品高潮久久久久无| 成人综合在线观看| 久久久久久一二三区| 国产激情一区二区三区| 91精品国产91久久久久久最新毛片| 中文字幕一区二区视频| 91免费视频观看| 亚洲精品欧美综合四区| 欧美午夜精品久久久久久孕妇| 亚洲激情六月丁香| 在线播放中文一区| 国产在线国偷精品免费看| 国产精品人人做人人爽人人添| av成人免费在线观看| 亚洲一区二区在线视频| 91精品国产综合久久蜜臀| 国产精品亚洲综合一区在线观看| 国产日产欧产精品推荐色| av在线这里只有精品| 亚洲1区2区3区4区| 国产喂奶挤奶一区二区三区| 91啪在线观看| 日韩福利视频导航| 国产精品理伦片| 日韩欧美一区中文| av一区二区三区| 日韩电影在线看| 亚洲在线成人精品| 国产欧美日产一区| 精品精品国产高清a毛片牛牛|