From: <js...@us...> - 2006-12-04 17:08:25
|
Revision: 36 http://svn.sourceforge.net/jcontracts/?rev=36&view=rev Author: jstuyts Date: 2006-12-04 09:08:12 -0800 (Mon, 04 Dec 2006) Log Message: ----------- Moved ANTLR classes to another package so they do not collide with classes from other versions of ANTLR. Modified Paths: -------------- trunk/source/java/net/sf/jcontracts/argparser/ArgLexer.java trunk/source/java/net/sf/jcontracts/argparser/ArgParser.java trunk/source/java/net/sf/jcontracts/argparser/ExtendedToken.java trunk/source/java/net/sf/jcontracts/argparser/Parser.java trunk/source/java/net/sf/jcontracts/codeparser/CodeMetaclassCache.java trunk/source/java/net/sf/jcontracts/codeparser/ExtendedToken.java trunk/source/java/net/sf/jcontracts/codeparser/JavaLexer.java trunk/source/java/net/sf/jcontracts/codeparser/JavaParser.java trunk/source/java/net/sf/jcontracts/codeparser/Parser.java trunk/source/java/net/sf/jcontracts/idarwin/specification/impl/primitive_language/ArchitectureSpecification.java trunk/source/java/net/sf/jcontracts/idarwin/specification/impl/primitive_language/Idiom.java trunk/source/java/net/sf/jcontracts/idarwin/specification/impl/primitive_language/IsolateIdiom.java trunk/source/java/net/sf/jcontracts/idarwin/specification/impl/primitive_language/LayerIdiom.java trunk/source/java/net/sf/jcontracts/idarwin/specification/impl/primitive_language/PSpecLexer.java trunk/source/java/net/sf/jcontracts/idarwin/specification/impl/primitive_language/PSpecParser.java trunk/source/java/net/sf/jcontracts/idarwin/specification/impl/primitive_language/PatternFactory.java trunk/source/java/net/sf/jcontracts/idarwin/specification/impl/primitive_language/SingleDependencyConstraint.java trunk/source/java/net/sf/jcontracts/idarwin/specification/impl/primitive_language/StrictlyLayerIdiom.java Added Paths: ----------- trunk/source/java/net/sf/jcontracts/antlr/ trunk/source/java/net/sf/jcontracts/antlr/ANTLRException.java trunk/source/java/net/sf/jcontracts/antlr/ANTLRGrammarParseBehavior.java trunk/source/java/net/sf/jcontracts/antlr/ANTLRHashString.java trunk/source/java/net/sf/jcontracts/antlr/ANTLRLexer.java trunk/source/java/net/sf/jcontracts/antlr/ANTLRParser.java trunk/source/java/net/sf/jcontracts/antlr/ANTLRStringBuffer.java trunk/source/java/net/sf/jcontracts/antlr/ANTLRTokdefLexer.java trunk/source/java/net/sf/jcontracts/antlr/ANTLRTokdefParser.java trunk/source/java/net/sf/jcontracts/antlr/ANTLRTokdefParserTokenTypes.java trunk/source/java/net/sf/jcontracts/antlr/ANTLRTokenTypes.java trunk/source/java/net/sf/jcontracts/antlr/ASTFactory.java trunk/source/java/net/sf/jcontracts/antlr/ASTIterator.java trunk/source/java/net/sf/jcontracts/antlr/ASTNULLType.java trunk/source/java/net/sf/jcontracts/antlr/ASTPair.java trunk/source/java/net/sf/jcontracts/antlr/ASTVisitor.java trunk/source/java/net/sf/jcontracts/antlr/AbstractParser.java trunk/source/java/net/sf/jcontracts/antlr/ActionElement.java trunk/source/java/net/sf/jcontracts/antlr/ActionTransInfo.java trunk/source/java/net/sf/jcontracts/antlr/Alternative.java trunk/source/java/net/sf/jcontracts/antlr/AlternativeBlock.java trunk/source/java/net/sf/jcontracts/antlr/AlternativeElement.java trunk/source/java/net/sf/jcontracts/antlr/BaseAST.java trunk/source/java/net/sf/jcontracts/antlr/BlockContext.java trunk/source/java/net/sf/jcontracts/antlr/BlockEndElement.java trunk/source/java/net/sf/jcontracts/antlr/BlockWithImpliedExitPath.java trunk/source/java/net/sf/jcontracts/antlr/CharBufferBacktrackingInteractive.java trunk/source/java/net/sf/jcontracts/antlr/CharBufferBacktrackingNoInteractive.java trunk/source/java/net/sf/jcontracts/antlr/CharBufferNoBacktrackingInteractive.java trunk/source/java/net/sf/jcontracts/antlr/CharBufferNoBacktrackingNoInteractive.java trunk/source/java/net/sf/jcontracts/antlr/CharFormatter.java trunk/source/java/net/sf/jcontracts/antlr/CharLiteralElement.java trunk/source/java/net/sf/jcontracts/antlr/CharQueue.java trunk/source/java/net/sf/jcontracts/antlr/CharRangeElement.java trunk/source/java/net/sf/jcontracts/antlr/CharScanner.java trunk/source/java/net/sf/jcontracts/antlr/CharScannerBacktrackingInteractive.java trunk/source/java/net/sf/jcontracts/antlr/CharScannerBacktrackingInteractiveNoCaseSensitive.java trunk/source/java/net/sf/jcontracts/antlr/CharScannerBacktrackingNoInteractive.java trunk/source/java/net/sf/jcontracts/antlr/CharScannerBacktrackingNoInteractiveNoCaseSensitive.java trunk/source/java/net/sf/jcontracts/antlr/CharScannerNoBacktrackingInteractive.java trunk/source/java/net/sf/jcontracts/antlr/CharScannerNoBacktrackingInteractiveNoCaseSensitive.java trunk/source/java/net/sf/jcontracts/antlr/CharScannerNoBacktrackingNoInteractive.java trunk/source/java/net/sf/jcontracts/antlr/CharScannerNoBacktrackingNoInteractiveNoCaseSensitive.java trunk/source/java/net/sf/jcontracts/antlr/CodeGenerator.java trunk/source/java/net/sf/jcontracts/antlr/CommonAST.java trunk/source/java/net/sf/jcontracts/antlr/CommonToken.java trunk/source/java/net/sf/jcontracts/antlr/DefaultToolErrorHandler.java trunk/source/java/net/sf/jcontracts/antlr/DefineGrammarSymbols.java trunk/source/java/net/sf/jcontracts/antlr/DiagnosticCodeGenerator.java trunk/source/java/net/sf/jcontracts/antlr/DumpASTVisitor.java trunk/source/java/net/sf/jcontracts/antlr/ExceptionHandler.java trunk/source/java/net/sf/jcontracts/antlr/ExceptionSpec.java trunk/source/java/net/sf/jcontracts/antlr/FileCopyException.java trunk/source/java/net/sf/jcontracts/antlr/Grammar.java trunk/source/java/net/sf/jcontracts/antlr/GrammarAnalyzer.java trunk/source/java/net/sf/jcontracts/antlr/GrammarAtom.java trunk/source/java/net/sf/jcontracts/antlr/GrammarElement.java trunk/source/java/net/sf/jcontracts/antlr/GrammarSymbol.java trunk/source/java/net/sf/jcontracts/antlr/JavaBlockFinishingInfo.java trunk/source/java/net/sf/jcontracts/antlr/JavaCharFormatter.java trunk/source/java/net/sf/jcontracts/antlr/JavaCodeGenerator.java trunk/source/java/net/sf/jcontracts/antlr/LLkAnalyzer.java trunk/source/java/net/sf/jcontracts/antlr/LLkGrammarAnalyzer.java trunk/source/java/net/sf/jcontracts/antlr/LLkParser.java trunk/source/java/net/sf/jcontracts/antlr/LLkParserNoInteractive.java trunk/source/java/net/sf/jcontracts/antlr/LexerGrammar.java trunk/source/java/net/sf/jcontracts/antlr/Lookahead.java trunk/source/java/net/sf/jcontracts/antlr/MakeGrammar.java trunk/source/java/net/sf/jcontracts/antlr/MismatchedTokenException.java trunk/source/java/net/sf/jcontracts/antlr/NoViableAltException.java trunk/source/java/net/sf/jcontracts/antlr/OneOrMoreBlock.java trunk/source/java/net/sf/jcontracts/antlr/OptionalBlock.java trunk/source/java/net/sf/jcontracts/antlr/Parser.java trunk/source/java/net/sf/jcontracts/antlr/ParserException.java trunk/source/java/net/sf/jcontracts/antlr/ParserGrammar.java trunk/source/java/net/sf/jcontracts/antlr/RuleBlock.java trunk/source/java/net/sf/jcontracts/antlr/RuleEndElement.java trunk/source/java/net/sf/jcontracts/antlr/RuleRefElement.java trunk/source/java/net/sf/jcontracts/antlr/RuleSymbol.java trunk/source/java/net/sf/jcontracts/antlr/ScannerException.java trunk/source/java/net/sf/jcontracts/antlr/SemanticException.java trunk/source/java/net/sf/jcontracts/antlr/SimpleTokenManager.java trunk/source/java/net/sf/jcontracts/antlr/StringLiteralElement.java trunk/source/java/net/sf/jcontracts/antlr/StringLiteralSymbol.java trunk/source/java/net/sf/jcontracts/antlr/SynPredBlock.java trunk/source/java/net/sf/jcontracts/antlr/TokdefTokenManager.java trunk/source/java/net/sf/jcontracts/antlr/Token.java trunk/source/java/net/sf/jcontracts/antlr/TokenBuffer.java trunk/source/java/net/sf/jcontracts/antlr/TokenManager.java trunk/source/java/net/sf/jcontracts/antlr/TokenQueue.java trunk/source/java/net/sf/jcontracts/antlr/TokenRangeElement.java trunk/source/java/net/sf/jcontracts/antlr/TokenRefElement.java trunk/source/java/net/sf/jcontracts/antlr/TokenSymbol.java trunk/source/java/net/sf/jcontracts/antlr/Tokenizer.java trunk/source/java/net/sf/jcontracts/antlr/Tool.java trunk/source/java/net/sf/jcontracts/antlr/ToolErrorHandler.java trunk/source/java/net/sf/jcontracts/antlr/TreeBlockContext.java trunk/source/java/net/sf/jcontracts/antlr/TreeElement.java trunk/source/java/net/sf/jcontracts/antlr/TreeParser.java trunk/source/java/net/sf/jcontracts/antlr/TreeSpecifierNode.java trunk/source/java/net/sf/jcontracts/antlr/TreeWalkerGrammar.java trunk/source/java/net/sf/jcontracts/antlr/WildcardElement.java trunk/source/java/net/sf/jcontracts/antlr/ZeroOrMoreBlock.java trunk/source/java/net/sf/jcontracts/antlr/actions/ trunk/source/java/net/sf/jcontracts/antlr/actions/ActionLexer.java trunk/source/java/net/sf/jcontracts/antlr/actions/ActionLexerTokenTypes.java trunk/source/java/net/sf/jcontracts/antlr/collections/ trunk/source/java/net/sf/jcontracts/antlr/collections/AST.java trunk/source/java/net/sf/jcontracts/antlr/collections/ASTEnumeration.java trunk/source/java/net/sf/jcontracts/antlr/collections/BitSetTest.java trunk/source/java/net/sf/jcontracts/antlr/collections/Enumerator.java trunk/source/java/net/sf/jcontracts/antlr/collections/LLStackTest.java trunk/source/java/net/sf/jcontracts/antlr/collections/LListTest.java trunk/source/java/net/sf/jcontracts/antlr/collections/List.java trunk/source/java/net/sf/jcontracts/antlr/collections/Stack.java trunk/source/java/net/sf/jcontracts/antlr/collections/impl/ trunk/source/java/net/sf/jcontracts/antlr/collections/impl/ASTArray.java trunk/source/java/net/sf/jcontracts/antlr/collections/impl/ASTEnumerator.java trunk/source/java/net/sf/jcontracts/antlr/collections/impl/BitSet.java trunk/source/java/net/sf/jcontracts/antlr/collections/impl/IndexedVector.java trunk/source/java/net/sf/jcontracts/antlr/collections/impl/LLCell.java trunk/source/java/net/sf/jcontracts/antlr/collections/impl/LLEnumeration.java trunk/source/java/net/sf/jcontracts/antlr/collections/impl/LList.java trunk/source/java/net/sf/jcontracts/antlr/collections/impl/Vector.java trunk/source/java/net/sf/jcontracts/antlr/collections/impl/VectorEnumeration.java trunk/source/java/net/sf/jcontracts/antlr/collections/impl/VectorEnumerator.java trunk/source/java/net/sf/jcontracts/antlr/preprocessor/ trunk/source/java/net/sf/jcontracts/antlr/preprocessor/Grammar.java trunk/source/java/net/sf/jcontracts/antlr/preprocessor/GrammarFile.java trunk/source/java/net/sf/jcontracts/antlr/preprocessor/Hierarchy.java trunk/source/java/net/sf/jcontracts/antlr/preprocessor/Option.java trunk/source/java/net/sf/jcontracts/antlr/preprocessor/Preprocessor.java trunk/source/java/net/sf/jcontracts/antlr/preprocessor/PreprocessorLexer.java trunk/source/java/net/sf/jcontracts/antlr/preprocessor/PreprocessorTokenTypes.java trunk/source/java/net/sf/jcontracts/antlr/preprocessor/Rule.java trunk/source/java/net/sf/jcontracts/antlr/preprocessor/Tool.java Removed Paths: ------------- trunk/classes/ Added: trunk/source/java/net/sf/jcontracts/antlr/ANTLRException.java =================================================================== --- trunk/source/java/net/sf/jcontracts/antlr/ANTLRException.java (rev 0) +++ trunk/source/java/net/sf/jcontracts/antlr/ANTLRException.java 2006-12-04 17:08:12 UTC (rev 36) @@ -0,0 +1,10 @@ +package net.sf.jcontracts.antlr; + +public class ANTLRException extends Exception +{ + + public ANTLRException(String s) + { + super(s); + } +} Added: trunk/source/java/net/sf/jcontracts/antlr/ANTLRGrammarParseBehavior.java =================================================================== --- trunk/source/java/net/sf/jcontracts/antlr/ANTLRGrammarParseBehavior.java (rev 0) +++ trunk/source/java/net/sf/jcontracts/antlr/ANTLRGrammarParseBehavior.java 2006-12-04 17:08:12 UTC (rev 36) @@ -0,0 +1,104 @@ +package net.sf.jcontracts.antlr; + +import net.sf.jcontracts.antlr.collections.impl.BitSet; + +public interface ANTLRGrammarParseBehavior +{ + + public abstract void abortGrammar(); + + public abstract void beginAlt(boolean flag); + + public abstract void beginChildList(); + + public abstract void beginExceptionGroup(); + + public abstract void beginExceptionSpec(Token token); + + public abstract void beginSubRule(Token token, int i, boolean flag); + + public abstract void beginTree(int i) throws SemanticException; + + public abstract void defineRuleName(Token token, String s, boolean flag) throws SemanticException; + + public abstract void endAlt(); + + public abstract void endChildList(); + + public abstract void endExceptionGroup(); + + public abstract void endExceptionSpec(); + + public abstract void endGrammar(); + + public abstract void endOptions(); + + public abstract void endRule(String s); + + public abstract void endSubRule(); + + public abstract void endTree(); + + public abstract void hasError(); + + public abstract void noASTSubRule(); + + public abstract void oneOrMoreSubRule(); + + public abstract void optionalSubRule(); + + public abstract void refAction(Token token); + + public abstract void refArgAction(Token token); + + public abstract void refCharLiteral(Token token, Token token1, boolean flag, int i, boolean flag1); + + public abstract void refCharRange(Token token, Token token1, Token token2, int i, boolean flag); + + public abstract void refExceptionHandler(Token token, String s); + + public abstract void refHeaderAction(Token token); + + public abstract void refInitAction(Token token); + + public abstract void refMemberAction(Token token); + + public abstract void refPreambleAction(Token token); + + public abstract void refReturnAction(Token token); + + public abstract void refRule(Token token, Token token1, Token token2, Token token3, int i); + + public abstract void refSemPred(Token token); + + public abstract void refStringLiteral(Token token, Token token1, int i, boolean flag); + + public abstract void refToken(Token token, Token token1, Token token2, Token token3, boolean flag, int i, + boolean flag1); + + public abstract void refTokenRange(Token token, Token token1, Token token2, int i, boolean flag); + + public abstract void refTreeSpecifier(Token token); + + public abstract void refWildcard(Token token, Token token1, int i); + + public abstract void setArgOfRuleRef(Token token); + + public abstract void setCharVocabulary(BitSet bitset); + + public abstract void setFileOption(Token token, Token token1); + + public abstract void setGrammarOption(Token token, Token token1); + + public abstract void setRuleOption(Token token, Token token1); + + public abstract void startLexer(Token token, String s); + + public abstract void startParser(Token token, String s); + + public abstract void startTreeWalker(Token token, String s); + + public abstract void synPred(); + + public abstract void zeroOrMoreSubRule(); +} Added: trunk/source/java/net/sf/jcontracts/antlr/ANTLRHashString.java =================================================================== --- trunk/source/java/net/sf/jcontracts/antlr/ANTLRHashString.java (rev 0) +++ trunk/source/java/net/sf/jcontracts/antlr/ANTLRHashString.java 2006-12-04 17:08:12 UTC (rev 36) @@ -0,0 +1,123 @@ +package net.sf.jcontracts.antlr; + +public class ANTLRHashString +{ + + public ANTLRHashString(char buf[], int length, CharScanner lexer) + { + this.lexer = lexer; + setBuffer(buf, length); + } + + public ANTLRHashString(CharScanner lexer) + { + this.lexer = lexer; + } + + public ANTLRHashString(String s, CharScanner lexer) + { + this.lexer = lexer; + setString(s); + } + + private final char charAt(int index) + { + return s == null ? buf[index] : s.charAt(index); + } + + public boolean equals(Object o) + { + if (!(o instanceof ANTLRHashString) && !(o instanceof String)) + { + return false; + } + ANTLRHashString s; + if (o instanceof String) + { + s = new ANTLRHashString((String) o, lexer); + } + else + { + s = (ANTLRHashString) o; + } + int l = length(); + if (s.length() != l) + { + return false; + } + if (lexer.getCaseSensitiveLiterals()) + { + for (int i = 0; i < l; i++) + { + if (charAt(i) != s.charAt(i)) + { + return false; + } + } + + } + else + { + for (int i = 0; i < l; i++) + { + if (lexer.toLower(charAt(i)) != lexer.toLower(s.charAt(i))) + { + return false; + } + } + + } + return true; + } + + public int hashCode() + { + int hashval = 0; + int l = length(); + if (lexer.getCaseSensitiveLiterals()) + { + for (int i = 0; i < l; i++) + { + hashval = hashval * 151 + charAt(i); + } + + } + else + { + for (int i = 0; i < l; i++) + { + hashval = hashval * 151 + lexer.toLower(charAt(i)); + } + + } + return hashval; + } + + private final int length() + { + return s == null ? len : s.length(); + } + + public void setBuffer(char buf[], int length) + { + this.buf = buf; + len = length; + s = null; + } + + public void setString(String s) + { + this.s = s; + buf = null; + } + + private String s; + + private char buf[]; + + private int len; + + private CharScanner lexer; + + private static final int prime = 151; +} Added: trunk/source/java/net/sf/jcontracts/antlr/ANTLRLexer.java =================================================================== --- trunk/source/java/net/sf/jcontracts/antlr/ANTLRLexer.java (rev 0) +++ trunk/source/java/net/sf/jcontracts/antlr/ANTLRLexer.java 2006-12-04 17:08:12 UTC (rev 36) @@ -0,0 +1,2019 @@ +package net.sf.jcontracts.antlr; + +import java.io.InputStream; +import java.util.Hashtable; + +import net.sf.jcontracts.antlr.collections.impl.BitSet; + +public class ANTLRLexer extends CharScannerNoBacktrackingNoInteractive implements ANTLRTokenTypes, Tokenizer +{ + + public ANTLRLexer(CharBufferNoBacktrackingNoInteractive cb) + { + super(cb); + super.literals = new Hashtable(); + super.literals.put(new ANTLRHashString("Parser", this), new Integer(30)); + super.literals.put(new ANTLRHashString("catch", this), new Integer(38)); + super.literals.put(new ANTLRHashString("Lexer", this), new Integer(9)); + super.literals.put(new ANTLRHashString("exception", this), new Integer(37)); + super.literals.put(new ANTLRHashString("class", this), new Integer(7)); + super.literals.put(new ANTLRHashString("lexclass", this), new Integer(6)); + super.literals.put(new ANTLRHashString("public", this), new Integer(32)); + super.literals.put(new ANTLRHashString("header", this), new Integer(4)); + super.literals.put(new ANTLRHashString("tokens", this), new Integer(26)); + super.literals.put(new ANTLRHashString("charVocabulary", this), new Integer(17)); + super.literals.put(new ANTLRHashString("options", this), new Integer(11)); + super.literals.put(new ANTLRHashString("returns", this), new Integer(36)); + super.literals.put(new ANTLRHashString("TreeParser", this), new Integer(10)); + super.literals.put(new ANTLRHashString("private", this), new Integer(33)); + super.literals.put(new ANTLRHashString("protected", this), new Integer(31)); + super.literals.put(new ANTLRHashString("extends", this), new Integer(8)); + super.caseSensitiveLiterals = true; + } + + public ANTLRLexer(InputStream in) + { + this(new CharBufferNoBacktrackingNoInteractive(in)); + } + + public static int escapeCharValue(String cs) + { + if (cs.length() <= 3) + { + return 0; + } + if (cs.charAt(1) != '\\') + { + return 0; + } + switch (cs.charAt(2)) + { + case 98: // 'b' + return 8; + + case 114: // 'r' + return 13; + + case 116: // 't' + return 9; + + case 110: // 'n' + return 10; + + case 102: // 'f' + return 12; + + case 34: // '"' + return 34; + + case 39: // '\'' + return 39; + + case 92: // '\\' + return 92; + + case 117: // 'u' + if (cs.length() != 8) + { + return 0; + } + else + { + return Character.digit(cs.charAt(3), 16) * 16 * 16 * 16 + Character.digit(cs.charAt(4), 16) * 16 + * 16 + Character.digit(cs.charAt(5), 16) * 16 + Character.digit(cs.charAt(6), 16); + } + + case 48: // '0' + case 49: // '1' + case 50: // '2' + case 51: // '3' + if (cs.length() > 5 && Character.isDigit(cs.charAt(4))) + { + return (cs.charAt(2) - 48) * 8 * 8 + (cs.charAt(3) - 48) * 8 + (cs.charAt(4) - 48); + } + if (cs.length() > 4 && Character.isDigit(cs.charAt(3))) + { + return (cs.charAt(2) - 48) * 8 + (cs.charAt(3) - 48); + } + else + { + return cs.charAt(2) - 48; + } + + case 52: // '4' + case 53: // '5' + case 54: // '6' + case 55: // '7' + if (cs.length() > 4 && Character.isDigit(cs.charAt(3))) + { + return (cs.charAt(2) - 48) * 8 + (cs.charAt(3) - 48); + } + else + { + return cs.charAt(2) - 48; + } + } + return 0; + } + + public final void mACTION(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 5; + int actionLine = getLine(); + mNESTED_ACTION(false); + if (super.la_1 == '?') + { + match('?'); + _ttype = 40; + } + if (_ttype == 5) + { + setText(Tool.stripFrontBack(getText(), "{", "}")); + } + else + { + setText(Tool.stripFrontBack(getText(), "{", "}?")); + } + setLine(actionLine); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mARG_ACTION(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 35; + mNESTED_ARG_ACTION(false); + setText(Tool.stripFrontBack(getText(), "[", "]")); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mASSIGN(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 14; + match('='); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mBANG(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 34; + match('!'); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mCARET(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 46; + match('^'); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mCHAR_LITERAL(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 19; + match('\''); + switch (super.la_1) + { + case 92: // '\\' + mESC(false); + break; + + case 3: // '\003' + case 4: // '\004' + case 5: // '\005' + case 6: // '\006' + case 7: // '\007' + case 8: // '\b' + case 9: // '\t' + case 10: // '\n' + case 11: // '\013' + case 12: // '\f' + case 13: // '\r' + case 14: // '\016' + case 15: // '\017' + case 16: // '\020' + case 17: // '\021' + case 18: // '\022' + case 19: // '\023' + case 20: // '\024' + case 21: // '\025' + case 22: // '\026' + case 23: // '\027' + case 24: // '\030' + case 25: // '\031' + case 26: // '\032' + case 27: // '\033' + case 28: // '\034' + case 29: // '\035' + case 30: // '\036' + case 31: // '\037' + case 32: // ' ' + case 33: // '!' + case 34: // '"' + case 35: // '#' + case 36: // '$' + case 37: // '%' + case 38: // '&' + case 40: // '(' + case 41: // ')' + case 42: // '*' + case 43: // '+' + case 44: // ',' + case 45: // '-' + case 46: // '.' + case 47: // '/' + case 48: // '0' + case 49: // '1' + case 50: // '2' + case 51: // '3' + case 52: // '4' + case 53: // '5' + case 54: // '6' + case 55: // '7' + case 56: // '8' + case 57: // '9' + case 58: // ':' + case 59: // ';' + case 60: // '<' + case 61: // '=' + case 62: // '>' + case 63: // '?' + case 64: // '@' + case 65: // 'A' + case 66: // 'B' + case 67: // 'C' + case 68: // 'D' + case 69: // 'E' + case 70: // 'F' + case 71: // 'G' + case 72: // 'H' + case 73: // 'I' + case 74: // 'J' + case 75: // 'K' + case 76: // 'L' + case 77: // 'M' + case 78: // 'N' + case 79: // 'O' + case 80: // 'P' + case 81: // 'Q' + case 82: // 'R' + case 83: // 'S' + case 84: // 'T' + case 85: // 'U' + case 86: // 'V' + case 87: // 'W' + case 88: // 'X' + case 89: // 'Y' + case 90: // 'Z' + case 91: // '[' + case 93: // ']' + case 94: // '^' + case 95: // '_' + case 96: // '`' + case 97: // 'a' + case 98: // 'b' + case 99: // 'c' + case 100: // 'd' + case 101: // 'e' + case 102: // 'f' + case 103: // 'g' + case 104: // 'h' + case 105: // 'i' + case 106: // 'j' + case 107: // 'k' + case 108: // 'l' + case 109: // 'm' + case 110: // 'n' + case 111: // 'o' + case 112: // 'p' + case 113: // 'q' + case 114: // 'r' + case 115: // 's' + case 116: // 't' + case 117: // 'u' + case 118: // 'v' + case 119: // 'w' + case 120: // 'x' + case 121: // 'y' + case 122: // 'z' + case 123: // '{' + case 124: // '|' + case 125: // '}' + case 126: // '~' + matchNot('\''); + break; + + default: + throw new ScannerException("no viable alt for char: " + LA(1), getLine()); + } + match('\''); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mCOLON(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 12; + match(':'); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mCOMMENT(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 49; + if (super.la_1 == '/' && super.la_2 == '/') + { + mSL_COMMENT(false); + } + else if (super.la_1 == '/' && super.la_2 == '*') + { + mML_COMMENT(false); + } + else + { + throw new ScannerException("no viable alt for char: " + LA(1), getLine()); + } + _ttype = -1; + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + protected final void mDIGIT(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 53; + matchRange('0', '9'); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + protected final void mESC(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 52; + match('\\'); + switch (super.la_1) + { + case 110: // 'n' + match('n'); + break; + + case 114: // 'r' + match('r'); + break; + + case 116: // 't' + match('t'); + break; + + case 98: // 'b' + match('b'); + break; + + case 102: // 'f' + match('f'); + break; + + case 34: // '"' + match('"'); + break; + + case 39: // '\'' + match('\''); + break; + + case 92: // '\\' + match('\\'); + break; + + case 48: // '0' + case 49: // '1' + case 50: // '2' + case 51: // '3' + matchRange('0', '3'); + if (super.la_1 >= '0' && super.la_1 <= '9' && super.la_2 >= '\003' && super.la_2 <= '~') + { + mDIGIT(false); + if (super.la_1 >= '0' && super.la_1 <= '9' && super.la_2 >= '\003' && super.la_2 <= '~') + { + mDIGIT(false); + } + } + break; + + case 52: // '4' + case 53: // '5' + case 54: // '6' + case 55: // '7' + matchRange('4', '7'); + if (super.la_1 >= '0' && super.la_1 <= '9' && super.la_2 >= '\003' && super.la_2 <= '~') + { + mDIGIT(false); + } + break; + + case 117: // 'u' + match('u'); + mXDIGIT(false); + mXDIGIT(false); + mXDIGIT(false); + mXDIGIT(false); + break; + + default: + throw new ScannerException("no viable alt for char: " + LA(1), getLine()); + } + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mIMPLIES(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 45; + match("=>"); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mINT(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 20; + int _cnt = 0; + do + { + if (super.la_1 >= '0' && super.la_1 <= '9') + { + matchRange('0', '9'); + } + else + { + if (_cnt < 1) + { + throw new ScannerException("no viable alt for char: " + LA(1), getLine()); + } + break; + } + _cnt++; + } + while (true); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + protected final int mINTERNAL_RULE_REF(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 58; + int t = 28; + matchRange('a', 'z'); + do + { + switch (super.la_1) + { + case 95: // '_' + match('_'); + continue; + + case 48: // '0' + case 49: // '1' + case 50: // '2' + case 51: // '3' + case 52: // '4' + case 53: // '5' + case 54: // '6' + case 55: // '7' + case 56: // '8' + case 57: // '9' + matchRange('0', '9'); + continue; + } + if (super.la_1 >= 'a' && super.la_1 <= 'z') + { + matchRange('a', 'z'); + continue; + } + if (super.la_1 < 'A' || super.la_1 > 'Z') + { + break; + } + matchRange('A', 'Z'); + } + while (true); + t = testLiteralsTable(t); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + return t; + } + + public final void mLPAREN(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 27; + match('('); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + protected final void mML_COMMENT(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 51; + match("/*"); + do + { + switch (super.la_1) + { + case 10: // '\n' + match('\n'); + newline(); + continue; + + case 3: // '\003' + case 4: // '\004' + case 5: // '\005' + case 6: // '\006' + case 7: // '\007' + case 8: // '\b' + case 9: // '\t' + case 11: // '\013' + case 12: // '\f' + case 13: // '\r' + case 14: // '\016' + case 15: // '\017' + case 16: // '\020' + case 17: // '\021' + case 18: // '\022' + case 19: // '\023' + case 20: // '\024' + case 21: // '\025' + case 22: // '\026' + case 23: // '\027' + case 24: // '\030' + case 25: // '\031' + case 26: // '\032' + case 27: // '\033' + case 28: // '\034' + case 29: // '\035' + case 30: // '\036' + case 31: // '\037' + case 32: // ' ' + case 33: // '!' + case 34: // '"' + case 35: // '#' + case 36: // '$' + case 37: // '%' + case 38: // '&' + case 39: // '\'' + case 40: // '(' + case 41: // ')' + case 43: // '+' + case 44: // ',' + case 45: // '-' + case 46: // '.' + case 47: // '/' + case 48: // '0' + case 49: // '1' + case 50: // '2' + case 51: // '3' + case 52: // '4' + case 53: // '5' + case 54: // '6' + case 55: // '7' + case 56: // '8' + case 57: // '9' + case 58: // ':' + case 59: // ';' + case 60: // '<' + case 61: // '=' + case 62: // '>' + case 63: // '?' + case 64: // '@' + case 65: // 'A' + case 66: // 'B' + case 67: // 'C' + case 68: // 'D' + case 69: // 'E' + case 70: // 'F' + case 71: // 'G' + case 72: // 'H' + case 73: // 'I' + case 74: // 'J' + case 75: // 'K' + case 76: // 'L' + case 77: // 'M' + case 78: // 'N' + case 79: // 'O' + case 80: // 'P' + case 81: // 'Q' + case 82: // 'R' + case 83: // 'S' + case 84: // 'T' + case 85: // 'U' + case 86: // 'V' + case 87: // 'W' + case 88: // 'X' + case 89: // 'Y' + case 90: // 'Z' + case 91: // '[' + case 92: // '\\' + case 93: // ']' + case 94: // '^' + case 95: // '_' + case 96: // '`' + case 97: // 'a' + case 98: // 'b' + case 99: // 'c' + case 100: // 'd' + case 101: // 'e' + case 102: // 'f' + case 103: // 'g' + case 104: // 'h' + case 105: // 'i' + case 106: // 'j' + case 107: // 'k' + case 108: // 'l' + case 109: // 'm' + case 110: // 'n' + case 111: // 'o' + case 112: // 'p' + case 113: // 'q' + case 114: // 'r' + case 115: // 's' + case 116: // 't' + case 117: // 'u' + case 118: // 'v' + case 119: // 'w' + case 120: // 'x' + case 121: // 'y' + case 122: // 'z' + case 123: // '{' + case 124: // '|' + case 125: // '}' + case 126: // '~' + match(_tokenSet_1); + continue; + } + if (super.la_1 != '*' || super.la_2 < '\003' || super.la_2 > '~' || LA(2) == '/') + { + break; + } + match('*'); + } + while (true); + match("*/"); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + protected final void mNESTED_ACTION(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 57; + match('{'); + do + { + switch (super.la_1) + { + case 10: // '\n' + match('\n'); + newline(); + continue; + + case 123: // '{' + mNESTED_ACTION(false); + continue; + + case 39: // '\'' + mCHAR_LITERAL(false); + continue; + + case 34: // '"' + mSTRING_LITERAL(false); + continue; + } + if (super.la_1 == '/' && (super.la_2 == '*' || super.la_2 == '/') && (LA(2) == '/' || LA(2) == '*')) + { + mCOMMENT(false); + continue; + } + if (super.la_1 == '/' && super.la_2 >= '\003' && super.la_2 <= '~') + { + match('/'); + continue; + } + if (!_tokenSet_2.member(super.la_1)) + { + break; + } + matchNot('}'); + } + while (true); + match('}'); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + protected final void mNESTED_ARG_ACTION(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 56; + match('['); + label0: do + { + switch (super.la_1) + { + case 91: // '[' + mNESTED_ARG_ACTION(false); + break; + + case 10: // '\n' + match('\n'); + newline(); + break; + + case 39: // '\'' + mCHAR_LITERAL(false); + break; + + case 34: // '"' + mSTRING_LITERAL(false); + break; + + case 3: // '\003' + case 4: // '\004' + case 5: // '\005' + case 6: // '\006' + case 7: // '\007' + case 8: // '\b' + case 9: // '\t' + case 11: // '\013' + case 12: // '\f' + case 13: // '\r' + case 14: // '\016' + case 15: // '\017' + case 16: // '\020' + case 17: // '\021' + case 18: // '\022' + case 19: // '\023' + case 20: // '\024' + case 21: // '\025' + case 22: // '\026' + case 23: // '\027' + case 24: // '\030' + case 25: // '\031' + case 26: // '\032' + case 27: // '\033' + case 28: // '\034' + case 29: // '\035' + case 30: // '\036' + case 31: // '\037' + case 32: // ' ' + case 33: // '!' + case 35: // '#' + case 36: // '$' + case 37: // '%' + case 38: // '&' + case 40: // '(' + case 41: // ')' + case 42: // '*' + case 43: // '+' + case 44: // ',' + case 45: // '-' + case 46: // '.' + case 47: // '/' + case 48: // '0' + case 49: // '1' + case 50: // '2' + case 51: // '3' + case 52: // '4' + case 53: // '5' + case 54: // '6' + case 55: // '7' + case 56: // '8' + case 57: // '9' + case 58: // ':' + case 59: // ';' + case 60: // '<' + case 61: // '=' + case 62: // '>' + case 63: // '?' + case 64: // '@' + case 65: // 'A' + case 66: // 'B' + case 67: // 'C' + case 68: // 'D' + case 69: // 'E' + case 70: // 'F' + case 71: // 'G' + case 72: // 'H' + case 73: // 'I' + case 74: // 'J' + case 75: // 'K' + case 76: // 'L' + case 77: // 'M' + case 78: // 'N' + case 79: // 'O' + case 80: // 'P' + case 81: // 'Q' + case 82: // 'R' + case 83: // 'S' + case 84: // 'T' + case 85: // 'U' + case 86: // 'V' + case 87: // 'W' + case 88: // 'X' + case 89: // 'Y' + case 90: // 'Z' + case 92: // '\\' + case 94: // '^' + case 95: // '_' + case 96: // '`' + case 97: // 'a' + case 98: // 'b' + case 99: // 'c' + case 100: // 'd' + case 101: // 'e' + case 102: // 'f' + case 103: // 'g' + case 104: // 'h' + case 105: // 'i' + case 106: // 'j' + case 107: // 'k' + case 108: // 'l' + case 109: // 'm' + case 110: // 'n' + case 111: // 'o' + case 112: // 'p' + case 113: // 'q' + case 114: // 'r' + case 115: // 's' + case 116: // 't' + case 117: // 'u' + case 118: // 'v' + case 119: // 'w' + case 120: // 'x' + case 121: // 'y' + case 122: // 'z' + case 123: // '{' + case 124: // '|' + case 125: // '}' + case 126: // '~' + matchNot(']'); + break; + + default: + match(']'); + break label0; + } + } + while (true); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mNOT_OP(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 39; + match('~'); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mOR(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 21; + match('|'); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mPLUS(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 44; + match('+'); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + protected final void mPOINTER(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 60; + match("->"); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mQUESTION(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 42; + match('?'); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mRANGE(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 22; + match(".."); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mRCURLY(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 16; + match('}'); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mRPAREN(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 29; + match(')'); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mRULE_REF(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 28; + int t = 0; + t = mINTERNAL_RULE_REF(false); + _ttype = t; + if (t == 11) + { + for (; _tokenSet_3.member(super.la_1); mWS(false)) + { + } + if (super.la_1 == '{') + { + match('{'); + _ttype = 13; + } + } + else if (t == 26) + { + for (; _tokenSet_3.member(super.la_1); mWS(false)) + { + } + if (super.la_1 == '{') + { + match('{'); + _ttype = 23; + } + } + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mSEMI(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 15; + match(';'); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + protected final void mSL_COMMENT(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 50; + match("//"); + for (; _tokenSet_0.member(super.la_1); matchNot('\n')) + { + } + match('\n'); + newline(); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mSTAR(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 43; + match('*'); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + } + super._returnToken = _token; + } + + public final void mSTRING_LITERAL(boolean _createToken) throws ScannerException + { + Token _token = null; + int _begin = super.text.length(); + int _ttype = 18; + match('"'); + label0: do + { + switch (super.la_1) + { + case 92: // '\\' + mESC(false); + break; + + case 3: // '\003' + case 4: // '\004' + case 5: // '\005' + case 6: // '\006' + case 7: // '\007' + case 8: // '\b' + case 9: // '\t' + case 10: // '\n' + case 11: // '\013' + case 12: // '\f' + case 13: // '\r' + case 14: // '\016' + case 15: // '\017' + case 16: // '\020' + case 17: // '\021' + case 18: // '\022' + case 19: // '\023' + case 20: // '\024' + case 21: // '\025' + case 22: // '\026' + case 23: // '\027' + case 24: // '\030' + case 25: // '\031' + case 26: // '\032' + case 27: // '\033' + case 28: // '\034' + case 29: // '\035' + case 30: // '\036' + case 31: // '\037' + case 32: // ' ' + case 33: // '!' + case 35: // '#' + case 36: // '$' + case 37: // '%' + case 38: // '&' + case 39: // '\'' + case 40: // '(' + case 41: // ')' + case 42: // '*' + case 43: // '+' + case 44: // ',' + case 45: // '-' + case 46: // '.' + case 47: // '/' + case 48: // '0' + case 49: // '1' + case 50: // '2' + case 51: // '3' + case 52: // '4' + case 53: // '5' + case 54: // '6' + case 55: // '7' + case 56: // '8' + case 57: // '9' + case 58: // ':' + case 59: // ';' + case 60: // '<' + case 61: // '=' + case 62: // '>' + case 63: // '?' + case 64: // '@' + case 65: // 'A' + case 66: // 'B' + case 67: // 'C' + case 68: // 'D' + case 69: // 'E' + case 70: // 'F' + case 71: // 'G' + case 72: // 'H' + case 73: // 'I' + case 74: // 'J' + case 75: // 'K' + case 76: // 'L' + case 77: // 'M' + case 78: // 'N' + case 79: // 'O' + case 80: // 'P' + case 81: // 'Q' + case 82: // 'R' + case 83: // 'S' + case 84: // 'T' + case 85: // 'U' + case 86: // 'V' + case 87: // 'W' + case 88: // 'X' + case 89: // 'Y' + case 90: // 'Z' + case 91: // '[' + case 93: // ']' + case 94: // '^' + case 95: // '_' + case 96: // '`' + case 97: // 'a' + case 98: // 'b' + case 99: // 'c' + case 100: // 'd' + case 101: // 'e' + case 102: // 'f' + case 103: // 'g' + case 104: // 'h' + case 105: // 'i' + case 106: // 'j' + case 107: // 'k' + case 108: // 'l' + case 109: // 'm' + case 110: // 'n' + case 111: // 'o' + case 112: // 'p' + case 113: // 'q' + case 114: // 'r' + case 115: // 's' + case 116: // 't' + case 117: // 'u' + case 118: // 'v' + case 119: // 'w' + case 120: // 'x' + case 121: // 'y' + case 122: // 'z' + case 123: // '{' + case 124: // '|' + case 125: // '}' + case 126: // '~' + matchNot('"'); + break; + + default: + match('"'); + break label0; + } + } + while (true); + if (_createToken && _token == null) + { + _token = makeToken(_ttype); + ... [truncated message content] |