📄 javafiles.java
字号:
ostr.println(" }"); ostr.println(" }"); ostr.println(""); ostr.println(prefix + "protected char ReadByte() throws java.io.IOException"); ostr.println(" {"); ostr.println(" if (++nextCharInd >= maxNextCharInd)"); ostr.println(" FillBuff();"); ostr.println(""); ostr.println(" return nextCharBuf[nextCharInd];"); ostr.println(" }"); ostr.println(""); ostr.println(prefix + "public char BeginToken() throws java.io.IOException"); ostr.println(" { "); ostr.println(" if (inBuf > 0)"); ostr.println(" {"); ostr.println(" --inBuf;"); ostr.println(""); ostr.println(" if (++bufpos == bufsize)"); ostr.println(" bufpos = 0;"); ostr.println(""); ostr.println(" tokenBegin = bufpos;"); ostr.println(" return buffer[bufpos];"); ostr.println(" }"); ostr.println(""); ostr.println(" tokenBegin = 0;"); ostr.println(" bufpos = -1;"); ostr.println(""); ostr.println(" return readChar();"); ostr.println(" } "); ostr.println(""); ostr.println(prefix + "protected void AdjustBuffSize()"); ostr.println(" {"); ostr.println(" if (available == bufsize)"); ostr.println(" {"); ostr.println(" if (tokenBegin > 2048)"); ostr.println(" {"); ostr.println(" bufpos = 0;"); ostr.println(" available = tokenBegin;"); ostr.println(" }"); //ostr.println(" else if (tokenBegin < 0)"); //ostr.println(" bufpos = 0;"); ostr.println(" else"); ostr.println(" ExpandBuff(false);"); ostr.println(" }"); ostr.println(" else if (available > tokenBegin)"); ostr.println(" available = bufsize;"); ostr.println(" else if ((tokenBegin - available) < 2048)"); ostr.println(" ExpandBuff(true);"); ostr.println(" else"); ostr.println(" available = tokenBegin;"); ostr.println(" }"); if (OtherFilesGen.keepLineCol) { ostr.println(""); ostr.println(prefix + "protected void UpdateLineColumn(char c)"); ostr.println(" {"); ostr.println(" column++;"); ostr.println(""); ostr.println(" if (prevCharIsLF)"); ostr.println(" {"); ostr.println(" prevCharIsLF = false;"); ostr.println(" line += (column = 1);"); ostr.println(" }"); ostr.println(" else if (prevCharIsCR)"); ostr.println(" {"); ostr.println(" prevCharIsCR = false;"); ostr.println(" if (c == '\\n')"); ostr.println(" {"); ostr.println(" prevCharIsLF = true;"); ostr.println(" }"); ostr.println(" else"); ostr.println(" line += (column = 1);"); ostr.println(" }"); ostr.println(""); ostr.println(" switch (c)"); ostr.println(" {"); ostr.println(" case '\\r' :"); ostr.println(" prevCharIsCR = true;"); ostr.println(" break;"); ostr.println(" case '\\n' :"); ostr.println(" prevCharIsLF = true;"); ostr.println(" break;"); ostr.println(" case '\\t' :"); ostr.println(" column--;"); ostr.println(" column += (8 - (column & 07));"); ostr.println(" break;"); ostr.println(" default :"); ostr.println(" break;"); ostr.println(" }"); ostr.println(""); ostr.println(" bufline[bufpos] = line;"); ostr.println(" bufcolumn[bufpos] = column;"); ostr.println(" }"); } ostr.println(""); ostr.println(prefix + "public char readChar() throws java.io.IOException"); ostr.println(" {"); ostr.println(" if (inBuf > 0)"); ostr.println(" {"); ostr.println(" --inBuf;"); ostr.println(""); ostr.println(" if (++bufpos == bufsize)"); ostr.println(" bufpos = 0;"); ostr.println(""); ostr.println(" return buffer[bufpos];"); ostr.println(" }"); ostr.println(""); ostr.println(" char c;"); ostr.println(""); ostr.println(" if (++bufpos == available)"); ostr.println(" AdjustBuffSize();"); ostr.println(""); ostr.println(" if ((buffer[bufpos] = c = ReadByte()) == '\\\\')"); ostr.println(" {"); if (OtherFilesGen.keepLineCol) { ostr.println(" UpdateLineColumn(c);"); } ostr.println(""); ostr.println(" int backSlashCnt = 1;"); ostr.println(""); ostr.println(" for (;;) // Read all the backslashes"); ostr.println(" {"); ostr.println(" if (++bufpos == available)"); ostr.println(" AdjustBuffSize();"); ostr.println(""); ostr.println(" try"); ostr.println(" {"); ostr.println(" if ((buffer[bufpos] = c = ReadByte()) != '\\\\')"); ostr.println(" {"); if (OtherFilesGen.keepLineCol) { ostr.println(" UpdateLineColumn(c);"); } ostr.println(" // found a non-backslash char."); ostr.println(" if ((c == 'u') && ((backSlashCnt & 1) == 1))"); ostr.println(" {"); ostr.println(" if (--bufpos < 0)"); ostr.println(" bufpos = bufsize - 1;"); ostr.println(""); ostr.println(" break;"); ostr.println(" }"); ostr.println(""); ostr.println(" backup(backSlashCnt);"); ostr.println(" return '\\\\';"); ostr.println(" }"); ostr.println(" }"); ostr.println(" catch(java.io.IOException e)"); ostr.println(" {"); ostr.println(" if (backSlashCnt > 1)"); ostr.println(" backup(backSlashCnt);"); ostr.println(""); ostr.println(" return '\\\\';"); ostr.println(" }"); ostr.println(""); if (OtherFilesGen.keepLineCol) { ostr.println(" UpdateLineColumn(c);"); } ostr.println(" backSlashCnt++;"); ostr.println(" }"); ostr.println(""); ostr.println(" // Here, we have seen an odd number of backslash's followed by a 'u'"); ostr.println(" try"); ostr.println(" {"); ostr.println(" while ((c = ReadByte()) == 'u')"); if (OtherFilesGen.keepLineCol) { ostr.println(" ++column;"); } else { ostr.println(" ;"); } ostr.println(""); ostr.println(" buffer[bufpos] = c = (char)(hexval(c) << 12 |"); ostr.println(" hexval(ReadByte()) << 8 |"); ostr.println(" hexval(ReadByte()) << 4 |"); ostr.println(" hexval(ReadByte()));"); ostr.println(""); if (OtherFilesGen.keepLineCol) { ostr.println(" column += 4;"); } ostr.println(" }"); ostr.println(" catch(java.io.IOException e)"); ostr.println(" {"); if (OtherFilesGen.keepLineCol) { ostr.println(" throw new Error(\"Invalid escape character at line \" + line +"); ostr.println(" \" column \" + column + \".\");"); } else { ostr.println(" throw new Error(\"Invalid escape character in input\");"); } ostr.println(" }"); ostr.println(""); ostr.println(" if (backSlashCnt == 1)"); ostr.println(" return c;"); ostr.println(" else"); ostr.println(" {"); ostr.println(" backup(backSlashCnt - 1);"); ostr.println(" return '\\\\';"); ostr.println(" }"); ostr.println(" }"); ostr.println(" else"); ostr.println(" {"); if (OtherFilesGen.keepLineCol) { ostr.println(" UpdateLineColumn(c);"); } ostr.println(" return (c);"); ostr.println(" }"); ostr.println(" }"); ostr.println(""); ostr.println(" /**"); ostr.println(" * @deprecated "); ostr.println(" * @see #getEndColumn"); ostr.println(" */"); ostr.println(""); ostr.println(prefix + "public int getColumn() {"); if (OtherFilesGen.keepLineCol) { ostr.println(" return bufcolumn[bufpos];"); } else { ostr.println(" return -1;"); } ostr.println(" }"); ostr.println(""); ostr.println(" /**"); ostr.println(" * @deprecated "); ostr.println(" * @see #getEndLine"); ostr.println(" */"); ostr.println(""); ostr.println(prefix + "public int getLine() {"); if (OtherFilesGen.keepLineCol) { ostr.println(" return bufline[bufpos];"); } else { ostr.println(" return -1;"); } ostr.println(" }"); ostr.println(""); ostr.println(prefix + "public int getEndColumn() {"); if (OtherFilesGen.keepLineCol) { ostr.println(" return bufcolumn[bufpos];"); } else { ostr.println(" return -1;"); } ostr.println(" }"); ostr.println(""); ostr.println(prefix + "public int getEndLine() {"); if (OtherFilesGen.keepLineCol) { ostr.println(" return bufline[bufpos];"); } else { ostr.println(" return -1;"); } ostr.println(" }"); ostr.println(""); ostr.println(prefix + "public int getBeginColumn() {"); if (OtherFilesGen.keepLineCol) { ostr.println(" return bufcolumn[tokenBegin];"); } else { ostr.println(" return -1;"); } ostr.println(" }"); ostr.println(""); ostr.println(prefix + "public int getBeginLine() {"); if (OtherFilesGen.keepLineCol) { ostr.println(" return bufline[tokenBegin];"); } else { ostr.println(" return -1;"); } ostr.println(" }"); ostr.println(""); ostr.println(prefix + "public void backup(int amount) {"); ostr.println(""); ostr.println(" inBuf += amount;"); ostr.println(" if ((bufpos -= amount) < 0)"); ostr.println(" bufpos += bufsize;"); ostr.println(" }"); ostr.println(""); ostr.println(" public JavaCharStream(java.io.Reader dstream,"); ostr.println(" int startline, int startcolumn, int buffersize)"); ostr.println(" {"); if (Options.B("STATIC")) { ostr.println(" if (inputStream != null)"); ostr.println(" throw new Error(\"\\n ERROR: Second call to the constructor of a static JavaCharStream. You must\\n\" +"); ostr.println(" \" either use ReInit() or set the JavaCC option STATIC to false\\n\" +"); ostr.println(" \" during the generation of this class.\");");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -