conor 2002/06/13 18:32:15 Modified: jrcs/src/java/org/apache/commons/jrcs/rcs ArchiveParser.java ArchiveParser.jj ArchiveParserConstants.java ArchiveParserTokenManager.java Log: fix package delcaration brought <ID> in line with definition in rcsfiles(5). redefined LETTER and IDCHAR as per rcsfiles(5). Particularly allowed punctuation and other graphic characters. Of course, all the generated files will need to be re-generated by JavaCC Regenerate generated files Submitted By: Matt Quail <[EMAIL PROTECTED]> Revision Changes Path 1.2 +699 -864 jakarta-commons-sandbox/jrcs/src/java/org/apache/commons/jrcs/rcs/ArchiveParser.java Index: ArchiveParser.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jrcs/src/java/org/apache/commons/jrcs/rcs/ArchiveParser.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -u -r1.1 -r1.2 --- ArchiveParser.java 28 May 2002 16:45:50 -0000 1.1 +++ ArchiveParser.java 14 Jun 2002 01:32:15 -0000 1.2 @@ -77,8 +77,6 @@ * PARSER STARTS HERE */ final public void archive(Archive arc) throws ParseException { - trace_call("archive"); - try { admin(arc); label_1: while (true) { @@ -104,14 +102,9 @@ text(arc); } jj_consume_token(0); - } finally { - trace_return("archive"); - } } final public void admin(Archive arc) throws ParseException { - trace_call("admin"); - try { head(arc); switch (jj_nt.kind) { case BRANCH: @@ -124,14 +117,9 @@ symbols(arc); locks(arc); optionals(arc); - } finally { - trace_return("admin"); - } } final public void optionals(Archive arc) throws ParseException { - trace_call("optionals"); - try { label_3: while (true) { switch (jj_nt.kind) { @@ -158,14 +146,9 @@ throw new ParseException(); } } - } finally { - trace_return("optionals"); - } } final public void newPhrases(Map map) throws ParseException { - trace_call("newPhrases"); - try { label_4: while (true) { switch (jj_nt.kind) { @@ -177,14 +160,9 @@ } newPhrase(map); } - } finally { - trace_return("newPhrases"); - } } final public void head(Archive arc) throws ParseException { - trace_call("head"); - try { Version v; jj_consume_token(HEAD); switch (jj_nt.kind) { @@ -195,15 +173,10 @@ default: ; } - jj_consume_token(29); - } finally { - trace_return("head"); - } + jj_consume_token(28); } final public void branch(Archive arc) throws ParseException { - trace_call("branch"); - try { Version v; jj_consume_token(BRANCH); switch (jj_nt.kind) { @@ -214,15 +187,10 @@ default: ; } - jj_consume_token(29); - } finally { - trace_return("branch"); - } + jj_consume_token(28); } final public void access(Archive arc) throws ParseException { - trace_call("access"); - try { String name; jj_consume_token(ACCESS); label_5: @@ -237,15 +205,10 @@ name = id(); arc.addUser(name); } - jj_consume_token(29); - } finally { - trace_return("access"); - } + jj_consume_token(28); } final public void symbols(Archive arc) throws ParseException { - trace_call("symbols"); - try { String s; Version v; jj_consume_token(SYMBOLS); @@ -260,19 +223,14 @@ break label_6; } s = sym(); - jj_consume_token(30); + jj_consume_token(29); v = version(); arc.addSymbol(s, v); } - jj_consume_token(29); - } finally { - trace_return("symbols"); - } + jj_consume_token(28); } final public void locks(Archive arc) throws ParseException { - trace_call("locks"); - try { String name; Version v; jj_consume_token(LOCKS); @@ -286,28 +244,23 @@ break label_7; } name = id(); - jj_consume_token(30); + jj_consume_token(29); v = version(); arc.addLock(name, v); } - jj_consume_token(29); + jj_consume_token(28); switch (jj_nt.kind) { case STRICT: jj_consume_token(STRICT); - jj_consume_token(29); + jj_consume_token(28); arc.setStrictLocking(true); break; default: ; } - } finally { - trace_return("locks"); - } } final public void comment(Archive arc) throws ParseException { - trace_call("comment"); - try { String s; jj_consume_token(COMMENT); switch (jj_nt.kind) { @@ -318,15 +271,10 @@ default: ; } - jj_consume_token(29); - } finally { - trace_return("comment"); - } + jj_consume_token(28); } final public void expand(Archive arc) throws ParseException { - trace_call("expand"); - try { String s; jj_consume_token(EXPAND); switch (jj_nt.kind) { @@ -337,15 +285,10 @@ default: ; } - jj_consume_token(29); - } finally { - trace_return("expand"); - } + jj_consume_token(28); } final public void newPhrase(Map map) throws ParseException { - trace_call("newPhrase"); - try { String key; String value; StringBuffer values = new StringBuffer(); @@ -364,16 +307,11 @@ value = word(); values.append(" " + value); } - jj_consume_token(29); + jj_consume_token(28); if (map != null) map.put(key, values.toString()); - } finally { - trace_return("newPhrase"); - } } final public String word() throws ParseException { - trace_call("word"); - try { String result; if (jj_2_1(2)) { result = pair(); @@ -391,14 +329,9 @@ } {if (true) return result;} throw new Error("Missing return statement in function"); - } finally { - trace_return("word"); - } } final public String simpleWord() throws ParseException { - trace_call("simpleWord"); - try { String result; Version v; switch (jj_nt.kind) { @@ -418,41 +351,26 @@ } {if (true) return result;} throw new Error("Missing return statement in function"); - } finally { - trace_return("simpleWord"); - } } final public String pair() throws ParseException { - trace_call("pair"); - try { String left; String right; left = simpleWord(); - jj_consume_token(30); + jj_consume_token(29); right = simpleWord(); {if (true) return left + ":" + right;} throw new Error("Missing return statement in function"); - } finally { - trace_return("pair"); - } } final public void desc(Archive arc) throws ParseException { - trace_call("desc"); - try { String s; jj_consume_token(DESC); s = string(); arc.setDesc(s); - } finally { - trace_return("desc"); - } } final public void delta(Archive arc) throws ParseException { - trace_call("delta"); - try { Version v; Node node; int[] d; @@ -462,11 +380,11 @@ jj_consume_token(DATE); d = date(); node.setDate(d); - jj_consume_token(29); + jj_consume_token(28); jj_consume_token(AUTHOR); s = id(); node.setAuthor(s); - jj_consume_token(29); + jj_consume_token(28); jj_consume_token(STATE); switch (jj_nt.kind) { case ID: @@ -476,7 +394,7 @@ default: ; } - jj_consume_token(29); + jj_consume_token(28); jj_consume_token(BRANCHES); label_9: while (true) { @@ -490,7 +408,7 @@ v = version(); node.addBranch(arc.newBranchNode(v)); } - jj_consume_token(29); + jj_consume_token(28); jj_consume_token(NEXT); switch (jj_nt.kind) { case NUM: @@ -500,16 +418,11 @@ default: ; } - jj_consume_token(29); + jj_consume_token(28); newPhrases(node.phrases); - } finally { - trace_return("delta"); - } } final public void text(Archive arc) throws ParseException { - trace_call("text"); - try { Version v; Node node; String log; @@ -523,26 +436,16 @@ jj_consume_token(TEXT); txt = string(); node.setText(txt); - } finally { - trace_return("text"); - } } final public String id() throws ParseException { - trace_call("id"); - try { Token t; t = jj_consume_token(ID); {if (true) return t.image;} throw new Error("Missing return statement in function"); - } finally { - trace_return("id"); - } } final public String sym() throws ParseException { - trace_call("sym"); - try { Token t; switch (jj_nt.kind) { case SYM: @@ -557,14 +460,9 @@ } {if (true) return t.image;} throw new Error("Missing return statement in function"); - } finally { - trace_return("sym"); - } } final public Version version() throws ParseException { - trace_call("version"); - try { Version v; int n, r; n = num(); @@ -572,67 +470,49 @@ label_10: while (true) { switch (jj_nt.kind) { - case 31: + case 30: ; break; default: break label_10; } - jj_consume_token(31); + jj_consume_token(30); n = num(); v.__addBranch(n); } {if (true) return v;} throw new Error("Missing return statement in function"); - } finally { - trace_return("version"); - } } final public int[] date() throws ParseException { - trace_call("date"); - try { int[] n = new int[6]; n[0] = num(); - jj_consume_token(31); + jj_consume_token(30); n[1] = num(); - jj_consume_token(31); + jj_consume_token(30); n[2] = num(); - jj_consume_token(31); + jj_consume_token(30); n[3] = num(); - jj_consume_token(31); + jj_consume_token(30); n[4] = num(); - jj_consume_token(31); + jj_consume_token(30); n[5] = num(); {if (true) return n;} throw new Error("Missing return statement in function"); - } finally { - trace_return("date"); - } } final public int num() throws ParseException { - trace_call("num"); - try { Token t; t = jj_consume_token(NUM); {if (true) return Integer.parseInt(t.image);} throw new Error("Missing return statement in function"); - } finally { - trace_return("num"); - } } final public String string() throws ParseException { - trace_call("string"); - try { Token t; t = jj_consume_token(STRING); {if (true) return Archive.unquoteString(t.image);} throw new Error("Missing return statement in function"); - } finally { - trace_return("string"); - } } final private boolean jj_2_1(int xla) { @@ -640,18 +520,6 @@ return !jj_3_1(); } - final private boolean jj_3_1() { - if (jj_3R_11()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - - final private boolean jj_3R_16() { - if (jj_scan_token(ID)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - return false; - } - final private boolean jj_3R_15() { if (jj_3R_18()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; @@ -665,7 +533,7 @@ } final private boolean jj_3R_20() { - if (jj_scan_token(31)) return true; + if (jj_scan_token(30)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } @@ -711,7 +579,7 @@ final private boolean jj_3R_11() { if (jj_3R_12()) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(30)) return true; + if (jj_scan_token(29)) return true; if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; return false; } @@ -722,6 +590,18 @@ return false; } + final private boolean jj_3_1() { + if (jj_3R_11()) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + + final private boolean jj_3R_16() { + if (jj_scan_token(ID)) return true; + if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + return false; + } + public ArchiveParserTokenManager token_source; JavaCharStream jj_input_stream; public Token token, jj_nt; @@ -775,7 +655,6 @@ if ((token = jj_nt).next != null) jj_nt = jj_nt.next; else jj_nt = jj_nt.next = token_source.getNextToken(); if (token.kind == kind) { - trace_token(token, ""); return token; } jj_nt = token; @@ -800,7 +679,6 @@ final public Token getNextToken() { if ((token = jj_nt).next != null) jj_nt = jj_nt.next; else jj_nt = jj_nt.next = token_source.getNextToken(); - trace_token(token, " (in getNextToken)"); return token; } @@ -820,53 +698,10 @@ return new ParseException("Parse error at line " + line + ", column " + column + ". Encountered: " + mess); } - private int trace_indent = 0; - private boolean trace_enabled = true; - final public void enable_tracing() { - trace_enabled = true; } final public void disable_tracing() { - trace_enabled = false; - } - - final private void trace_call(String s) { - if (trace_enabled) { - for (int i = 0; i < trace_indent; i++) { System.out.print(" "); } - System.out.println("Call: " + s); - } - trace_indent = trace_indent + 2; - } - - final private void trace_return(String s) { - trace_indent = trace_indent - 2; - if (trace_enabled) { - for (int i = 0; i < trace_indent; i++) { System.out.print(" "); } - System.out.println("Return: " + s); - } - } - - final private void trace_token(Token t, String where) { - if (trace_enabled) { - for (int i = 0; i < trace_indent; i++) { System.out.print(" "); } - System.out.print("Consumed token: <" + tokenImage[t.kind]); - if (t.kind != 0 && !tokenImage[t.kind].equals("\"" + t.image + "\"")) { - System.out.print(": \"" + t.image + "\""); - } - System.out.println(">" + where); - } - } - - final private void trace_scan(Token t1, int t2) { - if (trace_enabled) { - for (int i = 0; i < trace_indent; i++) { System.out.print(" "); } - System.out.print("Visited token: <" + tokenImage[t1.kind]); - if (t1.kind != 0 && !tokenImage[t1.kind].equals("\"" + t1.image + "\"")) { - System.out.print(": \"" + t1.image + "\""); - } - System.out.println(">; Expected token: <" + tokenImage[t2] + ">"); - } } } 1.2 +14 -11 jakarta-commons-sandbox/jrcs/src/java/org/apache/commons/jrcs/rcs/ArchiveParser.jj Index: ArchiveParser.jj =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jrcs/src/java/org/apache/commons/jrcs/rcs/ArchiveParser.jj,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -u -r1.1 -r1.2 --- ArchiveParser.jj 28 May 2002 16:45:50 -0000 1.1 +++ ArchiveParser.jj 14 Jun 2002 01:32:15 -0000 1.2 @@ -78,7 +78,7 @@ PARSER_BEGIN(ArchiveParser) -package org.apache.maven.jrcs.rcs; +package org.apache.commons.jrcs.rcs; import java.util.Map; import java.io.FileInputStream; @@ -203,20 +203,23 @@ TOKEN : { - < ID: <SYM> > + < ID: (<DIGIT>|".")? <IDCHAR> (<IDCHAR>|<DIGIT>|".")*> | < SYM: (<DIGIT>)* <IDCHAR> (<IDCHAR>|<DIGIT>)* > | - < IDCHAR : <LETTER> > -| < STRING: "@" ( ~["@"] | "@@" )* "@" > | - < #LETTER: + < #IDCHAR: [ - "\u0024", - "\u0041"-"\u005a", - "\u005f", - "\u0061"-"\u007a", + "\u0021"-"\u0023", // ! " # + "\u0025"-"\u0027", // % & ' + "\u0028"-"\u002b", // ( ) * + + "\u002d","\u002f", // - / + "\u003c"-"\u003f", // < = > ? + "\u005b"-"\u0060", // [ \ ] ^ _ ` + "\u007b"-"\u007e", // { | } ~ + "\u0041"-"\u005a", // A B C ... X Y Z + "\u0061"-"\u007a", // a b c ... x y z "\u00c0"-"\u00d6", "\u00d8"-"\u00f6", "\u00f8"-"\u00ff", 1.2 +67 -69 jakarta-commons-sandbox/jrcs/src/java/org/apache/commons/jrcs/rcs/ArchiveParserConstants.java Index: ArchiveParserConstants.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jrcs/src/java/org/apache/commons/jrcs/rcs/ArchiveParserConstants.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -u -r1.1 -r1.2 --- ArchiveParserConstants.java 28 May 2002 16:45:50 -0000 1.1 +++ ArchiveParserConstants.java 14 Jun 2002 01:32:15 -0000 1.2 @@ -22,11 +22,10 @@ int TEXT = 21; int ID = 22; int SYM = 23; - int IDCHAR = 24; - int STRING = 25; - int LETTER = 26; - int DIGIT = 27; - int NUM = 28; + int STRING = 24; + int IDCHAR = 25; + int DIGIT = 26; + int NUM = 27; int DEFAULT = 0; int PRE_DELTA = 1; @@ -56,9 +55,8 @@ "\"text\"", "<ID>", "<SYM>", - "<IDCHAR>", "<STRING>", - "<LETTER>", + "<IDCHAR>", "<DIGIT>", "<NUM>", "\";\"", 1.2 +889 -1050 jakarta-commons-sandbox/jrcs/src/java/org/apache/commons/jrcs/rcs/ArchiveParserTokenManager.java Index: ArchiveParserTokenManager.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jrcs/src/java/org/apache/commons/jrcs/rcs/ArchiveParserTokenManager.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -u -r1.1 -r1.2 --- ArchiveParserTokenManager.java 28 May 2002 16:45:51 -0000 1.1 +++ ArchiveParserTokenManager.java 14 Jun 2002 01:32:15 -0000 1.2 @@ -11,10 +11,11 @@ public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; } private final int jjStopStringLiteralDfa_0(int pos, long active0) { - debugStream.println(" No more string literal token matches are possible."); switch (pos) { case 0: + if ((active0 & 0x40000000L) != 0L) + return 1; if ((active0 & 0x3fffc0L) != 0L) { jjmatchedKind = 22; @@ -30,34 +31,34 @@ } return -1; case 2: - if ((active0 & 0x10000L) != 0L) - return 14; if ((active0 & 0x3effc0L) != 0L) { jjmatchedKind = 22; jjmatchedPos = 2; return 14; } + if ((active0 & 0x10000L) != 0L) + return 14; return -1; case 3: - if ((active0 & 0x225800L) != 0L) - return 14; if ((active0 & 0x1ca7c0L) != 0L) { jjmatchedKind = 22; jjmatchedPos = 3; return 14; } + if ((active0 & 0x225800L) != 0L) + return 14; return -1; case 4: - if ((active0 & 0x48000L) != 0L) - return 14; if ((active0 & 0x1827c0L) != 0L) { jjmatchedKind = 22; jjmatchedPos = 4; return 14; } + if ((active0 & 0x48000L) != 0L) + return 14; return -1; case 5: if ((active0 & 0x823c0L) != 0L) @@ -73,14 +74,14 @@ } return -1; case 6: - if ((active0 & 0x100400L) != 0L) - return 14; if ((active0 & 0x200L) != 0L) { jjmatchedKind = 22; jjmatchedPos = 6; return 14; } + if ((active0 & 0x100400L) != 0L) + return 14; return -1; default : return -1; @@ -94,19 +95,14 @@ { jjmatchedKind = kind; jjmatchedPos = pos; - debugStream.println(" No more string literal token matches are possible."); - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); return pos + 1; } private final int jjStartNfaWithStates_0(int pos, int kind, int state) { jjmatchedKind = kind; jjmatchedPos = pos; - debugStream.println(" No more string literal token matches are possible."); - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { return pos + 1; } - debugStream.println("<" + lexStateNames[curLexState] + ">" + "Current character : " + TokenMgrError.addEscapes(String.valueOf(curChar)) + " (" + (int)curChar + ")"); return jjMoveNfa_0(state, pos + 1); } private final int jjMoveStringLiteralDfa0_0() @@ -114,11 +110,11 @@ switch(curChar) { case 46: - return jjStopAtPos(0, 31); + return jjStartNfaWithStates_0(0, 30, 1); case 58: - return jjStopAtPos(0, 30); - case 59: return jjStopAtPos(0, 29); + case 59: + return jjStopAtPos(0, 28); case 97: return jjMoveStringLiteralDfa1_0(0xc0L); case 98: @@ -140,25 +136,16 @@ case 116: return jjMoveStringLiteralDfa1_0(0x200000L); default : - debugStream.println(" No string literal matches possible."); return jjMoveNfa_0(0, 0); } } private final int jjMoveStringLiteralDfa1_0(long active0) { - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); - debugStream.println(" Possible string literal matches : { " - + - jjKindsForBitVector(0, active0) + " } "); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(0, active0); - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); return 1; } - debugStream.println("<" + lexStateNames[curLexState] + ">" + "Current character : " + TokenMgrError.addEscapes(String.valueOf(curChar)) + " (" + (int)curChar + ")"); switch(curChar) { case 97: @@ -180,7 +167,6 @@ case 121: return jjMoveStringLiteralDfa2_0(active0, 0x100000L); default : - debugStream.println(" No string literal matches possible."); break; } return jjStartNfa_0(0, active0); @@ -189,19 +175,11 @@ { if (((active0 &= old0)) == 0L) return jjStartNfa_0(0, old0); - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); - debugStream.println(" Possible string literal matches : { " - + - jjKindsForBitVector(0, active0) + " } "); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(1, active0); - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); return 2; } - debugStream.println("<" + lexStateNames[curLexState] + ">" + "Current character : " + TokenMgrError.addEscapes(String.valueOf(curChar)) + " (" + (int)curChar + ")"); switch(curChar) { case 97: @@ -225,7 +203,6 @@ case 120: return jjMoveStringLiteralDfa3_0(active0, 0x220000L); default : - debugStream.println(" No string literal matches possible."); break; } return jjStartNfa_0(1, active0); @@ -234,19 +211,11 @@ { if (((active0 &= old0)) == 0L) return jjStartNfa_0(1, old0); - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); - debugStream.println(" Possible string literal matches : { " - + - jjKindsForBitVector(0, active0) + " } "); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(2, active0); - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); return 3; } - debugStream.println("<" + lexStateNames[curLexState] + ">" + "Current character : " + TokenMgrError.addEscapes(String.valueOf(curChar)) + " (" + (int)curChar + ")"); switch(curChar) { case 97: @@ -282,7 +251,6 @@ return jjStartNfaWithStates_0(3, 21, 14); return jjMoveStringLiteralDfa4_0(active0, 0x40000L); default : - debugStream.println(" No string literal matches possible."); break; } return jjStartNfa_0(2, active0); @@ -291,19 +259,11 @@ { if (((active0 &= old0)) == 0L) return jjStartNfa_0(2, old0); - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); - debugStream.println(" Possible string literal matches : { " - + - jjKindsForBitVector(0, active0) + " } "); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(3, active0); - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); return 4; } - debugStream.println("<" + lexStateNames[curLexState] + ">" + "Current character : " + TokenMgrError.addEscapes(String.valueOf(curChar)) + " (" + (int)curChar + ")"); switch(curChar) { case 99: @@ -321,7 +281,6 @@ return jjStartNfaWithStates_0(4, 15, 14); return jjMoveStringLiteralDfa5_0(active0, 0x40L); default : - debugStream.println(" No string literal matches possible."); break; } return jjStartNfa_0(3, active0); @@ -330,19 +289,11 @@ { if (((active0 &= old0)) == 0L) return jjStartNfa_0(3, old0); - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); - debugStream.println(" Possible string literal matches : { " - + - jjKindsForBitVector(0, active0) + " } "); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(4, active0); - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); return 5; } - debugStream.println("<" + lexStateNames[curLexState] + ">" + "Current character : " + TokenMgrError.addEscapes(String.valueOf(curChar)) + " (" + (int)curChar + ")"); switch(curChar) { case 100: @@ -373,7 +324,6 @@ return jjStartNfaWithStates_0(5, 19, 14); break; default : - debugStream.println(" No string literal matches possible."); break; } return jjStartNfa_0(4, active0); @@ -382,19 +332,11 @@ { if (((active0 &= old0)) == 0L) return jjStartNfa_0(4, old0); - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); - debugStream.println(" Possible string literal matches : { " - + - jjKindsForBitVector(0, active0) + " } "); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(5, active0); - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); return 6; } - debugStream.println("<" + lexStateNames[curLexState] + ">" + "Current character : " + TokenMgrError.addEscapes(String.valueOf(curChar)) + " (" + (int)curChar + ")"); switch(curChar) { case 101: @@ -408,7 +350,6 @@ return jjStartNfaWithStates_0(6, 10, 14); break; default : - debugStream.println(" No string literal matches possible."); break; } return jjStartNfa_0(5, active0); @@ -417,19 +358,11 @@ { if (((active0 &= old0)) == 0L) return jjStartNfa_0(5, old0); - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); - debugStream.println(" Possible string literal matches : { " - + - jjKindsForBitVector(0, active0) + " } "); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(6, active0); - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); return 7; } - debugStream.println("<" + lexStateNames[curLexState] + ">" + "Current character : " + TokenMgrError.addEscapes(String.valueOf(curChar)) + " (" + (int)curChar + ")"); switch(curChar) { case 115: @@ -437,7 +370,6 @@ return jjStartNfaWithStates_0(7, 9, 14); break; default : - debugStream.println(" No string literal matches possible."); break; } return jjStartNfa_0(6, active0); @@ -473,28 +405,28 @@ jjCheckNAdd(jjnextStates[start + 1]); } static final long[] jjbitVec0 = { - 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL + 0x1ff00000fffffffeL, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L }; static final long[] jjbitVec2 = { - 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL + 0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL }; static final long[] jjbitVec3 = { - 0x1ff00000fffffffeL, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L + 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL }; static final long[] jjbitVec4 = { - 0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL + 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L }; static final long[] jjbitVec5 = { - 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL + 0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L }; static final long[] jjbitVec6 = { - 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L + 0x3fffffffffffL, 0x0L, 0x0L, 0x0L }; static final long[] jjbitVec7 = { - 0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L + 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL }; static final long[] jjbitVec8 = { - 0x3fffffffffffL, 0x0L, 0x0L, 0x0L + 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL }; private final int jjMoveNfa_0(int startState, int curPos) { @@ -503,8 +435,6 @@ jjnewStateCnt = 14; int i = 1; jjstateSet[0] = startState; - debugStream.println(" Starting NFA to match one of : " + jjKindsForStateVector(curLexState, jjstateSet, 0, 1)); - debugStream.println("<" + lexStateNames[curLexState] + ">" + "Current character : " + TokenMgrError.addEscapes(String.valueOf(curChar)) + " (" + (int)curChar + ")"); int j, kind = 0x7fffffff; for (;;) { @@ -517,105 +447,91 @@ { switch(jjstateSet[--i]) { - case 0: - if ((0x3ff000000000000L & l) != 0L) - { - if (kind > 28) - kind = 28; - jjCheckNAddStates(0, 4); - } - else if (curChar == 36) + case 14: + if ((0xf3ffefee00000000L & l) != 0L) { if (kind > 22) kind = 22; - jjCheckNAddStates(5, 8); - } - break; - case 14: - if ((0x3ff000000000000L & l) != 0L) - { - if (kind > 23) - kind = 23; - jjCheckNAddTwoStates(10, 11); + jjCheckNAdd(2); } - else if (curChar == 36) + if ((0xf3ffafee00000000L & l) != 0L) { if (kind > 23) kind = 23; - jjCheckNAddTwoStates(10, 11); + jjCheckNAdd(9); } - if ((0x3ff000000000000L & l) != 0L) + break; + case 0: + if ((0xf000afee00000000L & l) != 0L) { if (kind > 22) kind = 22; - jjCheckNAddTwoStates(7, 8); + jjCheckNAddTwoStates(2, 9); } - else if (curChar == 36) + else if ((0x3ff400000000000L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 1; + if ((0x3ff000000000000L & l) != 0L) { - if (kind > 22) - kind = 22; - jjCheckNAddTwoStates(7, 8); + if (kind > 27) + kind = 27; + jjCheckNAddStates(0, 2); } break; case 1: - jjAddStates(9, 11); + if ((0xf000afee00000000L & l) == 0L) break; - case 5: - if ((0x3ff000000000000L & l) == 0L) - break; - if (kind > 28) - kind = 28; - jjCheckNAddStates(0, 4); - break; - case 6: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(6, 7); + if (kind > 22) + kind = 22; + jjCheckNAdd(2); break; - case 7: - if (curChar != 36) + case 2: + if ((0xf3ffefee00000000L & l) == 0L) break; if (kind > 22) kind = 22; - jjCheckNAddTwoStates(7, 8); + jjCheckNAdd(2); + break; + case 4: + jjAddStates(3, 5); break; case 8: - if ((0x3ff000000000000L & l) == 0L) + if ((0xf000afee00000000L & l) == 0L) break; if (kind > 22) kind = 22; - jjCheckNAddTwoStates(7, 8); + jjCheckNAddTwoStates(2, 9); break; case 9: - if ((0x3ff000000000000L & l) != 0L) - jjCheckNAddTwoStates(9, 10); - break; - case 10: - if (curChar != 36) + if ((0xf3ffafee00000000L & l) == 0L) break; if (kind > 23) kind = 23; - jjCheckNAddTwoStates(10, 11); + jjCheckNAdd(9); break; - case 11: + case 10: if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 23) - kind = 23; - jjCheckNAddTwoStates(10, 11); + if (kind > 27) + kind = 27; + jjCheckNAddStates(0, 2); + break; + case 11: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddTwoStates(11, 12); break; case 12: - if ((0x3ff000000000000L & l) == 0L) + if ((0xf000afee00000000L & l) == 0L) break; - if (kind > 28) - kind = 28; - jjCheckNAdd(12); + if (kind > 23) + kind = 23; + jjCheckNAdd(9); break; case 13: - if (curChar != 36) + if ((0x3ff000000000000L & l) == 0L) break; - if (kind > 22) - kind = 22; - jjCheckNAddStates(5, 8); + if (kind > 27) + kind = 27; + jjCheckNAdd(13); break; default : break; } @@ -628,66 +544,75 @@ { switch(jjstateSet[--i]) { - case 0: - if ((0x7fffffe87fffffeL & l) != 0L) - { - if (kind > 22) - kind = 22; - jjCheckNAddStates(5, 8); - } - else if (curChar == 64) - jjCheckNAddStates(9, 11); - break; case 14: - if ((0x7fffffe87fffffeL & l) != 0L) + if ((0x7ffffffffffffffeL & l) != 0L) { if (kind > 23) kind = 23; - jjCheckNAddTwoStates(10, 11); + jjCheckNAdd(9); } - if ((0x7fffffe87fffffeL & l) != 0L) + if ((0x7ffffffffffffffeL & l) != 0L) { if (kind > 22) kind = 22; - jjCheckNAddTwoStates(7, 8); + jjCheckNAdd(2); } break; + case 0: + if ((0x7ffffffffffffffeL & l) != 0L) + { + if (kind > 22) + kind = 22; + jjCheckNAddTwoStates(2, 9); + } + else if (curChar == 64) + jjCheckNAddStates(3, 5); + break; case 1: - if ((0xfffffffffffffffeL & l) != 0L) - jjCheckNAddStates(9, 11); + if ((0x7ffffffffffffffeL & l) == 0L) + break; + if (kind > 22) + kind = 22; + jjCheckNAdd(2); break; case 2: - if (curChar == 64) - jjCheckNAddStates(9, 11); + if ((0x7ffffffffffffffeL & l) == 0L) + break; + if (kind > 22) + kind = 22; + jjCheckNAdd(2); break; case 3: + case 5: if (curChar == 64) - jjstateSet[jjnewStateCnt++] = 2; + jjCheckNAddStates(3, 5); break; case 4: - if (curChar == 64 && kind > 25) - kind = 25; + if ((0xfffffffffffffffeL & l) != 0L) + jjCheckNAddStates(3, 5); + break; + case 6: + if (curChar == 64) + jjstateSet[jjnewStateCnt++] = 5; break; case 7: - if ((0x7fffffe87fffffeL & l) == 0L) + if (curChar == 64 && kind > 24) + kind = 24; + break; + case 8: + if ((0x7ffffffffffffffeL & l) == 0L) break; if (kind > 22) kind = 22; - jjCheckNAddTwoStates(7, 8); + jjCheckNAddTwoStates(2, 9); break; - case 10: - if ((0x7fffffe87fffffeL & l) == 0L) + case 9: + case 12: + if ((0x7ffffffffffffffeL & l) == 0L) break; if (kind > 23) kind = 23; - jjCheckNAddTwoStates(10, 11); - break; - case 13: - if ((0x7fffffe87fffffeL & l) == 0L) - break; - if (kind > 22) - kind = 22; - jjCheckNAddStates(5, 8); + jjCheckNAdd(9); break; default : break; } @@ -704,44 +629,52 @@ { switch(jjstateSet[--i]) { - case 0: - if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) - break; - if (kind > 22) - kind = 22; - jjCheckNAddStates(5, 8); - break; case 14: - if (jjCanMove_1(hiByte, i1, i2, l1, l2)) + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) { if (kind > 22) kind = 22; - jjCheckNAddTwoStates(7, 8); + jjCheckNAdd(2); } - if (jjCanMove_1(hiByte, i1, i2, l1, l2)) + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) { if (kind > 23) kind = 23; - jjCheckNAddTwoStates(10, 11); + jjCheckNAdd(9); } break; + case 0: + if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) + break; + if (kind > 22) + kind = 22; + jjCheckNAddTwoStates(2, 9); + break; case 1: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) - jjAddStates(9, 11); + if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) break; - case 7: - if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) + if (kind > 22) + kind = 22; + jjCheckNAdd(2); + break; + case 2: + if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) break; if (kind > 22) kind = 22; - jjCheckNAddTwoStates(7, 8); + jjCheckNAdd(2); break; - case 10: - if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) + case 4: + if (jjCanMove_1(hiByte, i1, i2, l1, l2)) + jjAddStates(3, 5); + break; + case 9: + case 12: + if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) break; if (kind > 23) kind = 23; - jjCheckNAddTwoStates(10, 11); + jjCheckNAdd(9); break; default : break; } @@ -754,14 +687,10 @@ kind = 0x7fffffff; } ++curPos; - if (jjmatchedKind != 0 && jjmatchedKind != 0x7fffffff) - debugStream.println(" Currently matched the first " + (jjmatchedPos + 1) + " characters as a " + tokenImage[jjmatchedKind] + " token."); if ((i = jjnewStateCnt) == (startsAt = 14 - (jjnewStateCnt = startsAt))) return curPos; - debugStream.println(" Possible kinds of longer matches : " + jjKindsForStateVector(curLexState, jjstateSet, startsAt, i)); try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { return curPos; } - debugStream.println("<" + lexStateNames[curLexState] + ">" + "Current character : " + TokenMgrError.addEscapes(String.valueOf(curChar)) + " (" + (int)curChar + ")"); } } private final int jjMoveStringLiteralDfa0_1() @@ -769,12 +698,11 @@ switch(curChar) { default : - debugStream.println(" No string literal matches possible."); return 1; } } static final int[] jjnextStates = { - 6, 7, 9, 10, 12, 7, 8, 10, 11, 1, 3, 4, + 11, 12, 13, 4, 6, 7, }; private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2) { @@ -782,6 +710,14 @@ { case 0: return ((jjbitVec2[i2] & l2) != 0L); + case 48: + return ((jjbitVec3[i2] & l2) != 0L); + case 49: + return ((jjbitVec4[i2] & l2) != 0L); + case 51: + return ((jjbitVec5[i2] & l2) != 0L); + case 61: + return ((jjbitVec6[i2] & l2) != 0L); default : if ((jjbitVec0[i1] & l1) != 0L) return true; @@ -793,17 +729,9 @@ switch(hiByte) { case 0: - return ((jjbitVec4[i2] & l2) != 0L); - case 48: - return ((jjbitVec5[i2] & l2) != 0L); - case 49: - return ((jjbitVec6[i2] & l2) != 0L); - case 51: - return ((jjbitVec7[i2] & l2) != 0L); - case 61: return ((jjbitVec8[i2] & l2) != 0L); default : - if ((jjbitVec3[i1] & l1) != 0L) + if ((jjbitVec7[i1] & l1) != 0L) return true; return false; } @@ -814,17 +742,17 @@ "\143\157\155\155\145\156\164", "\144\141\164\145", "\144\145\163\143", "\145\170\160\141\156\144", "\150\145\141\144", "\154\157\143\153\163", "\154\157\147", "\156\145\170\164", "\163\164\141\164\145", "\163\164\162\151\143\164", "\163\171\155\142\157\154\163", -"\164\145\170\164", null, null, null, null, null, null, null, "\73", "\72", "\56", }; +"\164\145\170\164", null, null, null, null, null, null, "\73", "\72", "\56", }; public static final String[] lexStateNames = { "DEFAULT", "PRE_DELTA", }; public static final int[] jjnewLexState = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, }; static final long[] jjtoToken = { - 0xf3ffffc1L, + 0x79ffffc1L, }; static final long[] jjtoSkip = { 0x3eL, @@ -907,7 +835,6 @@ } catch(java.io.IOException e) { - debugStream.println("Returning the <EOF> token."); jjmatchedKind = 0; matchedToken = jjFillToken(); return matchedToken; @@ -918,40 +845,28 @@ case 0: try { input_stream.backup(0); while (curChar <= 32 && (0x100003600L & (1L << curChar)) != 0L) - { - debugStream.println("<" + lexStateNames[curLexState] + ">" + "Skipping character : " + TokenMgrError.addEscapes(String.valueOf(curChar)) + " (" + (int)curChar + ")"); curChar = input_stream.BeginToken(); } - } catch (java.io.IOException e1) { continue EOFLoop; } jjmatchedKind = 0x7fffffff; jjmatchedPos = 0; - debugStream.println("<" + lexStateNames[curLexState] + ">" + "Current character : " + TokenMgrError.addEscapes(String.valueOf(curChar)) + " (" + (int)curChar + ")"); curPos = jjMoveStringLiteralDfa0_0(); break; case 1: try { input_stream.backup(0); while (curChar <= 32 && (0x100003600L & (1L << curChar)) != 0L) - { - debugStream.println("<" + lexStateNames[curLexState] + ">" + "Skipping character : " + TokenMgrError.addEscapes(String.valueOf(curChar)) + " (" + (int)curChar + ")"); curChar = input_stream.BeginToken(); } - } catch (java.io.IOException e1) { continue EOFLoop; } jjmatchedKind = 0x7fffffff; jjmatchedPos = 0; - debugStream.println("<" + lexStateNames[curLexState] + ">" + "Current character : " + TokenMgrError.addEscapes(String.valueOf(curChar)) + " (" + (int)curChar + ")"); curPos = jjMoveStringLiteralDfa0_1(); break; } if (jjmatchedKind != 0x7fffffff) { if (jjmatchedPos + 1 < curPos) - { - debugStream.println(" Putting back " + (curPos - jjmatchedPos - 1) + " characters into the input stream."); input_stream.backup(curPos - jjmatchedPos - 1); - } - debugStream.println("****** FOUND A " + tokenImage[jjmatchedKind] + " MATCH (" + TokenMgrError.addEscapes(new String(input_stream.GetSuffix(jjmatchedPos + 1))) + ") ******\n"); if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) { matchedToken = jjFillToken(); @@ -989,80 +904,4 @@ } } -protected static final int[][][] statesForState = { - { - { 0, 5, 13, }, - { 1 }, - { 2 }, - { 3 }, - { 4 }, - { 0, 5, 13, }, - { 6 }, - { 7, 8, 10, 11, }, - { 7, 8, 10, 11, }, - { 9 }, - { 7, 8, 10, 11, }, - { 7, 8, 10, 11, }, - { 12 }, - { 0, 5, 13, }, - { 7, 8, 10, 11, }, - }, - null, - -}; -protected static final int[][] kindForState = { -{ 25, 25, 25, 25, 25, 22, 22, 22, 22, 23, 23, 23, 28, 22}, -null - -}; - int kindCnt = 0; - protected final String jjKindsForBitVector(int i, long vec) - { - String retVal = ""; - if (i == 0) - kindCnt = 0; - for (int j = 0; j < 64; j++) - { - if ((vec & (1L << j)) != 0L) - { - if (kindCnt++ > 0) - retVal += ", "; - if (kindCnt % 5 == 0) - retVal += "\n "; - retVal += tokenImage[i * 64 + j]; - } - } - return retVal; - } - - protected final String jjKindsForStateVector(int lexState, int[] vec, int start, int end) - { - boolean[] kindDone = new boolean[32]; - String retVal = ""; - int cnt = 0; - for (int i = start; i < end; i++) - { - if (vec[i] == -1) - continue; - int[] stateSet = statesForState[curLexState][vec[i]]; - for (int j = 0; j < stateSet.length; j++) - { - int state = stateSet[j]; - if (!kindDone[kindForState[lexState][state]]) - { - kindDone[kindForState[lexState][state]] = true; - if (cnt++ > 0) - retVal += ", "; - if (cnt % 5 == 0) - retVal += "\n "; - retVal += tokenImage[kindForState[lexState][state]]; - } - } - } - if (cnt == 0) - return "{ }"; - else - return "{ " + retVal + " }"; - } - }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>