You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ju...@apache.org on 2002/09/26 19:43:16 UTC
cvs commit: jakarta-commons-sandbox/jrcs/src/java/org/apache/commons/jrcs/rcs SimpleCharStream.java ArchiveParser.java ArchiveParser.jj ArchiveParserConstants.java ArchiveParserTokenManager.java ASCII_UCodeESC_CharStream.java JavaCharStream.java
juanco 2002/09/26 10:43:15
Modified: jrcs/src/java/org/apache/commons/jrcs/rcs ArchiveParser.java
ArchiveParser.jj ArchiveParserConstants.java
ArchiveParserTokenManager.java
Added: jrcs/src/java/org/apache/commons/jrcs/rcs
SimpleCharStream.java
Removed: jrcs/src/java/org/apache/commons/jrcs/rcs
ASCII_UCodeESC_CharStream.java JavaCharStream.java
Log:
Removed unicode features from parser as RCS files are plain ASCII.
Fixed a LA bug in the grammar that somehow had gone undetected so far.
Revision Changes Path
1.3 +1034 -699 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.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ArchiveParser.java 14 Jun 2002 01:32:15 -0000 1.2
+++ ArchiveParser.java 26 Sep 2002 17:43:15 -0000 1.3
@@ -1,11 +1,11 @@
-/* Generated By:JavaCC: Do not edit this line. ArchiveParser.java */
-package org.apache.commons.jrcs.rcs;
-
-import java.util.Map;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-
+/* Generated By:JavaCC: Do not edit this line. ArchiveParser.java */
+package org.apache.commons.jrcs.rcs;
+
+import java.util.Map;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+
/**
* Parses an RCS/CVS style version control archive into an Archive.
* This class is NOT thread safe.
@@ -13,695 +13,1030 @@
* @author <a href="mailto:juanco@suigeneris.org">Juanco Anez</a>
* @version $Id$
* @see Archive
- */
-class ArchiveParser implements ArchiveParserConstants {
-
- static final String ident = "RCS ArchiveParser Parser $version$:";
-
- public static void main(String args[]) {
- ArchiveParser parser;
- if (args.length == 0)
- {
- System.out.println(ident + " Reading from standard input . . .");
- parser = new ArchiveParser(System.in);
- }
- else if (args.length == 1)
- {
- System.out.println(ident + " Reading from file " + args[0] + " . . .");
- try
- {
- parser = new ArchiveParser(new FileInputStream(args[0]));
- }
- catch (java.io.FileNotFoundException e)
- {
- System.out.println(ident + " File " + args[0] + " not found.");
- return;
- }
- }
- else
- {
- System.out.println(ident+" Usage is one of:");
- System.out.println(" java ArchiveParser < inputfile");
- System.out.println("OR");
- System.out.println(" java ArchiveParser inputfile");
- return;
- }
- parser.parse();
- }
-
- public static void load(Archive arc, InputStream input) throws ParseException
- {
- ArchiveParser parser = new ArchiveParser(input);
- parser.archive(arc);
- }
-
- public static void load(Archive arc, String fname) throws FileNotFoundException, ParseException
- {
- load(arc, new FileInputStream(fname) );
- }
-
- public void parse()
- {
- try
- {
- archive(null);
- System.out.println("RCS ArchiveParser Parser version 1.1: RCS ArchiveParser parsed successfully.");
- }
- catch (ParseException e)
- {
- System.out.println("RCS ArchiveParser Parser version 1.1: Encountered errors during parse.");
- }
- }
-
+ */
+class ArchiveParser implements ArchiveParserConstants {
+
+ static final String ident = "RCS ArchiveParser Parser $version$:";
+
+ public static void main(String args[]) {
+ ArchiveParser parser;
+ if (args.length == 0)
+ {
+ System.out.println(ident + " Reading from standard input . . .");
+ parser = new ArchiveParser(System.in);
+ }
+ else if (args.length == 1)
+ {
+ System.out.println(ident + " Reading from file " + args[0] + " . . .");
+ try
+ {
+ parser = new ArchiveParser(new FileInputStream(args[0]));
+ }
+ catch (java.io.FileNotFoundException e)
+ {
+ System.out.println(ident + " File " + args[0] + " not found.");
+ return;
+ }
+ }
+ else
+ {
+ System.out.println(ident+" Usage is one of:");
+ System.out.println(" java ArchiveParser < inputfile");
+ System.out.println("OR");
+ System.out.println(" java ArchiveParser inputfile");
+ return;
+ }
+ parser.parse();
+ }
+
+ public static void load(Archive arc, InputStream input) throws ParseException
+ {
+ ArchiveParser parser = new ArchiveParser(input);
+ parser.archive(arc);
+ }
+
+ public static void load(Archive arc, String fname) throws FileNotFoundException, ParseException
+ {
+ load(arc, new FileInputStream(fname) );
+ }
+
+ public void parse()
+ {
+ try
+ {
+ archive(null);
+ System.out.println("RCS ArchiveParser Parser version 1.1: RCS ArchiveParser parsed successfully.");
+ }
+ catch (ParseException e)
+ {
+ System.out.println("RCS ArchiveParser Parser version 1.1: Encountered errors during parse.");
+ }
+ }
+
/**
* PARSER STARTS HERE
-*/
- final public void archive(Archive arc) throws ParseException {
- admin(arc);
- label_1:
- while (true) {
- switch (jj_nt.kind) {
- case NUM:
- ;
- break;
- default:
- break label_1;
- }
- delta(arc);
- }
- desc(arc);
- label_2:
- while (true) {
- switch (jj_nt.kind) {
- case NUM:
- ;
- break;
- default:
- break label_2;
- }
- text(arc);
- }
- jj_consume_token(0);
- }
-
- final public void admin(Archive arc) throws ParseException {
- head(arc);
- switch (jj_nt.kind) {
- case BRANCH:
- branch(arc);
- break;
- default:
- ;
- }
- access(arc);
- symbols(arc);
- locks(arc);
- optionals(arc);
- }
-
- final public void optionals(Archive arc) throws ParseException {
- label_3:
- while (true) {
- switch (jj_nt.kind) {
- case COMMENT:
- case EXPAND:
- case ID:
- ;
- break;
- default:
- break label_3;
- }
- switch (jj_nt.kind) {
- case COMMENT:
- comment(arc);
- break;
- case EXPAND:
- expand(arc);
- break;
- case ID:
- newPhrase(arc.phrases);
- break;
- default:
- jj_consume_token(-1);
- throw new ParseException();
- }
- }
- }
-
- final public void newPhrases(Map map) throws ParseException {
- label_4:
- while (true) {
- switch (jj_nt.kind) {
- case ID:
- ;
- break;
- default:
- break label_4;
- }
- newPhrase(map);
- }
- }
-
- final public void head(Archive arc) throws ParseException {
- Version v;
- jj_consume_token(HEAD);
- switch (jj_nt.kind) {
- case NUM:
- v = version();
- arc.setHead(v);
- break;
- default:
- ;
- }
- jj_consume_token(28);
- }
-
- final public void branch(Archive arc) throws ParseException {
- Version v;
- jj_consume_token(BRANCH);
- switch (jj_nt.kind) {
- case NUM:
- v = version();
- arc.setBranch(v);
- break;
- default:
- ;
- }
- jj_consume_token(28);
- }
-
- final public void access(Archive arc) throws ParseException {
- String name;
- jj_consume_token(ACCESS);
- label_5:
- while (true) {
- switch (jj_nt.kind) {
- case ID:
- ;
- break;
- default:
- break label_5;
- }
- name = id();
- arc.addUser(name);
- }
- jj_consume_token(28);
- }
-
- final public void symbols(Archive arc) throws ParseException {
- String s;
- Version v;
- jj_consume_token(SYMBOLS);
- label_6:
- while (true) {
- switch (jj_nt.kind) {
- case ID:
- case SYM:
- ;
- break;
- default:
- break label_6;
- }
- s = sym();
- jj_consume_token(29);
- v = version();
- arc.addSymbol(s, v);
- }
- jj_consume_token(28);
- }
-
- final public void locks(Archive arc) throws ParseException {
- String name;
- Version v;
- jj_consume_token(LOCKS);
- label_7:
- while (true) {
- switch (jj_nt.kind) {
- case ID:
- ;
- break;
- default:
- break label_7;
- }
- name = id();
- jj_consume_token(29);
- v = version();
- arc.addLock(name, v);
- }
- jj_consume_token(28);
- switch (jj_nt.kind) {
- case STRICT:
- jj_consume_token(STRICT);
- jj_consume_token(28);
- arc.setStrictLocking(true);
- break;
- default:
- ;
- }
- }
-
- final public void comment(Archive arc) throws ParseException {
- String s;
- jj_consume_token(COMMENT);
- switch (jj_nt.kind) {
- case STRING:
- s = string();
- arc.setComment(s);
- break;
- default:
- ;
- }
- jj_consume_token(28);
- }
-
- final public void expand(Archive arc) throws ParseException {
- String s;
- jj_consume_token(EXPAND);
- switch (jj_nt.kind) {
- case STRING:
- s = string();
- arc.setExpand(s);
- break;
- default:
- ;
- }
- jj_consume_token(28);
- }
-
- final public void newPhrase(Map map) throws ParseException {
- String key;
- String value;
- StringBuffer values = new StringBuffer();
- key = id();
- label_8:
- while (true) {
- switch (jj_nt.kind) {
- case ID:
- case STRING:
- case NUM:
- ;
- break;
- default:
- break label_8;
- }
- value = word();
- values.append(" " + value);
- }
- jj_consume_token(28);
- if (map != null) map.put(key, values.toString());
- }
-
- final public String word() throws ParseException {
- String result;
- if (jj_2_1(2)) {
- result = pair();
- } else {
- switch (jj_nt.kind) {
- case ID:
- case STRING:
- case NUM:
- result = simpleWord();
- break;
- default:
- jj_consume_token(-1);
- throw new ParseException();
- }
- }
- {if (true) return result;}
- throw new Error("Missing return statement in function");
- }
-
- final public String simpleWord() throws ParseException {
- String result;
- Version v;
- switch (jj_nt.kind) {
- case ID:
- result = id();
- break;
- case NUM:
- v = version();
- result = v.toString();
- break;
- case STRING:
- result = string();
- break;
- default:
- jj_consume_token(-1);
- throw new ParseException();
- }
- {if (true) return result;}
- throw new Error("Missing return statement in function");
- }
-
- final public String pair() throws ParseException {
- String left;
- String right;
- left = simpleWord();
- jj_consume_token(29);
- right = simpleWord();
- {if (true) return left + ":" + right;}
- throw new Error("Missing return statement in function");
- }
-
- final public void desc(Archive arc) throws ParseException {
- String s;
- jj_consume_token(DESC);
- s = string();
- arc.setDesc(s);
- }
-
- final public void delta(Archive arc) throws ParseException {
- Version v;
- Node node;
- int[] d;
- String s;
- v = version();
- node = arc.newNode(v);
- jj_consume_token(DATE);
- d = date();
- node.setDate(d);
- jj_consume_token(28);
- jj_consume_token(AUTHOR);
- s = id();
- node.setAuthor(s);
- jj_consume_token(28);
- jj_consume_token(STATE);
- switch (jj_nt.kind) {
- case ID:
- s = id();
- node.setState(s);
- break;
- default:
- ;
- }
- jj_consume_token(28);
- jj_consume_token(BRANCHES);
- label_9:
- while (true) {
- switch (jj_nt.kind) {
- case NUM:
- ;
- break;
- default:
- break label_9;
- }
- v = version();
- node.addBranch(arc.newBranchNode(v));
- }
- jj_consume_token(28);
- jj_consume_token(NEXT);
- switch (jj_nt.kind) {
- case NUM:
- v = version();
- node.setRCSNext(arc.newNode(v));
- break;
- default:
- ;
- }
- jj_consume_token(28);
- newPhrases(node.phrases);
- }
-
- final public void text(Archive arc) throws ParseException {
- Version v;
- Node node;
- String log;
- String txt;
- v = version();
- node = arc.getNode(v);
- jj_consume_token(LOG);
- log = string();
- node.setLog(log);
- newPhrases(node.phrases);
- jj_consume_token(TEXT);
- txt = string();
- node.setText(txt);
- }
-
- final public String id() throws ParseException {
- Token t;
- t = jj_consume_token(ID);
- {if (true) return t.image;}
- throw new Error("Missing return statement in function");
- }
-
- final public String sym() throws ParseException {
- Token t;
- switch (jj_nt.kind) {
- case SYM:
- t = jj_consume_token(SYM);
- break;
- case ID:
- t = jj_consume_token(ID);
- break;
- default:
- jj_consume_token(-1);
- throw new ParseException();
- }
- {if (true) return t.image;}
- throw new Error("Missing return statement in function");
- }
-
- final public Version version() throws ParseException {
- Version v;
- int n, r;
- n = num();
- v = new Version(n);
- label_10:
- while (true) {
- switch (jj_nt.kind) {
- case 30:
- ;
- break;
- default:
- break label_10;
- }
- jj_consume_token(30);
- n = num();
- v.__addBranch(n);
- }
- {if (true) return v;}
- throw new Error("Missing return statement in function");
- }
-
- final public int[] date() throws ParseException {
- int[] n = new int[6];
- n[0] = num();
- jj_consume_token(30);
- n[1] = num();
- jj_consume_token(30);
- n[2] = num();
- jj_consume_token(30);
- n[3] = num();
- jj_consume_token(30);
- n[4] = num();
- jj_consume_token(30);
- n[5] = num();
- {if (true) return n;}
- throw new Error("Missing return statement in function");
- }
-
- final public int num() throws ParseException {
- Token t;
- t = jj_consume_token(NUM);
- {if (true) return Integer.parseInt(t.image);}
- throw new Error("Missing return statement in function");
- }
-
- final public String string() throws ParseException {
- Token t;
- t = jj_consume_token(STRING);
- {if (true) return Archive.unquoteString(t.image);}
- throw new Error("Missing return statement in function");
- }
-
- final private boolean jj_2_1(int xla) {
- jj_la = xla; jj_lastpos = jj_scanpos = token;
- return !jj_3_1();
- }
-
- final private boolean jj_3R_15() {
- if (jj_3R_18()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
- final private boolean jj_3R_14() {
- if (jj_3R_17()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
- final private boolean jj_3R_20() {
- if (jj_scan_token(30)) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
- final private boolean jj_3R_13() {
- if (jj_3R_16()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
- final private boolean jj_3R_12() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_13()) {
- jj_scanpos = xsp;
- if (jj_3R_14()) {
- jj_scanpos = xsp;
- if (jj_3R_15()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
- final private boolean jj_3R_18() {
- if (jj_scan_token(STRING)) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
- final private boolean jj_3R_17() {
- if (jj_3R_19()) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_20()) { jj_scanpos = xsp; break; }
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- }
- return false;
- }
-
- 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(29)) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- return false;
- }
-
- final private boolean jj_3R_19() {
- if (jj_scan_token(NUM)) return true;
- if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
- 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;
- private Token jj_scanpos, jj_lastpos;
- private int jj_la;
- public boolean lookingAhead = false;
- private boolean jj_semLA;
-
- public ArchiveParser(java.io.InputStream stream) {
- jj_input_stream = new JavaCharStream(stream, 1, 1);
- token_source = new ArchiveParserTokenManager(jj_input_stream);
- token = new Token();
- token.next = jj_nt = token_source.getNextToken();
- }
-
- public void ReInit(java.io.InputStream stream) {
- jj_input_stream.ReInit(stream, 1, 1);
- token_source.ReInit(jj_input_stream);
- token = new Token();
- token.next = jj_nt = token_source.getNextToken();
- }
-
- public ArchiveParser(java.io.Reader stream) {
- jj_input_stream = new JavaCharStream(stream, 1, 1);
- token_source = new ArchiveParserTokenManager(jj_input_stream);
- token = new Token();
- token.next = jj_nt = token_source.getNextToken();
- }
-
- public void ReInit(java.io.Reader stream) {
- jj_input_stream.ReInit(stream, 1, 1);
- token_source.ReInit(jj_input_stream);
- token = new Token();
- token.next = jj_nt = token_source.getNextToken();
- }
-
- public ArchiveParser(ArchiveParserTokenManager tm) {
- token_source = tm;
- token = new Token();
- token.next = jj_nt = token_source.getNextToken();
- }
-
- public void ReInit(ArchiveParserTokenManager tm) {
- token_source = tm;
- token = new Token();
- token.next = jj_nt = token_source.getNextToken();
- }
-
- final private Token jj_consume_token(int kind) throws ParseException {
- Token oldToken = token;
- if ((token = jj_nt).next != null) jj_nt = jj_nt.next;
- else jj_nt = jj_nt.next = token_source.getNextToken();
- if (token.kind == kind) {
- return token;
- }
- jj_nt = token;
- token = oldToken;
- throw generateParseException();
- }
-
- final private boolean jj_scan_token(int kind) {
- if (jj_scanpos == jj_lastpos) {
- jj_la--;
- if (jj_scanpos.next == null) {
- jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
- } else {
- jj_lastpos = jj_scanpos = jj_scanpos.next;
- }
- } else {
- jj_scanpos = jj_scanpos.next;
- }
- return (jj_scanpos.kind != kind);
- }
-
- final public Token getNextToken() {
- if ((token = jj_nt).next != null) jj_nt = jj_nt.next;
- else jj_nt = jj_nt.next = token_source.getNextToken();
- return token;
- }
-
- final public Token getToken(int index) {
- Token t = lookingAhead ? jj_scanpos : token;
- for (int i = 0; i < index; i++) {
- if (t.next != null) t = t.next;
- else t = t.next = token_source.getNextToken();
- }
- return t;
- }
-
- final public ParseException generateParseException() {
- Token errortok = token.next;
- int line = errortok.beginLine, column = errortok.beginColumn;
- String mess = (errortok.kind == 0) ? tokenImage[0] : errortok.image;
- return new ParseException("Parse error at line " + line + ", column " + column + ". Encountered: " + mess);
- }
-
- final public void enable_tracing() {
- }
-
- final public void disable_tracing() {
- }
-
-}
+*/
+ final public void archive(Archive arc) throws ParseException {
+ admin(arc);
+ label_1:
+ while (true) {
+ if (jj_2_1(3)) {
+ ;
+ } else {
+ break label_1;
+ }
+ delta(arc);
+ }
+ desc(arc);
+ label_2:
+ while (true) {
+ if (jj_2_2(3)) {
+ ;
+ } else {
+ break label_2;
+ }
+ text(arc);
+ }
+ jj_consume_token(0);
+ }
+
+ final public void admin(Archive arc) throws ParseException {
+ head(arc);
+ if (jj_2_3(3)) {
+ branch(arc);
+ } else {
+ ;
+ }
+ access(arc);
+ symbols(arc);
+ locks(arc);
+ optionals(arc);
+ }
+
+ final public void optionals(Archive arc) throws ParseException {
+ label_3:
+ while (true) {
+ if (jj_2_4(3)) {
+ ;
+ } else {
+ break label_3;
+ }
+ if (jj_2_5(3)) {
+ comment(arc);
+ } else if (jj_2_6(3)) {
+ expand(arc);
+ } else if (jj_2_7(3)) {
+ newPhrase(arc.phrases);
+ } else {
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ }
+ }
+
+ final public void newPhrases(Map map) throws ParseException {
+ label_4:
+ while (true) {
+ if (jj_2_8(3)) {
+ ;
+ } else {
+ break label_4;
+ }
+ newPhrase(map);
+ }
+ }
+
+ final public void head(Archive arc) throws ParseException {
+ Version v;
+ jj_consume_token(HEAD);
+ if (jj_2_9(3)) {
+ v = version();
+ arc.setHead(v);
+ } else {
+ ;
+ }
+ jj_consume_token(28);
+ }
+
+ final public void branch(Archive arc) throws ParseException {
+ Version v;
+ jj_consume_token(BRANCH);
+ if (jj_2_10(3)) {
+ v = version();
+ arc.setBranch(v);
+ } else {
+ ;
+ }
+ jj_consume_token(28);
+ }
+
+ final public void access(Archive arc) throws ParseException {
+ String name;
+ jj_consume_token(ACCESS);
+ label_5:
+ while (true) {
+ if (jj_2_11(3)) {
+ ;
+ } else {
+ break label_5;
+ }
+ name = id();
+ arc.addUser(name);
+ }
+ jj_consume_token(28);
+ }
+
+ final public void symbols(Archive arc) throws ParseException {
+ String s;
+ Version v;
+ jj_consume_token(SYMBOLS);
+ label_6:
+ while (true) {
+ if (jj_2_12(3)) {
+ ;
+ } else {
+ break label_6;
+ }
+ s = sym();
+ jj_consume_token(29);
+ v = version();
+ arc.addSymbol(s, v);
+ }
+ jj_consume_token(28);
+ }
+
+ final public void locks(Archive arc) throws ParseException {
+ String name;
+ Version v;
+ jj_consume_token(LOCKS);
+ label_7:
+ while (true) {
+ if (jj_2_13(3)) {
+ ;
+ } else {
+ break label_7;
+ }
+ name = id();
+ jj_consume_token(29);
+ v = version();
+ arc.addLock(name, v);
+ }
+ jj_consume_token(28);
+ if (jj_2_14(3)) {
+ jj_consume_token(STRICT);
+ jj_consume_token(28);
+ arc.setStrictLocking(true);
+ } else {
+ ;
+ }
+ }
+
+ final public void comment(Archive arc) throws ParseException {
+ String s;
+ jj_consume_token(COMMENT);
+ if (jj_2_15(3)) {
+ s = string();
+ arc.setComment(s);
+ } else {
+ ;
+ }
+ jj_consume_token(28);
+ }
+
+ final public void expand(Archive arc) throws ParseException {
+ String s;
+ jj_consume_token(EXPAND);
+ if (jj_2_16(3)) {
+ s = string();
+ arc.setExpand(s);
+ } else {
+ ;
+ }
+ jj_consume_token(28);
+ }
+
+ final public void newPhrase(Map map) throws ParseException {
+ String key;
+ String value;
+ StringBuffer values = new StringBuffer();
+ key = id();
+ label_8:
+ while (true) {
+ if (jj_2_17(3)) {
+ ;
+ } else {
+ break label_8;
+ }
+ value = word();
+ values.append(" " + value);
+ }
+ jj_consume_token(28);
+ if (map != null) map.put(key, values.toString());
+ }
+
+ final public String word() throws ParseException {
+ String result;
+ if (jj_2_18(2)) {
+ result = pair();
+ } else if (jj_2_19(3)) {
+ result = simpleWord();
+ } else {
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ {if (true) return result;}
+ throw new Error("Missing return statement in function");
+ }
+
+ final public String simpleWord() throws ParseException {
+ String result;
+ Version v;
+ if (jj_2_20(3)) {
+ result = id();
+ } else if (jj_2_21(3)) {
+ v = version();
+ result = v.toString();
+ } else if (jj_2_22(3)) {
+ result = string();
+ } else {
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ {if (true) return result;}
+ throw new Error("Missing return statement in function");
+ }
+
+ final public String pair() throws ParseException {
+ String left;
+ String right;
+ left = simpleWord();
+ jj_consume_token(29);
+ right = simpleWord();
+ {if (true) return left + ":" + right;}
+ throw new Error("Missing return statement in function");
+ }
+
+ final public void desc(Archive arc) throws ParseException {
+ String s;
+ jj_consume_token(DESC);
+ s = string();
+ arc.setDesc(s);
+ }
+
+ final public void delta(Archive arc) throws ParseException {
+ Version v;
+ Node node;
+ int[] d;
+ String s;
+ v = version();
+ node = arc.newNode(v);
+ jj_consume_token(DATE);
+ d = date();
+ node.setDate(d);
+ jj_consume_token(28);
+ jj_consume_token(AUTHOR);
+ s = id();
+ node.setAuthor(s);
+ jj_consume_token(28);
+ jj_consume_token(STATE);
+ if (jj_2_23(3)) {
+ s = id();
+ node.setState(s);
+ } else {
+ ;
+ }
+ jj_consume_token(28);
+ jj_consume_token(BRANCHES);
+ label_9:
+ while (true) {
+ if (jj_2_24(3)) {
+ ;
+ } else {
+ break label_9;
+ }
+ v = version();
+ node.addBranch(arc.newBranchNode(v));
+ }
+ jj_consume_token(28);
+ jj_consume_token(NEXT);
+ if (jj_2_25(3)) {
+ v = version();
+ node.setRCSNext(arc.newNode(v));
+ } else {
+ ;
+ }
+ jj_consume_token(28);
+ newPhrases(node.phrases);
+ }
+
+ final public void text(Archive arc) throws ParseException {
+ Version v;
+ Node node;
+ String log;
+ String txt;
+ v = version();
+ node = arc.getNode(v);
+ jj_consume_token(LOG);
+ log = string();
+ node.setLog(log);
+ newPhrases(node.phrases);
+ jj_consume_token(TEXT);
+ txt = string();
+ node.setText(txt);
+ }
+
+ final public String id() throws ParseException {
+ Token t;
+ t = jj_consume_token(ID);
+ {if (true) return t.image;}
+ throw new Error("Missing return statement in function");
+ }
+
+ final public String sym() throws ParseException {
+ Token t;
+ if (jj_2_26(3)) {
+ t = jj_consume_token(SYM);
+ } else if (jj_2_27(3)) {
+ t = jj_consume_token(ID);
+ } else {
+ jj_consume_token(-1);
+ throw new ParseException();
+ }
+ {if (true) return t.image;}
+ throw new Error("Missing return statement in function");
+ }
+
+ final public Version version() throws ParseException {
+ Version v;
+ int n, r;
+ n = num();
+ v = new Version(n);
+ label_10:
+ while (true) {
+ if (jj_2_28(3)) {
+ ;
+ } else {
+ break label_10;
+ }
+ jj_consume_token(30);
+ n = num();
+ v.__addBranch(n);
+ }
+ {if (true) return v;}
+ throw new Error("Missing return statement in function");
+ }
+
+ final public int[] date() throws ParseException {
+ int[] n = new int[6];
+ n[0] = num();
+ jj_consume_token(30);
+ n[1] = num();
+ jj_consume_token(30);
+ n[2] = num();
+ jj_consume_token(30);
+ n[3] = num();
+ jj_consume_token(30);
+ n[4] = num();
+ jj_consume_token(30);
+ n[5] = num();
+ {if (true) return n;}
+ throw new Error("Missing return statement in function");
+ }
+
+ final public int num() throws ParseException {
+ Token t;
+ t = jj_consume_token(NUM);
+ {if (true) return Integer.parseInt(t.image);}
+ throw new Error("Missing return statement in function");
+ }
+
+ final public String string() throws ParseException {
+ Token t;
+ t = jj_consume_token(STRING);
+ {if (true) return Archive.unquoteString(t.image);}
+ throw new Error("Missing return statement in function");
+ }
+
+ final private boolean jj_2_1(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_1();
+ }
+
+ final private boolean jj_2_2(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_2();
+ }
+
+ final private boolean jj_2_3(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_3();
+ }
+
+ final private boolean jj_2_4(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_4();
+ }
+
+ final private boolean jj_2_5(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_5();
+ }
+
+ final private boolean jj_2_6(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_6();
+ }
+
+ final private boolean jj_2_7(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_7();
+ }
+
+ final private boolean jj_2_8(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_8();
+ }
+
+ final private boolean jj_2_9(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_9();
+ }
+
+ final private boolean jj_2_10(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_10();
+ }
+
+ final private boolean jj_2_11(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_11();
+ }
+
+ final private boolean jj_2_12(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_12();
+ }
+
+ final private boolean jj_2_13(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_13();
+ }
+
+ final private boolean jj_2_14(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_14();
+ }
+
+ final private boolean jj_2_15(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_15();
+ }
+
+ final private boolean jj_2_16(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_16();
+ }
+
+ final private boolean jj_2_17(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_17();
+ }
+
+ final private boolean jj_2_18(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_18();
+ }
+
+ final private boolean jj_2_19(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_19();
+ }
+
+ final private boolean jj_2_20(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_20();
+ }
+
+ final private boolean jj_2_21(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_21();
+ }
+
+ final private boolean jj_2_22(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_22();
+ }
+
+ final private boolean jj_2_23(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_23();
+ }
+
+ final private boolean jj_2_24(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_24();
+ }
+
+ final private boolean jj_2_25(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_25();
+ }
+
+ final private boolean jj_2_26(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_26();
+ }
+
+ final private boolean jj_2_27(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_27();
+ }
+
+ final private boolean jj_2_28(int xla) {
+ jj_la = xla; jj_lastpos = jj_scanpos = token;
+ return !jj_3_28();
+ }
+
+ final private boolean jj_3R_24() {
+ if (jj_scan_token(NUM)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_11() {
+ if (jj_3R_17()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(DATE)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_25()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_9() {
+ if (jj_3R_17()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_13() {
+ if (jj_scan_token(BRANCH)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_10()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(28)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_22() {
+ if (jj_3R_23()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(29)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_23()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_20() {
+ if (jj_scan_token(STRING)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_8() {
+ if (jj_3R_16()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_7() {
+ if (jj_3R_16()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_6() {
+ if (jj_3R_15()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_4() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_5()) {
+ jj_scanpos = xsp;
+ if (jj_3_6()) {
+ jj_scanpos = xsp;
+ if (jj_3_7()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_5() {
+ if (jj_3R_14()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_18() {
+ if (jj_scan_token(ID)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_25() {
+ if (jj_3R_24()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_22() {
+ if (jj_3R_20()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_21() {
+ if (jj_3R_17()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_20() {
+ if (jj_3R_18()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_23() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_20()) {
+ jj_scanpos = xsp;
+ if (jj_3_21()) {
+ jj_scanpos = xsp;
+ if (jj_3_22()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_3() {
+ if (jj_3R_13()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_28() {
+ if (jj_scan_token(30)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_24()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_17() {
+ if (jj_3R_24()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_28()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ return false;
+ }
+
+ final private boolean jj_3_2() {
+ if (jj_3R_12()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_19() {
+ if (jj_3R_23()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ 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_3_18() {
+ if (jj_3R_22()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_21() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_18()) {
+ jj_scanpos = xsp;
+ if (jj_3_19()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_27() {
+ if (jj_scan_token(ID)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_26() {
+ if (jj_scan_token(SYM)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_19() {
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_26()) {
+ jj_scanpos = xsp;
+ if (jj_3_27()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_17() {
+ if (jj_3R_21()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_16() {
+ if (jj_3R_20()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_16() {
+ if (jj_3R_18()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ while (true) {
+ xsp = jj_scanpos;
+ if (jj_3_17()) { jj_scanpos = xsp; break; }
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ }
+ if (jj_scan_token(28)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_15() {
+ if (jj_3R_20()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_15() {
+ if (jj_scan_token(EXPAND)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_16()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(28)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_13() {
+ if (jj_3R_18()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(29)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_17()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_14() {
+ if (jj_scan_token(COMMENT)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ Token xsp;
+ xsp = jj_scanpos;
+ if (jj_3_15()) jj_scanpos = xsp;
+ else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(28)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_12() {
+ if (jj_3R_19()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(29)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_17()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_25() {
+ if (jj_3R_17()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_24() {
+ if (jj_3R_17()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3R_12() {
+ if (jj_3R_17()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(LOG)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_3R_20()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_23() {
+ if (jj_3R_18()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_14() {
+ if (jj_scan_token(STRICT)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ if (jj_scan_token(28)) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_11() {
+ if (jj_3R_18()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ final private boolean jj_3_10() {
+ if (jj_3R_17()) return true;
+ if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
+ return false;
+ }
+
+ public ArchiveParserTokenManager token_source;
+ SimpleCharStream jj_input_stream;
+ public Token token, jj_nt;
+ private Token jj_scanpos, jj_lastpos;
+ private int jj_la;
+ public boolean lookingAhead = false;
+ private boolean jj_semLA;
+
+ public ArchiveParser(java.io.InputStream stream) {
+ jj_input_stream = new SimpleCharStream(stream, 1, 1);
+ token_source = new ArchiveParserTokenManager(jj_input_stream);
+ token = new Token();
+ token.next = jj_nt = token_source.getNextToken();
+ }
+
+ public void ReInit(java.io.InputStream stream) {
+ jj_input_stream.ReInit(stream, 1, 1);
+ token_source.ReInit(jj_input_stream);
+ token = new Token();
+ token.next = jj_nt = token_source.getNextToken();
+ }
+
+ public ArchiveParser(java.io.Reader stream) {
+ jj_input_stream = new SimpleCharStream(stream, 1, 1);
+ token_source = new ArchiveParserTokenManager(jj_input_stream);
+ token = new Token();
+ token.next = jj_nt = token_source.getNextToken();
+ }
+
+ public void ReInit(java.io.Reader stream) {
+ jj_input_stream.ReInit(stream, 1, 1);
+ token_source.ReInit(jj_input_stream);
+ token = new Token();
+ token.next = jj_nt = token_source.getNextToken();
+ }
+
+ public ArchiveParser(ArchiveParserTokenManager tm) {
+ token_source = tm;
+ token = new Token();
+ token.next = jj_nt = token_source.getNextToken();
+ }
+
+ public void ReInit(ArchiveParserTokenManager tm) {
+ token_source = tm;
+ token = new Token();
+ token.next = jj_nt = token_source.getNextToken();
+ }
+
+ final private Token jj_consume_token(int kind) throws ParseException {
+ Token oldToken = token;
+ if ((token = jj_nt).next != null) jj_nt = jj_nt.next;
+ else jj_nt = jj_nt.next = token_source.getNextToken();
+ if (token.kind == kind) {
+ return token;
+ }
+ jj_nt = token;
+ token = oldToken;
+ throw generateParseException();
+ }
+
+ final private boolean jj_scan_token(int kind) {
+ if (jj_scanpos == jj_lastpos) {
+ jj_la--;
+ if (jj_scanpos.next == null) {
+ jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
+ } else {
+ jj_lastpos = jj_scanpos = jj_scanpos.next;
+ }
+ } else {
+ jj_scanpos = jj_scanpos.next;
+ }
+ return (jj_scanpos.kind != kind);
+ }
+
+ final public Token getNextToken() {
+ if ((token = jj_nt).next != null) jj_nt = jj_nt.next;
+ else jj_nt = jj_nt.next = token_source.getNextToken();
+ return token;
+ }
+
+ final public Token getToken(int index) {
+ Token t = lookingAhead ? jj_scanpos : token;
+ for (int i = 0; i < index; i++) {
+ if (t.next != null) t = t.next;
+ else t = t.next = token_source.getNextToken();
+ }
+ return t;
+ }
+
+ final public ParseException generateParseException() {
+ Token errortok = token.next;
+ int line = errortok.beginLine, column = errortok.beginColumn;
+ String mess = (errortok.kind == 0) ? tokenImage[0] : errortok.image;
+ return new ParseException("Parse error at line " + line + ", column " + column + ". Encountered: " + mess);
+ }
+
+ final public void enable_tracing() {
+ }
+
+ final public void disable_tracing() {
+ }
+
+}
1.3 +10 -30 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.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ArchiveParser.jj 14 Jun 2002 01:32:15 -0000 1.2
+++ ArchiveParser.jj 26 Sep 2002 17:43:15 -0000 1.3
@@ -64,9 +64,9 @@
DEBUG_LOOKAHEAD=false;
DEBUG_PARSER=false;
ERROR_REPORTING=false;
-FORCE_LA_CHECK=false;
+FORCE_LA_CHECK=true;
IGNORE_CASE=false;
-JAVA_UNICODE_ESCAPE=true;
+JAVA_UNICODE_ESCAPE=false; // RCS files are plain ASCII
LOOKAHEAD=1;
OTHER_AMBIGUITY_CHECK=1;
SANITY_CHECK=true;
@@ -210,26 +210,7 @@
< STRING: "@" ( ~["@"] | "@@" )* "@" >
|
< #IDCHAR:
- [
- "\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",
- "\u0100"-"\u1fff",
- "\u3040"-"\u318f",
- "\u3300"-"\u337f",
- "\u3400"-"\u3d2d",
- "\u4e00"-"\u9fff",
- "\uf900"-"\ufaff"
- ]
+ ["A"-"Z","a"-"z","-","_"]
>
|
< #DIGIT: ["0"-"9"] >
@@ -338,12 +319,12 @@
}
String word():
-{ String result; }
+{ String result, right; }
{ (
LOOKAHEAD(2)
result = pair()
|
- result = simpleWord()
+ result = simpleWord() [ right = range() { result = result + right; } ]
)
{return result;}
}
@@ -364,14 +345,13 @@
{ return result; }
}
-String pair() :
+String range() :
{
- String left;
- String right;
+ String rightSide;
}
{
- left = simpleWord() ":" right = simpleWord()
- { return left + ":" + right; }
+ ":" rightSide = simpleWord()
+ { return ":" + rightSide; }
}
void desc(Archive arc) :
1.3 +67 -67 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.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ArchiveParserConstants.java 14 Jun 2002 01:32:15 -0000 1.2
+++ ArchiveParserConstants.java 26 Sep 2002 17:43:15 -0000 1.3
@@ -1,67 +1,67 @@
-/* Generated By:JavaCC: Do not edit this line. ArchiveParserConstants.java */
-package org.apache.commons.jrcs.rcs;
-
-public interface ArchiveParserConstants {
-
- int EOF = 0;
- int ACCESS = 6;
- int AUTHOR = 7;
- int BRANCH = 8;
- int BRANCHES = 9;
- int COMMENT = 10;
- int DATE = 11;
- int DESC = 12;
- int EXPAND = 13;
- int HEAD = 14;
- int LOCKS = 15;
- int LOG = 16;
- int NEXT = 17;
- int STATE = 18;
- int STRICT = 19;
- int SYMBOLS = 20;
- int TEXT = 21;
- int ID = 22;
- int SYM = 23;
- int STRING = 24;
- int IDCHAR = 25;
- int DIGIT = 26;
- int NUM = 27;
-
- int DEFAULT = 0;
- int PRE_DELTA = 1;
-
- String[] tokenImage = {
- "<EOF>",
- "\" \"",
- "\"\\n\"",
- "\"\\t\"",
- "\"\\r\"",
- "\"\\f\"",
- "\"access\"",
- "\"author\"",
- "\"branch\"",
- "\"branches\"",
- "\"comment\"",
- "\"date\"",
- "\"desc\"",
- "\"expand\"",
- "\"head\"",
- "\"locks\"",
- "\"log\"",
- "\"next\"",
- "\"state\"",
- "\"strict\"",
- "\"symbols\"",
- "\"text\"",
- "<ID>",
- "<SYM>",
- "<STRING>",
- "<IDCHAR>",
- "<DIGIT>",
- "<NUM>",
- "\";\"",
- "\":\"",
- "\".\"",
- };
-
-}
+/* Generated By:JavaCC: Do not edit this line. ArchiveParserConstants.java */
+package org.apache.commons.jrcs.rcs;
+
+public interface ArchiveParserConstants {
+
+ int EOF = 0;
+ int ACCESS = 6;
+ int AUTHOR = 7;
+ int BRANCH = 8;
+ int BRANCHES = 9;
+ int COMMENT = 10;
+ int DATE = 11;
+ int DESC = 12;
+ int EXPAND = 13;
+ int HEAD = 14;
+ int LOCKS = 15;
+ int LOG = 16;
+ int NEXT = 17;
+ int STATE = 18;
+ int STRICT = 19;
+ int SYMBOLS = 20;
+ int TEXT = 21;
+ int ID = 22;
+ int SYM = 23;
+ int STRING = 24;
+ int IDCHAR = 25;
+ int DIGIT = 26;
+ int NUM = 27;
+
+ int DEFAULT = 0;
+ int PRE_DELTA = 1;
+
+ String[] tokenImage = {
+ "<EOF>",
+ "\" \"",
+ "\"\\n\"",
+ "\"\\t\"",
+ "\"\\r\"",
+ "\"\\f\"",
+ "\"access\"",
+ "\"author\"",
+ "\"branch\"",
+ "\"branches\"",
+ "\"comment\"",
+ "\"date\"",
+ "\"desc\"",
+ "\"expand\"",
+ "\"head\"",
+ "\"locks\"",
+ "\"log\"",
+ "\"next\"",
+ "\"state\"",
+ "\"strict\"",
+ "\"symbols\"",
+ "\"text\"",
+ "<ID>",
+ "<SYM>",
+ "<STRING>",
+ "<IDCHAR>",
+ "<DIGIT>",
+ "<NUM>",
+ "\";\"",
+ "\":\"",
+ "\".\"",
+ };
+
+}
1.3 +793 -892 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.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ArchiveParserTokenManager.java 14 Jun 2002 01:32:15 -0000 1.2
+++ ArchiveParserTokenManager.java 26 Sep 2002 17:43:15 -0000 1.3
@@ -1,907 +1,808 @@
-/* Generated By:JavaCC: Do not edit this line. ArchiveParserTokenManager.java */
-package org.apache.commons.jrcs.rcs;
-import java.util.Map;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-
-public class ArchiveParserTokenManager implements ArchiveParserConstants
-{
- public java.io.PrintStream debugStream = System.out;
- public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
+/* Generated By:JavaCC: Do not edit this line. ArchiveParserTokenManager.java */
+package org.apache.commons.jrcs.rcs;
+import java.util.Map;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+
+public class ArchiveParserTokenManager implements ArchiveParserConstants
+{
+ public java.io.PrintStream debugStream = System.out;
+ public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
private final int jjStopStringLiteralDfa_0(int pos, long active0)
-{
+{
switch (pos)
- {
- case 0:
- if ((active0 & 0x40000000L) != 0L)
- return 1;
- if ((active0 & 0x3fffc0L) != 0L)
- {
- jjmatchedKind = 22;
- return 14;
- }
- return -1;
- case 1:
- if ((active0 & 0x3fffc0L) != 0L)
- {
- jjmatchedKind = 22;
- jjmatchedPos = 1;
- return 14;
- }
- return -1;
- case 2:
- if ((active0 & 0x3effc0L) != 0L)
- {
- jjmatchedKind = 22;
- jjmatchedPos = 2;
- return 14;
- }
- if ((active0 & 0x10000L) != 0L)
- return 14;
- return -1;
- case 3:
- if ((active0 & 0x1ca7c0L) != 0L)
- {
- jjmatchedKind = 22;
- jjmatchedPos = 3;
- return 14;
- }
- if ((active0 & 0x225800L) != 0L)
- return 14;
- return -1;
- case 4:
- if ((active0 & 0x1827c0L) != 0L)
- {
- jjmatchedKind = 22;
- jjmatchedPos = 4;
- return 14;
- }
- if ((active0 & 0x48000L) != 0L)
- return 14;
- return -1;
- case 5:
- if ((active0 & 0x823c0L) != 0L)
- return 14;
- if ((active0 & 0x100400L) != 0L)
- {
- if (jjmatchedPos != 5)
- {
- jjmatchedKind = 22;
- jjmatchedPos = 5;
- }
- return 14;
- }
- return -1;
- case 6:
- if ((active0 & 0x200L) != 0L)
- {
- jjmatchedKind = 22;
- jjmatchedPos = 6;
- return 14;
- }
- if ((active0 & 0x100400L) != 0L)
- return 14;
- return -1;
- default :
- return -1;
- }
-}
+ {
+ case 0:
+ if ((active0 & 0x40000000L) != 0L)
+ return 1;
+ if ((active0 & 0x3fffc0L) != 0L)
+ {
+ jjmatchedKind = 22;
+ return 14;
+ }
+ return -1;
+ case 1:
+ if ((active0 & 0x3fffc0L) != 0L)
+ {
+ jjmatchedKind = 22;
+ jjmatchedPos = 1;
+ return 14;
+ }
+ return -1;
+ case 2:
+ if ((active0 & 0x3effc0L) != 0L)
+ {
+ jjmatchedKind = 22;
+ jjmatchedPos = 2;
+ return 14;
+ }
+ if ((active0 & 0x10000L) != 0L)
+ return 14;
+ return -1;
+ case 3:
+ if ((active0 & 0x1ca7c0L) != 0L)
+ {
+ jjmatchedKind = 22;
+ jjmatchedPos = 3;
+ return 14;
+ }
+ if ((active0 & 0x225800L) != 0L)
+ return 14;
+ return -1;
+ case 4:
+ if ((active0 & 0x1827c0L) != 0L)
+ {
+ jjmatchedKind = 22;
+ jjmatchedPos = 4;
+ return 14;
+ }
+ if ((active0 & 0x48000L) != 0L)
+ return 14;
+ return -1;
+ case 5:
+ if ((active0 & 0x823c0L) != 0L)
+ return 14;
+ if ((active0 & 0x100400L) != 0L)
+ {
+ if (jjmatchedPos != 5)
+ {
+ jjmatchedKind = 22;
+ jjmatchedPos = 5;
+ }
+ return 14;
+ }
+ return -1;
+ case 6:
+ if ((active0 & 0x200L) != 0L)
+ {
+ jjmatchedKind = 22;
+ jjmatchedPos = 6;
+ return 14;
+ }
+ if ((active0 & 0x100400L) != 0L)
+ return 14;
+ return -1;
+ default :
+ return -1;
+ }
+}
private final int jjStartNfa_0(int pos, long active0)
-{
- return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
-}
-private final int jjStopAtPos(int pos, int kind)
-{
- jjmatchedKind = kind;
- jjmatchedPos = pos;
- return pos + 1;
-}
-private final int jjStartNfaWithStates_0(int pos, int kind, int state)
-{
- jjmatchedKind = kind;
- jjmatchedPos = pos;
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) { return pos + 1; }
- return jjMoveNfa_0(state, pos + 1);
-}
-private final int jjMoveStringLiteralDfa0_0()
-{
- switch(curChar)
- {
- case 46:
- return jjStartNfaWithStates_0(0, 30, 1);
- case 58:
- return jjStopAtPos(0, 29);
- case 59:
- return jjStopAtPos(0, 28);
- case 97:
- return jjMoveStringLiteralDfa1_0(0xc0L);
- case 98:
- return jjMoveStringLiteralDfa1_0(0x300L);
- case 99:
- return jjMoveStringLiteralDfa1_0(0x400L);
- case 100:
- return jjMoveStringLiteralDfa1_0(0x1800L);
- case 101:
- return jjMoveStringLiteralDfa1_0(0x2000L);
- case 104:
- return jjMoveStringLiteralDfa1_0(0x4000L);
- case 108:
- return jjMoveStringLiteralDfa1_0(0x18000L);
- case 110:
- return jjMoveStringLiteralDfa1_0(0x20000L);
- case 115:
- return jjMoveStringLiteralDfa1_0(0x1c0000L);
- case 116:
- return jjMoveStringLiteralDfa1_0(0x200000L);
- default :
- return jjMoveNfa_0(0, 0);
- }
-}
-private final int jjMoveStringLiteralDfa1_0(long active0)
-{
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(0, active0);
- return 1;
- }
- switch(curChar)
- {
- case 97:
- return jjMoveStringLiteralDfa2_0(active0, 0x800L);
- case 99:
- return jjMoveStringLiteralDfa2_0(active0, 0x40L);
- case 101:
- return jjMoveStringLiteralDfa2_0(active0, 0x225000L);
- case 111:
- return jjMoveStringLiteralDfa2_0(active0, 0x18400L);
- case 114:
- return jjMoveStringLiteralDfa2_0(active0, 0x300L);
- case 116:
- return jjMoveStringLiteralDfa2_0(active0, 0xc0000L);
- case 117:
- return jjMoveStringLiteralDfa2_0(active0, 0x80L);
- case 120:
- return jjMoveStringLiteralDfa2_0(active0, 0x2000L);
- case 121:
- return jjMoveStringLiteralDfa2_0(active0, 0x100000L);
- default :
- break;
- }
- return jjStartNfa_0(0, active0);
-}
-private final int jjMoveStringLiteralDfa2_0(long old0, long active0)
-{
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(0, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(1, active0);
- return 2;
- }
- switch(curChar)
- {
- case 97:
- return jjMoveStringLiteralDfa3_0(active0, 0x44300L);
- case 99:
- return jjMoveStringLiteralDfa3_0(active0, 0x8040L);
- case 103:
- if ((active0 & 0x10000L) != 0L)
- return jjStartNfaWithStates_0(2, 16, 14);
- break;
- case 109:
- return jjMoveStringLiteralDfa3_0(active0, 0x100400L);
- case 112:
- return jjMoveStringLiteralDfa3_0(active0, 0x2000L);
- case 114:
- return jjMoveStringLiteralDfa3_0(active0, 0x80000L);
- case 115:
- return jjMoveStringLiteralDfa3_0(active0, 0x1000L);
- case 116:
- return jjMoveStringLiteralDfa3_0(active0, 0x880L);
- case 120:
- return jjMoveStringLiteralDfa3_0(active0, 0x220000L);
- default :
- break;
- }
- return jjStartNfa_0(1, active0);
-}
-private final int jjMoveStringLiteralDfa3_0(long old0, long active0)
-{
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(1, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(2, active0);
- return 3;
- }
- switch(curChar)
- {
- case 97:
- return jjMoveStringLiteralDfa4_0(active0, 0x2000L);
- case 98:
- return jjMoveStringLiteralDfa4_0(active0, 0x100000L);
- case 99:
- if ((active0 & 0x1000L) != 0L)
- return jjStartNfaWithStates_0(3, 12, 14);
- break;
- case 100:
- if ((active0 & 0x4000L) != 0L)
- return jjStartNfaWithStates_0(3, 14, 14);
- break;
- case 101:
- if ((active0 & 0x800L) != 0L)
- return jjStartNfaWithStates_0(3, 11, 14);
- return jjMoveStringLiteralDfa4_0(active0, 0x40L);
- case 104:
- return jjMoveStringLiteralDfa4_0(active0, 0x80L);
- case 105:
- return jjMoveStringLiteralDfa4_0(active0, 0x80000L);
- case 107:
- return jjMoveStringLiteralDfa4_0(active0, 0x8000L);
- case 109:
- return jjMoveStringLiteralDfa4_0(active0, 0x400L);
- case 110:
- return jjMoveStringLiteralDfa4_0(active0, 0x300L);
- case 116:
- if ((active0 & 0x20000L) != 0L)
- return jjStartNfaWithStates_0(3, 17, 14);
- else if ((active0 & 0x200000L) != 0L)
- return jjStartNfaWithStates_0(3, 21, 14);
- return jjMoveStringLiteralDfa4_0(active0, 0x40000L);
- default :
- break;
- }
- return jjStartNfa_0(2, active0);
-}
-private final int jjMoveStringLiteralDfa4_0(long old0, long active0)
-{
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(2, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(3, active0);
- return 4;
- }
- switch(curChar)
- {
- case 99:
- return jjMoveStringLiteralDfa5_0(active0, 0x80300L);
- case 101:
- if ((active0 & 0x40000L) != 0L)
- return jjStartNfaWithStates_0(4, 18, 14);
- return jjMoveStringLiteralDfa5_0(active0, 0x400L);
- case 110:
- return jjMoveStringLiteralDfa5_0(active0, 0x2000L);
- case 111:
- return jjMoveStringLiteralDfa5_0(active0, 0x100080L);
- case 115:
- if ((active0 & 0x8000L) != 0L)
- return jjStartNfaWithStates_0(4, 15, 14);
- return jjMoveStringLiteralDfa5_0(active0, 0x40L);
- default :
- break;
- }
- return jjStartNfa_0(3, active0);
-}
-private final int jjMoveStringLiteralDfa5_0(long old0, long active0)
-{
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(3, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(4, active0);
- return 5;
- }
- switch(curChar)
- {
- case 100:
- if ((active0 & 0x2000L) != 0L)
- return jjStartNfaWithStates_0(5, 13, 14);
- break;
- case 104:
- if ((active0 & 0x100L) != 0L)
- {
- jjmatchedKind = 8;
- jjmatchedPos = 5;
- }
- return jjMoveStringLiteralDfa6_0(active0, 0x200L);
- case 108:
- return jjMoveStringLiteralDfa6_0(active0, 0x100000L);
- case 110:
- return jjMoveStringLiteralDfa6_0(active0, 0x400L);
- case 114:
- if ((active0 & 0x80L) != 0L)
- return jjStartNfaWithStates_0(5, 7, 14);
- break;
- case 115:
- if ((active0 & 0x40L) != 0L)
- return jjStartNfaWithStates_0(5, 6, 14);
- break;
- case 116:
- if ((active0 & 0x80000L) != 0L)
- return jjStartNfaWithStates_0(5, 19, 14);
- break;
- default :
- break;
- }
- return jjStartNfa_0(4, active0);
-}
-private final int jjMoveStringLiteralDfa6_0(long old0, long active0)
-{
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(4, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(5, active0);
- return 6;
- }
- switch(curChar)
- {
- case 101:
- return jjMoveStringLiteralDfa7_0(active0, 0x200L);
- case 115:
- if ((active0 & 0x100000L) != 0L)
- return jjStartNfaWithStates_0(6, 20, 14);
- break;
- case 116:
- if ((active0 & 0x400L) != 0L)
- return jjStartNfaWithStates_0(6, 10, 14);
- break;
- default :
- break;
- }
- return jjStartNfa_0(5, active0);
-}
-private final int jjMoveStringLiteralDfa7_0(long old0, long active0)
-{
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(5, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(6, active0);
- return 7;
- }
- switch(curChar)
- {
- case 115:
- if ((active0 & 0x200L) != 0L)
- return jjStartNfaWithStates_0(7, 9, 14);
- break;
- default :
- break;
- }
- return jjStartNfa_0(6, active0);
-}
-private final void jjCheckNAdd(int state)
-{
- if (jjrounds[state] != jjround)
- {
- jjstateSet[jjnewStateCnt++] = state;
- jjrounds[state] = jjround;
- }
-}
-private final void jjAddStates(int start, int end)
-{
- do {
- jjstateSet[jjnewStateCnt++] = jjnextStates[start];
- } while (start++ != end);
-}
-private final void jjCheckNAddTwoStates(int state1, int state2)
-{
- jjCheckNAdd(state1);
- jjCheckNAdd(state2);
-}
-private final void jjCheckNAddStates(int start, int end)
-{
- do {
- jjCheckNAdd(jjnextStates[start]);
- } while (start++ != end);
-}
-private final void jjCheckNAddStates(int start)
-{
- jjCheckNAdd(jjnextStates[start]);
- jjCheckNAdd(jjnextStates[start + 1]);
-}
+{
+ return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
+}
+private final int jjStopAtPos(int pos, int kind)
+{
+ jjmatchedKind = kind;
+ jjmatchedPos = pos;
+ return pos + 1;
+}
+private final int jjStartNfaWithStates_0(int pos, int kind, int state)
+{
+ jjmatchedKind = kind;
+ jjmatchedPos = pos;
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) { return pos + 1; }
+ return jjMoveNfa_0(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_0()
+{
+ switch(curChar)
+ {
+ case 46:
+ return jjStartNfaWithStates_0(0, 30, 1);
+ case 58:
+ return jjStopAtPos(0, 29);
+ case 59:
+ return jjStopAtPos(0, 28);
+ case 97:
+ return jjMoveStringLiteralDfa1_0(0xc0L);
+ case 98:
+ return jjMoveStringLiteralDfa1_0(0x300L);
+ case 99:
+ return jjMoveStringLiteralDfa1_0(0x400L);
+ case 100:
+ return jjMoveStringLiteralDfa1_0(0x1800L);
+ case 101:
+ return jjMoveStringLiteralDfa1_0(0x2000L);
+ case 104:
+ return jjMoveStringLiteralDfa1_0(0x4000L);
+ case 108:
+ return jjMoveStringLiteralDfa1_0(0x18000L);
+ case 110:
+ return jjMoveStringLiteralDfa1_0(0x20000L);
+ case 115:
+ return jjMoveStringLiteralDfa1_0(0x1c0000L);
+ case 116:
+ return jjMoveStringLiteralDfa1_0(0x200000L);
+ default :
+ return jjMoveNfa_0(0, 0);
+ }
+}
+private final int jjMoveStringLiteralDfa1_0(long active0)
+{
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(0, active0);
+ return 1;
+ }
+ switch(curChar)
+ {
+ case 97:
+ return jjMoveStringLiteralDfa2_0(active0, 0x800L);
+ case 99:
+ return jjMoveStringLiteralDfa2_0(active0, 0x40L);
+ case 101:
+ return jjMoveStringLiteralDfa2_0(active0, 0x225000L);
+ case 111:
+ return jjMoveStringLiteralDfa2_0(active0, 0x18400L);
+ case 114:
+ return jjMoveStringLiteralDfa2_0(active0, 0x300L);
+ case 116:
+ return jjMoveStringLiteralDfa2_0(active0, 0xc0000L);
+ case 117:
+ return jjMoveStringLiteralDfa2_0(active0, 0x80L);
+ case 120:
+ return jjMoveStringLiteralDfa2_0(active0, 0x2000L);
+ case 121:
+ return jjMoveStringLiteralDfa2_0(active0, 0x100000L);
+ default :
+ break;
+ }
+ return jjStartNfa_0(0, active0);
+}
+private final int jjMoveStringLiteralDfa2_0(long old0, long active0)
+{
+ if (((active0 &= old0)) == 0L)
+ return jjStartNfa_0(0, old0);
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(1, active0);
+ return 2;
+ }
+ switch(curChar)
+ {
+ case 97:
+ return jjMoveStringLiteralDfa3_0(active0, 0x44300L);
+ case 99:
+ return jjMoveStringLiteralDfa3_0(active0, 0x8040L);
+ case 103:
+ if ((active0 & 0x10000L) != 0L)
+ return jjStartNfaWithStates_0(2, 16, 14);
+ break;
+ case 109:
+ return jjMoveStringLiteralDfa3_0(active0, 0x100400L);
+ case 112:
+ return jjMoveStringLiteralDfa3_0(active0, 0x2000L);
+ case 114:
+ return jjMoveStringLiteralDfa3_0(active0, 0x80000L);
+ case 115:
+ return jjMoveStringLiteralDfa3_0(active0, 0x1000L);
+ case 116:
+ return jjMoveStringLiteralDfa3_0(active0, 0x880L);
+ case 120:
+ return jjMoveStringLiteralDfa3_0(active0, 0x220000L);
+ default :
+ break;
+ }
+ return jjStartNfa_0(1, active0);
+}
+private final int jjMoveStringLiteralDfa3_0(long old0, long active0)
+{
+ if (((active0 &= old0)) == 0L)
+ return jjStartNfa_0(1, old0);
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(2, active0);
+ return 3;
+ }
+ switch(curChar)
+ {
+ case 97:
+ return jjMoveStringLiteralDfa4_0(active0, 0x2000L);
+ case 98:
+ return jjMoveStringLiteralDfa4_0(active0, 0x100000L);
+ case 99:
+ if ((active0 & 0x1000L) != 0L)
+ return jjStartNfaWithStates_0(3, 12, 14);
+ break;
+ case 100:
+ if ((active0 & 0x4000L) != 0L)
+ return jjStartNfaWithStates_0(3, 14, 14);
+ break;
+ case 101:
+ if ((active0 & 0x800L) != 0L)
+ return jjStartNfaWithStates_0(3, 11, 14);
+ return jjMoveStringLiteralDfa4_0(active0, 0x40L);
+ case 104:
+ return jjMoveStringLiteralDfa4_0(active0, 0x80L);
+ case 105:
+ return jjMoveStringLiteralDfa4_0(active0, 0x80000L);
+ case 107:
+ return jjMoveStringLiteralDfa4_0(active0, 0x8000L);
+ case 109:
+ return jjMoveStringLiteralDfa4_0(active0, 0x400L);
+ case 110:
+ return jjMoveStringLiteralDfa4_0(active0, 0x300L);
+ case 116:
+ if ((active0 & 0x20000L) != 0L)
+ return jjStartNfaWithStates_0(3, 17, 14);
+ else if ((active0 & 0x200000L) != 0L)
+ return jjStartNfaWithStates_0(3, 21, 14);
+ return jjMoveStringLiteralDfa4_0(active0, 0x40000L);
+ default :
+ break;
+ }
+ return jjStartNfa_0(2, active0);
+}
+private final int jjMoveStringLiteralDfa4_0(long old0, long active0)
+{
+ if (((active0 &= old0)) == 0L)
+ return jjStartNfa_0(2, old0);
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(3, active0);
+ return 4;
+ }
+ switch(curChar)
+ {
+ case 99:
+ return jjMoveStringLiteralDfa5_0(active0, 0x80300L);
+ case 101:
+ if ((active0 & 0x40000L) != 0L)
+ return jjStartNfaWithStates_0(4, 18, 14);
+ return jjMoveStringLiteralDfa5_0(active0, 0x400L);
+ case 110:
+ return jjMoveStringLiteralDfa5_0(active0, 0x2000L);
+ case 111:
+ return jjMoveStringLiteralDfa5_0(active0, 0x100080L);
+ case 115:
+ if ((active0 & 0x8000L) != 0L)
+ return jjStartNfaWithStates_0(4, 15, 14);
+ return jjMoveStringLiteralDfa5_0(active0, 0x40L);
+ default :
+ break;
+ }
+ return jjStartNfa_0(3, active0);
+}
+private final int jjMoveStringLiteralDfa5_0(long old0, long active0)
+{
+ if (((active0 &= old0)) == 0L)
+ return jjStartNfa_0(3, old0);
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(4, active0);
+ return 5;
+ }
+ switch(curChar)
+ {
+ case 100:
+ if ((active0 & 0x2000L) != 0L)
+ return jjStartNfaWithStates_0(5, 13, 14);
+ break;
+ case 104:
+ if ((active0 & 0x100L) != 0L)
+ {
+ jjmatchedKind = 8;
+ jjmatchedPos = 5;
+ }
+ return jjMoveStringLiteralDfa6_0(active0, 0x200L);
+ case 108:
+ return jjMoveStringLiteralDfa6_0(active0, 0x100000L);
+ case 110:
+ return jjMoveStringLiteralDfa6_0(active0, 0x400L);
+ case 114:
+ if ((active0 & 0x80L) != 0L)
+ return jjStartNfaWithStates_0(5, 7, 14);
+ break;
+ case 115:
+ if ((active0 & 0x40L) != 0L)
+ return jjStartNfaWithStates_0(5, 6, 14);
+ break;
+ case 116:
+ if ((active0 & 0x80000L) != 0L)
+ return jjStartNfaWithStates_0(5, 19, 14);
+ break;
+ default :
+ break;
+ }
+ return jjStartNfa_0(4, active0);
+}
+private final int jjMoveStringLiteralDfa6_0(long old0, long active0)
+{
+ if (((active0 &= old0)) == 0L)
+ return jjStartNfa_0(4, old0);
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(5, active0);
+ return 6;
+ }
+ switch(curChar)
+ {
+ case 101:
+ return jjMoveStringLiteralDfa7_0(active0, 0x200L);
+ case 115:
+ if ((active0 & 0x100000L) != 0L)
+ return jjStartNfaWithStates_0(6, 20, 14);
+ break;
+ case 116:
+ if ((active0 & 0x400L) != 0L)
+ return jjStartNfaWithStates_0(6, 10, 14);
+ break;
+ default :
+ break;
+ }
+ return jjStartNfa_0(5, active0);
+}
+private final int jjMoveStringLiteralDfa7_0(long old0, long active0)
+{
+ if (((active0 &= old0)) == 0L)
+ return jjStartNfa_0(5, old0);
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) {
+ jjStopStringLiteralDfa_0(6, active0);
+ return 7;
+ }
+ switch(curChar)
+ {
+ case 115:
+ if ((active0 & 0x200L) != 0L)
+ return jjStartNfaWithStates_0(7, 9, 14);
+ break;
+ default :
+ break;
+ }
+ return jjStartNfa_0(6, active0);
+}
+private final void jjCheckNAdd(int state)
+{
+ if (jjrounds[state] != jjround)
+ {
+ jjstateSet[jjnewStateCnt++] = state;
+ jjrounds[state] = jjround;
+ }
+}
+private final void jjAddStates(int start, int end)
+{
+ do {
+ jjstateSet[jjnewStateCnt++] = jjnextStates[start];
+ } while (start++ != end);
+}
+private final void jjCheckNAddTwoStates(int state1, int state2)
+{
+ jjCheckNAdd(state1);
+ jjCheckNAdd(state2);
+}
+private final void jjCheckNAddStates(int start, int end)
+{
+ do {
+ jjCheckNAdd(jjnextStates[start]);
+ } while (start++ != end);
+}
+private final void jjCheckNAddStates(int start)
+{
+ jjCheckNAdd(jjnextStates[start]);
+ jjCheckNAdd(jjnextStates[start + 1]);
+}
static final long[] jjbitVec0 = {
- 0x1ff00000fffffffeL, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L
-};
-static final long[] jjbitVec2 = {
- 0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL
-};
-static final long[] jjbitVec3 = {
- 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
-};
-static final long[] jjbitVec4 = {
- 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L
-};
-static final long[] jjbitVec5 = {
- 0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L
-};
-static final long[] jjbitVec6 = {
- 0x3fffffffffffL, 0x0L, 0x0L, 0x0L
-};
-static final long[] jjbitVec7 = {
- 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
-};
-static final long[] jjbitVec8 = {
0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
-};
-private final int jjMoveNfa_0(int startState, int curPos)
-{
- int[] nextStates;
- int startsAt = 0;
- jjnewStateCnt = 14;
- int i = 1;
- jjstateSet[0] = startState;
- int j, kind = 0x7fffffff;
- for (;;)
- {
- if (++jjround == 0x7fffffff)
- ReInitRounds();
- if (curChar < 64)
- {
- long l = 1L << curChar;
- MatchLoop: do
- {
- switch(jjstateSet[--i])
- {
- case 14:
- if ((0xf3ffefee00000000L & l) != 0L)
- {
- if (kind > 22)
- kind = 22;
- jjCheckNAdd(2);
- }
- if ((0xf3ffafee00000000L & l) != 0L)
- {
- if (kind > 23)
- kind = 23;
- jjCheckNAdd(9);
- }
- break;
- case 0:
- if ((0xf000afee00000000L & l) != 0L)
- {
- if (kind > 22)
- kind = 22;
- jjCheckNAddTwoStates(2, 9);
- }
- else if ((0x3ff400000000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 1;
- if ((0x3ff000000000000L & l) != 0L)
- {
- if (kind > 27)
- kind = 27;
- jjCheckNAddStates(0, 2);
- }
- break;
- case 1:
- if ((0xf000afee00000000L & l) == 0L)
- break;
- if (kind > 22)
- kind = 22;
- jjCheckNAdd(2);
- break;
- case 2:
- if ((0xf3ffefee00000000L & l) == 0L)
- break;
- if (kind > 22)
- kind = 22;
- jjCheckNAdd(2);
- break;
- case 4:
- jjAddStates(3, 5);
- break;
- case 8:
- if ((0xf000afee00000000L & l) == 0L)
- break;
- if (kind > 22)
- kind = 22;
- jjCheckNAddTwoStates(2, 9);
- break;
- case 9:
- if ((0xf3ffafee00000000L & l) == 0L)
- break;
- if (kind > 23)
- kind = 23;
- jjCheckNAdd(9);
- break;
- case 10:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 27)
- kind = 27;
- jjCheckNAddStates(0, 2);
- break;
- case 11:
- if ((0x3ff000000000000L & l) != 0L)
- jjCheckNAddTwoStates(11, 12);
- break;
- case 12:
- if ((0xf000afee00000000L & l) == 0L)
- break;
- if (kind > 23)
- kind = 23;
- jjCheckNAdd(9);
- break;
- case 13:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 27)
- kind = 27;
- jjCheckNAdd(13);
- break;
- default : break;
- }
- } while(i != startsAt);
- }
- else if (curChar < 128)
- {
- long l = 1L << (curChar & 077);
- MatchLoop: do
- {
- switch(jjstateSet[--i])
- {
- case 14:
- if ((0x7ffffffffffffffeL & l) != 0L)
- {
- if (kind > 23)
- kind = 23;
- jjCheckNAdd(9);
- }
- if ((0x7ffffffffffffffeL & l) != 0L)
- {
- if (kind > 22)
- kind = 22;
- 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 ((0x7ffffffffffffffeL & l) == 0L)
- break;
- if (kind > 22)
- kind = 22;
- jjCheckNAdd(2);
- break;
- case 2:
- if ((0x7ffffffffffffffeL & l) == 0L)
- break;
- if (kind > 22)
- kind = 22;
- jjCheckNAdd(2);
- break;
- case 3:
- case 5:
- if (curChar == 64)
- jjCheckNAddStates(3, 5);
- break;
- case 4:
- if ((0xfffffffffffffffeL & l) != 0L)
- jjCheckNAddStates(3, 5);
- break;
- case 6:
- if (curChar == 64)
- jjstateSet[jjnewStateCnt++] = 5;
- break;
- case 7:
- if (curChar == 64 && kind > 24)
- kind = 24;
- break;
- case 8:
- if ((0x7ffffffffffffffeL & l) == 0L)
- break;
- if (kind > 22)
- kind = 22;
- jjCheckNAddTwoStates(2, 9);
- break;
- case 9:
- case 12:
- if ((0x7ffffffffffffffeL & l) == 0L)
- break;
- if (kind > 23)
- kind = 23;
- jjCheckNAdd(9);
- break;
- default : break;
- }
- } while(i != startsAt);
- }
- else
- {
- int hiByte = (int)(curChar >> 8);
- int i1 = hiByte >> 6;
- long l1 = 1L << (hiByte & 077);
- int i2 = (curChar & 0xff) >> 6;
- long l2 = 1L << (curChar & 077);
- MatchLoop: do
- {
- switch(jjstateSet[--i])
- {
- case 14:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- {
- if (kind > 22)
- kind = 22;
- jjCheckNAdd(2);
- }
- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- {
- if (kind > 23)
- kind = 23;
- 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))
- break;
- if (kind > 22)
- kind = 22;
- jjCheckNAdd(2);
- break;
- case 2:
- if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
- break;
- if (kind > 22)
- kind = 22;
- jjCheckNAdd(2);
- break;
- 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;
- jjCheckNAdd(9);
- break;
- default : break;
- }
- } while(i != startsAt);
- }
- if (kind != 0x7fffffff)
- {
- jjmatchedKind = kind;
- jjmatchedPos = curPos;
- kind = 0x7fffffff;
- }
- ++curPos;
- if ((i = jjnewStateCnt) == (startsAt = 14 - (jjnewStateCnt = startsAt)))
- return curPos;
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) { return curPos; }
- }
-}
-private final int jjMoveStringLiteralDfa0_1()
-{
- switch(curChar)
- {
- default :
- return 1;
- }
-}
+};
+private final int jjMoveNfa_0(int startState, int curPos)
+{
+ int[] nextStates;
+ int startsAt = 0;
+ jjnewStateCnt = 14;
+ int i = 1;
+ jjstateSet[0] = startState;
+ int j, kind = 0x7fffffff;
+ for (;;)
+ {
+ if (++jjround == 0x7fffffff)
+ ReInitRounds();
+ if (curChar < 64)
+ {
+ long l = 1L << curChar;
+ MatchLoop: do
+ {
+ switch(jjstateSet[--i])
+ {
+ case 14:
+ if ((0x3ff600000000000L & l) != 0L)
+ {
+ if (kind > 22)
+ kind = 22;
+ jjCheckNAdd(2);
+ }
+ if ((0x3ff200000000000L & l) != 0L)
+ {
+ if (kind > 23)
+ kind = 23;
+ jjCheckNAdd(9);
+ }
+ break;
+ case 0:
+ if ((0x3ff400000000000L & l) != 0L)
+ jjstateSet[jjnewStateCnt++] = 1;
+ else if (curChar == 45)
+ {
+ if (kind > 22)
+ kind = 22;
+ jjCheckNAddTwoStates(2, 9);
+ }
+ if ((0x3ff000000000000L & l) != 0L)
+ {
+ if (kind > 27)
+ kind = 27;
+ jjCheckNAddStates(0, 2);
+ }
+ break;
+ case 1:
+ if (curChar != 45)
+ break;
+ if (kind > 22)
+ kind = 22;
+ jjCheckNAdd(2);
+ break;
+ case 2:
+ if ((0x3ff600000000000L & l) == 0L)
+ break;
+ if (kind > 22)
+ kind = 22;
+ jjCheckNAdd(2);
+ break;
+ case 4:
+ jjAddStates(3, 5);
+ break;
+ case 8:
+ if (curChar != 45)
+ break;
+ if (kind > 22)
+ kind = 22;
+ jjCheckNAddTwoStates(2, 9);
+ break;
+ case 9:
+ if ((0x3ff200000000000L & l) == 0L)
+ break;
+ if (kind > 23)
+ kind = 23;
+ jjCheckNAdd(9);
+ break;
+ case 10:
+ if ((0x3ff000000000000L & l) == 0L)
+ break;
+ if (kind > 27)
+ kind = 27;
+ jjCheckNAddStates(0, 2);
+ break;
+ case 11:
+ if ((0x3ff000000000000L & l) != 0L)
+ jjCheckNAddTwoStates(11, 12);
+ break;
+ case 12:
+ if (curChar != 45)
+ break;
+ if (kind > 23)
+ kind = 23;
+ jjCheckNAdd(9);
+ break;
+ case 13:
+ if ((0x3ff000000000000L & l) == 0L)
+ break;
+ if (kind > 27)
+ kind = 27;
+ jjCheckNAdd(13);
+ break;
+ default : break;
+ }
+ } while(i != startsAt);
+ }
+ else if (curChar < 128)
+ {
+ long l = 1L << (curChar & 077);
+ MatchLoop: do
+ {
+ switch(jjstateSet[--i])
+ {
+ case 14:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ {
+ if (kind > 23)
+ kind = 23;
+ jjCheckNAdd(9);
+ }
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ {
+ if (kind > 22)
+ kind = 22;
+ jjCheckNAdd(2);
+ }
+ break;
+ case 0:
+ if ((0x7fffffe87fffffeL & l) != 0L)
+ {
+ if (kind > 22)
+ kind = 22;
+ jjCheckNAddTwoStates(2, 9);
+ }
+ else if (curChar == 64)
+ jjCheckNAddStates(3, 5);
+ break;
+ case 1:
+ if ((0x7fffffe87fffffeL & l) == 0L)
+ break;
+ if (kind > 22)
+ kind = 22;
+ jjCheckNAdd(2);
+ break;
+ case 2:
+ if ((0x7fffffe87fffffeL & l) == 0L)
+ break;
+ if (kind > 22)
+ kind = 22;
+ jjCheckNAdd(2);
+ break;
+ case 3:
+ case 5:
+ if (curChar == 64)
+ jjCheckNAddStates(3, 5);
+ break;
+ case 4:
+ if ((0xfffffffffffffffeL & l) != 0L)
+ jjCheckNAddStates(3, 5);
+ break;
+ case 6:
+ if (curChar == 64)
+ jjstateSet[jjnewStateCnt++] = 5;
+ break;
+ case 7:
+ if (curChar == 64 && kind > 24)
+ kind = 24;
+ break;
+ case 8:
+ if ((0x7fffffe87fffffeL & l) == 0L)
+ break;
+ if (kind > 22)
+ kind = 22;
+ jjCheckNAddTwoStates(2, 9);
+ break;
+ case 9:
+ case 12:
+ if ((0x7fffffe87fffffeL & l) == 0L)
+ break;
+ if (kind > 23)
+ kind = 23;
+ jjCheckNAdd(9);
+ break;
+ default : break;
+ }
+ } while(i != startsAt);
+ }
+ else
+ {
+ int i2 = (curChar & 0xff) >> 6;
+ long l2 = 1L << (curChar & 077);
+ MatchLoop: do
+ {
+ switch(jjstateSet[--i])
+ {
+ case 4:
+ if ((jjbitVec0[i2] & l2) != 0L)
+ jjAddStates(3, 5);
+ break;
+ default : break;
+ }
+ } while(i != startsAt);
+ }
+ if (kind != 0x7fffffff)
+ {
+ jjmatchedKind = kind;
+ jjmatchedPos = curPos;
+ kind = 0x7fffffff;
+ }
+ ++curPos;
+ if ((i = jjnewStateCnt) == (startsAt = 14 - (jjnewStateCnt = startsAt)))
+ return curPos;
+ try { curChar = input_stream.readChar(); }
+ catch(java.io.IOException e) { return curPos; }
+ }
+}
+private final int jjMoveStringLiteralDfa0_1()
+{
+ switch(curChar)
+ {
+ default :
+ return 1;
+ }
+}
static final int[] jjnextStates = {
11, 12, 13, 4, 6, 7,
-};
-private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2)
-{
- switch(hiByte)
- {
- 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;
- return false;
- }
-}
-private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2)
-{
- switch(hiByte)
- {
- case 0:
- return ((jjbitVec8[i2] & l2) != 0L);
- default :
- if ((jjbitVec7[i1] & l1) != 0L)
- return true;
- return false;
- }
-}
-public static final String[] jjstrLiteralImages = {
-"", null, null, null, null, null, "\141\143\143\145\163\163",
-"\141\165\164\150\157\162", "\142\162\141\156\143\150", "\142\162\141\156\143\150\145\163",
-"\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, "\73", "\72", "\56", };
-public static final String[] lexStateNames = {
- "DEFAULT",
- "PRE_DELTA",
-};
+};
+public static final String[] jjstrLiteralImages = {
+"", null, null, null, null, null, "\141\143\143\145\163\163",
+"\141\165\164\150\157\162", "\142\162\141\156\143\150", "\142\162\141\156\143\150\145\163",
+"\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, "\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,
-};
+};
static final long[] jjtoToken = {
0x79ffffc1L,
-};
+};
static final long[] jjtoSkip = {
0x3eL,
-};
-private JavaCharStream input_stream;
-private final int[] jjrounds = new int[14];
-private final int[] jjstateSet = new int[28];
-protected char curChar;
-public ArchiveParserTokenManager(JavaCharStream stream)
-{
- if (JavaCharStream.staticFlag)
- throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
- input_stream = stream;
-}
-public ArchiveParserTokenManager(JavaCharStream stream, int lexState)
-{
- this(stream);
- SwitchTo(lexState);
-}
-public void ReInit(JavaCharStream stream)
-{
- jjmatchedPos = jjnewStateCnt = 0;
- curLexState = defaultLexState;
- input_stream = stream;
- ReInitRounds();
-}
-private final void ReInitRounds()
-{
- int i;
- jjround = 0x80000001;
- for (i = 14; i-- > 0;)
- jjrounds[i] = 0x80000000;
-}
-public void ReInit(JavaCharStream stream, int lexState)
-{
- ReInit(stream);
- SwitchTo(lexState);
-}
-public void SwitchTo(int lexState)
-{
- if (lexState >= 2 || lexState < 0)
- throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
- else
- curLexState = lexState;
-}
-
-private final Token jjFillToken()
-{
- Token t = Token.newToken(jjmatchedKind);
- t.kind = jjmatchedKind;
- String im = jjstrLiteralImages[jjmatchedKind];
- t.image = (im == null) ? input_stream.GetImage() : im;
- t.beginLine = input_stream.getBeginLine();
- t.beginColumn = input_stream.getBeginColumn();
- t.endLine = input_stream.getEndLine();
- t.endColumn = input_stream.getEndColumn();
- return t;
-}
-
-int curLexState = 0;
-int defaultLexState = 0;
-int jjnewStateCnt;
-int jjround;
-int jjmatchedPos;
-int jjmatchedKind;
-
-public final Token getNextToken()
-{
- int kind;
- Token specialToken = null;
- Token matchedToken;
- int curPos = 0;
-
+};
+private SimpleCharStream input_stream;
+private final int[] jjrounds = new int[14];
+private final int[] jjstateSet = new int[28];
+protected char curChar;
+public ArchiveParserTokenManager(SimpleCharStream stream)
+{
+ if (SimpleCharStream.staticFlag)
+ throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
+ input_stream = stream;
+}
+public ArchiveParserTokenManager(SimpleCharStream stream, int lexState)
+{
+ this(stream);
+ SwitchTo(lexState);
+}
+public void ReInit(SimpleCharStream stream)
+{
+ jjmatchedPos = jjnewStateCnt = 0;
+ curLexState = defaultLexState;
+ input_stream = stream;
+ ReInitRounds();
+}
+private final void ReInitRounds()
+{
+ int i;
+ jjround = 0x80000001;
+ for (i = 14; i-- > 0;)
+ jjrounds[i] = 0x80000000;
+}
+public void ReInit(SimpleCharStream stream, int lexState)
+{
+ ReInit(stream);
+ SwitchTo(lexState);
+}
+public void SwitchTo(int lexState)
+{
+ if (lexState >= 2 || lexState < 0)
+ throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
+ else
+ curLexState = lexState;
+}
+
+private final Token jjFillToken()
+{
+ Token t = Token.newToken(jjmatchedKind);
+ t.kind = jjmatchedKind;
+ String im = jjstrLiteralImages[jjmatchedKind];
+ t.image = (im == null) ? input_stream.GetImage() : im;
+ t.beginLine = input_stream.getBeginLine();
+ t.beginColumn = input_stream.getBeginColumn();
+ t.endLine = input_stream.getEndLine();
+ t.endColumn = input_stream.getEndColumn();
+ return t;
+}
+
+int curLexState = 0;
+int defaultLexState = 0;
+int jjnewStateCnt;
+int jjround;
+int jjmatchedPos;
+int jjmatchedKind;
+
+public final Token getNextToken()
+{
+ int kind;
+ Token specialToken = null;
+ Token matchedToken;
+ int curPos = 0;
+
EOFLoop :
- for (;;)
- {
- try
- {
- curChar = input_stream.BeginToken();
- }
- catch(java.io.IOException e)
- {
- jjmatchedKind = 0;
- matchedToken = jjFillToken();
- return matchedToken;
- }
-
- switch(curLexState)
- {
- case 0:
- try { input_stream.backup(0);
- while (curChar <= 32 && (0x100003600L & (1L << curChar)) != 0L)
- curChar = input_stream.BeginToken();
- }
- catch (java.io.IOException e1) { continue EOFLoop; }
- jjmatchedKind = 0x7fffffff;
- jjmatchedPos = 0;
- curPos = jjMoveStringLiteralDfa0_0();
- break;
- case 1:
- try { input_stream.backup(0);
- while (curChar <= 32 && (0x100003600L & (1L << curChar)) != 0L)
- curChar = input_stream.BeginToken();
- }
- catch (java.io.IOException e1) { continue EOFLoop; }
- jjmatchedKind = 0x7fffffff;
- jjmatchedPos = 0;
- curPos = jjMoveStringLiteralDfa0_1();
- break;
- }
- if (jjmatchedKind != 0x7fffffff)
- {
- if (jjmatchedPos + 1 < curPos)
- input_stream.backup(curPos - jjmatchedPos - 1);
- if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
- {
- matchedToken = jjFillToken();
- if (jjnewLexState[jjmatchedKind] != -1)
- curLexState = jjnewLexState[jjmatchedKind];
- return matchedToken;
- }
- else
- {
- if (jjnewLexState[jjmatchedKind] != -1)
- curLexState = jjnewLexState[jjmatchedKind];
- continue EOFLoop;
- }
- }
- int error_line = input_stream.getEndLine();
- int error_column = input_stream.getEndColumn();
- String error_after = null;
- boolean EOFSeen = false;
- try { input_stream.readChar(); input_stream.backup(1); }
- catch (java.io.IOException e1) {
- EOFSeen = true;
- error_after = curPos <= 1 ? "" : input_stream.GetImage();
- if (curChar == '\n' || curChar == '\r') {
- error_line++;
- error_column = 0;
- }
- else
- error_column++;
- }
- if (!EOFSeen) {
- input_stream.backup(1);
- error_after = curPos <= 1 ? "" : input_stream.GetImage();
- }
- throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
- }
-}
-
-}
+ for (;;)
+ {
+ try
+ {
+ curChar = input_stream.BeginToken();
+ }
+ catch(java.io.IOException e)
+ {
+ jjmatchedKind = 0;
+ matchedToken = jjFillToken();
+ return matchedToken;
+ }
+
+ switch(curLexState)
+ {
+ case 0:
+ try { input_stream.backup(0);
+ while (curChar <= 32 && (0x100003600L & (1L << curChar)) != 0L)
+ curChar = input_stream.BeginToken();
+ }
+ catch (java.io.IOException e1) { continue EOFLoop; }
+ jjmatchedKind = 0x7fffffff;
+ jjmatchedPos = 0;
+ curPos = jjMoveStringLiteralDfa0_0();
+ break;
+ case 1:
+ try { input_stream.backup(0);
+ while (curChar <= 32 && (0x100003600L & (1L << curChar)) != 0L)
+ curChar = input_stream.BeginToken();
+ }
+ catch (java.io.IOException e1) { continue EOFLoop; }
+ jjmatchedKind = 0x7fffffff;
+ jjmatchedPos = 0;
+ curPos = jjMoveStringLiteralDfa0_1();
+ break;
+ }
+ if (jjmatchedKind != 0x7fffffff)
+ {
+ if (jjmatchedPos + 1 < curPos)
+ input_stream.backup(curPos - jjmatchedPos - 1);
+ if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
+ {
+ matchedToken = jjFillToken();
+ if (jjnewLexState[jjmatchedKind] != -1)
+ curLexState = jjnewLexState[jjmatchedKind];
+ return matchedToken;
+ }
+ else
+ {
+ if (jjnewLexState[jjmatchedKind] != -1)
+ curLexState = jjnewLexState[jjmatchedKind];
+ continue EOFLoop;
+ }
+ }
+ int error_line = input_stream.getEndLine();
+ int error_column = input_stream.getEndColumn();
+ String error_after = null;
+ boolean EOFSeen = false;
+ try { input_stream.readChar(); input_stream.backup(1); }
+ catch (java.io.IOException e1) {
+ EOFSeen = true;
+ error_after = curPos <= 1 ? "" : input_stream.GetImage();
+ if (curChar == '\n' || curChar == '\r') {
+ error_line++;
+ error_column = 0;
+ }
+ else
+ error_column++;
+ }
+ if (!EOFSeen) {
+ input_stream.backup(1);
+ error_after = curPos <= 1 ? "" : input_stream.GetImage();
+ }
+ throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
+ }
+}
+
+}
1.1 jakarta-commons-sandbox/jrcs/src/java/org/apache/commons/jrcs/rcs/SimpleCharStream.java
Index: SimpleCharStream.java
===================================================================
/* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 2.1 */
package org.apache.commons.jrcs.rcs;
/**
* An implementation of interface CharStream, where the stream is assumed to
* contain only ASCII characters (without unicode processing).
*/
public final class SimpleCharStream
{
public static final boolean staticFlag = false;
int bufsize;
int available;
int tokenBegin;
public int bufpos = -1;
private int bufline[];
private int bufcolumn[];
private int column = 0;
private int line = 1;
private boolean prevCharIsCR = false;
private boolean prevCharIsLF = false;
private java.io.Reader inputStream;
private char[] buffer;
private int maxNextCharInd = 0;
private int inBuf = 0;
private final void ExpandBuff(boolean wrapAround)
{
char[] newbuffer = new char[bufsize + 2048];
int newbufline[] = new int[bufsize + 2048];
int newbufcolumn[] = new int[bufsize + 2048];
try
{
if (wrapAround)
{
System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
System.arraycopy(buffer, 0, newbuffer,
bufsize - tokenBegin, bufpos);
buffer = newbuffer;
System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos);
bufline = newbufline;
System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos);
bufcolumn = newbufcolumn;
maxNextCharInd = (bufpos += (bufsize - tokenBegin));
}
else
{
System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
buffer = newbuffer;
System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
bufline = newbufline;
System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
bufcolumn = newbufcolumn;
maxNextCharInd = (bufpos -= tokenBegin);
}
}
catch (Throwable t)
{
throw new Error(t.getMessage());
}
bufsize += 2048;
available = bufsize;
tokenBegin = 0;
}
private final void FillBuff() throws java.io.IOException
{
if (maxNextCharInd == available)
{
if (available == bufsize)
{
if (tokenBegin > 2048)
{
bufpos = maxNextCharInd = 0;
available = tokenBegin;
}
else if (tokenBegin < 0)
bufpos = maxNextCharInd = 0;
else
ExpandBuff(false);
}
else if (available > tokenBegin)
available = bufsize;
else if ((tokenBegin - available) < 2048)
ExpandBuff(true);
else
available = tokenBegin;
}
int i;
try {
if ((i = inputStream.read(buffer, maxNextCharInd,
available - maxNextCharInd)) == -1)
{
inputStream.close();
throw new java.io.IOException();
}
else
maxNextCharInd += i;
return;
}
catch(java.io.IOException e) {
--bufpos;
backup(0);
if (tokenBegin == -1)
tokenBegin = bufpos;
throw e;
}
}
public final char BeginToken() throws java.io.IOException
{
tokenBegin = -1;
char c = readChar();
tokenBegin = bufpos;
return c;
}
private final void UpdateLineColumn(char c)
{
column++;
if (prevCharIsLF)
{
prevCharIsLF = false;
line += (column = 1);
}
else if (prevCharIsCR)
{
prevCharIsCR = false;
if (c == '\n')
{
prevCharIsLF = true;
}
else
line += (column = 1);
}
switch (c)
{
case '\r' :
prevCharIsCR = true;
break;
case '\n' :
prevCharIsLF = true;
break;
case '\t' :
column--;
column += (8 - (column & 07));
break;
default :
break;
}
bufline[bufpos] = line;
bufcolumn[bufpos] = column;
}
public final char readChar() throws java.io.IOException
{
if (inBuf > 0)
{
--inBuf;
if (++bufpos == bufsize)
bufpos = 0;
return buffer[bufpos];
}
if (++bufpos >= maxNextCharInd)
FillBuff();
char c = buffer[bufpos];
UpdateLineColumn(c);
return (c);
}
/**
* @deprecated
* @see #getEndColumn
*/
public final int getColumn() {
return bufcolumn[bufpos];
}
/**
* @deprecated
* @see #getEndLine
*/
public final int getLine() {
return bufline[bufpos];
}
public final int getEndColumn() {
return bufcolumn[bufpos];
}
public final int getEndLine() {
return bufline[bufpos];
}
public final int getBeginColumn() {
return bufcolumn[tokenBegin];
}
public final int getBeginLine() {
return bufline[tokenBegin];
}
public final void backup(int amount) {
inBuf += amount;
if ((bufpos -= amount) < 0)
bufpos += bufsize;
}
public SimpleCharStream(java.io.Reader dstream, int startline,
int startcolumn, int buffersize)
{
inputStream = dstream;
line = startline;
column = startcolumn - 1;
available = bufsize = buffersize;
buffer = new char[buffersize];
bufline = new int[buffersize];
bufcolumn = new int[buffersize];
}
public SimpleCharStream(java.io.Reader dstream, int startline,
int startcolumn)
{
this(dstream, startline, startcolumn, 4096);
}
public SimpleCharStream(java.io.Reader dstream)
{
this(dstream, 1, 1, 4096);
}
public void ReInit(java.io.Reader dstream, int startline,
int startcolumn, int buffersize)
{
inputStream = dstream;
line = startline;
column = startcolumn - 1;
if (buffer == null || buffersize != buffer.length)
{
available = bufsize = buffersize;
buffer = new char[buffersize];
bufline = new int[buffersize];
bufcolumn = new int[buffersize];
}
prevCharIsLF = prevCharIsCR = false;
tokenBegin = inBuf = maxNextCharInd = 0;
bufpos = -1;
}
public void ReInit(java.io.Reader dstream, int startline,
int startcolumn)
{
ReInit(dstream, startline, startcolumn, 4096);
}
public void ReInit(java.io.Reader dstream)
{
ReInit(dstream, 1, 1, 4096);
}
public SimpleCharStream(java.io.InputStream dstream, int startline,
int startcolumn, int buffersize)
{
this(new java.io.InputStreamReader(dstream), startline, startcolumn, 4096);
}
public SimpleCharStream(java.io.InputStream dstream, int startline,
int startcolumn)
{
this(dstream, startline, startcolumn, 4096);
}
public SimpleCharStream(java.io.InputStream dstream)
{
this(dstream, 1, 1, 4096);
}
public void ReInit(java.io.InputStream dstream, int startline,
int startcolumn, int buffersize)
{
ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, 4096);
}
public void ReInit(java.io.InputStream dstream)
{
ReInit(dstream, 1, 1, 4096);
}
public void ReInit(java.io.InputStream dstream, int startline,
int startcolumn)
{
ReInit(dstream, startline, startcolumn, 4096);
}
public final String GetImage()
{
if (bufpos >= tokenBegin)
return new String(buffer, tokenBegin, bufpos - tokenBegin + 1);
else
return new String(buffer, tokenBegin, bufsize - tokenBegin) +
new String(buffer, 0, bufpos + 1);
}
public final char[] GetSuffix(int len)
{
char[] ret = new char[len];
if ((bufpos + 1) >= len)
System.arraycopy(buffer, bufpos - len + 1, ret, 0, len);
else
{
System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0,
len - bufpos - 1);
System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1);
}
return ret;
}
public void Done()
{
buffer = null;
bufline = null;
bufcolumn = null;
}
/**
* Method to adjust line and column numbers for the start of a token.<BR>
*/
public void adjustBeginLineColumn(int newLine, int newCol)
{
int start = tokenBegin;
int len;
if (bufpos >= tokenBegin)
{
len = bufpos - tokenBegin + inBuf + 1;
}
else
{
len = bufsize - tokenBegin + bufpos + 1 + inBuf;
}
int i = 0, j = 0, k = 0;
int nextColDiff = 0, columnDiff = 0;
while (i < len &&
bufline[j = start % bufsize] == bufline[k = ++start % bufsize])
{
bufline[j] = newLine;
nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j];
bufcolumn[j] = newCol + columnDiff;
columnDiff = nextColDiff;
i++;
}
if (i < len)
{
bufline[j] = newLine++;
bufcolumn[j] = newCol + columnDiff;
while (i++ < len)
{
if (bufline[j = start % bufsize] != bufline[++start % bufsize])
bufline[j] = newLine++;
else
bufline[j] = newLine;
}
}
line = bufline[j];
column = bufcolumn[j];
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>