+++ /dev/null
-/* Generated By:JavaCC: Do not edit this line. JavaCharStream.java Version 6.0 */
-/* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
-package edu.uci.eecs.utilParser;
-
-/**
- * An implementation of interface CharStream, where the stream is assumed to
- * contain only ASCII characters (with java-like unicode escape processing).
- */
-
-public
-class JavaCharStream
-{
- /** Whether parser is static. */
- public static final boolean staticFlag = false;
-
- static final int hexval(char c) throws java.io.IOException {
- switch(c)
- {
- case '0' :
- return 0;
- case '1' :
- return 1;
- case '2' :
- return 2;
- case '3' :
- return 3;
- case '4' :
- return 4;
- case '5' :
- return 5;
- case '6' :
- return 6;
- case '7' :
- return 7;
- case '8' :
- return 8;
- case '9' :
- return 9;
-
- case 'a' :
- case 'A' :
- return 10;
- case 'b' :
- case 'B' :
- return 11;
- case 'c' :
- case 'C' :
- return 12;
- case 'd' :
- case 'D' :
- return 13;
- case 'e' :
- case 'E' :
- return 14;
- case 'f' :
- case 'F' :
- return 15;
- }
-
- throw new java.io.IOException(); // Should never come here
- }
-
-/** Position in buffer. */
- public int bufpos = -1;
- int bufsize;
- int available;
- int tokenBegin;
- protected int bufline[];
- protected int bufcolumn[];
-
- protected int column = 0;
- protected int line = 1;
-
- protected boolean prevCharIsCR = false;
- protected boolean prevCharIsLF = false;
-
- protected java.io.Reader inputStream;
-
- protected char[] nextCharBuf;
- protected char[] buffer;
- protected int maxNextCharInd = 0;
- protected int nextCharInd = -1;
- protected int inBuf = 0;
- protected int tabSize = 8;
- protected boolean trackLineColumn = false;
-
- public void setTabSize(int i) { tabSize = i; }
- public int getTabSize() { return tabSize; }
-
- protected 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;
-
- 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;
-
- bufpos -= tokenBegin;
- }
- }
- catch (Throwable t)
- {
- throw new Error(t.getMessage());
- }
-
- available = (bufsize += 2048);
- tokenBegin = 0;
- }
-
- protected void FillBuff() throws java.io.IOException
- {
- int i;
- if (maxNextCharInd == 4096)
- maxNextCharInd = nextCharInd = 0;
-
- try {
- if ((i = inputStream.read(nextCharBuf, maxNextCharInd,
- 4096 - maxNextCharInd)) == -1)
- {
- inputStream.close();
- throw new java.io.IOException();
- }
- else
- maxNextCharInd += i;
- return;
- }
- catch(java.io.IOException e) {
- if (bufpos != 0)
- {
- --bufpos;
- backup(0);
- }
- else
- {
- bufline[bufpos] = line;
- bufcolumn[bufpos] = column;
- }
- throw e;
- }
- }
-
- protected char ReadByte() throws java.io.IOException
- {
- if (++nextCharInd >= maxNextCharInd)
- FillBuff();
-
- return nextCharBuf[nextCharInd];
- }
-
-/** @return starting character for token. */
- public char BeginToken() throws java.io.IOException
- {
- if (inBuf > 0)
- {
- --inBuf;
-
- if (++bufpos == bufsize)
- bufpos = 0;
-
- tokenBegin = bufpos;
- return buffer[bufpos];
- }
-
- tokenBegin = 0;
- bufpos = -1;
-
- return readChar();
- }
-
- protected void AdjustBuffSize()
- {
- if (available == bufsize)
- {
- if (tokenBegin > 2048)
- {
- bufpos = 0;
- available = tokenBegin;
- }
- else
- ExpandBuff(false);
- }
- else if (available > tokenBegin)
- available = bufsize;
- else if ((tokenBegin - available) < 2048)
- ExpandBuff(true);
- else
- available = tokenBegin;
- }
-
- protected 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 += (tabSize - (column % tabSize));
- break;
- default :
- break;
- }
-
- bufline[bufpos] = line;
- bufcolumn[bufpos] = column;
- }
-
-/** Read a character. */
- public char readChar() throws java.io.IOException
- {
- if (inBuf > 0)
- {
- --inBuf;
-
- if (++bufpos == bufsize)
- bufpos = 0;
-
- return buffer[bufpos];
- }
-
- char c;
-
- if (++bufpos == available)
- AdjustBuffSize();
-
- if ((buffer[bufpos] = c = ReadByte()) == '\\')
- {
- if (trackLineColumn) { UpdateLineColumn(c); }
-
- int backSlashCnt = 1;
-
- for (;;) // Read all the backslashes
- {
- if (++bufpos == available)
- AdjustBuffSize();
-
- try
- {
- if ((buffer[bufpos] = c = ReadByte()) != '\\')
- {
- if (trackLineColumn) { UpdateLineColumn(c); }
- // found a non-backslash char.
- if ((c == 'u') && ((backSlashCnt & 1) == 1))
- {
- if (--bufpos < 0)
- bufpos = bufsize - 1;
-
- break;
- }
-
- backup(backSlashCnt);
- return '\\';
- }
- }
- catch(java.io.IOException e)
- {
- // We are returning one backslash so we should only backup (count-1)
- if (backSlashCnt > 1)
- backup(backSlashCnt-1);
-
- return '\\';
- }
-
- if (trackLineColumn) { UpdateLineColumn(c); }
- backSlashCnt++;
- }
-
- // Here, we have seen an odd number of backslash's followed by a 'u'
- try
- {
- while ((c = ReadByte()) == 'u')
- ++column;
-
- buffer[bufpos] = c = (char)(hexval(c) << 12 |
- hexval(ReadByte()) << 8 |
- hexval(ReadByte()) << 4 |
- hexval(ReadByte()));
-
- column += 4;
- }
- catch(java.io.IOException e)
- {
- throw new Error("Invalid escape character at line " + line +
- " column " + column + ".");
- }
-
- if (backSlashCnt == 1)
- return c;
- else
- {
- backup(backSlashCnt - 1);
- return '\\';
- }
- }
- else
- {
- UpdateLineColumn(c);
- return c;
- }
- }
-
- @Deprecated
- /**
- * @deprecated
- * @see #getEndColumn
- */
- public int getColumn() {
- return bufcolumn[bufpos];
- }
-
- @Deprecated
- /**
- * @deprecated
- * @see #getEndLine
- */
- public int getLine() {
- return bufline[bufpos];
- }
-
-/** Get end column. */
- public int getEndColumn() {
- return bufcolumn[bufpos];
- }
-
-/** Get end line. */
- public int getEndLine() {
- return bufline[bufpos];
- }
-
-/** @return column of token start */
- public int getBeginColumn() {
- return bufcolumn[tokenBegin];
- }
-
-/** @return line number of token start */
- public int getBeginLine() {
- return bufline[tokenBegin];
- }
-
-/** Retreat. */
- public void backup(int amount) {
-
- inBuf += amount;
- if ((bufpos -= amount) < 0)
- bufpos += bufsize;
- }
-
-/** Constructor. */
- public JavaCharStream(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];
- nextCharBuf = new char[4096];
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.Reader dstream,
- int startline, int startcolumn)
- {
- this(dstream, startline, startcolumn, 4096);
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.Reader dstream)
- {
- this(dstream, 1, 1, 4096);
- }
-/** Reinitialise. */
- 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];
- nextCharBuf = new char[4096];
- }
- prevCharIsLF = prevCharIsCR = false;
- tokenBegin = inBuf = maxNextCharInd = 0;
- nextCharInd = bufpos = -1;
- }
-
-/** Reinitialise. */
- public void ReInit(java.io.Reader dstream,
- int startline, int startcolumn)
- {
- ReInit(dstream, startline, startcolumn, 4096);
- }
-
-/** Reinitialise. */
- public void ReInit(java.io.Reader dstream)
- {
- ReInit(dstream, 1, 1, 4096);
- }
-/** Constructor. */
- public JavaCharStream(java.io.InputStream dstream, String encoding, int startline,
- int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
- {
- this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.InputStream dstream, int startline,
- int startcolumn, int buffersize)
- {
- this(new java.io.InputStreamReader(dstream), startline, startcolumn, 4096);
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.InputStream dstream, String encoding, int startline,
- int startcolumn) throws java.io.UnsupportedEncodingException
- {
- this(dstream, encoding, startline, startcolumn, 4096);
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.InputStream dstream, int startline,
- int startcolumn)
- {
- this(dstream, startline, startcolumn, 4096);
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
- {
- this(dstream, encoding, 1, 1, 4096);
- }
-
-/** Constructor. */
- public JavaCharStream(java.io.InputStream dstream)
- {
- this(dstream, 1, 1, 4096);
- }
-
-/** Reinitialise. */
- public void ReInit(java.io.InputStream dstream, String encoding, int startline,
- int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
- {
- ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
- }
-
-/** Reinitialise. */
- public void ReInit(java.io.InputStream dstream, int startline,
- int startcolumn, int buffersize)
- {
- ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
- }
-/** Reinitialise. */
- public void ReInit(java.io.InputStream dstream, String encoding, int startline,
- int startcolumn) throws java.io.UnsupportedEncodingException
- {
- ReInit(dstream, encoding, startline, startcolumn, 4096);
- }
-/** Reinitialise. */
- public void ReInit(java.io.InputStream dstream, int startline,
- int startcolumn)
- {
- ReInit(dstream, startline, startcolumn, 4096);
- }
-/** Reinitialise. */
- public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
- {
- ReInit(dstream, encoding, 1, 1, 4096);
- }
-
-/** Reinitialise. */
- public void ReInit(java.io.InputStream dstream)
- {
- ReInit(dstream, 1, 1, 4096);
- }
-
- /** @return token image as String */
- public 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);
- }
-
- /** @return suffix */
- public 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;
- }
-
- /** Set buffers back to null when finished. */
- public void Done()
- {
- nextCharBuf = null;
- buffer = null;
- bufline = null;
- bufcolumn = null;
- }
-
- /**
- * Method to adjust line and column numbers for the start of a token.
- */
- 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];
- }
- boolean getTrackLineColumn() { return trackLineColumn; }
- void setTrackLineColumn(boolean trackLineColumn) { this.trackLineColumn = trackLineColumn; }
-
-}
-/* JavaCC - OriginalChecksum=2c480d04491dcff86b5af5e8c5780632 (do not edit this line) */
+++ /dev/null
-/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 6.0 */
-/* JavaCCOptions:KEEP_LINE_COL=null */
-package edu.uci.eecs.utilParser;
-
-/**
- * This exception is thrown when parse errors are encountered.
- * You can explicitly create objects of this exception type by
- * calling the method generateParseException in the generated
- * parser.
- *
- * You can modify this class to customize your error reporting
- * mechanisms so long as you retain the public fields.
- */
-public class ParseException extends Exception {
-
- /**
- * The version identifier for this Serializable class.
- * Increment only if the <i>serialized</i> form of the
- * class changes.
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * This constructor is used by the method "generateParseException"
- * in the generated parser. Calling this constructor generates
- * a new object of this type with the fields "currentToken",
- * "expectedTokenSequences", and "tokenImage" set.
- */
- public ParseException(Token currentTokenVal,
- int[][] expectedTokenSequencesVal,
- String[] tokenImageVal
- )
- {
- super(initialise(currentTokenVal, expectedTokenSequencesVal, tokenImageVal));
- currentToken = currentTokenVal;
- expectedTokenSequences = expectedTokenSequencesVal;
- tokenImage = tokenImageVal;
- }
-
- /**
- * The following constructors are for use by you for whatever
- * purpose you can think of. Constructing the exception in this
- * manner makes the exception behave in the normal way - i.e., as
- * documented in the class "Throwable". The fields "errorToken",
- * "expectedTokenSequences", and "tokenImage" do not contain
- * relevant information. The JavaCC generated code does not use
- * these constructors.
- */
-
- public ParseException() {
- super();
- }
-
- /** Constructor with message. */
- public ParseException(String message) {
- super(message);
- }
-
-
- /**
- * This is the last token that has been consumed successfully. If
- * this object has been created due to a parse error, the token
- * followng this token will (therefore) be the first error token.
- */
- public Token currentToken;
-
- /**
- * Each entry in this array is an array of integers. Each array
- * of integers represents a sequence of tokens (by their ordinal
- * values) that is expected at this point of the parse.
- */
- public int[][] expectedTokenSequences;
-
- /**
- * This is a reference to the "tokenImage" array of the generated
- * parser within which the parse error occurred. This array is
- * defined in the generated ...Constants interface.
- */
- public String[] tokenImage;
-
- /**
- * It uses "currentToken" and "expectedTokenSequences" to generate a parse
- * error message and returns it. If this object has been created
- * due to a parse error, and you do not catch it (it gets thrown
- * from the parser) the correct error message
- * gets displayed.
- */
- private static String initialise(Token currentToken,
- int[][] expectedTokenSequences,
- String[] tokenImage) {
- String eol = System.getProperty("line.separator", "\n");
- StringBuffer expected = new StringBuffer();
- int maxSize = 0;
- for (int i = 0; i < expectedTokenSequences.length; i++) {
- if (maxSize < expectedTokenSequences[i].length) {
- maxSize = expectedTokenSequences[i].length;
- }
- for (int j = 0; j < expectedTokenSequences[i].length; j++) {
- expected.append(tokenImage[expectedTokenSequences[i][j]]).append(' ');
- }
- if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {
- expected.append("...");
- }
- expected.append(eol).append(" ");
- }
- String retval = "Encountered \"";
- Token tok = currentToken.next;
- for (int i = 0; i < maxSize; i++) {
- if (i != 0) retval += " ";
- if (tok.kind == 0) {
- retval += tokenImage[0];
- break;
- }
- retval += " " + tokenImage[tok.kind];
- retval += " \"";
- retval += add_escapes(tok.image);
- retval += " \"";
- tok = tok.next;
- }
- retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
- retval += "." + eol;
- if (expectedTokenSequences.length == 1) {
- retval += "Was expecting:" + eol + " ";
- } else {
- retval += "Was expecting one of:" + eol + " ";
- }
- retval += expected.toString();
- return retval;
- }
-
- /**
- * The end of line string for this machine.
- */
- protected String eol = System.getProperty("line.separator", "\n");
-
- /**
- * Used to convert raw characters to their escaped version
- * when these raw version cannot be used as part of an ASCII
- * string literal.
- */
- static String add_escapes(String str) {
- StringBuffer retval = new StringBuffer();
- char ch;
- for (int i = 0; i < str.length(); i++) {
- switch (str.charAt(i))
- {
- case 0 :
- continue;
- case '\b':
- retval.append("\\b");
- continue;
- case '\t':
- retval.append("\\t");
- continue;
- case '\n':
- retval.append("\\n");
- continue;
- case '\f':
- retval.append("\\f");
- continue;
- case '\r':
- retval.append("\\r");
- continue;
- case '\"':
- retval.append("\\\"");
- continue;
- case '\'':
- retval.append("\\\'");
- continue;
- case '\\':
- retval.append("\\\\");
- continue;
- default:
- if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
- String s = "0000" + Integer.toString(ch, 16);
- retval.append("\\u" + s.substring(s.length() - 4, s.length()));
- } else {
- retval.append(ch);
- }
- continue;
- }
- }
- return retval.toString();
- }
-
-}
-/* JavaCC - OriginalChecksum=550e0a6a4797df7c85b744d9b417987f (do not edit this line) */
+++ /dev/null
-/* Generated By:JavaCC: Do not edit this line. Token.java Version 6.0 */
-/* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COL=null,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
-package edu.uci.eecs.utilParser;
-
-/**
- * Describes the input token stream.
- */
-
-public class Token implements java.io.Serializable {
-
- /**
- * The version identifier for this Serializable class.
- * Increment only if the <i>serialized</i> form of the
- * class changes.
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * An integer that describes the kind of this token. This numbering
- * system is determined by JavaCCParser, and a table of these numbers is
- * stored in the file ...Constants.java.
- */
- public int kind;
-
- /** The line number of the first character of this Token. */
- public int beginLine;
- /** The column number of the first character of this Token. */
- public int beginColumn;
- /** The line number of the last character of this Token. */
- public int endLine;
- /** The column number of the last character of this Token. */
- public int endColumn;
-
- /**
- * The string image of the token.
- */
- public String image;
-
- /**
- * A reference to the next regular (non-special) token from the input
- * stream. If this is the last token from the input stream, or if the
- * token manager has not read tokens beyond this one, this field is
- * set to null. This is true only if this token is also a regular
- * token. Otherwise, see below for a description of the contents of
- * this field.
- */
- public Token next;
-
- /**
- * This field is used to access special tokens that occur prior to this
- * token, but after the immediately preceding regular (non-special) token.
- * If there are no such special tokens, this field is set to null.
- * When there are more than one such special token, this field refers
- * to the last of these special tokens, which in turn refers to the next
- * previous special token through its specialToken field, and so on
- * until the first special token (whose specialToken field is null).
- * The next fields of special tokens refer to other special tokens that
- * immediately follow it (without an intervening regular token). If there
- * is no such token, this field is null.
- */
- public Token specialToken;
-
- /**
- * An optional attribute value of the Token.
- * Tokens which are not used as syntactic sugar will often contain
- * meaningful values that will be used later on by the compiler or
- * interpreter. This attribute value is often different from the image.
- * Any subclass of Token that actually wants to return a non-null value can
- * override this method as appropriate.
- */
- public Object getValue() {
- return null;
- }
-
- /**
- * No-argument constructor
- */
- public Token() {}
-
- /**
- * Constructs a new token for the specified Image.
- */
- public Token(int kind)
- {
- this(kind, null);
- }
-
- /**
- * Constructs a new token for the specified Image and Kind.
- */
- public Token(int kind, String image)
- {
- this.kind = kind;
- this.image = image;
- }
-
- /**
- * Returns the image.
- */
- public String toString()
- {
- return image;
- }
-
- /**
- * Returns a new Token object, by default. However, if you want, you
- * can create and return subclass objects based on the value of ofKind.
- * Simply add the cases to the switch for all those special cases.
- * For example, if you have a subclass of Token called IDToken that
- * you want to create if ofKind is ID, simply add something like :
- *
- * case MyParserConstants.ID : return new IDToken(ofKind, image);
- *
- * to the following switch statement. Then you can cast matchedToken
- * variable to the appropriate type and use sit in your lexical actions.
- */
- public static Token newToken(int ofKind, String image)
- {
- switch(ofKind)
- {
- default : return new Token(ofKind, image);
- }
- }
-
- public static Token newToken(int ofKind)
- {
- return newToken(ofKind, null);
- }
-
-}
-/* JavaCC - OriginalChecksum=38f47044916e9c6f117109f3f4d4cc58 (do not edit this line) */
+++ /dev/null
-/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 6.0 */
-/* JavaCCOptions: */
-package edu.uci.eecs.utilParser;
-
-/** Token Manager Error. */
-public class TokenMgrError extends Error
-{
-
- /**
- * The version identifier for this Serializable class.
- * Increment only if the <i>serialized</i> form of the
- * class changes.
- */
- private static final long serialVersionUID = 1L;
-
- /*
- * Ordinals for various reasons why an Error of this type can be thrown.
- */
-
- /**
- * Lexical error occurred.
- */
- static final int LEXICAL_ERROR = 0;
-
- /**
- * An attempt was made to create a second instance of a static token manager.
- */
- static final int STATIC_LEXER_ERROR = 1;
-
- /**
- * Tried to change to an invalid lexical state.
- */
- static final int INVALID_LEXICAL_STATE = 2;
-
- /**
- * Detected (and bailed out of) an infinite loop in the token manager.
- */
- static final int LOOP_DETECTED = 3;
-
- /**
- * Indicates the reason why the exception is thrown. It will have
- * one of the above 4 values.
- */
- int errorCode;
-
- /**
- * Replaces unprintable characters by their escaped (or unicode escaped)
- * equivalents in the given string
- */
- protected static final String addEscapes(String str) {
- StringBuffer retval = new StringBuffer();
- char ch;
- for (int i = 0; i < str.length(); i++) {
- switch (str.charAt(i))
- {
- case 0 :
- continue;
- case '\b':
- retval.append("\\b");
- continue;
- case '\t':
- retval.append("\\t");
- continue;
- case '\n':
- retval.append("\\n");
- continue;
- case '\f':
- retval.append("\\f");
- continue;
- case '\r':
- retval.append("\\r");
- continue;
- case '\"':
- retval.append("\\\"");
- continue;
- case '\'':
- retval.append("\\\'");
- continue;
- case '\\':
- retval.append("\\\\");
- continue;
- default:
- if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
- String s = "0000" + Integer.toString(ch, 16);
- retval.append("\\u" + s.substring(s.length() - 4, s.length()));
- } else {
- retval.append(ch);
- }
- continue;
- }
- }
- return retval.toString();
- }
-
- /**
- * Returns a detailed message for the Error when it is thrown by the
- * token manager to indicate a lexical error.
- * Parameters :
- * EOFSeen : indicates if EOF caused the lexical error
- * curLexState : lexical state in which this error occurred
- * errorLine : line number when the error occurred
- * errorColumn : column number when the error occurred
- * errorAfter : prefix that was seen before this error occurred
- * curchar : the offending character
- * Note: You can customize the lexical error message by modifying this method.
- */
- protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) {
- return("Lexical error at line " +
- errorLine + ", column " +
- errorColumn + ". Encountered: " +
- (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") +
- "after : \"" + addEscapes(errorAfter) + "\"");
- }
-
- /**
- * You can also modify the body of this method to customize your error messages.
- * For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not
- * of end-users concern, so you can return something like :
- *
- * "Internal Error : Please file a bug report .... "
- *
- * from this method for such cases in the release version of your parser.
- */
- public String getMessage() {
- return super.getMessage();
- }
-
- /*
- * Constructors of various flavors follow.
- */
-
- /** No arg constructor. */
- public TokenMgrError() {
- }
-
- /** Constructor with message and reason. */
- public TokenMgrError(String message, int reason) {
- super(message);
- errorCode = reason;
- }
-
- /** Full Constructor. */
- public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) {
- this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
- }
-}
-/* JavaCC - OriginalChecksum=7cab18650600c59420cfab060c23f12f (do not edit this line) */
+++ /dev/null
-/* UtilParser.java */
-/* Generated By:JavaCC: Do not edit this line. UtilParser.java */
-package edu.uci.eecs.utilParser;
-import edu.uci.eecs.specExtraction.FunctionHeader;
-import edu.uci.eecs.specExtraction.QualifiedName;
-import edu.uci.eecs.specExtraction.VariableDeclaration;
-//import edu.uci.eecs.specExtraction.WrongAnnotationException;
-
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.util.ArrayList;
-
-
-public class UtilParser implements UtilParserConstants {
- public static void main(String[] argvs)
- throws ParseException, TokenMgrError {
- try {
- File f = new File("./grammer/spec1.txt");
- FileInputStream fis = new FileInputStream(f);
- UtilParser parser = new UtilParser(fis);
-
- //parser.Test();
- System.out.println("Parsing finished!");
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- }
-
- public static ArrayList<VariableDeclaration> getTemplateArg(String line)
- throws ParseException {
- InputStream input = new ByteArrayInputStream(line.getBytes());
- UtilParser parser = new UtilParser(input);
- return parser.TemplateParamList();
- }
-
- public static FunctionHeader parseFuncHeader(String line)
- throws ParseException {
- InputStream input = new ByteArrayInputStream(line.getBytes());
- UtilParser parser = new UtilParser(input);
- return parser.FuncDecl();
- }
-
- public static VariableDeclaration parseDeclaration(String line)
- throws ParseException {
- InputStream input = new ByteArrayInputStream(line.getBytes());
- UtilParser parser = new UtilParser(input);
- return parser.Declaration();
- }
-
- public static String stringArray2String(ArrayList<String> content) {
- StringBuilder sb = new StringBuilder();
- if (content.size() == 1)
- return content.get(0);
- for (int i = 0; i < content.size(); i++) {
- sb.append(content.get(i) + "\u005cn");
- }
- return sb.toString();
- }
-
- final public String Type() throws ParseException {String type;
- String str;
- QualifiedName name;
-type = "";
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case CONST:{
- jj_consume_token(CONST);
-type = "const";
- break;
- }
- default:
- jj_la1[0] = jj_gen;
- ;
- }
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case STRUCT:
- case CLASS:
- case UNSIGNED:{
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case STRUCT:{
- str = jj_consume_token(STRUCT).image;
- break;
- }
- case CLASS:{
- str = jj_consume_token(CLASS).image;
- break;
- }
- case UNSIGNED:{
- str = jj_consume_token(UNSIGNED).image;
- break;
- }
- default:
- jj_la1[1] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
-type = type.equals("") ? type + str : type + " " + str;
- break;
- }
- default:
- jj_la1[2] = jj_gen;
- ;
- }
- name = ParseQualifiedName();
-if (!type.equals(""))
- type = type + " " + name.fullName;
- else
- type = name.fullName;
- label_1:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case CONST:
- case STAR:
- case AND:{
- ;
- break;
- }
- default:
- jj_la1[3] = jj_gen;
- break label_1;
- }
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case CONST:{
- str = jj_consume_token(CONST).image;
-if (!type.equals(""))
- type = type + " " + str;
- else
- type = str;
- break;
- }
- case STAR:{
- str = jj_consume_token(STAR).image;
-if (!type.equals(""))
- type = type + " " + str;
- else
- type = str;
- break;
- }
- case AND:{
- str = jj_consume_token(AND).image;
-if (!type.equals(""))
- type = type + " " + str;
- else
- type = str;
- break;
- }
- default:
- jj_la1[4] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- }
-{if ("" != null) return type;}
- throw new Error("Missing return statement in function");
- }
-
- final public void Test() throws ParseException {String str;
- FunctionHeader func;
- /*
- str = Type()
- {
- System.out.println(str);
- }
- */
- func = FuncDecl();
-System.out.println(func);
- }
-
- final public String ParameterizedName() throws ParseException {String res = "";
- String str;
- str = jj_consume_token(IDENTIFIER).image;
-res = str;
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case LESS_THAN:{
- jj_consume_token(LESS_THAN);
- str = Type();
-res = res + "<" + str;
- label_2:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case COMMA:{
- ;
- break;
- }
- default:
- jj_la1[5] = jj_gen;
- break label_2;
- }
- jj_consume_token(COMMA);
- str = Type();
-res = res + ", " + str;
- }
- jj_consume_token(GREATER_THAN);
-res = res + ">";
- break;
- }
- default:
- jj_la1[6] = jj_gen;
- ;
- }
-{if ("" != null) return res;}
- throw new Error("Missing return statement in function");
- }
-
- final public FunctionHeader FuncDecl() throws ParseException {String ret;
- QualifiedName funcName;
- ArrayList<VariableDeclaration> args;
- label_3:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case INLINE:
- case STATIC:{
- ;
- break;
- }
- default:
- jj_la1[7] = jj_gen;
- break label_3;
- }
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case STATIC:{
- jj_consume_token(STATIC);
- break;
- }
- case INLINE:{
- jj_consume_token(INLINE);
- break;
- }
- default:
- jj_la1[8] = jj_gen;
- jj_consume_token(-1);
- throw new ParseException();
- }
- }
- ret = Type();
- funcName = ParseQualifiedName();
- args = FormalParamList();
-FunctionHeader res = new FunctionHeader(ret, funcName, args);
- //System.out.println(res);
- {if ("" != null) return res;}
- throw new Error("Missing return statement in function");
- }
-
- final public QualifiedName ParseQualifiedName() throws ParseException {String qualifiedName, str;
-qualifiedName = "";
- str = ParameterizedName();
-qualifiedName = qualifiedName + str;
- label_4:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case DOUBLECOLON:{
- ;
- break;
- }
- default:
- jj_la1[9] = jj_gen;
- break label_4;
- }
- jj_consume_token(DOUBLECOLON);
- str = ParameterizedName();
-qualifiedName = qualifiedName +
- "::" + str;
- }
-QualifiedName res = new QualifiedName(qualifiedName);
- //System.out.println(res);
- {if ("" != null) return res;}
- throw new Error("Missing return statement in function");
- }
-
- final public ArrayList<VariableDeclaration> TemplateParamList() throws ParseException {ArrayList<VariableDeclaration> params;
- String type;
- String name;
-params = new ArrayList<VariableDeclaration>();
- jj_consume_token(TEMPLATE);
- jj_consume_token(LESS_THAN);
- type = jj_consume_token(IDENTIFIER).image;
- name = jj_consume_token(IDENTIFIER).image;
-params.add(new VariableDeclaration(type, name));
- label_5:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case COMMA:{
- ;
- break;
- }
- default:
- jj_la1[10] = jj_gen;
- break label_5;
- }
- jj_consume_token(COMMA);
- type = jj_consume_token(IDENTIFIER).image;
- name = jj_consume_token(IDENTIFIER).image;
-params.add(new VariableDeclaration(type, name));
- }
- jj_consume_token(GREATER_THAN);
-//System.out.println(params);
- {if ("" != null) return params;}
- throw new Error("Missing return statement in function");
- }
-
- final public ArrayList<VariableDeclaration > FormalParamList() throws ParseException {ArrayList<VariableDeclaration > typeParams;
- VariableDeclaration varDecl;
-typeParams = new ArrayList<VariableDeclaration >();
- jj_consume_token(OPEN_PAREN);
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case CONST:
- case STRUCT:
- case CLASS:
- case UNSIGNED:
- case IDENTIFIER:{
- varDecl = TypeParam();
-typeParams.add(varDecl);
- label_6:
- while (true) {
- switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
- case COMMA:{
- ;
- break;
- }
- default:
- jj_la1[11] = jj_gen;
- break label_6;
- }
- jj_consume_token(COMMA);
- varDecl = TypeParam();
-typeParams.add(varDecl);
- }
- break;
- }
- default:
- jj_la1[12] = jj_gen;
- ;
- }
- jj_consume_token(CLOSE_PAREN);
-{if ("" != null) return typeParams;}
- throw new Error("Missing return statement in function");
- }
-
- final public VariableDeclaration Declaration() throws ParseException {String type, param;
- type = Type();
- param = jj_consume_token(IDENTIFIER).image;
- jj_consume_token(SEMI_COLON);
-{if ("" != null) return new VariableDeclaration(type, param);}
- throw new Error("Missing return statement in function");
- }
-
- final public VariableDeclaration TypeParam() throws ParseException {String type, param;
- type = Type();
- param = jj_consume_token(IDENTIFIER).image;
-{if ("" != null) return new VariableDeclaration(type, param);}
- throw new Error("Missing return statement in function");
- }
-
- /** Generated Token Manager. */
- public UtilParserTokenManager token_source;
- JavaCharStream jj_input_stream;
- /** Current token. */
- public Token token;
- /** Next token. */
- public Token jj_nt;
- private int jj_ntk;
- private int jj_gen;
- final private int[] jj_la1 = new int[13];
- static private int[] jj_la1_0;
- static private int[] jj_la1_1;
- static private int[] jj_la1_2;
- static {
- jj_la1_init_0();
- jj_la1_init_1();
- jj_la1_init_2();
- }
- private static void jj_la1_init_0() {
- jj_la1_0 = new int[] {0x40,0x380,0x380,0x20000040,0x20000040,0x4000000,0x0,0x1800,0x1800,0x0,0x4000000,0x4000000,0x103c0,};
- }
- private static void jj_la1_init_1() {
- jj_la1_1 = new int[] {0x0,0x0,0x0,0x1,0x1,0x0,0x200,0x0,0x0,0x100000,0x0,0x0,0x0,};
- }
- private static void jj_la1_init_2() {
- jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
- }
-
- /** Constructor with InputStream. */
- public UtilParser(java.io.InputStream stream) {
- this(stream, null);
- }
- /** Constructor with InputStream and supplied encoding */
- public UtilParser(java.io.InputStream stream, String encoding) {
- try { jj_input_stream = new JavaCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
- token_source = new UtilParserTokenManager(jj_input_stream);
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- for (int i = 0; i < 13; i++) jj_la1[i] = -1;
- }
-
- /** Reinitialise. */
- public void ReInit(java.io.InputStream stream) {
- ReInit(stream, null);
- }
- /** Reinitialise. */
- public void ReInit(java.io.InputStream stream, String encoding) {
- try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
- token_source.ReInit(jj_input_stream);
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- for (int i = 0; i < 13; i++) jj_la1[i] = -1;
- }
-
- /** Constructor. */
- public UtilParser(java.io.Reader stream) {
- jj_input_stream = new JavaCharStream(stream, 1, 1);
- token_source = new UtilParserTokenManager(jj_input_stream);
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- for (int i = 0; i < 13; i++) jj_la1[i] = -1;
- }
-
- /** Reinitialise. */
- public void ReInit(java.io.Reader stream) {
- jj_input_stream.ReInit(stream, 1, 1);
- token_source.ReInit(jj_input_stream);
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- for (int i = 0; i < 13; i++) jj_la1[i] = -1;
- }
-
- /** Constructor with generated Token Manager. */
- public UtilParser(UtilParserTokenManager tm) {
- token_source = tm;
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- for (int i = 0; i < 13; i++) jj_la1[i] = -1;
- }
-
- /** Reinitialise. */
- public void ReInit(UtilParserTokenManager tm) {
- token_source = tm;
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- for (int i = 0; i < 13; i++) jj_la1[i] = -1;
- }
-
- private Token jj_consume_token(int kind) throws ParseException {
- Token oldToken;
- if ((oldToken = token).next != null) token = token.next;
- else token = token.next = token_source.getNextToken();
- jj_ntk = -1;
- if (token.kind == kind) {
- jj_gen++;
- return token;
- }
- token = oldToken;
- jj_kind = kind;
- throw generateParseException();
- }
-
-
-/** Get the next Token. */
- final public Token getNextToken() {
- if (token.next != null) token = token.next;
- else token = token.next = token_source.getNextToken();
- jj_ntk = -1;
- jj_gen++;
- return token;
- }
-
-/** Get the specific Token. */
- final public Token getToken(int index) {
- Token t = token;
- for (int i = 0; i < index; i++) {
- if (t.next != null) t = t.next;
- else t = t.next = token_source.getNextToken();
- }
- return t;
- }
-
- private int jj_ntk_f() {
- if ((jj_nt=token.next) == null)
- return (jj_ntk = (token.next=token_source.getNextToken()).kind);
- else
- return (jj_ntk = jj_nt.kind);
- }
-
- private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>();
- private int[] jj_expentry;
- private int jj_kind = -1;
-
- /** Generate ParseException. */
- public ParseException generateParseException() {
- jj_expentries.clear();
- boolean[] la1tokens = new boolean[80];
- if (jj_kind >= 0) {
- la1tokens[jj_kind] = true;
- jj_kind = -1;
- }
- for (int i = 0; i < 13; i++) {
- if (jj_la1[i] == jj_gen) {
- for (int j = 0; j < 32; j++) {
- if ((jj_la1_0[i] & (1<<j)) != 0) {
- la1tokens[j] = true;
- }
- if ((jj_la1_1[i] & (1<<j)) != 0) {
- la1tokens[32+j] = true;
- }
- if ((jj_la1_2[i] & (1<<j)) != 0) {
- la1tokens[64+j] = true;
- }
- }
- }
- }
- for (int i = 0; i < 80; i++) {
- if (la1tokens[i]) {
- jj_expentry = new int[1];
- jj_expentry[0] = i;
- jj_expentries.add(jj_expentry);
- }
- }
- int[][] exptokseq = new int[jj_expentries.size()][];
- for (int i = 0; i < jj_expentries.size(); i++) {
- exptokseq[i] = jj_expentries.get(i);
- }
- return new ParseException(token, exptokseq, tokenImage);
- }
-
- /** Enable tracing. */
- final public void enable_tracing() {
- }
-
- /** Disable tracing. */
- final public void disable_tracing() {
- }
-
-}
+++ /dev/null
-/* Generated By:JavaCC: Do not edit this line. UtilParserConstants.java */
-package edu.uci.eecs.utilParser;
-
-
-/**
- * Token literal values and constants.
- * Generated by org.javacc.parser.OtherFilesGen#start()
- */
-public interface UtilParserConstants {
-
- /** End of File. */
- int EOF = 0;
- /** RegularExpression Id. */
- int CONST = 6;
- /** RegularExpression Id. */
- int STRUCT = 7;
- /** RegularExpression Id. */
- int CLASS = 8;
- /** RegularExpression Id. */
- int UNSIGNED = 9;
- /** RegularExpression Id. */
- int TEMPLATE = 10;
- /** RegularExpression Id. */
- int INLINE = 11;
- /** RegularExpression Id. */
- int STATIC = 12;
- /** RegularExpression Id. */
- int FOR = 13;
- /** RegularExpression Id. */
- int DIGIT = 14;
- /** RegularExpression Id. */
- int LETTER = 15;
- /** RegularExpression Id. */
- int IDENTIFIER = 16;
- /** RegularExpression Id. */
- int POUND = 17;
- /** RegularExpression Id. */
- int OPEN_BRACKET = 18;
- /** RegularExpression Id. */
- int CLOSE_BRACKET = 19;
- /** RegularExpression Id. */
- int EQUALS = 20;
- /** RegularExpression Id. */
- int OPEN_PAREN = 21;
- /** RegularExpression Id. */
- int CLOSE_PAREN = 22;
- /** RegularExpression Id. */
- int OPEN_BRACE = 23;
- /** RegularExpression Id. */
- int CLOSE_BRACE = 24;
- /** RegularExpression Id. */
- int HB_SYMBOL = 25;
- /** RegularExpression Id. */
- int COMMA = 26;
- /** RegularExpression Id. */
- int DOT = 27;
- /** RegularExpression Id. */
- int DOLLAR = 28;
- /** RegularExpression Id. */
- int STAR = 29;
- /** RegularExpression Id. */
- int NEGATE = 30;
- /** RegularExpression Id. */
- int EXCLAMATION = 31;
- /** RegularExpression Id. */
- int AND = 32;
- /** RegularExpression Id. */
- int OR = 33;
- /** RegularExpression Id. */
- int MOD = 34;
- /** RegularExpression Id. */
- int PLUS = 35;
- /** RegularExpression Id. */
- int PLUSPLUS = 36;
- /** RegularExpression Id. */
- int MINUS = 37;
- /** RegularExpression Id. */
- int MINUSMINUS = 38;
- /** RegularExpression Id. */
- int DIVIDE = 39;
- /** RegularExpression Id. */
- int BACKSLASH = 40;
- /** RegularExpression Id. */
- int LESS_THAN = 41;
- /** RegularExpression Id. */
- int GREATER_THAN = 42;
- /** RegularExpression Id. */
- int GREATER_EQUALS = 43;
- /** RegularExpression Id. */
- int LESS_EQUALS = 44;
- /** RegularExpression Id. */
- int LOGICAL_EQUALS = 45;
- /** RegularExpression Id. */
- int NOT_EQUALS = 46;
- /** RegularExpression Id. */
- int LOGICAL_AND = 47;
- /** RegularExpression Id. */
- int LOGICAL_OR = 48;
- /** RegularExpression Id. */
- int XOR = 49;
- /** RegularExpression Id. */
- int QUESTION_MARK = 50;
- /** RegularExpression Id. */
- int COLON = 51;
- /** RegularExpression Id. */
- int DOUBLECOLON = 52;
- /** RegularExpression Id. */
- int DOUBLELESSTHAN = 53;
- /** RegularExpression Id. */
- int DOUBLEGREATERTHAN = 54;
- /** RegularExpression Id. */
- int TRIPLEGREATERTHAN = 55;
- /** RegularExpression Id. */
- int PLUS_EQUALS = 56;
- /** RegularExpression Id. */
- int MINUS_EQUALS = 57;
- /** RegularExpression Id. */
- int TIMES_EQUALS = 58;
- /** RegularExpression Id. */
- int DIVIDE_EQUALS = 59;
- /** RegularExpression Id. */
- int MOD_EQUALS = 60;
- /** RegularExpression Id. */
- int XOR_EQUALS = 61;
- /** RegularExpression Id. */
- int OR_EQUALS = 62;
- /** RegularExpression Id. */
- int AND_EQUALS = 63;
- /** RegularExpression Id. */
- int SEMI_COLON = 64;
- /** RegularExpression Id. */
- int STRING_LITERAL = 65;
- /** RegularExpression Id. */
- int CHARACTER_LITERAL = 66;
- /** RegularExpression Id. */
- int INTEGER_LITERAL = 67;
- /** RegularExpression Id. */
- int DECIMAL_LITERAL = 68;
- /** RegularExpression Id. */
- int HEX_LITERAL = 69;
- /** RegularExpression Id. */
- int OCTAL_LITERAL = 70;
- /** RegularExpression Id. */
- int FLOATING_POINT_LITERAL = 71;
- /** RegularExpression Id. */
- int DECIMAL_FLOATING_POINT_LITERAL = 72;
- /** RegularExpression Id. */
- int DECIMAL_EXPONENT = 73;
- /** RegularExpression Id. */
- int HEXADECIMAL_FLOATING_POINT_LITERAL = 74;
- /** RegularExpression Id. */
- int HEXADECIMAL_EXPONENT = 75;
- /** RegularExpression Id. */
- int SPACE = 76;
- /** RegularExpression Id. */
- int TO_END_OF_LINE = 77;
- /** RegularExpression Id. */
- int INCLUDE = 78;
- /** RegularExpression Id. */
- int DEFINE = 79;
-
- /** Lexical state. */
- int DEFAULT = 0;
-
- /** Literal token values. */
- String[] tokenImage = {
- "<EOF>",
- "\" \"",
- "\"\\n\"",
- "\"\\r\"",
- "\"\\r\\n\"",
- "\"\\t\"",
- "\"const\"",
- "\"struct\"",
- "\"class\"",
- "\"unsigned\"",
- "\"template\"",
- "\"inline\"",
- "\"static\"",
- "\"for\"",
- "<DIGIT>",
- "<LETTER>",
- "<IDENTIFIER>",
- "\"#\"",
- "\"[\"",
- "\"]\"",
- "\"=\"",
- "\"(\"",
- "\")\"",
- "\"{\"",
- "\"}\"",
- "\"->\"",
- "\",\"",
- "\".\"",
- "\"$\"",
- "\"*\"",
- "\"~\"",
- "\"!\"",
- "\"&\"",
- "\"|\"",
- "\"%\"",
- "\"+\"",
- "\"++\"",
- "\"-\"",
- "\"--\"",
- "\"/\"",
- "\"\\\\\"",
- "\"<\"",
- "\">\"",
- "\">=\"",
- "\"<=\"",
- "\"==\"",
- "\"!=\"",
- "\"&&\"",
- "\"||\"",
- "\"^\"",
- "\"?\"",
- "\":\"",
- "\"::\"",
- "\"<<\"",
- "\">>\"",
- "\">>>\"",
- "\"+=\"",
- "\"-=\"",
- "\"*=\"",
- "\"/=\"",
- "\"%=\"",
- "\"^=\"",
- "\"|=\"",
- "\"&=\"",
- "\";\"",
- "<STRING_LITERAL>",
- "<CHARACTER_LITERAL>",
- "<INTEGER_LITERAL>",
- "<DECIMAL_LITERAL>",
- "<HEX_LITERAL>",
- "<OCTAL_LITERAL>",
- "<FLOATING_POINT_LITERAL>",
- "<DECIMAL_FLOATING_POINT_LITERAL>",
- "<DECIMAL_EXPONENT>",
- "<HEXADECIMAL_FLOATING_POINT_LITERAL>",
- "<HEXADECIMAL_EXPONENT>",
- "<SPACE>",
- "<TO_END_OF_LINE>",
- "<INCLUDE>",
- "<DEFINE>",
- };
-
-}
+++ /dev/null
-/* UtilParserTokenManager.java */
-/* Generated By:JavaCC: Do not edit this line. UtilParserTokenManager.java */
-package edu.uci.eecs.utilParser;
-import edu.uci.eecs.specExtraction.FunctionHeader;
-import edu.uci.eecs.specExtraction.QualifiedName;
-import edu.uci.eecs.specExtraction.VariableDeclaration;
-//import edu.uci.eecs.specExtraction.WrongAnnotationException;
-
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.util.ArrayList;
-
-/** Token Manager. */
-@SuppressWarnings("unused")public class UtilParserTokenManager implements UtilParserConstants {
-
- /** Debug output. */
- public java.io.PrintStream debugStream = System.out;
- /** Set debug output. */
- public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
-private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1){
- switch (pos)
- {
- case 0:
- if ((active0 & 0x8000000L) != 0L)
- return 24;
- if ((active0 & 0x20000L) != 0L)
- return 85;
- if ((active0 & 0x3fc0L) != 0L)
- {
- jjmatchedKind = 16;
- return 1;
- }
- return -1;
- case 1:
- if ((active0 & 0x3fc0L) != 0L)
- {
- if (jjmatchedPos != 1)
- {
- jjmatchedKind = 16;
- jjmatchedPos = 1;
- }
- return 1;
- }
- return -1;
- case 2:
- if ((active0 & 0x1fc0L) != 0L)
- {
- jjmatchedKind = 16;
- jjmatchedPos = 2;
- return 1;
- }
- if ((active0 & 0x2000L) != 0L)
- return 1;
- return -1;
- case 3:
- if ((active0 & 0x1fc0L) != 0L)
- {
- jjmatchedKind = 16;
- jjmatchedPos = 3;
- return 1;
- }
- return -1;
- case 4:
- if ((active0 & 0x1e80L) != 0L)
- {
- jjmatchedKind = 16;
- jjmatchedPos = 4;
- return 1;
- }
- if ((active0 & 0x140L) != 0L)
- return 1;
- return -1;
- case 5:
- if ((active0 & 0x600L) != 0L)
- {
- jjmatchedKind = 16;
- jjmatchedPos = 5;
- return 1;
- }
- if ((active0 & 0x1880L) != 0L)
- return 1;
- return -1;
- case 6:
- if ((active0 & 0x600L) != 0L)
- {
- jjmatchedKind = 16;
- jjmatchedPos = 6;
- return 1;
- }
- return -1;
- default :
- return -1;
- }
-}
-private final int jjStartNfa_0(int pos, long active0, long active1){
- return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0, active1), pos + 1);
-}
-private int jjStopAtPos(int pos, int kind)
-{
- jjmatchedKind = kind;
- jjmatchedPos = pos;
- return pos + 1;
-}
-private int jjMoveStringLiteralDfa0_0(){
- switch(curChar)
- {
- case 13:
- jjmatchedKind = 3;
- return jjMoveStringLiteralDfa1_0(0x10L);
- case 33:
- jjmatchedKind = 31;
- return jjMoveStringLiteralDfa1_0(0x400000000000L);
- case 35:
- return jjStartNfaWithStates_0(0, 17, 85);
- case 36:
- return jjStopAtPos(0, 28);
- case 37:
- jjmatchedKind = 34;
- return jjMoveStringLiteralDfa1_0(0x1000000000000000L);
- case 38:
- jjmatchedKind = 32;
- return jjMoveStringLiteralDfa1_0(0x8000800000000000L);
- case 40:
- return jjStopAtPos(0, 21);
- case 41:
- return jjStopAtPos(0, 22);
- case 42:
- jjmatchedKind = 29;
- return jjMoveStringLiteralDfa1_0(0x400000000000000L);
- case 43:
- jjmatchedKind = 35;
- return jjMoveStringLiteralDfa1_0(0x100001000000000L);
- case 44:
- return jjStopAtPos(0, 26);
- case 45:
- jjmatchedKind = 37;
- return jjMoveStringLiteralDfa1_0(0x200004002000000L);
- case 46:
- return jjStartNfaWithStates_0(0, 27, 24);
- case 47:
- jjmatchedKind = 39;
- return jjMoveStringLiteralDfa1_0(0x800000000000000L);
- case 58:
- jjmatchedKind = 51;
- return jjMoveStringLiteralDfa1_0(0x10000000000000L);
- case 59:
- return jjStopAtPos(0, 64);
- case 60:
- jjmatchedKind = 41;
- return jjMoveStringLiteralDfa1_0(0x20100000000000L);
- case 61:
- jjmatchedKind = 20;
- return jjMoveStringLiteralDfa1_0(0x200000000000L);
- case 62:
- jjmatchedKind = 42;
- return jjMoveStringLiteralDfa1_0(0xc0080000000000L);
- case 63:
- return jjStopAtPos(0, 50);
- case 91:
- return jjStopAtPos(0, 18);
- case 92:
- return jjStopAtPos(0, 40);
- case 93:
- return jjStopAtPos(0, 19);
- case 94:
- jjmatchedKind = 49;
- return jjMoveStringLiteralDfa1_0(0x2000000000000000L);
- case 99:
- return jjMoveStringLiteralDfa1_0(0x140L);
- case 102:
- return jjMoveStringLiteralDfa1_0(0x2000L);
- case 105:
- return jjMoveStringLiteralDfa1_0(0x800L);
- case 115:
- return jjMoveStringLiteralDfa1_0(0x1080L);
- case 116:
- return jjMoveStringLiteralDfa1_0(0x400L);
- case 117:
- return jjMoveStringLiteralDfa1_0(0x200L);
- case 123:
- return jjStopAtPos(0, 23);
- case 124:
- jjmatchedKind = 33;
- return jjMoveStringLiteralDfa1_0(0x4001000000000000L);
- case 125:
- return jjStopAtPos(0, 24);
- case 126:
- return jjStopAtPos(0, 30);
- default :
- return jjMoveNfa_0(0, 0);
- }
-}
-private int jjMoveStringLiteralDfa1_0(long active0){
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(0, active0, 0L);
- return 1;
- }
- switch(curChar)
- {
- case 10:
- if ((active0 & 0x10L) != 0L)
- return jjStopAtPos(1, 4);
- break;
- case 38:
- if ((active0 & 0x800000000000L) != 0L)
- return jjStopAtPos(1, 47);
- break;
- case 43:
- if ((active0 & 0x1000000000L) != 0L)
- return jjStopAtPos(1, 36);
- break;
- case 45:
- if ((active0 & 0x4000000000L) != 0L)
- return jjStopAtPos(1, 38);
- break;
- case 58:
- if ((active0 & 0x10000000000000L) != 0L)
- return jjStopAtPos(1, 52);
- break;
- case 60:
- if ((active0 & 0x20000000000000L) != 0L)
- return jjStopAtPos(1, 53);
- break;
- case 61:
- if ((active0 & 0x80000000000L) != 0L)
- return jjStopAtPos(1, 43);
- else if ((active0 & 0x100000000000L) != 0L)
- return jjStopAtPos(1, 44);
- else if ((active0 & 0x200000000000L) != 0L)
- return jjStopAtPos(1, 45);
- else if ((active0 & 0x400000000000L) != 0L)
- return jjStopAtPos(1, 46);
- else if ((active0 & 0x100000000000000L) != 0L)
- return jjStopAtPos(1, 56);
- else if ((active0 & 0x200000000000000L) != 0L)
- return jjStopAtPos(1, 57);
- else if ((active0 & 0x400000000000000L) != 0L)
- return jjStopAtPos(1, 58);
- else if ((active0 & 0x800000000000000L) != 0L)
- return jjStopAtPos(1, 59);
- else if ((active0 & 0x1000000000000000L) != 0L)
- return jjStopAtPos(1, 60);
- else if ((active0 & 0x2000000000000000L) != 0L)
- return jjStopAtPos(1, 61);
- else if ((active0 & 0x4000000000000000L) != 0L)
- return jjStopAtPos(1, 62);
- else if ((active0 & 0x8000000000000000L) != 0L)
- return jjStopAtPos(1, 63);
- break;
- case 62:
- if ((active0 & 0x2000000L) != 0L)
- return jjStopAtPos(1, 25);
- else if ((active0 & 0x40000000000000L) != 0L)
- {
- jjmatchedKind = 54;
- jjmatchedPos = 1;
- }
- return jjMoveStringLiteralDfa2_0(active0, 0x80000000000000L);
- case 101:
- return jjMoveStringLiteralDfa2_0(active0, 0x400L);
- case 108:
- return jjMoveStringLiteralDfa2_0(active0, 0x100L);
- case 110:
- return jjMoveStringLiteralDfa2_0(active0, 0xa00L);
- case 111:
- return jjMoveStringLiteralDfa2_0(active0, 0x2040L);
- case 116:
- return jjMoveStringLiteralDfa2_0(active0, 0x1080L);
- case 124:
- if ((active0 & 0x1000000000000L) != 0L)
- return jjStopAtPos(1, 48);
- break;
- default :
- break;
- }
- return jjStartNfa_0(0, active0, 0L);
-}
-private int jjMoveStringLiteralDfa2_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(0, old0, 0L);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(1, active0, 0L);
- return 2;
- }
- switch(curChar)
- {
- case 62:
- if ((active0 & 0x80000000000000L) != 0L)
- return jjStopAtPos(2, 55);
- break;
- case 97:
- return jjMoveStringLiteralDfa3_0(active0, 0x1100L);
- case 108:
- return jjMoveStringLiteralDfa3_0(active0, 0x800L);
- case 109:
- return jjMoveStringLiteralDfa3_0(active0, 0x400L);
- case 110:
- return jjMoveStringLiteralDfa3_0(active0, 0x40L);
- case 114:
- if ((active0 & 0x2000L) != 0L)
- return jjStartNfaWithStates_0(2, 13, 1);
- return jjMoveStringLiteralDfa3_0(active0, 0x80L);
- case 115:
- return jjMoveStringLiteralDfa3_0(active0, 0x200L);
- default :
- break;
- }
- return jjStartNfa_0(1, active0, 0L);
-}
-private int jjMoveStringLiteralDfa3_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(1, old0, 0L);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(2, active0, 0L);
- return 3;
- }
- switch(curChar)
- {
- case 105:
- return jjMoveStringLiteralDfa4_0(active0, 0xa00L);
- case 112:
- return jjMoveStringLiteralDfa4_0(active0, 0x400L);
- case 115:
- return jjMoveStringLiteralDfa4_0(active0, 0x140L);
- case 116:
- return jjMoveStringLiteralDfa4_0(active0, 0x1000L);
- case 117:
- return jjMoveStringLiteralDfa4_0(active0, 0x80L);
- default :
- break;
- }
- return jjStartNfa_0(2, active0, 0L);
-}
-private int jjMoveStringLiteralDfa4_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(2, old0, 0L);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(3, active0, 0L);
- return 4;
- }
- switch(curChar)
- {
- case 99:
- return jjMoveStringLiteralDfa5_0(active0, 0x80L);
- case 103:
- return jjMoveStringLiteralDfa5_0(active0, 0x200L);
- case 105:
- return jjMoveStringLiteralDfa5_0(active0, 0x1000L);
- case 108:
- return jjMoveStringLiteralDfa5_0(active0, 0x400L);
- case 110:
- return jjMoveStringLiteralDfa5_0(active0, 0x800L);
- case 115:
- if ((active0 & 0x100L) != 0L)
- return jjStartNfaWithStates_0(4, 8, 1);
- break;
- case 116:
- if ((active0 & 0x40L) != 0L)
- return jjStartNfaWithStates_0(4, 6, 1);
- break;
- default :
- break;
- }
- return jjStartNfa_0(3, active0, 0L);
-}
-private int jjMoveStringLiteralDfa5_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(3, old0, 0L);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(4, active0, 0L);
- return 5;
- }
- switch(curChar)
- {
- case 97:
- return jjMoveStringLiteralDfa6_0(active0, 0x400L);
- case 99:
- if ((active0 & 0x1000L) != 0L)
- return jjStartNfaWithStates_0(5, 12, 1);
- break;
- case 101:
- if ((active0 & 0x800L) != 0L)
- return jjStartNfaWithStates_0(5, 11, 1);
- break;
- case 110:
- return jjMoveStringLiteralDfa6_0(active0, 0x200L);
- case 116:
- if ((active0 & 0x80L) != 0L)
- return jjStartNfaWithStates_0(5, 7, 1);
- break;
- default :
- break;
- }
- return jjStartNfa_0(4, active0, 0L);
-}
-private int jjMoveStringLiteralDfa6_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(4, old0, 0L);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(5, active0, 0L);
- return 6;
- }
- switch(curChar)
- {
- case 101:
- return jjMoveStringLiteralDfa7_0(active0, 0x200L);
- case 116:
- return jjMoveStringLiteralDfa7_0(active0, 0x400L);
- default :
- break;
- }
- return jjStartNfa_0(5, active0, 0L);
-}
-private int jjMoveStringLiteralDfa7_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(5, old0, 0L);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(6, active0, 0L);
- return 7;
- }
- switch(curChar)
- {
- case 100:
- if ((active0 & 0x200L) != 0L)
- return jjStartNfaWithStates_0(7, 9, 1);
- break;
- case 101:
- if ((active0 & 0x400L) != 0L)
- return jjStartNfaWithStates_0(7, 10, 1);
- break;
- default :
- break;
- }
- return jjStartNfa_0(6, active0, 0L);
-}
-private 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);
-}
-static final long[] jjbitVec0 = {
- 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
-};
-static final long[] jjbitVec2 = {
- 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
-};
-private int jjMoveNfa_0(int startState, int curPos)
-{
- int startsAt = 0;
- jjnewStateCnt = 85;
- int i = 1;
- jjstateSet[0] = startState;
- int kind = 0x7fffffff;
- for (;;)
- {
- if (++jjround == 0x7fffffff)
- ReInitRounds();
- if (curChar < 64)
- {
- long l = 1L << curChar;
- do
- {
- switch(jjstateSet[--i])
- {
- case 0:
- if ((0x3ff000000000000L & l) != 0L)
- { jjCheckNAddStates(0, 6); }
- else if (curChar == 35)
- { jjCheckNAddStates(7, 10); }
- else if (curChar == 46)
- { jjCheckNAdd(24); }
- else if (curChar == 39)
- { jjAddStates(11, 12); }
- else if (curChar == 34)
- { jjCheckNAddStates(13, 15); }
- if ((0x3fe000000000000L & l) != 0L)
- {
- if (kind > 67)
- kind = 67;
- { jjCheckNAddTwoStates(21, 22); }
- }
- else if (curChar == 48)
- {
- if (kind > 67)
- kind = 67;
- { jjCheckNAddStates(16, 20); }
- }
- break;
- case 85:
- if ((0xfffffffffffffbffL & l) != 0L)
- {
- if (kind > 79)
- kind = 79;
- { jjCheckNAdd(67); }
- }
- if ((0x100000200L & l) != 0L)
- { jjCheckNAddTwoStates(66, 67); }
- if ((0x100000200L & l) != 0L)
- { jjCheckNAddTwoStates(45, 65); }
- break;
- case 1:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 16)
- kind = 16;
- jjstateSet[jjnewStateCnt++] = 1;
- break;
- case 2:
- if (curChar == 34)
- { jjCheckNAddStates(13, 15); }
- break;
- case 3:
- if ((0xfffffffbffffdbffL & l) != 0L)
- { jjCheckNAddStates(13, 15); }
- break;
- case 5:
- if ((0x8400000000L & l) != 0L)
- { jjCheckNAddStates(13, 15); }
- break;
- case 6:
- if (curChar == 34 && kind > 65)
- kind = 65;
- break;
- case 7:
- if ((0xff000000000000L & l) != 0L)
- { jjCheckNAddStates(21, 24); }
- break;
- case 8:
- if ((0xff000000000000L & l) != 0L)
- { jjCheckNAddStates(13, 15); }
- break;
- case 9:
- if ((0xf000000000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 10;
- break;
- case 10:
- if ((0xff000000000000L & l) != 0L)
- { jjCheckNAdd(8); }
- break;
- case 11:
- if (curChar == 39)
- { jjAddStates(11, 12); }
- break;
- case 12:
- if ((0xffffff7fffffdbffL & l) != 0L)
- { jjCheckNAdd(13); }
- break;
- case 13:
- if (curChar == 39 && kind > 66)
- kind = 66;
- break;
- case 15:
- if ((0x8400000000L & l) != 0L)
- { jjCheckNAdd(13); }
- break;
- case 16:
- if ((0xff000000000000L & l) != 0L)
- { jjCheckNAddTwoStates(17, 13); }
- break;
- case 17:
- if ((0xff000000000000L & l) != 0L)
- { jjCheckNAdd(13); }
- break;
- case 18:
- if ((0xf000000000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 19;
- break;
- case 19:
- if ((0xff000000000000L & l) != 0L)
- { jjCheckNAdd(17); }
- break;
- case 20:
- if ((0x3fe000000000000L & l) == 0L)
- break;
- if (kind > 67)
- kind = 67;
- { jjCheckNAddTwoStates(21, 22); }
- break;
- case 21:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 67)
- kind = 67;
- { jjCheckNAddTwoStates(21, 22); }
- break;
- case 23:
- if (curChar == 46)
- { jjCheckNAdd(24); }
- break;
- case 24:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- { jjCheckNAddStates(25, 27); }
- break;
- case 26:
- if ((0x280000000000L & l) != 0L)
- { jjCheckNAdd(27); }
- break;
- case 27:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- { jjCheckNAddTwoStates(27, 28); }
- break;
- case 29:
- if ((0x3ff000000000000L & l) != 0L)
- { jjCheckNAddStates(0, 6); }
- break;
- case 30:
- if ((0x3ff000000000000L & l) != 0L)
- { jjCheckNAddStates(28, 30); }
- break;
- case 32:
- if ((0x280000000000L & l) != 0L)
- { jjCheckNAdd(33); }
- break;
- case 33:
- if ((0x3ff000000000000L & l) != 0L)
- { jjCheckNAddTwoStates(33, 28); }
- break;
- case 34:
- if ((0x3ff000000000000L & l) != 0L)
- { jjCheckNAddTwoStates(34, 35); }
- break;
- case 36:
- if ((0x280000000000L & l) != 0L)
- { jjCheckNAdd(37); }
- break;
- case 37:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- { jjCheckNAddTwoStates(37, 28); }
- break;
- case 38:
- if ((0x3ff000000000000L & l) != 0L)
- { jjCheckNAddTwoStates(38, 39); }
- break;
- case 39:
- if (curChar != 46)
- break;
- if (kind > 71)
- kind = 71;
- { jjCheckNAddStates(31, 33); }
- break;
- case 40:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- { jjCheckNAddStates(31, 33); }
- break;
- case 42:
- if ((0x280000000000L & l) != 0L)
- { jjCheckNAdd(43); }
- break;
- case 43:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- { jjCheckNAddTwoStates(43, 28); }
- break;
- case 44:
- if (curChar == 35)
- { jjCheckNAddStates(7, 10); }
- break;
- case 45:
- if ((0x100000200L & l) != 0L)
- { jjCheckNAddTwoStates(45, 65); }
- break;
- case 47:
- if ((0x100000200L & l) != 0L)
- { jjAddStates(34, 36); }
- break;
- case 48:
- if (curChar == 34)
- { jjCheckNAddStates(37, 39); }
- break;
- case 49:
- if ((0xfffffffbffffdbffL & l) != 0L)
- { jjCheckNAddStates(37, 39); }
- break;
- case 51:
- if ((0x8400000000L & l) != 0L)
- { jjCheckNAddStates(37, 39); }
- break;
- case 52:
- if (curChar == 34 && kind > 78)
- kind = 78;
- break;
- case 53:
- if ((0xff000000000000L & l) != 0L)
- { jjCheckNAddStates(40, 43); }
- break;
- case 54:
- if ((0xff000000000000L & l) != 0L)
- { jjCheckNAddStates(37, 39); }
- break;
- case 55:
- if ((0xf000000000000L & l) != 0L)
- jjstateSet[jjnewStateCnt++] = 56;
- break;
- case 56:
- if ((0xff000000000000L & l) != 0L)
- { jjCheckNAdd(54); }
- break;
- case 57:
- if (curChar == 60)
- { jjCheckNAdd(58); }
- break;
- case 58:
- if (curChar == 46)
- { jjCheckNAddTwoStates(58, 59); }
- break;
- case 59:
- if (curChar == 62 && kind > 78)
- kind = 78;
- break;
- case 66:
- if ((0x100000200L & l) != 0L)
- { jjCheckNAddTwoStates(66, 67); }
- break;
- case 67:
- if ((0xfffffffffffffbffL & l) == 0L)
- break;
- if (kind > 79)
- kind = 79;
- { jjCheckNAdd(67); }
- break;
- case 68:
- if (curChar != 48)
- break;
- if (kind > 67)
- kind = 67;
- { jjCheckNAddStates(16, 20); }
- break;
- case 70:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 67)
- kind = 67;
- { jjCheckNAddTwoStates(70, 22); }
- break;
- case 71:
- if ((0xff000000000000L & l) == 0L)
- break;
- if (kind > 67)
- kind = 67;
- { jjCheckNAddTwoStates(71, 22); }
- break;
- case 73:
- if ((0x3ff000000000000L & l) != 0L)
- { jjAddStates(44, 45); }
- break;
- case 74:
- if (curChar == 46)
- { jjCheckNAdd(75); }
- break;
- case 75:
- if ((0x3ff000000000000L & l) != 0L)
- { jjCheckNAddTwoStates(75, 76); }
- break;
- case 77:
- if ((0x280000000000L & l) != 0L)
- { jjCheckNAdd(78); }
- break;
- case 78:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- { jjCheckNAddTwoStates(78, 28); }
- break;
- case 80:
- if ((0x3ff000000000000L & l) != 0L)
- { jjCheckNAddStates(46, 48); }
- break;
- case 81:
- if (curChar == 46)
- { jjCheckNAdd(82); }
- break;
- case 83:
- if ((0x280000000000L & l) != 0L)
- { jjCheckNAdd(84); }
- break;
- case 84:
- if ((0x3ff000000000000L & l) == 0L)
- break;
- if (kind > 71)
- kind = 71;
- { jjCheckNAddTwoStates(84, 28); }
- break;
- default : break;
- }
- } while(i != startsAt);
- }
- else if (curChar < 128)
- {
- long l = 1L << (curChar & 077);
- do
- {
- switch(jjstateSet[--i])
- {
- case 0:
- case 1:
- if ((0x7fffffe87fffffeL & l) == 0L)
- break;
- if (kind > 16)
- kind = 16;
- { jjCheckNAdd(1); }
- break;
- case 85:
- if (kind > 79)
- kind = 79;
- { jjCheckNAdd(67); }
- if (curChar == 105)
- jjstateSet[jjnewStateCnt++] = 64;
- break;
- case 3:
- if ((0xffffffffefffffffL & l) != 0L)
- { jjCheckNAddStates(13, 15); }
- break;
- case 4:
- if (curChar == 92)
- { jjAddStates(49, 51); }
- break;
- case 5:
- if ((0x14404410000000L & l) != 0L)
- { jjCheckNAddStates(13, 15); }
- break;
- case 12:
- if ((0xffffffffefffffffL & l) != 0L)
- { jjCheckNAdd(13); }
- break;
- case 14:
- if (curChar == 92)
- { jjAddStates(52, 54); }
- break;
- case 15:
- if ((0x14404410000000L & l) != 0L)
- { jjCheckNAdd(13); }
- break;
- case 22:
- if ((0x100000001000L & l) != 0L && kind > 67)
- kind = 67;
- break;
- case 25:
- if ((0x2000000020L & l) != 0L)
- { jjAddStates(55, 56); }
- break;
- case 28:
- if ((0x5000000050L & l) != 0L && kind > 71)
- kind = 71;
- break;
- case 31:
- if ((0x2000000020L & l) != 0L)
- { jjAddStates(57, 58); }
- break;
- case 35:
- if ((0x2000000020L & l) != 0L)
- { jjAddStates(59, 60); }
- break;
- case 41:
- if ((0x2000000020L & l) != 0L)
- { jjAddStates(61, 62); }
- break;
- case 46:
- if (curChar == 101)
- jjstateSet[jjnewStateCnt++] = 47;
- break;
- case 49:
- if ((0xffffffffefffffffL & l) != 0L)
- { jjCheckNAddStates(37, 39); }
- break;
- case 50:
- if (curChar == 92)
- { jjAddStates(63, 65); }
- break;
- case 51:
- if ((0x14404410000000L & l) != 0L)
- { jjCheckNAddStates(37, 39); }
- break;
- case 58:
- if ((0x7fffffe07fffffeL & l) != 0L)
- { jjAddStates(66, 67); }
- break;
- case 60:
- if (curChar == 100)
- jjstateSet[jjnewStateCnt++] = 46;
- break;
- case 61:
- if (curChar == 117)
- jjstateSet[jjnewStateCnt++] = 60;
- break;
- case 62:
- if (curChar == 108)
- jjstateSet[jjnewStateCnt++] = 61;
- break;
- case 63:
- if (curChar == 99)
- jjstateSet[jjnewStateCnt++] = 62;
- break;
- case 64:
- if (curChar == 110)
- jjstateSet[jjnewStateCnt++] = 63;
- break;
- case 65:
- if (curChar == 105)
- jjstateSet[jjnewStateCnt++] = 64;
- break;
- case 67:
- if (kind > 79)
- kind = 79;
- { jjCheckNAdd(67); }
- break;
- case 69:
- if ((0x100000001000000L & l) != 0L)
- { jjCheckNAdd(70); }
- break;
- case 70:
- if ((0x7e0000007eL & l) == 0L)
- break;
- if (kind > 67)
- kind = 67;
- { jjCheckNAddTwoStates(70, 22); }
- break;
- case 72:
- if ((0x100000001000000L & l) != 0L)
- { jjCheckNAddTwoStates(73, 74); }
- break;
- case 73:
- if ((0x7e0000007eL & l) != 0L)
- { jjCheckNAddTwoStates(73, 74); }
- break;
- case 75:
- if ((0x7e0000007eL & l) != 0L)
- { jjAddStates(68, 69); }
- break;
- case 76:
- if ((0x1000000010000L & l) != 0L)
- { jjAddStates(70, 71); }
- break;
- case 79:
- if ((0x100000001000000L & l) != 0L)
- { jjCheckNAdd(80); }
- break;
- case 80:
- if ((0x7e0000007eL & l) != 0L)
- { jjCheckNAddStates(46, 48); }
- break;
- case 82:
- if ((0x1000000010000L & l) != 0L)
- { jjAddStates(72, 73); }
- break;
- default : break;
- }
- } while(i != startsAt);
- }
- else
- {
- int hiByte = (curChar >> 8);
- int i1 = hiByte >> 6;
- long l1 = 1L << (hiByte & 077);
- int i2 = (curChar & 0xff) >> 6;
- long l2 = 1L << (curChar & 077);
- do
- {
- switch(jjstateSet[--i])
- {
- case 85:
- case 67:
- if (!jjCanMove_0(hiByte, i1, i2, l1, l2))
- break;
- if (kind > 79)
- kind = 79;
- { jjCheckNAdd(67); }
- break;
- case 3:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- { jjAddStates(13, 15); }
- break;
- case 12:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- jjstateSet[jjnewStateCnt++] = 13;
- break;
- case 49:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- { jjAddStates(37, 39); }
- break;
- default : if (i1 == 0 || l1 == 0 || i2 == 0 || l2 == 0) break; else break;
- }
- } while(i != startsAt);
- }
- if (kind != 0x7fffffff)
- {
- jjmatchedKind = kind;
- jjmatchedPos = curPos;
- kind = 0x7fffffff;
- }
- ++curPos;
- if ((i = jjnewStateCnt) == (startsAt = 85 - (jjnewStateCnt = startsAt)))
- return curPos;
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) { return curPos; }
- }
-}
-static final int[] jjnextStates = {
- 30, 31, 28, 34, 35, 38, 39, 45, 65, 66, 67, 12, 14, 3, 4, 6,
- 69, 71, 22, 72, 79, 3, 4, 8, 6, 24, 25, 28, 30, 31, 28, 40,
- 41, 28, 47, 48, 57, 49, 50, 52, 49, 50, 54, 52, 73, 74, 80, 81,
- 82, 5, 7, 9, 15, 16, 18, 26, 27, 32, 33, 36, 37, 42, 43, 51,
- 53, 55, 58, 59, 75, 76, 77, 78, 83, 84,
-};
-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);
- default :
- if ((jjbitVec0[i1] & l1) != 0L)
- return true;
- return false;
- }
-}
-
-/** Token literal values. */
-public static final String[] jjstrLiteralImages = {
-"", null, null, null, null, null, "\143\157\156\163\164",
-"\163\164\162\165\143\164", "\143\154\141\163\163", "\165\156\163\151\147\156\145\144",
-"\164\145\155\160\154\141\164\145", "\151\156\154\151\156\145", "\163\164\141\164\151\143", "\146\157\162", null,
-null, null, "\43", "\133", "\135", "\75", "\50", "\51", "\173", "\175", "\55\76",
-"\54", "\56", "\44", "\52", "\176", "\41", "\46", "\174", "\45", "\53", "\53\53",
-"\55", "\55\55", "\57", "\134", "\74", "\76", "\76\75", "\74\75", "\75\75", "\41\75",
-"\46\46", "\174\174", "\136", "\77", "\72", "\72\72", "\74\74", "\76\76", "\76\76\76",
-"\53\75", "\55\75", "\52\75", "\57\75", "\45\75", "\136\75", "\174\75", "\46\75", "\73",
-null, null, null, null, null, null, null, null, null, null, null, null, null, null,
-null, };
-protected Token jjFillToken()
-{
- final Token t;
- final String curTokenImage;
- final int beginLine;
- final int endLine;
- final int beginColumn;
- final int endColumn;
- String im = jjstrLiteralImages[jjmatchedKind];
- curTokenImage = (im == null) ? input_stream.GetImage() : im;
- beginLine = input_stream.getBeginLine();
- beginColumn = input_stream.getBeginColumn();
- endLine = input_stream.getEndLine();
- endColumn = input_stream.getEndColumn();
- t = Token.newToken(jjmatchedKind, curTokenImage);
-
- t.beginLine = beginLine;
- t.endLine = endLine;
- t.beginColumn = beginColumn;
- t.endColumn = endColumn;
-
- return t;
-}
-
-int curLexState = 0;
-int defaultLexState = 0;
-int jjnewStateCnt;
-int jjround;
-int jjmatchedPos;
-int jjmatchedKind;
-
-/** Get the next Token. */
-public Token getNextToken()
-{
- Token matchedToken;
- int curPos = 0;
-
- EOFLoop :
- for (;;)
- {
- try
- {
- curChar = input_stream.BeginToken();
- }
- catch(java.io.IOException e)
- {
- jjmatchedKind = 0;
- jjmatchedPos = -1;
- matchedToken = jjFillToken();
- return matchedToken;
- }
-
- try { input_stream.backup(0);
- while (curChar <= 32 && (0x100000600L & (1L << curChar)) != 0L)
- curChar = input_stream.BeginToken();
- }
- catch (java.io.IOException e1) { continue EOFLoop; }
- jjmatchedKind = 0x7fffffff;
- jjmatchedPos = 0;
- curPos = jjMoveStringLiteralDfa0_0();
- if (jjmatchedKind != 0x7fffffff)
- {
- if (jjmatchedPos + 1 < curPos)
- input_stream.backup(curPos - jjmatchedPos - 1);
- if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
- {
- matchedToken = jjFillToken();
- return matchedToken;
- }
- else
- {
- 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);
- }
-}
-
-private void jjCheckNAdd(int state)
-{
- if (jjrounds[state] != jjround)
- {
- jjstateSet[jjnewStateCnt++] = state;
- jjrounds[state] = jjround;
- }
-}
-private void jjAddStates(int start, int end)
-{
- do {
- jjstateSet[jjnewStateCnt++] = jjnextStates[start];
- } while (start++ != end);
-}
-private void jjCheckNAddTwoStates(int state1, int state2)
-{
- jjCheckNAdd(state1);
- jjCheckNAdd(state2);
-}
-
-private void jjCheckNAddStates(int start, int end)
-{
- do {
- jjCheckNAdd(jjnextStates[start]);
- } while (start++ != end);
-}
-
- /** Constructor. */
- public UtilParserTokenManager(JavaCharStream stream){
-
- if (JavaCharStream.staticFlag)
- throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
-
- input_stream = stream;
- }
-
- /** Constructor. */
- public UtilParserTokenManager (JavaCharStream stream, int lexState){
- ReInit(stream);
- SwitchTo(lexState);
- }
-
- /** Reinitialise parser. */
- public void ReInit(JavaCharStream stream)
- {
- jjmatchedPos = jjnewStateCnt = 0;
- curLexState = defaultLexState;
- input_stream = stream;
- ReInitRounds();
- }
-
- private void ReInitRounds()
- {
- int i;
- jjround = 0x80000001;
- for (i = 85; i-- > 0;)
- jjrounds[i] = 0x80000000;
- }
-
- /** Reinitialise parser. */
- public void ReInit(JavaCharStream stream, int lexState)
- {
- ReInit(stream);
- SwitchTo(lexState);
- }
-
- /** Switch to specified lex state. */
- public void SwitchTo(int lexState)
- {
- if (lexState >= 1 || lexState < 0)
- throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
- else
- curLexState = lexState;
- }
-
-/** Lexer state names. */
-public static final String[] lexStateNames = {
- "DEFAULT",
-};
-static final long[] jjtoToken = {
- 0xffffffffffff3fc1L, 0xc08fL,
-};
-static final long[] jjtoSkip = {
- 0x3eL, 0x0L,
-};
- protected JavaCharStream input_stream;
-
- private final int[] jjrounds = new int[85];
- private final int[] jjstateSet = new int[2 * 85];
-
-
- protected char curChar;
-}