--- /dev/null
+#!/bin/bash
+
+if [ -z $SPEC_COMPILER_HOME ]; then
+ SPEC_COMPILER_HOME=~/spec-checker-compiler
+fi
+
+OUTPUT_PATH=$SPEC_COMPILER_HOME/src/edu/uci/eecs/specCompiler/grammerParser
+echo "Deleting the old generated java files."
+rm $OUTPUT_PATH/*.java
+++ /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.specCompiler.grammerParser;
-
-/**
- * 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=ea8340461dd4116176ea0d0d5c055d04 (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.specCompiler.grammerParser;
-
-/**
- * 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=6c280b675bd424dac28ae1eeac4fe18b (do not edit this line) */
+++ /dev/null
-/* SpecParser.java */
-/* Generated By:JavaCC: Do not edit this line. SpecParser.java */
-package edu.uci.eecs.specCompiler.grammerParser;
-
- class SpecParser implements SpecParserConstants {
- public static void main(String[] argvs)
- throws ParseException, TokenMgrError {
- SpecParser parser = new SpecParser(System.in);
- parser.Start();
- System.out.println("Parsing finished!");
- }
-
- final public void Start() throws ParseException {
- jj_consume_token(HEAD);
- jj_consume_token(BEGIN);
- jj_consume_token(END);
- jj_consume_token(TAIL);
- jj_consume_token(0);
- }
-
- /** Generated Token Manager. */
- public SpecParserTokenManager 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[0];
- static private int[] jj_la1_0;
- static {
- jj_la1_init_0();
- }
- private static void jj_la1_init_0() {
- jj_la1_0 = new int[] {};
- }
-
- /** Constructor with InputStream. */
- public SpecParser(java.io.InputStream stream) {
- this(stream, null);
- }
- /** Constructor with InputStream and supplied encoding */
- public SpecParser(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 SpecParserTokenManager(jj_input_stream);
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- }
-
- /** 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 < 0; i++) jj_la1[i] = -1;
- }
-
- /** Constructor. */
- public SpecParser(java.io.Reader stream) {
- jj_input_stream = new JavaCharStream(stream, 1, 1);
- token_source = new SpecParserTokenManager(jj_input_stream);
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- }
-
- /** 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;
- }
-
- /** Constructor with generated Token Manager. */
- public SpecParser(SpecParserTokenManager tm) {
- token_source = tm;
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- }
-
- /** Reinitialise. */
- public void ReInit(SpecParserTokenManager tm) {
- token_source = tm;
- token = new Token();
- jj_ntk = -1;
- jj_gen = 0;
- }
-
- 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[21];
- if (jj_kind >= 0) {
- la1tokens[jj_kind] = true;
- jj_kind = -1;
- }
- for (int i = 0; i < 0; 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;
- }
- }
- }
- }
- for (int i = 0; i < 21; 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. SpecParserConstants.java */
-package edu.uci.eecs.specCompiler.grammerParser;
-
-
-/**
- * Token literal values and constants.
- * Generated by org.javacc.parser.OtherFilesGen#start()
- */
-public interface SpecParserConstants {
-
- /** End of File. */
- int EOF = 0;
- /** RegularExpression Id. */
- int SPACE = 5;
- /** RegularExpression Id. */
- int COMMENT = 6;
- /** RegularExpression Id. */
- int HEAD = 7;
- /** RegularExpression Id. */
- int TAIL = 8;
- /** RegularExpression Id. */
- int BEGIN = 9;
- /** RegularExpression Id. */
- int END = 10;
- /** RegularExpression Id. */
- int ID = 11;
- /** RegularExpression Id. */
- int CONDITION = 12;
- /** RegularExpression Id. */
- int CHECK = 13;
- /** RegularExpression Id. */
- int ACTION = 14;
- /** RegularExpression Id. */
- int POST_ACTION = 15;
- /** RegularExpression Id. */
- int POST_CHECK = 16;
- /** RegularExpression Id. */
- int GLOBAL_DEFINE = 17;
- /** RegularExpression Id. */
- int HAPPENS_BEFORE = 18;
- /** RegularExpression Id. */
- int INTERFACE_CLUSTER = 19;
- /** RegularExpression Id. */
- int POTENTIAL_COMMIT_POINT = 20;
-
- /** Lexical state. */
- int DEFAULT = 0;
-
- /** Literal token values. */
- String[] tokenImage = {
- "<EOF>",
- "\" \"",
- "\"\\n\"",
- "\"\\r\"",
- "\"\\r\\n\"",
- "<SPACE>",
- "<COMMENT>",
- "\"/**\"",
- "\"*/\"",
- "\"@Begin\"",
- "\"@End\"",
- "\"@ID:\"",
- "\"@Condition:\"",
- "\"@Check:\"",
- "\"@Action:\"",
- "\"@Post_action:\"",
- "\"@Post_check:\"",
- "\"@Global_define:\"",
- "\"@Happens_before:\"",
- "\"@Interface_cluster:\"",
- "\"@Potential_commit_point:\"",
- };
-
-}
+++ /dev/null
-/* SpecParserTokenManager.java */
-/* Generated By:JavaCC: Do not edit this line. SpecParserTokenManager.java */
-package edu.uci.eecs.specCompiler.grammerParser;
-
-/** Token Manager. */
-@SuppressWarnings("unused")public class SpecParserTokenManager implements SpecParserConstants {
-
- /** 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){
- switch (pos)
- {
- case 0:
- if ((active0 & 0x2L) != 0L)
- return 6;
- return -1;
- default :
- return -1;
- }
-}
-private final int jjStartNfa_0(int pos, long active0){
- return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), 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 32:
- return jjStartNfaWithStates_0(0, 1, 6);
- case 42:
- return jjMoveStringLiteralDfa1_0(0x100L);
- case 47:
- return jjMoveStringLiteralDfa1_0(0x80L);
- case 64:
- return jjMoveStringLiteralDfa1_0(0x1ffe00L);
- 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);
- return 1;
- }
- switch(curChar)
- {
- case 10:
- if ((active0 & 0x10L) != 0L)
- return jjStopAtPos(1, 4);
- break;
- case 42:
- return jjMoveStringLiteralDfa2_0(active0, 0x80L);
- case 47:
- if ((active0 & 0x100L) != 0L)
- return jjStopAtPos(1, 8);
- break;
- case 65:
- return jjMoveStringLiteralDfa2_0(active0, 0x4000L);
- case 66:
- return jjMoveStringLiteralDfa2_0(active0, 0x200L);
- case 67:
- return jjMoveStringLiteralDfa2_0(active0, 0x3000L);
- case 69:
- return jjMoveStringLiteralDfa2_0(active0, 0x400L);
- case 71:
- return jjMoveStringLiteralDfa2_0(active0, 0x20000L);
- case 72:
- return jjMoveStringLiteralDfa2_0(active0, 0x40000L);
- case 73:
- return jjMoveStringLiteralDfa2_0(active0, 0x80800L);
- case 80:
- return jjMoveStringLiteralDfa2_0(active0, 0x118000L);
- default :
- break;
- }
- return jjStartNfa_0(0, active0);
-}
-private 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 42:
- if ((active0 & 0x80L) != 0L)
- return jjStopAtPos(2, 7);
- break;
- case 68:
- return jjMoveStringLiteralDfa3_0(active0, 0x800L);
- case 97:
- return jjMoveStringLiteralDfa3_0(active0, 0x40000L);
- case 99:
- return jjMoveStringLiteralDfa3_0(active0, 0x4000L);
- case 101:
- return jjMoveStringLiteralDfa3_0(active0, 0x200L);
- case 104:
- return jjMoveStringLiteralDfa3_0(active0, 0x2000L);
- case 108:
- return jjMoveStringLiteralDfa3_0(active0, 0x20000L);
- case 110:
- return jjMoveStringLiteralDfa3_0(active0, 0x80400L);
- case 111:
- return jjMoveStringLiteralDfa3_0(active0, 0x119000L);
- default :
- break;
- }
- return jjStartNfa_0(1, active0);
-}
-private 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 58:
- if ((active0 & 0x800L) != 0L)
- return jjStopAtPos(3, 11);
- break;
- case 100:
- if ((active0 & 0x400L) != 0L)
- return jjStopAtPos(3, 10);
- break;
- case 101:
- return jjMoveStringLiteralDfa4_0(active0, 0x2000L);
- case 103:
- return jjMoveStringLiteralDfa4_0(active0, 0x200L);
- case 110:
- return jjMoveStringLiteralDfa4_0(active0, 0x1000L);
- case 111:
- return jjMoveStringLiteralDfa4_0(active0, 0x20000L);
- case 112:
- return jjMoveStringLiteralDfa4_0(active0, 0x40000L);
- case 115:
- return jjMoveStringLiteralDfa4_0(active0, 0x18000L);
- case 116:
- return jjMoveStringLiteralDfa4_0(active0, 0x184000L);
- default :
- break;
- }
- return jjStartNfa_0(2, active0);
-}
-private 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 98:
- return jjMoveStringLiteralDfa5_0(active0, 0x20000L);
- case 99:
- return jjMoveStringLiteralDfa5_0(active0, 0x2000L);
- case 100:
- return jjMoveStringLiteralDfa5_0(active0, 0x1000L);
- case 101:
- return jjMoveStringLiteralDfa5_0(active0, 0x180000L);
- case 105:
- return jjMoveStringLiteralDfa5_0(active0, 0x4200L);
- case 112:
- return jjMoveStringLiteralDfa5_0(active0, 0x40000L);
- case 116:
- return jjMoveStringLiteralDfa5_0(active0, 0x18000L);
- default :
- break;
- }
- return jjStartNfa_0(3, active0);
-}
-private 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 95:
- return jjMoveStringLiteralDfa6_0(active0, 0x18000L);
- case 97:
- return jjMoveStringLiteralDfa6_0(active0, 0x20000L);
- case 101:
- return jjMoveStringLiteralDfa6_0(active0, 0x40000L);
- case 105:
- return jjMoveStringLiteralDfa6_0(active0, 0x1000L);
- case 107:
- return jjMoveStringLiteralDfa6_0(active0, 0x2000L);
- case 110:
- if ((active0 & 0x200L) != 0L)
- return jjStopAtPos(5, 9);
- return jjMoveStringLiteralDfa6_0(active0, 0x100000L);
- case 111:
- return jjMoveStringLiteralDfa6_0(active0, 0x4000L);
- case 114:
- return jjMoveStringLiteralDfa6_0(active0, 0x80000L);
- default :
- break;
- }
- return jjStartNfa_0(4, active0);
-}
-private 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 58:
- if ((active0 & 0x2000L) != 0L)
- return jjStopAtPos(6, 13);
- break;
- case 97:
- return jjMoveStringLiteralDfa7_0(active0, 0x8000L);
- case 99:
- return jjMoveStringLiteralDfa7_0(active0, 0x10000L);
- case 102:
- return jjMoveStringLiteralDfa7_0(active0, 0x80000L);
- case 108:
- return jjMoveStringLiteralDfa7_0(active0, 0x20000L);
- case 110:
- return jjMoveStringLiteralDfa7_0(active0, 0x44000L);
- case 116:
- return jjMoveStringLiteralDfa7_0(active0, 0x101000L);
- default :
- break;
- }
- return jjStartNfa_0(5, active0);
-}
-private 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 58:
- if ((active0 & 0x4000L) != 0L)
- return jjStopAtPos(7, 14);
- break;
- case 95:
- return jjMoveStringLiteralDfa8_0(active0, 0x20000L);
- case 97:
- return jjMoveStringLiteralDfa8_0(active0, 0x80000L);
- case 99:
- return jjMoveStringLiteralDfa8_0(active0, 0x8000L);
- case 104:
- return jjMoveStringLiteralDfa8_0(active0, 0x10000L);
- case 105:
- return jjMoveStringLiteralDfa8_0(active0, 0x101000L);
- case 115:
- return jjMoveStringLiteralDfa8_0(active0, 0x40000L);
- default :
- break;
- }
- return jjStartNfa_0(6, active0);
-}
-private int jjMoveStringLiteralDfa8_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(6, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(7, active0);
- return 8;
- }
- switch(curChar)
- {
- case 95:
- return jjMoveStringLiteralDfa9_0(active0, 0x40000L);
- case 97:
- return jjMoveStringLiteralDfa9_0(active0, 0x100000L);
- case 99:
- return jjMoveStringLiteralDfa9_0(active0, 0x80000L);
- case 100:
- return jjMoveStringLiteralDfa9_0(active0, 0x20000L);
- case 101:
- return jjMoveStringLiteralDfa9_0(active0, 0x10000L);
- case 111:
- return jjMoveStringLiteralDfa9_0(active0, 0x1000L);
- case 116:
- return jjMoveStringLiteralDfa9_0(active0, 0x8000L);
- default :
- break;
- }
- return jjStartNfa_0(7, active0);
-}
-private int jjMoveStringLiteralDfa9_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(7, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(8, active0);
- return 9;
- }
- switch(curChar)
- {
- case 98:
- return jjMoveStringLiteralDfa10_0(active0, 0x40000L);
- case 99:
- return jjMoveStringLiteralDfa10_0(active0, 0x10000L);
- case 101:
- return jjMoveStringLiteralDfa10_0(active0, 0xa0000L);
- case 105:
- return jjMoveStringLiteralDfa10_0(active0, 0x8000L);
- case 108:
- return jjMoveStringLiteralDfa10_0(active0, 0x100000L);
- case 110:
- return jjMoveStringLiteralDfa10_0(active0, 0x1000L);
- default :
- break;
- }
- return jjStartNfa_0(8, active0);
-}
-private int jjMoveStringLiteralDfa10_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(8, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(9, active0);
- return 10;
- }
- switch(curChar)
- {
- case 58:
- if ((active0 & 0x1000L) != 0L)
- return jjStopAtPos(10, 12);
- break;
- case 95:
- return jjMoveStringLiteralDfa11_0(active0, 0x180000L);
- case 101:
- return jjMoveStringLiteralDfa11_0(active0, 0x40000L);
- case 102:
- return jjMoveStringLiteralDfa11_0(active0, 0x20000L);
- case 107:
- return jjMoveStringLiteralDfa11_0(active0, 0x10000L);
- case 111:
- return jjMoveStringLiteralDfa11_0(active0, 0x8000L);
- default :
- break;
- }
- return jjStartNfa_0(9, active0);
-}
-private int jjMoveStringLiteralDfa11_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(9, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(10, active0);
- return 11;
- }
- switch(curChar)
- {
- case 58:
- if ((active0 & 0x10000L) != 0L)
- return jjStopAtPos(11, 16);
- break;
- case 99:
- return jjMoveStringLiteralDfa12_0(active0, 0x180000L);
- case 102:
- return jjMoveStringLiteralDfa12_0(active0, 0x40000L);
- case 105:
- return jjMoveStringLiteralDfa12_0(active0, 0x20000L);
- case 110:
- return jjMoveStringLiteralDfa12_0(active0, 0x8000L);
- default :
- break;
- }
- return jjStartNfa_0(10, active0);
-}
-private int jjMoveStringLiteralDfa12_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(10, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(11, active0);
- return 12;
- }
- switch(curChar)
- {
- case 58:
- if ((active0 & 0x8000L) != 0L)
- return jjStopAtPos(12, 15);
- break;
- case 108:
- return jjMoveStringLiteralDfa13_0(active0, 0x80000L);
- case 110:
- return jjMoveStringLiteralDfa13_0(active0, 0x20000L);
- case 111:
- return jjMoveStringLiteralDfa13_0(active0, 0x140000L);
- default :
- break;
- }
- return jjStartNfa_0(11, active0);
-}
-private int jjMoveStringLiteralDfa13_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(11, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(12, active0);
- return 13;
- }
- switch(curChar)
- {
- case 101:
- return jjMoveStringLiteralDfa14_0(active0, 0x20000L);
- case 109:
- return jjMoveStringLiteralDfa14_0(active0, 0x100000L);
- case 114:
- return jjMoveStringLiteralDfa14_0(active0, 0x40000L);
- case 117:
- return jjMoveStringLiteralDfa14_0(active0, 0x80000L);
- default :
- break;
- }
- return jjStartNfa_0(12, active0);
-}
-private int jjMoveStringLiteralDfa14_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(12, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(13, active0);
- return 14;
- }
- switch(curChar)
- {
- case 58:
- if ((active0 & 0x20000L) != 0L)
- return jjStopAtPos(14, 17);
- break;
- case 101:
- return jjMoveStringLiteralDfa15_0(active0, 0x40000L);
- case 109:
- return jjMoveStringLiteralDfa15_0(active0, 0x100000L);
- case 115:
- return jjMoveStringLiteralDfa15_0(active0, 0x80000L);
- default :
- break;
- }
- return jjStartNfa_0(13, active0);
-}
-private int jjMoveStringLiteralDfa15_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(13, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(14, active0);
- return 15;
- }
- switch(curChar)
- {
- case 58:
- if ((active0 & 0x40000L) != 0L)
- return jjStopAtPos(15, 18);
- break;
- case 105:
- return jjMoveStringLiteralDfa16_0(active0, 0x100000L);
- case 116:
- return jjMoveStringLiteralDfa16_0(active0, 0x80000L);
- default :
- break;
- }
- return jjStartNfa_0(14, active0);
-}
-private int jjMoveStringLiteralDfa16_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(14, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(15, active0);
- return 16;
- }
- switch(curChar)
- {
- case 101:
- return jjMoveStringLiteralDfa17_0(active0, 0x80000L);
- case 116:
- return jjMoveStringLiteralDfa17_0(active0, 0x100000L);
- default :
- break;
- }
- return jjStartNfa_0(15, active0);
-}
-private int jjMoveStringLiteralDfa17_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(15, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(16, active0);
- return 17;
- }
- switch(curChar)
- {
- case 95:
- return jjMoveStringLiteralDfa18_0(active0, 0x100000L);
- case 114:
- return jjMoveStringLiteralDfa18_0(active0, 0x80000L);
- default :
- break;
- }
- return jjStartNfa_0(16, active0);
-}
-private int jjMoveStringLiteralDfa18_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(16, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(17, active0);
- return 18;
- }
- switch(curChar)
- {
- case 58:
- if ((active0 & 0x80000L) != 0L)
- return jjStopAtPos(18, 19);
- break;
- case 112:
- return jjMoveStringLiteralDfa19_0(active0, 0x100000L);
- default :
- break;
- }
- return jjStartNfa_0(17, active0);
-}
-private int jjMoveStringLiteralDfa19_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(17, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(18, active0);
- return 19;
- }
- switch(curChar)
- {
- case 111:
- return jjMoveStringLiteralDfa20_0(active0, 0x100000L);
- default :
- break;
- }
- return jjStartNfa_0(18, active0);
-}
-private int jjMoveStringLiteralDfa20_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(18, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(19, active0);
- return 20;
- }
- switch(curChar)
- {
- case 105:
- return jjMoveStringLiteralDfa21_0(active0, 0x100000L);
- default :
- break;
- }
- return jjStartNfa_0(19, active0);
-}
-private int jjMoveStringLiteralDfa21_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(19, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(20, active0);
- return 21;
- }
- switch(curChar)
- {
- case 110:
- return jjMoveStringLiteralDfa22_0(active0, 0x100000L);
- default :
- break;
- }
- return jjStartNfa_0(20, active0);
-}
-private int jjMoveStringLiteralDfa22_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(20, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(21, active0);
- return 22;
- }
- switch(curChar)
- {
- case 116:
- return jjMoveStringLiteralDfa23_0(active0, 0x100000L);
- default :
- break;
- }
- return jjStartNfa_0(21, active0);
-}
-private int jjMoveStringLiteralDfa23_0(long old0, long active0){
- if (((active0 &= old0)) == 0L)
- return jjStartNfa_0(21, old0);
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) {
- jjStopStringLiteralDfa_0(22, active0);
- return 23;
- }
- switch(curChar)
- {
- case 58:
- if ((active0 & 0x100000L) != 0L)
- return jjStopAtPos(23, 20);
- break;
- default :
- break;
- }
- return jjStartNfa_0(22, active0);
-}
-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 = 6;
- 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 6:
- if ((0x100000200L & l) != 0L)
- { jjCheckNAddTwoStates(2, 3); }
- else if (curChar == 35)
- { jjCheckNAddTwoStates(4, 5); }
- if ((0x100000200L & l) != 0L)
- {
- if (kind > 5)
- kind = 5;
- { jjCheckNAdd(1); }
- }
- break;
- case 0:
- if ((0x100000200L & l) == 0L)
- break;
- if (kind > 5)
- kind = 5;
- { jjCheckNAddStates(0, 2); }
- break;
- case 1:
- if ((0x100000200L & l) == 0L)
- break;
- if (kind > 5)
- kind = 5;
- { jjCheckNAdd(1); }
- break;
- case 2:
- if ((0x100000200L & l) != 0L)
- { jjCheckNAddTwoStates(2, 3); }
- break;
- case 3:
- if (curChar == 35)
- { jjCheckNAddTwoStates(4, 5); }
- break;
- case 4:
- if ((0xffffffffffffdbffL & l) != 0L)
- { jjCheckNAddTwoStates(4, 5); }
- break;
- case 5:
- if ((0x2400L & l) != 0L)
- kind = 6;
- break;
- default : break;
- }
- } while(i != startsAt);
- }
- else if (curChar < 128)
- {
- long l = 1L << (curChar & 077);
- do
- {
- switch(jjstateSet[--i])
- {
- case 4:
- { jjAddStates(3, 4); }
- 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 4:
- if (jjCanMove_0(hiByte, i1, i2, l1, l2))
- { jjAddStates(3, 4); }
- 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 = 6 - (jjnewStateCnt = startsAt)))
- return curPos;
- try { curChar = input_stream.readChar(); }
- catch(java.io.IOException e) { return curPos; }
- }
-}
-static final int[] jjnextStates = {
- 1, 2, 3, 4, 5,
-};
-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, null, "\57\52\52", "\52\57",
-"\100\102\145\147\151\156", "\100\105\156\144", "\100\111\104\72",
-"\100\103\157\156\144\151\164\151\157\156\72", "\100\103\150\145\143\153\72", "\100\101\143\164\151\157\156\72",
-"\100\120\157\163\164\137\141\143\164\151\157\156\72", "\100\120\157\163\164\137\143\150\145\143\153\72",
-"\100\107\154\157\142\141\154\137\144\145\146\151\156\145\72", "\100\110\141\160\160\145\156\163\137\142\145\146\157\162\145\72",
-"\100\111\156\164\145\162\146\141\143\145\137\143\154\165\163\164\145\162\72",
-"\100\120\157\164\145\156\164\151\141\154\137\143\157\155\155\151\164\137\160\157\151\156\164\72", };
-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 <= 10 && (0x400L & (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 SpecParserTokenManager(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 SpecParserTokenManager (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 = 6; 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 = {
- 0x1fffe1L,
-};
-static final long[] jjtoSkip = {
- 0x1eL,
-};
- protected JavaCharStream input_stream;
-
- private final int[] jjrounds = new int[6];
- private final int[] jjstateSet = new int[2 * 6];
-
-
- protected char curChar;
-}
+++ /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.specCompiler.grammerParser;
-
-/**
- * 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=18eda2afade0ceae0dcc2af47721f3e5 (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.specCompiler.grammerParser;
-
-/** 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=219bbc6381b9c487f5c86bfcf4dd5001 (do not edit this line) */