From: <js...@us...> - 2008-05-17 10:45:27
|
Revision: 55 http://jcontracts.svn.sourceforge.net/jcontracts/?rev=55&view=rev Author: jstuyts Date: 2008-05-17 03:45:25 -0700 (Sat, 17 May 2008) Log Message: ----------- Major cleanup. Let's hope I did not break anything. Modified Paths: -------------- trunk/site/contractInheritance.html 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/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/ActionLexer.java trunk/source/java/net/sf/jcontracts/antlr/actions/ActionLexerTokenTypes.java 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/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/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 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/ArgTokenTypes.java trunk/source/java/net/sf/jcontracts/argparser/ExtendedToken.java trunk/source/java/net/sf/jcontracts/argparser/MetaclassFactory.java trunk/source/java/net/sf/jcontracts/argparser/OptionMetaclass.java trunk/source/java/net/sf/jcontracts/argparser/ParserMetaclassFactory.java trunk/source/java/net/sf/jcontracts/argparser/TargetMetaclass.java trunk/source/java/net/sf/jcontracts/codeparser/Class.java trunk/source/java/net/sf/jcontracts/codeparser/CodeComment.java trunk/source/java/net/sf/jcontracts/codeparser/CodeMetaclass.java trunk/source/java/net/sf/jcontracts/codeparser/DebugVisitor.java trunk/source/java/net/sf/jcontracts/codeparser/ExtendedToken.java trunk/source/java/net/sf/jcontracts/codeparser/Interface.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/JavaTokenTypes.java trunk/source/java/net/sf/jcontracts/codeparser/MetaclassFactory.java trunk/source/java/net/sf/jcontracts/codeparser/Method.java trunk/source/java/net/sf/jcontracts/codeparser/Parser.java trunk/source/java/net/sf/jcontracts/codeparser/ParserMetaclassFactory.java trunk/source/java/net/sf/jcontracts/codeparser/TypeMetaclass.java trunk/source/java/net/sf/jcontracts/codeparser/Variable.java trunk/source/java/net/sf/jcontracts/dependencyanalyzer/BooleanBlockWithNodeArg.java trunk/source/java/net/sf/jcontracts/dependencyanalyzer/DependencyAnalyzer.java trunk/source/java/net/sf/jcontracts/dependencyanalyzer/Graph.java trunk/source/java/net/sf/jcontracts/dependencyanalyzer/Node.java trunk/source/java/net/sf/jcontracts/icontract/AllFilesUpToDateException.java trunk/source/java/net/sf/jcontracts/icontract/AllOption.java trunk/source/java/net/sf/jcontracts/icontract/ArgMetaclassFactory.java trunk/source/java/net/sf/jcontracts/icontract/AssertionExpression.java trunk/source/java/net/sf/jcontracts/icontract/Class.java trunk/source/java/net/sf/jcontracts/icontract/Constants.java trunk/source/java/net/sf/jcontracts/icontract/DefaultExceptionOption.java trunk/source/java/net/sf/jcontracts/icontract/FileTarget.java trunk/source/java/net/sf/jcontracts/icontract/HelpOption.java trunk/source/java/net/sf/jcontracts/icontract/IContracted.java trunk/source/java/net/sf/jcontracts/icontract/Interface.java trunk/source/java/net/sf/jcontracts/icontract/InvCheck.java trunk/source/java/net/sf/jcontracts/icontract/MergeOption.java trunk/source/java/net/sf/jcontracts/icontract/MetaclassFactory.java trunk/source/java/net/sf/jcontracts/icontract/Method.java trunk/source/java/net/sf/jcontracts/icontract/Option.java trunk/source/java/net/sf/jcontracts/icontract/OutputOption.java trunk/source/java/net/sf/jcontracts/icontract/ParameterOption.java trunk/source/java/net/sf/jcontracts/icontract/PrePostCheck.java trunk/source/java/net/sf/jcontracts/icontract/ProcessingOption.java trunk/source/java/net/sf/jcontracts/icontract/Repository.java trunk/source/java/net/sf/jcontracts/icontract/RepositoryOutputOption.java trunk/source/java/net/sf/jcontracts/icontract/SystemInTarget.java trunk/source/java/net/sf/jcontracts/icontract/Target.java trunk/source/java/net/sf/jcontracts/icontract/Tool.java trunk/source/java/net/sf/jcontracts/icontract/UnableToDetermineTypeException.java trunk/source/java/net/sf/jcontracts/icontract/Variable.java Added Paths: ----------- trunk/source/java/net/sf/jcontracts/argparser/ArgumentsParser.java trunk/source/java/net/sf/jcontracts/codeparser/CodeMetaclassVisitor.java trunk/source/java/net/sf/jcontracts/codeparser/MultipleCompilationUnitState.java Removed Paths: ------------- trunk/source/java/net/sf/jcontracts/antlr/ASTNULLType.java trunk/source/java/net/sf/jcontracts/argparser/Option.java trunk/source/java/net/sf/jcontracts/argparser/Parser.java trunk/source/java/net/sf/jcontracts/argparser/Target.java trunk/source/java/net/sf/jcontracts/codeparser/CodeMetaclassCache.java trunk/source/java/net/sf/jcontracts/codeparser/ICodeBody.java trunk/source/java/net/sf/jcontracts/codeparser/ICodeMetaclassVisitor.java Modified: trunk/site/contractInheritance.html =================================================================== --- trunk/site/contractInheritance.html 2008-05-09 17:31:07 UTC (rev 54) +++ trunk/site/contractInheritance.html 2008-05-17 10:45:25 UTC (rev 55) @@ -48,7 +48,13 @@ <p>Each of these extensions is described below.</p> - <h2><a name="inheritingMultipleTimes" />Inheriting the same method from multiple types</h2> + <h2><a name="inheritingMultipleTimes" />Inheriting contracts from multiple types</h2> + + <p>This section explains a number of issues with contract inheritance when the same method is + inherited from multiple base types. Because of these issues inheritance of the same method from + multiple types is not allowed.</p> + + <h3>Methods</h3> <p>When the same method is inherited from multiple types it is impossible to generate correct pre- and postconditions for the overriding method. The combination of preconditions (the same effect as @@ -58,8 +64,6 @@ rejected. It is even possible that all return values are rejected because no value can satisfy the combination of postconditions.</p> - <p>Because of this issue inheritance of the same method from multiple types is not allowed.</p> - <p>Here is an example showing how the combination of pre- and postconditions would lead to unwanted results. This is the method declaration from the first base type:</p> @@ -96,7 +100,14 @@ equal to zero it contains a bug, but this bug cannot detected.</p> <p>The combination of postconditions prevents this method from returning any result at all as there is no - integer that is both less than or equal to zero, and greater than one hundred.</p> + integer that is both less than or equal to zero, and greater than one hundred.</p> + + <h3>Invariants</h3> + + <p>The problems with inheriting multiple postconditions for the same method also applies to invariants. If + multiple inherited invariants have assertions about the return values of the same method, the combination + of these invariants will cause valid return values for base types to become invalid, with the possiblity + of invalidating all values.</p> <h2><a name="weakening" />Weakening preconditions</h2> @@ -128,7 +139,9 @@ <p>Clients of a method that invoke strengthened methods will only receive a subset of the possible results of the original method. This means you cannot test your client with all possible return values, so bugs (instead of - contract violations) might surface if the implementation is changed to one that does return all possible values.</p> + contract violations) might surface if the implementation is changed to one that does return all possible values.</p> + + <p>To prevent issues with postconditions it is best to not strengthen them.</p> <h2>Invariants</h2> Modified: trunk/source/java/net/sf/jcontracts/antlr/ANTLRException.java =================================================================== --- trunk/source/java/net/sf/jcontracts/antlr/ANTLRException.java 2008-05-09 17:31:07 UTC (rev 54) +++ trunk/source/java/net/sf/jcontracts/antlr/ANTLRException.java 2008-05-17 10:45:25 UTC (rev 55) @@ -1,6 +1,7 @@ /* * Copyright 1997-2000 Reto Kramer - * Copyright 2006 John Swapceinski, Johan Stuyts + * Copyright 2006 John Swapceinski + * Copyright 2006, 2008 Johan Stuyts * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. Modified: trunk/source/java/net/sf/jcontracts/antlr/ANTLRGrammarParseBehavior.java =================================================================== --- trunk/source/java/net/sf/jcontracts/antlr/ANTLRGrammarParseBehavior.java 2008-05-09 17:31:07 UTC (rev 54) +++ trunk/source/java/net/sf/jcontracts/antlr/ANTLRGrammarParseBehavior.java 2008-05-17 10:45:25 UTC (rev 55) @@ -1,6 +1,7 @@ /* * Copyright 1997-2000 Reto Kramer - * Copyright 2006 John Swapceinski, Johan Stuyts + * Copyright 2006 John Swapceinski + * Copyright 2006, 2008 Johan Stuyts * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,101 +21,99 @@ public interface ANTLRGrammarParseBehavior { + void abortGrammar(); - public abstract void abortGrammar(); + void beginAlt(boolean flag); - public abstract void beginAlt(boolean flag); + void beginChildList(); - public abstract void beginChildList(); + void beginExceptionGroup(); - public abstract void beginExceptionGroup(); + void beginExceptionSpec(Token token); - public abstract void beginExceptionSpec(Token token); + void beginSubRule(Token token, int i, boolean flag); - public abstract void beginSubRule(Token token, int i, boolean flag); + void beginTree(int i) throws SemanticException; - public abstract void beginTree(int i) throws SemanticException; + void defineRuleName(Token token, String s, boolean flag) throws SemanticException; - public abstract void defineRuleName(Token token, String s, boolean flag) throws SemanticException; + void endAlt(); - public abstract void endAlt(); + void endChildList(); - public abstract void endChildList(); + void endExceptionGroup(); - public abstract void endExceptionGroup(); + void endExceptionSpec(); - public abstract void endExceptionSpec(); + void endGrammar(); - public abstract void endGrammar(); + void endOptions(); - public abstract void endOptions(); + void endRule(String s); - public abstract void endRule(String s); + void endSubRule(); - public abstract void endSubRule(); + void endTree(); - public abstract void endTree(); + void hasError(); - public abstract void hasError(); + void noASTSubRule(); - public abstract void noASTSubRule(); + void oneOrMoreSubRule(); - public abstract void oneOrMoreSubRule(); + void optionalSubRule(); - public abstract void optionalSubRule(); + void refAction(Token token); - public abstract void refAction(Token token); + void refArgAction(Token token); - public abstract void refArgAction(Token token); + void refCharLiteral(Token token, Token token1, boolean flag, int i, boolean flag1); - public abstract void refCharLiteral(Token token, Token token1, boolean flag, int i, boolean flag1); + void refCharRange(Token token, Token token1, Token token2, int i, boolean flag); - public abstract void refCharRange(Token token, Token token1, Token token2, int i, boolean flag); + void refExceptionHandler(Token token, String s); - public abstract void refExceptionHandler(Token token, String s); + void refHeaderAction(Token token); - public abstract void refHeaderAction(Token token); + void refInitAction(Token token); - public abstract void refInitAction(Token token); + void refMemberAction(Token token); - public abstract void refMemberAction(Token token); + void refPreambleAction(Token token); - public abstract void refPreambleAction(Token token); + void refReturnAction(Token token); - public abstract void refReturnAction(Token token); + void refRule(Token token, Token token1, Token token2, Token token3, int i); - public abstract void refRule(Token token, Token token1, Token token2, Token token3, int i); + void refSemPred(Token token); - public abstract void refSemPred(Token token); + void refStringLiteral(Token token, Token token1, int i, boolean flag); - public abstract void refStringLiteral(Token token, Token token1, int i, boolean flag); + void refToken(Token token, Token token1, Token token2, Token token3, boolean flag, int i, boolean flag1); - public abstract void refToken(Token token, Token token1, Token token2, Token token3, boolean flag, int i, - boolean flag1); + void refTokenRange(Token token, Token token1, Token token2, int i, boolean flag); - public abstract void refTokenRange(Token token, Token token1, Token token2, int i, boolean flag); + void refTreeSpecifier(Token token); - public abstract void refTreeSpecifier(Token token); + void refWildcard(Token token, Token token1, int i); - public abstract void refWildcard(Token token, Token token1, int i); + void setArgOfRuleRef(Token token); - public abstract void setArgOfRuleRef(Token token); + void setCharVocabulary(BitSet bitset); - public abstract void setCharVocabulary(BitSet bitset); + void setFileOption(Token token, Token token1); - public abstract void setFileOption(Token token, Token token1); + void setGrammarOption(Token token, Token token1); - public abstract void setGrammarOption(Token token, Token token1); + void setRuleOption(Token token, Token token1); - public abstract void setRuleOption(Token token, Token token1); + void startLexer(Token token, String s); - public abstract void startLexer(Token token, String s); + void startParser(Token token, String s); - public abstract void startParser(Token token, String s); + void startTreeWalker(Token token, String s); - public abstract void startTreeWalker(Token token, String s); + void synPred(); - public abstract void synPred(); - - public abstract void zeroOrMoreSubRule(); + void zeroOrMoreSubRule(); } Modified: trunk/source/java/net/sf/jcontracts/antlr/ANTLRHashString.java =================================================================== --- trunk/source/java/net/sf/jcontracts/antlr/ANTLRHashString.java 2008-05-09 17:31:07 UTC (rev 54) +++ trunk/source/java/net/sf/jcontracts/antlr/ANTLRHashString.java 2008-05-17 10:45:25 UTC (rev 55) @@ -1,6 +1,7 @@ /* * Copyright 1997-2000 Reto Kramer - * Copyright 2006 John Swapceinski, Johan Stuyts + * Copyright 2006 John Swapceinski + * Copyright 2006, 2008 Johan Stuyts * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,24 +22,24 @@ public ANTLRHashString(char buf[], int length, CharScanner lexer) { - this.lexer = lexer; + lexer_ = lexer; setBuffer(buf, length); } public ANTLRHashString(CharScanner lexer) { - this.lexer = lexer; + lexer_ = lexer; } public ANTLRHashString(String s, CharScanner lexer) { - this.lexer = lexer; + lexer_ = lexer; setString(s); } private final char charAt(int index) { - return s == null ? buf[index] : s.charAt(index); + return s_ == null ? buf_[index] : s_.charAt(index); } public boolean equals(Object o) @@ -50,7 +51,7 @@ ANTLRHashString s; if (o instanceof String) { - s = new ANTLRHashString((String) o, lexer); + s = new ANTLRHashString((String) o, lexer_); } else { @@ -61,7 +62,7 @@ { return false; } - if (lexer.getCaseSensitiveLiterals()) + if (lexer_.getCaseSensitiveLiterals()) { for (int i = 0; i < l; i++) { @@ -76,7 +77,7 @@ { for (int i = 0; i < l; i++) { - if (lexer.toLower(charAt(i)) != lexer.toLower(s.charAt(i))) + if (lexer_.toLower(charAt(i)) != lexer_.toLower(s.charAt(i))) { return false; } @@ -90,7 +91,7 @@ { int hashval = 0; int l = length(); - if (lexer.getCaseSensitiveLiterals()) + if (lexer_.getCaseSensitiveLiterals()) { for (int i = 0; i < l; i++) { @@ -102,7 +103,7 @@ { for (int i = 0; i < l; i++) { - hashval = hashval * 151 + lexer.toLower(charAt(i)); + hashval = hashval * 151 + lexer_.toLower(charAt(i)); } } @@ -111,27 +112,27 @@ private final int length() { - return s == null ? len : s.length(); + return s_ == null ? len : s_.length(); } public void setBuffer(char buf[], int length) { - this.buf = buf; + buf_ = buf; len = length; - s = null; + s_ = null; } public void setString(String s) { - this.s = s; - buf = null; + s_ = s; + buf_ = null; } - private String s; + private String s_; - private char buf[]; + private char buf_[]; private int len; - private CharScanner lexer; + private CharScanner lexer_; } Modified: trunk/source/java/net/sf/jcontracts/antlr/ANTLRLexer.java =================================================================== --- trunk/source/java/net/sf/jcontracts/antlr/ANTLRLexer.java 2008-05-09 17:31:07 UTC (rev 54) +++ trunk/source/java/net/sf/jcontracts/antlr/ANTLRLexer.java 2008-05-17 10:45:25 UTC (rev 55) @@ -1,6 +1,7 @@ /* * Copyright 1997-2000 Reto Kramer - * Copyright 2006 John Swapceinski, Johan Stuyts + * Copyright 2006 John Swapceinski + * Copyright 2006, 2008 Johan Stuyts * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,24 +28,24 @@ 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; + literals_ = new Hashtable(); + literals_.put(new ANTLRHashString("Parser", this), new Integer(30)); + literals_.put(new ANTLRHashString("catch", this), new Integer(38)); + literals_.put(new ANTLRHashString("Lexer", this), new Integer(9)); + literals_.put(new ANTLRHashString("exception", this), new Integer(37)); + literals_.put(new ANTLRHashString("class", this), new Integer(7)); + literals_.put(new ANTLRHashString("lexclass", this), new Integer(6)); + literals_.put(new ANTLRHashString("public", this), new Integer(32)); + literals_.put(new ANTLRHashString("header", this), new Integer(4)); + literals_.put(new ANTLRHashString("tokens", this), new Integer(26)); + literals_.put(new ANTLRHashString("charVocabulary", this), new Integer(17)); + literals_.put(new ANTLRHashString("options", this), new Integer(11)); + literals_.put(new ANTLRHashString("returns", this), new Integer(36)); + literals_.put(new ANTLRHashString("TreeParser", this), new Integer(10)); + literals_.put(new ANTLRHashString("private", this), new Integer(33)); + literals_.put(new ANTLRHashString("protected", this), new Integer(31)); + literals_.put(new ANTLRHashString("extends", this), new Integer(8)); + caseSensitiveLiterals_ = true; } public ANTLRLexer(Reader in) @@ -93,11 +94,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); - } + 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' @@ -111,10 +109,7 @@ { return (cs.charAt(2) - 48) * 8 + (cs.charAt(3) - 48); } - else - { - return cs.charAt(2) - 48; - } + return cs.charAt(2) - 48; case 52: // '4' case 53: // '5' @@ -124,10 +119,7 @@ { return (cs.charAt(2) - 48) * 8 + (cs.charAt(3) - 48); } - else - { - return cs.charAt(2) - 48; - } + return cs.charAt(2) - 48; } return 0; } @@ -135,11 +127,11 @@ public final void mACTION(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 5; int actionLine = getLine(); mNESTED_ACTION(false); - if (super.la_1 == '?') + if (la_1 == '?') { match('?'); _ttype = 40; @@ -153,78 +145,78 @@ setText(Tool.stripFrontBack(getText(), "{", "}?")); } setLine(actionLine); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mARG_ACTION(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 35; mNESTED_ARG_ACTION(false); setText(Tool.stripFrontBack(getText(), "[", "]")); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mASSIGN(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 14; match('='); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mBANG(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 34; match('!'); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mCARET(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 46; match('^'); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mCHAR_LITERAL(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 19; match('\''); - switch (super.la_1) + switch (la_1) { case 92: // '\\' mESC(false); @@ -359,38 +351,38 @@ throw new ScannerException("no viable alt for char: " + LA(1), getLine()); } match('\''); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mCOLON(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 12; match(':'); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mCOMMENT(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 49; - if (super.la_1 == '/' && super.la_2 == '/') + if (la_1 == '/' && la_2 == '/') { mSL_COMMENT(false); } - else if (super.la_1 == '/' && super.la_2 == '*') + else if (la_1 == '/' && la_2 == '*') { mML_COMMENT(false); } @@ -399,35 +391,35 @@ throw new ScannerException("no viable alt for char: " + LA(1), getLine()); } _ttype = -1; - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } protected final void mDIGIT(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 53; matchRange('0', '9'); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } protected final void mESC(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 52; match('\\'); - switch (super.la_1) + switch (la_1) { case 110: // 'n' match('n'); @@ -466,10 +458,10 @@ 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 <= '~') + if (la_1 >= '0' && la_1 <= '9' && la_2 >= '\003' && la_2 <= '~') { mDIGIT(false); - if (super.la_1 >= '0' && super.la_1 <= '9' && super.la_2 >= '\003' && super.la_2 <= '~') + if (la_1 >= '0' && la_1 <= '9' && la_2 >= '\003' && la_2 <= '~') { mDIGIT(false); } @@ -481,7 +473,7 @@ 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 <= '~') + if (la_1 >= '0' && la_1 <= '9' && la_2 >= '\003' && la_2 <= '~') { mDIGIT(false); } @@ -498,37 +490,37 @@ default: throw new ScannerException("no viable alt for char: " + LA(1), getLine()); } - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mIMPLIES(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 45; match("=>"); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mINT(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 20; int _cnt = 0; do { - if (super.la_1 >= '0' && super.la_1 <= '9') + if (la_1 >= '0' && la_1 <= '9') { matchRange('0', '9'); } @@ -543,24 +535,24 @@ _cnt++; } while (true); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } protected final int mINTERNAL_RULE_REF(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 58; int t = 28; matchRange('a', 'z'); do { - switch (super.la_1) + switch (la_1) { case 95: // '_' match('_'); @@ -579,12 +571,12 @@ matchRange('0', '9'); continue; } - if (super.la_1 >= 'a' && super.la_1 <= 'z') + if (la_1 >= 'a' && la_1 <= 'z') { matchRange('a', 'z'); continue; } - if (super.la_1 < 'A' || super.la_1 > 'Z') + if (la_1 < 'A' || la_1 > 'Z') { break; } @@ -592,38 +584,38 @@ } while (true); t = testLiteralsTable(t); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; return t; } public final void mLPAREN(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 27; match('('); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } protected final void mML_COMMENT(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 51; match("/*"); do { - switch (super.la_1) + switch (la_1) { case 10: // '\n' match('\n'); @@ -755,7 +747,7 @@ match(_tokenSet_1); continue; } - if (super.la_1 != '*' || super.la_2 < '\003' || super.la_2 > '~' || LA(2) == '/') + if (la_1 != '*' || la_2 < '\003' || la_2 > '~' || LA(2) == '/') { break; } @@ -763,23 +755,23 @@ } while (true); match("*/"); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } protected final void mNESTED_ACTION(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 57; match('{'); do { - switch (super.la_1) + switch (la_1) { case 10: // '\n' match('\n'); @@ -798,17 +790,17 @@ mSTRING_LITERAL(false); continue; } - if (super.la_1 == '/' && (super.la_2 == '*' || super.la_2 == '/') && (LA(2) == '/' || LA(2) == '*')) + if (la_1 == '/' && (la_2 == '*' || la_2 == '/') && (LA(2) == '/' || LA(2) == '*')) { mCOMMENT(false); continue; } - if (super.la_1 == '/' && super.la_2 >= '\003' && super.la_2 <= '~') + if (la_1 == '/' && la_2 >= '\003' && la_2 <= '~') { match('/'); continue; } - if (!_tokenSet_2.member(super.la_1)) + if (!_tokenSet_2.member(la_1)) { break; } @@ -816,23 +808,23 @@ } while (true); match('}'); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } protected final void mNESTED_ARG_ACTION(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 56; match('['); label0: do { - switch (super.la_1) + switch (la_1) { case 91: // '[' mNESTED_ARG_ACTION(false); @@ -979,140 +971,141 @@ } } while (true); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mNOT_OP(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 39; match('~'); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mOR(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 21; match('|'); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mPLUS(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 44; match('+'); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } protected final void mPOINTER(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 60; match("->"); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mQUESTION(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 42; match('?'); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mRANGE(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 22; match(".."); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mRCURLY(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 16; match('}'); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mRPAREN(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 29; match(')'); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mRULE_REF(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = 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)) + while (_tokenSet_3.member(la_1)) { + mWS(false); } - if (super.la_1 == '{') + if (la_1 == '{') { match('{'); _ttype = 13; @@ -1120,79 +1113,81 @@ } else if (t == 26) { - for (; _tokenSet_3.member(super.la_1); mWS(false)) + while (_tokenSet_3.member(la_1)) { + mWS(false); } - if (super.la_1 == '{') + if (la_1 == '{') { match('{'); _ttype = 23; } } - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mSEMI(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 15; match(';'); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } protected final void mSL_COMMENT(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 50; match("//"); - for (; _tokenSet_0.member(super.la_1); matchNot('\n')) + while (_tokenSet_0.member(la_1)) { + matchNot('\n'); } match('\n'); newline(); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mSTAR(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 43; match('*'); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mSTRING_LITERAL(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 18; match('"'); label0: do { - switch (super.la_1) + switch (la_1) { case 92: // '\\' mESC(false); @@ -1329,23 +1324,23 @@ } } while (true); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mTOKEN_REF(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 24; matchRange('A', 'Z'); do { - switch (super.la_1) + switch (la_1) { case 95: // '_' match('_'); @@ -1364,12 +1359,12 @@ matchRange('0', '9'); continue; } - if (super.la_1 >= 'a' && super.la_1 <= 'z') + if (la_1 >= 'a' && la_1 <= 'z') { matchRange('a', 'z'); continue; } - if (super.la_1 < 'A' || super.la_1 > 'Z') + if (la_1 < 'A' || la_1 > 'Z') { break; } @@ -1377,32 +1372,32 @@ } while (true); _ttype = testLiteralsTable(_ttype); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mTREE_BEGIN(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 41; match("#("); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _begin, text.length() - _begin)); } - super._returnToken = _token; + returnToken_ = _token; } public final void mTREE_SPECIFIER(boolean _createToken) throws ScannerException { Token _token = null; - int _begin = super.text.length(); + int _begin = text.length(); int _ttype = 59; mPOINTER(false); mWS_OPT(false); @@ -1410,7 +1405,7 @@ int _cnt = 0; do { - if (_tokenSet_4.member(super.la_1)) + if (_tokenSet_4.member(la_1)) { mTREE_SPECIFIER_TERM(false); mWS_OPT(false); @@ -1426,22 +1421,22 @@ _cnt++; } while (true); - if (_createToken && _token == null) + if (_createToken) { _token = makeToken(_ttype); - _token.setText(new String(super.text.getBuffer(), _begin, super.text.length() - _begin)); + _token.setText(new String(text.getBuffer(), _b... [truncated message content] |