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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? preprocessor.java

?? 類似QQ的功能
?? JAVA
?? 第 1 頁 / 共 2 頁
字號(hào):
          t.remove(i);          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(false)));          continue main;        }      }      // T_EXPR_NOT T_BOOL      for (int i = 0; i < t.size()-1; i++) {        Scanner.Token t1 = (Scanner.Token) t.get(i);        Scanner.Token t2 = (Scanner.Token) t.get(i+1);        if ((t1.getType() == Scanner.Token.T_EXPR_NOT) && (t2.getType() == Scanner.Token.T_BOOL)) {          t.remove(i+1);          t.remove(i);          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(!((Boolean) t2.getValue()).booleanValue())));          continue main;        }      }      // T_BOOL T_EXPR_AND T_BOOL      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_BOOL) && (t2.getType() == Scanner.Token.T_EXPR_AND) && (t3.getType() == Scanner.Token.T_BOOL)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(((Boolean) t1.getValue()).booleanValue() && ((Boolean) t3.getValue()).booleanValue())));          continue main;        }      }      // T_BOOL T_EXPR_OR T_BOOL      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_BOOL) && (t2.getType() == Scanner.Token.T_EXPR_OR) && (t3.getType() == Scanner.Token.T_BOOL)) {          t.remove(i+2);          t.remove(i+1);          t.remove(i);          t.add(i, new Scanner.Token(Scanner.Token.T_BOOL, new Boolean(((Boolean) t1.getValue()).booleanValue() || ((Boolean) t3.getValue()).booleanValue())));          continue main;        }      }      break;    }    // Return resulting tokens as array    Scanner.Token[] ret = new Scanner.Token[t.size()];    t.copyInto(ret);    return (ret);  }  // Evaluate condition (if/unless/elseif/else/end) statement  public void evalCond(Scanner.Token[] tokens) throws SijappException {    // Copy non-evaluted tokens to new array    Scanner.Token[] remainingTokens = new Scanner.Token[tokens.length - 2];    System.arraycopy(tokens, 2, remainingTokens, 0, tokens.length - 2);    // Command condition.if    if ((tokens.length >= 2) && (tokens[0].getType() == Scanner.Token.T_SEP) && (tokens[1].getType() == Scanner.Token.T_CMD2_IF)) {      // Evaluate expression and check result type      Scanner.Token[] resultingTokens = this.evalExpr(remainingTokens);      if ((resultingTokens.length != 1) || (resultingTokens[0].getType() != Scanner.Token.T_BOOL)) {        throw (new SijappException("Syntax error"));      }      boolean result = ((Boolean) resultingTokens[0].getValue()).booleanValue();      // Save state variables      this.skipStack.push(new Boolean(this.skip));      this.doneStack.push(new Boolean(this.done));      // Set state variables      this.skip |= !result;      this.done = result;    }    // Command condition.elseif    else if ((tokens.length >= 2) && (tokens[0].getType() == Scanner.Token.T_SEP) && (tokens[1].getType() == Scanner.Token.T_CMD2_ELSEIF)) {      // Evaluate expression and check result type      Scanner.Token[] resultingTokens = this.evalExpr(remainingTokens);      if ((resultingTokens.length != 1) || (resultingTokens[0].getType() != Scanner.Token.T_BOOL)) {        throw (new SijappException("Syntax error"));      }      boolean result = ((Boolean) resultingTokens[0].getValue()).booleanValue();      // Set state variables      this.skip = ((Boolean) this.skipStack.peek()).booleanValue() || this.done || !result;      this.done |= result;    }    // Command condition.else    else if ((tokens.length == 2) && (tokens[0].getType() == Scanner.Token.T_SEP) && (tokens[1].getType() == Scanner.Token.T_CMD2_ELSE)) {      // Set state variables      this.skip = ((Boolean) this.skipStack.peek()).booleanValue() || this.done;      this.done = true;    }    // Command condition.end    else if ((tokens.length == 2) && (tokens[0].getType() == Scanner.Token.T_SEP) && (tokens[1].getType() == Scanner.Token.T_CMD2_END)) {      // Reset state variables      this.skip = ((Boolean) this.skipStack.pop()).booleanValue();      this.done = ((Boolean) this.doneStack.pop()).booleanValue();    }    // Unknown command/Syntax error    else {      throw (new SijappException("Syntax error"));    }  }  // Evaluate echo statement  public void evalEcho(Scanner.Token[] tokens) throws SijappException {    if ((tokens.length != 1) || (tokens[0].getType() != Scanner.Token.T_STRING)) {      throw (new SijappException("Syntax error"));    }    else if (!this.skip) {      String s = (String) tokens[0].getValue();      try {        writer.write(s, 0, s.length());        writer.newLine();      }      catch (IOException e) {        throw (new SijappException("An I/O error occured"));      }    }  }  // Evaluate enviroment statement  public void evalEnv(Scanner.Token[] tokens) throws SijappException {    if ((tokens.length == 3) && (tokens[0].getType() == Scanner.Token.T_SEP) && (tokens[1].getType() == Scanner.Token.T_CMD2_DEF) && (tokens[2].getType() == Scanner.Token.T_IDENT)) {      if (!this.skip) {        this.localDefines.put(tokens[2].getValue(), "defined");      }    }    else if ((tokens.length == 4) && (tokens[0].getType() == Scanner.Token.T_SEP) && (tokens[1].getType() == Scanner.Token.T_CMD2_DEF) && (tokens[2].getType() == Scanner.Token.T_IDENT) && (tokens[3].getType() == Scanner.Token.T_STRING)) {      if (!this.skip) {        this.localDefines.put(tokens[2].getValue(), tokens[3].getValue());      }    }    else if ((tokens.length == 3) && (tokens[0].getType() == Scanner.Token.T_SEP) && (tokens[1].getType() == Scanner.Token.T_CMD2_UNDEF) && (tokens[2].getType() == Scanner.Token.T_IDENT)) {      if (!this.skip) {        this.localDefines.remove(tokens[2].getValue());      }    }    else {      throw (new SijappException("Syntax error"));    }  }  // Evaluate exit statement  public void evalExit(Scanner.Token[] tokens) throws SijappException {    if (tokens.length != 0) {      throw (new SijappException("Syntax error"));    }    else if (!this.skip) {      this.stop = true;    }  }  // Evaluate SiJaPP statement  public void eval(Scanner.Token[] tokens) throws SijappException {    // Valid statement consists of at least 3 tokens    if (tokens.length < 3) {      throw (new SijappException("Syntax error"));    }    // Look for MAGIC_BEGIN and MAGIC_END    if ((tokens[0].getType() != Scanner.Token.T_MAGIC_BEGIN) || (tokens[tokens.length-1].getType() != Scanner.Token.T_MAGIC_END)) {      throw (new SijappException("Syntax error"));    }    // Copy non-evaluted tokens to new array    Scanner.Token[] remainingTokens = new Scanner.Token[tokens.length - 3];    System.arraycopy(tokens, 2, remainingTokens, 0, tokens.length - 3);    // Delegate evaluation    switch (tokens[1].getType()) {      case Scanner.Token.T_CMD1_COND:        this.evalCond(remainingTokens);        break;      case Scanner.Token.T_CMD1_ECHO:        this.evalEcho(remainingTokens);        break;      case Scanner.Token.T_CMD1_ENV:        this.evalEnv(remainingTokens);        break;      case Scanner.Token.T_CMD1_EXIT:        this.evalExit(remainingTokens);        break;      default:        throw (new SijappException("Syntax error"));    }  }  // Preprocess  public void run(BufferedReader reader, BufferedWriter writer) throws SijappException {    // Restore global defines    this.localDefines.clear();    for (Enumeration keys = this.defines.keys(); keys.hasMoreElements(); ) {      String key = new String((String) keys.nextElement());      String value = new String((String) this.defines.get(key));      this.localDefines.put(key, value);    }    // Save input/output stream    this.reader = reader;    this.writer = writer;    // Reset line counter    this.lineNum = 1;    // Reset stop flag    this.stop = false;    // Reset skip flag    this.skip = false;    // Read until EOF    try {      String line;      while ((line = this.reader.readLine()) != null) {        // Scan read line for s SiJaPP statement        Scanner.Token[] tokens = Scanner.scan(line);        // Get rid of special sijapp comments //# if inside an sijapp statement         if (tokens.length == 0 && line.trim().startsWith("//#") && this.doneStack.size() > 0)        	line = line.trim().substring(3);        // No statement has been found        if (tokens.length == 0) {          if (!skip) {            this.writer.write(line, 0, line.length());            this.writer.newLine();          }          else          {              this.writer.write("//# "+line, 0, line.length()+4);              this.writer.newLine();          }        }        // A statement has been found        else {          this.eval(tokens);          this.writer.write(line, 0, line.length());          this.writer.newLine();          if (this.stop) {            return;          }        }        // Advance line counter        this.lineNum++;      }    }    catch (SijappException e) {      throw (new SijappException(this.lineNum + ": " + e.getMessage()));    }    catch (IOException e) {      throw (new SijappException("An I/O error occured"));    }  }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡在线视频中文字幕| 粉嫩一区二区三区在线看| 久久久久久亚洲综合| 成人avav影音| 久久精品国产999大香线蕉| 亚洲欧洲日本在线| 精品国产乱码久久久久久浪潮| www.成人在线| 国产精品伊人色| 日韩激情一区二区| 亚洲人一二三区| 国产偷v国产偷v亚洲高清| 91精品国产综合久久久蜜臀图片| 色综合婷婷久久| 成人免费看视频| 国产精品一区二区三区99| 五月婷婷久久综合| 亚洲国产日韩一区二区| 综合久久国产九一剧情麻豆| 国产日产欧产精品推荐色| 日韩欧美亚洲国产精品字幕久久久| 日本电影亚洲天堂一区| 97国产一区二区| av在线免费不卡| 国产成人亚洲综合a∨婷婷| 久久99精品国产91久久来源| 丝袜美腿亚洲综合| 午夜日韩在线观看| 欧美伊人久久大香线蕉综合69 | 精品久久一区二区三区| 欧美日韩mp4| 欧美男男青年gay1069videost| 99久久精品国产导航| gogo大胆日本视频一区| 大白屁股一区二区视频| 国产成人亚洲综合色影视| 国产一区二区美女诱惑| 久久66热re国产| 国产精品综合视频| 国产一区二区免费在线| 国产黄人亚洲片| 国产成人免费视频精品含羞草妖精| 国产美女精品一区二区三区| 国产精品自拍毛片| 国产**成人网毛片九色| www.欧美亚洲| 欧美午夜精品久久久久久孕妇| 欧美体内she精高潮| 欧美肥妇bbw| 欧美va亚洲va| 欧美经典一区二区| 亚洲欧洲99久久| 一区二区三区波多野结衣在线观看 | 欧美日本精品一区二区三区| 欧美精品一级二级三级| 日韩午夜在线影院| 久久这里只有精品视频网| 亚洲国产精品国自产拍av| 亚洲免费在线视频一区 二区| 亚洲精品福利视频网站| 天堂久久久久va久久久久| 久久国产精品免费| 成人一区二区三区| 欧美性大战久久久久久久蜜臀| 91精品久久久久久久91蜜桃| 久久婷婷色综合| 亚洲免费电影在线| 毛片一区二区三区| 福利视频网站一区二区三区| 色欧美片视频在线观看| 欧美一区二区三区日韩视频| 国产欧美日韩亚州综合| 一个色在线综合| 国产在线精品免费av| 色哟哟亚洲精品| 亚洲摸摸操操av| 亚洲一级二级在线| 九九视频精品免费| 91女厕偷拍女厕偷拍高清| 欧美丰满少妇xxxxx高潮对白| 久久久久久久电影| 亚洲国产你懂的| 国产精品18久久久久久vr| 欧美视频在线观看一区| 久久综合色婷婷| 一区二区三区日韩在线观看| 久久国产生活片100| 91黄色小视频| 久久无码av三级| 香蕉久久夜色精品国产使用方法| 国产精品一二三区在线| 欧美精品在线一区二区三区| 中文字幕免费在线观看视频一区| 日韩激情中文字幕| 色香色香欲天天天影视综合网 | 一区二区三区中文在线观看| 精品一区二区三区蜜桃| 在线观看欧美日本| 国产精品少妇自拍| 精品亚洲欧美一区| 9191成人精品久久| 亚洲欧美偷拍卡通变态| 国产精品白丝jk白祙喷水网站| 91.xcao| 一级精品视频在线观看宜春院| 国产成人av电影免费在线观看| 91精品国产高清一区二区三区蜜臀 | 精品一区二区久久久| 欧美乱妇15p| 亚洲黄色av一区| 大陆成人av片| 国产婷婷色一区二区三区在线| 日韩电影在线观看网站| 欧美三电影在线| 亚洲精品伦理在线| 成人一级黄色片| 欧美激情一区二区在线| 精品一区二区免费看| 日韩欧美精品在线| 婷婷久久综合九色国产成人 | 日韩一级精品视频在线观看| 亚洲摸摸操操av| 99精品黄色片免费大全| 国产精品欧美精品| 不卡免费追剧大全电视剧网站| 国产欧美日本一区二区三区| 国产中文一区二区三区| www国产精品av| 国内成人精品2018免费看| 日韩美女视频一区二区在线观看| 舔着乳尖日韩一区| 91精品在线免费| 老司机精品视频在线| 精品乱人伦一区二区三区| 蜜桃视频在线观看一区| 日韩欧美中文字幕制服| 精品中文av资源站在线观看| 精品久久国产字幕高潮| 久久精品国产999大香线蕉| 精品久久久久久综合日本欧美| 精品一区二区三区欧美| 久久无码av三级| 国产aⅴ精品一区二区三区色成熟| 国产清纯白嫩初高生在线观看91 | 欧美日韩国产bt| 天天做天天摸天天爽国产一区| 欧美巨大另类极品videosbest | 亚洲大尺度视频在线观看| 欧美日韩免费视频| 青娱乐精品在线视频| 精品国产伦一区二区三区免费 | 成人app在线| 亚洲欧美一区二区三区久本道91| 色狠狠桃花综合| 日韩中文字幕一区二区三区| 欧美变态口味重另类| 国产成人高清在线| 中文字幕一区二区三区在线播放| 色呦呦网站一区| 婷婷综合另类小说色区| 久久久噜噜噜久噜久久综合| 成人黄动漫网站免费app| 一区二区三区欧美久久| 欧美日韩美女一区二区| 国产在线不卡视频| 亚洲欧洲精品成人久久奇米网| 欧美自拍偷拍一区| 美女看a上一区| 国产精品久久久久久久久免费桃花 | 91九色最新地址| 亚洲少妇30p| 在线成人免费观看| 国产一区美女在线| 亚洲男人都懂的| 精品国产一二三区| 91视频在线看| 美女视频黄频大全不卡视频在线播放| 日本一区二区三区在线观看| 欧美亚洲综合另类| 国产另类ts人妖一区二区| 亚洲美女在线一区| 久久综合视频网| 欧洲日韩一区二区三区| 激情图区综合网| 亚洲第一激情av| 国产欧美视频在线观看| 6080日韩午夜伦伦午夜伦| 成人动漫一区二区在线| 蜜桃免费网站一区二区三区 | 日本成人在线一区| 亚洲图片激情小说| www国产成人| 欧美丰满美乳xxx高潮www| 粉嫩一区二区三区性色av| 午夜久久福利影院| 成人免费在线视频观看| 欧美成人vr18sexvr| 欧美日韩一级片网站| 波多野洁衣一区| 激情五月激情综合网|