PPCConfiguration refactoring: [6/10]: use #runPass: instead of self-sends.
...in PPCConfiguration>>invokePhases. This is a preparation for removing
#invokePhases completely and configuring the compilation via list of phases.
--- a/compiler/Make.proto Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/Make.proto Sat Aug 29 07:56:14 2015 +0100
@@ -154,9 +154,9 @@
$(OUTDIR)PPCMethod.$(O) PPCMethod.$(H): PPCMethod.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCNode.$(O) PPCNode.$(H): PPCNode.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCNodeVisitor.$(O) PPCNodeVisitor.$(H): PPCNodeVisitor.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCPass.$(O) PPCPass.$(H): PPCPass.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCPluggableConfiguration.$(O) PPCPluggableConfiguration.$(H): PPCPluggableConfiguration.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCScanner.$(O) PPCScanner.$(H): PPCScanner.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCScannerCodeGenerator.$(O) PPCScannerCodeGenerator.$(H): PPCScannerCodeGenerator.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCScannerError.$(O) PPCScannerError.$(H): PPCScannerError.st $(INCLUDE_TOP)/stx/libbasic/Error.$(H) $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCScannerResultStrategy.$(O) PPCScannerResultStrategy.$(H): PPCScannerResultStrategy.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenGuard.$(O) PPCTokenGuard.$(H): PPCTokenGuard.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -175,6 +175,7 @@
$(OUTDIR)PPCAbstractLiteralNode.$(O) PPCAbstractLiteralNode.$(H): PPCAbstractLiteralNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCAbstractPredicateNode.$(O) PPCAbstractPredicateNode.$(H): PPCAbstractPredicateNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCAnyNode.$(O) PPCAnyNode.$(H): PPCAnyNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCCacheFirstFollowPass.$(O) PPCCacheFirstFollowPass.$(H): PPCCacheFirstFollowPass.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCCharacterNode.$(O) PPCCharacterNode.$(H): PPCCharacterNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCDelegateNode.$(O) PPCDelegateNode.$(H): PPCDelegateNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCDistinctResultStrategy.$(O) PPCDistinctResultStrategy.$(H): PPCDistinctResultStrategy.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCScannerResultStrategy.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -184,9 +185,10 @@
$(OUTDIR)PPCListNode.$(O) PPCListNode.$(H): PPCListNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCNilNode.$(O) PPCNilNode.$(H): PPCNilNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCNoResultStrategy.$(O) PPCNoResultStrategy.$(H): PPCNoResultStrategy.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCScannerResultStrategy.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCPass.$(O) PPCPass.$(H): PPCPass.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCPassVisitor.$(O) PPCPassVisitor.$(H): PPCPassVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCPluggableNode.$(O) PPCPluggableNode.$(H): PPCPluggableNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCProfilingContext.$(O) PPCProfilingContext.$(H): PPCProfilingContext.st $(INCLUDE_TOP)/stx/goodies/petitparser/PPStream.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCContext.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/PeekableStream.$(H) $(INCLUDE_TOP)/stx/libbasic/PositionableStream.$(H) $(INCLUDE_TOP)/stx/libbasic/ReadStream.$(H) $(INCLUDE_TOP)/stx/libbasic/Stream.$(H) $(STCHDR)
+$(OUTDIR)PPCScannerCodeGenerator.$(O) PPCScannerCodeGenerator.$(H): PPCScannerCodeGenerator.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenizingCodeGen.$(O) PPCTokenizingCodeGen.$(H): PPCTokenizingCodeGen.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCCodeGen.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenizingConfiguration.$(O) PPCTokenizingConfiguration.$(H): PPCTokenizingConfiguration.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCConfiguration.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCUniversalCodeGen.$(O) PPCUniversalCodeGen.$(H): PPCUniversalCodeGen.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCCodeGen.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -195,17 +197,18 @@
$(OUTDIR)PPCUnknownNode.$(O) PPCUnknownNode.$(H): PPCUnknownNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPTokenizingCompiledParser.$(O) PPTokenizingCompiledParser.$(H): PPTokenizingCompiledParser.st $(INCLUDE_TOP)/stx/goodies/petitparser/PPParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCompiledParser.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PEGFsaEOFTransition.$(O) PEGFsaEOFTransition.$(H): PEGFsaEOFTransition.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PEGFsaPredicateTransition.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PEGFsaTransition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PEGFsaGenerator.$(O) PEGFsaGenerator.$(H): PEGFsaGenerator.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PEGFsaGenerator.$(O) PEGFsaGenerator.$(H): PEGFsaGenerator.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PEGFsaParserTransition.$(O) PEGFsaParserTransition.$(H): PEGFsaParserTransition.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PEGFsaPredicateTransition.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PEGFsaTransition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCAbstractActionNode.$(O) PPCAbstractActionNode.$(H): PPCAbstractActionNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCAndNode.$(O) PPCAndNode.$(H): PPCAndNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCCharSetPredicateNode.$(O) PPCCharSetPredicateNode.$(H): PPCCharSetPredicateNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCAbstractPredicateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCCheckingVisitor.$(O) PPCCheckingVisitor.$(H): PPCCheckingVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCChoiceNode.$(O) PPCChoiceNode.$(H): PPCChoiceNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCListNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCCodeGenerator.$(O) PPCCodeGenerator.$(H): PPCCodeGenerator.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCCodeGenerator.$(O) PPCCodeGenerator.$(H): PPCCodeGenerator.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCEndOfInputNode.$(O) PPCEndOfInputNode.$(H): PPCEndOfInputNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCFSAVisitor.$(O) PPCFSAVisitor.$(H): PPCFSAVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCFSAVisitor.$(O) PPCFSAVisitor.$(H): PPCFSAVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCForwardNode.$(O) PPCForwardNode.$(H): PPCForwardNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCInliningVisitor.$(O) PPCInliningVisitor.$(H): PPCInliningVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCInliningVisitor.$(O) PPCInliningVisitor.$(H): PPCInliningVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCLiteralNode.$(O) PPCLiteralNode.$(H): PPCLiteralNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCAbstractLiteralNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCMessagePredicateNode.$(O) PPCMessagePredicateNode.$(H): PPCMessagePredicateNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCAbstractPredicateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCNegateNode.$(O) PPCNegateNode.$(H): PPCNegateNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -217,38 +220,38 @@
$(OUTDIR)PPCOptionalNode.$(O) PPCOptionalNode.$(H): PPCOptionalNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCPlusNode.$(O) PPCPlusNode.$(H): PPCPlusNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCPredicateNode.$(O) PPCPredicateNode.$(H): PPCPredicateNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCAbstractPredicateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCRewritingVisitor.$(O) PPCRewritingVisitor.$(H): PPCRewritingVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCRewritingVisitor.$(O) PPCRewritingVisitor.$(H): PPCRewritingVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCSentinelNode.$(O) PPCSentinelNode.$(H): PPCSentinelNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNilNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCSequenceNode.$(O) PPCSequenceNode.$(H): PPCSequenceNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCListNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCStarNode.$(O) PPCStarNode.$(H): PPCStarNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCTokenCodeGenerator.$(O) PPCTokenCodeGenerator.$(H): PPCTokenCodeGenerator.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCTokenCodeGenerator.$(O) PPCTokenCodeGenerator.$(H): PPCTokenCodeGenerator.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenConsumeNode.$(O) PPCTokenConsumeNode.$(H): PPCTokenConsumeNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenNode.$(O) PPCTokenNode.$(H): PPCTokenNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenWhitespaceNode.$(O) PPCTokenWhitespaceNode.$(H): PPCTokenWhitespaceNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenizingParserNode.$(O) PPCTokenizingParserNode.$(H): PPCTokenizingParserNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCListNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCTrimmingTokenNode.$(O) PPCTrimmingTokenNode.$(H): PPCTrimmingTokenNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCListNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCActionNode.$(O) PPCActionNode.$(H): PPCActionNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCAbstractActionNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCCopyVisitor.$(O) PPCCopyVisitor.$(H): PPCCopyVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCCopyVisitor.$(O) PPCCopyVisitor.$(H): PPCCopyVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCDeterministicChoiceNode.$(O) PPCDeterministicChoiceNode.$(H): PPCDeterministicChoiceNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCChoiceNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCListNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCLL1Visitor.$(O) PPCLL1Visitor.$(H): PPCLL1Visitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCMergingVisitor.$(O) PPCMergingVisitor.$(H): PPCMergingVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCOptimizeChoices.$(O) PPCOptimizeChoices.$(H): PPCOptimizeChoices.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCRecognizerComponentDetector.$(O) PPCRecognizerComponentDetector.$(H): PPCRecognizerComponentDetector.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCRecognizerComponentVisitor.$(O) PPCRecognizerComponentVisitor.$(H): PPCRecognizerComponentVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCLL1Visitor.$(O) PPCLL1Visitor.$(H): PPCLL1Visitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCMergingVisitor.$(O) PPCMergingVisitor.$(H): PPCMergingVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCOptimizeChoices.$(O) PPCOptimizeChoices.$(H): PPCOptimizeChoices.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCRecognizerComponentDetector.$(O) PPCRecognizerComponentDetector.$(H): PPCRecognizerComponentDetector.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCRecognizerComponentVisitor.$(O) PPCRecognizerComponentVisitor.$(H): PPCRecognizerComponentVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCRecognizingSequenceNode.$(O) PPCRecognizingSequenceNode.$(H): PPCRecognizingSequenceNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCListNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCSequenceNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCSpecializingVisitor.$(O) PPCSpecializingVisitor.$(H): PPCSpecializingVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCSpecializingVisitor.$(O) PPCSpecializingVisitor.$(H): PPCSpecializingVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCStarAnyNode.$(O) PPCStarAnyNode.$(H): PPCStarAnyNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCStarNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCStarCharSetPredicateNode.$(O) PPCStarCharSetPredicateNode.$(H): PPCStarCharSetPredicateNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCStarNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCStarMessagePredicateNode.$(O) PPCStarMessagePredicateNode.$(H): PPCStarMessagePredicateNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCStarNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCSymbolActionNode.$(O) PPCSymbolActionNode.$(H): PPCSymbolActionNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCAbstractActionNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenChoiceNode.$(O) PPCTokenChoiceNode.$(H): PPCTokenChoiceNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCChoiceNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCListNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCTokenDetector.$(O) PPCTokenDetector.$(H): PPCTokenDetector.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCTokenVisitor.$(O) PPCTokenVisitor.$(H): PPCTokenVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCTokenizingCodeGenerator.$(O) PPCTokenizingCodeGenerator.$(H): PPCTokenizingCodeGenerator.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCCodeGenerator.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCTokenizingVisitor.$(O) PPCTokenizingVisitor.$(H): PPCTokenizingVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCTokenDetector.$(O) PPCTokenDetector.$(H): PPCTokenDetector.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCTokenVisitor.$(O) PPCTokenVisitor.$(H): PPCTokenVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCTokenizingCodeGenerator.$(O) PPCTokenizingCodeGenerator.$(H): PPCTokenizingCodeGenerator.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCCodeGenerator.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCTokenizingVisitor.$(O) PPCTokenizingVisitor.$(H): PPCTokenizingVisitor.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCRewritingVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCTrimNode.$(O) PPCTrimNode.$(H): PPCTrimNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCListNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCSequenceNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCTrimmingCharacterTokenNode.$(O) PPCTrimmingCharacterTokenNode.$(H): PPCTrimmingCharacterTokenNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCListNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCTrimmingTokenNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)PPCUniversalCodeGenerator.$(O) PPCUniversalCodeGenerator.$(H): PPCUniversalCodeGenerator.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCCodeGenerator.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPass.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)PPCUniversalCodeGenerator.$(O) PPCUniversalCodeGenerator.$(H): PPCUniversalCodeGenerator.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCCodeGenerator.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCPassVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCMappedActionNode.$(O) PPCMappedActionNode.$(H): PPCMappedActionNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCAbstractActionNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCActionNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenStarMessagePredicateNode.$(O) PPCTokenStarMessagePredicateNode.$(H): PPCTokenStarMessagePredicateNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCStarMessagePredicateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCStarNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenStarSeparatorNode.$(O) PPCTokenStarSeparatorNode.$(H): PPCTokenStarSeparatorNode.st $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCDelegateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCStarMessagePredicateNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCStarNode.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/compiler/PPCTokenStarMessagePredicateNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/compiler/Make.spec Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/Make.spec Sat Aug 29 07:56:14 2015 +0100
@@ -80,9 +80,9 @@
PPCMethod \
PPCNode \
PPCNodeVisitor \
+ PPCPass \
PPCPluggableConfiguration \
PPCScanner \
- PPCScannerCodeGenerator \
PPCScannerError \
PPCScannerResultStrategy \
PPCTokenGuard \
@@ -101,6 +101,7 @@
PPCAbstractLiteralNode \
PPCAbstractPredicateNode \
PPCAnyNode \
+ PPCCacheFirstFollowPass \
PPCCharacterNode \
PPCDelegateNode \
PPCDistinctResultStrategy \
@@ -110,9 +111,10 @@
PPCListNode \
PPCNilNode \
PPCNoResultStrategy \
- PPCPass \
+ PPCPassVisitor \
PPCPluggableNode \
PPCProfilingContext \
+ PPCScannerCodeGenerator \
PPCTokenizingCodeGen \
PPCTokenizingConfiguration \
PPCUniversalCodeGen \
@@ -126,6 +128,7 @@
PPCAbstractActionNode \
PPCAndNode \
PPCCharSetPredicateNode \
+ PPCCheckingVisitor \
PPCChoiceNode \
PPCCodeGenerator \
PPCEndOfInputNode \
@@ -212,9 +215,9 @@
$(OUTDIR_SLASH)PPCMethod.$(O) \
$(OUTDIR_SLASH)PPCNode.$(O) \
$(OUTDIR_SLASH)PPCNodeVisitor.$(O) \
+ $(OUTDIR_SLASH)PPCPass.$(O) \
$(OUTDIR_SLASH)PPCPluggableConfiguration.$(O) \
$(OUTDIR_SLASH)PPCScanner.$(O) \
- $(OUTDIR_SLASH)PPCScannerCodeGenerator.$(O) \
$(OUTDIR_SLASH)PPCScannerError.$(O) \
$(OUTDIR_SLASH)PPCScannerResultStrategy.$(O) \
$(OUTDIR_SLASH)PPCTokenGuard.$(O) \
@@ -233,6 +236,7 @@
$(OUTDIR_SLASH)PPCAbstractLiteralNode.$(O) \
$(OUTDIR_SLASH)PPCAbstractPredicateNode.$(O) \
$(OUTDIR_SLASH)PPCAnyNode.$(O) \
+ $(OUTDIR_SLASH)PPCCacheFirstFollowPass.$(O) \
$(OUTDIR_SLASH)PPCCharacterNode.$(O) \
$(OUTDIR_SLASH)PPCDelegateNode.$(O) \
$(OUTDIR_SLASH)PPCDistinctResultStrategy.$(O) \
@@ -242,9 +246,10 @@
$(OUTDIR_SLASH)PPCListNode.$(O) \
$(OUTDIR_SLASH)PPCNilNode.$(O) \
$(OUTDIR_SLASH)PPCNoResultStrategy.$(O) \
- $(OUTDIR_SLASH)PPCPass.$(O) \
+ $(OUTDIR_SLASH)PPCPassVisitor.$(O) \
$(OUTDIR_SLASH)PPCPluggableNode.$(O) \
$(OUTDIR_SLASH)PPCProfilingContext.$(O) \
+ $(OUTDIR_SLASH)PPCScannerCodeGenerator.$(O) \
$(OUTDIR_SLASH)PPCTokenizingCodeGen.$(O) \
$(OUTDIR_SLASH)PPCTokenizingConfiguration.$(O) \
$(OUTDIR_SLASH)PPCUniversalCodeGen.$(O) \
@@ -258,6 +263,7 @@
$(OUTDIR_SLASH)PPCAbstractActionNode.$(O) \
$(OUTDIR_SLASH)PPCAndNode.$(O) \
$(OUTDIR_SLASH)PPCCharSetPredicateNode.$(O) \
+ $(OUTDIR_SLASH)PPCCheckingVisitor.$(O) \
$(OUTDIR_SLASH)PPCChoiceNode.$(O) \
$(OUTDIR_SLASH)PPCCodeGenerator.$(O) \
$(OUTDIR_SLASH)PPCEndOfInputNode.$(O) \
--- a/compiler/PEGFsaGenerator.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PEGFsaGenerator.st Sat Aug 29 07:56:14 2015 +0100
@@ -2,7 +2,7 @@
"{ NameSpace: Smalltalk }"
-PPCPass subclass:#PEGFsaGenerator
+PPCPassVisitor subclass:#PEGFsaGenerator
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
--- a/compiler/PEGFsaStateInfo.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PEGFsaStateInfo.st Sat Aug 29 07:56:14 2015 +0100
@@ -9,6 +9,7 @@
category:'PetitCompiler-FSA'
!
+
!PEGFsaStateInfo methodsFor:'accessing'!
failure
@@ -210,3 +211,10 @@
newInfo failure: info isFsaFailure.
! !
+!PEGFsaStateInfo class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/compiler/PPCCacheFirstFollowPass.st Sat Aug 29 07:56:14 2015 +0100
@@ -0,0 +1,35 @@
+"{ Package: 'stx:goodies/petitparser/compiler' }"
+
+"{ NameSpace: Smalltalk }"
+
+PPCPass subclass:#PPCCacheFirstFollowPass
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'PetitCompiler-Core'
+!
+
+!PPCCacheFirstFollowPass methodsFor:'running'!
+
+run: ir
+ "Actually run the pass on given IR (tree of PPCNode) and return
+ (possibly transformed or completely new) another IR."
+
+ | firstSets firstSetsWithTokens followSets followSetsWithTokens |
+
+ "Cache first sets"
+ firstSets := ir firstSets.
+ ir allNodesDo: [ :node | node firstSet: (firstSets at: node) ].
+ firstSetsWithTokens := ir firstSetsSuchThat: [:e | e isTerminal or: [ e isTokenNode ] ].
+ ir allNodesDo: [ :node | node firstSetWithTokens: (firstSetsWithTokens at: node) ].
+
+ "Cache follow sets"
+ followSets := ir followSets.
+ ir allNodesDo: [ :node | node followSet: (followSets at: node) ].
+ followSetsWithTokens := ir followSetsSuchThat: [:e | e isTerminal or: [ e isTokenNode ] ].
+ ir allNodesDo: [ :node | node followSetWithTokens: (followSetsWithTokens at: node) ].
+ ^ ir
+
+ "Created: / 29-08-2015 / 07:27:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/compiler/PPCCheckingVisitor.st Sat Aug 29 07:56:14 2015 +0100
@@ -0,0 +1,24 @@
+"{ Package: 'stx:goodies/petitparser/compiler' }"
+
+"{ NameSpace: Smalltalk }"
+
+PPCPassVisitor subclass:#PPCCheckingVisitor
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'PetitCompiler-Visitors'
+!
+
+!PPCCheckingVisitor methodsFor:'visiting'!
+
+visitNode: node
+ | message |
+
+ super visitNode: node.
+ message := node check.
+ message notNil ifTrue:[ self error: message ].
+ ^node
+
+ "Created: / 04-09-2015 / 10:23:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/compiler/PPCCodeGenerator.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCCodeGenerator.st Sat Aug 29 07:56:14 2015 +0100
@@ -2,7 +2,7 @@
"{ NameSpace: Smalltalk }"
-PPCPass subclass:#PPCCodeGenerator
+PPCPassVisitor subclass:#PPCCodeGenerator
instanceVariableNames:'codeGen'
classVariableNames:''
poolDictionaries:''
@@ -210,13 +210,16 @@
context isNil ifTrue:[
PPCCompilationError new signal: 'oops, no context set, use #context: before running a pass!!'.
].
- codeGen options: context options.
- codeGen clazz: context parserClass.
- entry := self visit: ir.
- context parserClass propertyAt:#rootMethod put:entry.
+ context options generate ifTrue:[
+ codeGen options: context options.
+ codeGen clazz: context parserClass.
+ entry := self visit: ir.
+ context parserClass propertyAt:#rootMethod put:entry.
+ ].
^ ir
"Created: / 26-08-2015 / 22:38:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 10:18:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCCodeGenerator methodsFor:'support'!
--- a/compiler/PPCCompilationContext.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCCompilationContext.st Sat Aug 29 07:56:14 2015 +0100
@@ -19,6 +19,12 @@
!PPCCompilationContext methodsFor:'accessing'!
+idGenerator
+ ^ self parserClass idGen
+
+ "Created: / 03-09-2015 / 21:27:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
options
^ options
!
--- a/compiler/PPCCompilationError.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCCompilationError.st Sat Aug 29 07:56:14 2015 +0100
@@ -9,9 +9,17 @@
category:'PetitCompiler-Exceptions'
!
+
!PPCCompilationError class methodsFor:'error signalling'!
signalWith: message
^ self signal: message
! !
+!PPCCompilationError class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/PPCCompilationOptions.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCCompilationOptions.st Sat Aug 29 07:56:14 2015 +0100
@@ -130,14 +130,6 @@
self set: #debug to: value.
!
-detectTokens
- ^ self at: #detectTokens ifAbsent: true
-!
-
-detectTokens: value
- self set: #detectTokens to: value.
-!
-
generate
^ self at: #generate ifAbsent: true
!
@@ -162,16 +154,10 @@
self set: #inline to: value.
!
-merge
- ^ self at: #merge ifAbsent: true
-!
+parserSuperclass
+ ^ self at: #parserSuperclass ifAbsent: nil
-merge: value
- self set: #merge to: value.
-!
-
-parserSuperclass
- ^ self at: #parserSuperclass ifAbsent: PPTokenizingCompiledParser
+ "Modified: / 01-09-2015 / 08:45:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
parserSuperclass: value
@@ -186,14 +172,6 @@
self set: #profile to: value.
!
-recognizingComponents
- ^ self at: #recognizingComponents ifAbsent: true
-!
-
-recognizingComponents: value
- self set: #recognizingComponents to: value.
-!
-
scannerSuperclass
^ self at: #scannerSuperclass ifAbsent: PPCDistinctScanner
!
--- a/compiler/PPCConfiguration.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCConfiguration.st Sat Aug 29 07:56:14 2015 +0100
@@ -31,16 +31,21 @@
!PPCConfiguration methodsFor:'accessing'!
+context
+ ^ context
+!
+
defaultArguments
^ PPCCompilationOptions default
"Modified: / 24-08-2015 / 23:39:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-input: whatever
- ir := whatever.
-
+input: aPPParser
+ ir := aPPParser asCompilerTree.
self remember: (self copyTree: ir) as: #input
+
+ "Modified (format): / 29-08-2015 / 07:18:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
ir
@@ -51,55 +56,28 @@
ir := whatever
! !
-!PPCConfiguration methodsFor:'caching'!
-
-cacheFirstSet
- "Creates a PPCNodes from a PPParser"
- | firstSets |
- firstSets := ir firstSets.
- ir allNodesDo: [ :node |
- node firstSet: (firstSets at: node)
- ]
-!
-
-cacheFirstSetWithProductions
- "Creates a PPCNodes from a PPParser"
- | firstSets |
- firstSets := ir firstSetsSuchThat: [:e | e name isNil not ].
- ir allNodesDo: [ :node |
- node firstSetWithProductions: (firstSets at: node)
- ]
-!
+!PPCConfiguration methodsFor:'accessing - defaults'!
-cacheFirstSetWithTokens
- "Creates a PPCNodes from a PPParser"
- | firstSets |
- firstSets := ir firstSetsSuchThat: [:e | e isTerminal or: [ e isTokenNode ] ].
- ir allNodesDo: [ :node |
- node firstSetWithTokens: (firstSets at: node)
- ]
-!
+defaultParserSuperclass
+ self subclassResponsibility
-cacheFollowSet
- "Creates a PPCNodes from a PPParser"
- | followSets |
- followSets := ir followSets.
- ir allNodesDo: [ :node |
- node followSet: (followSets at: node)
- ]
-!
-
-cacheFollowSetWithTokens
- "Creates a PPCNodes from a PPParser"
- | followSets |
- followSets := ir followSetsSuchThat: [:e | e isTerminal or: [ e isTokenNode ] ].
- ir allNodesDo: [ :node |
- node followSetWithTokens: (followSets at: node)
- ]
+ "Created: / 01-09-2015 / 08:46:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCConfiguration methodsFor:'compiling'!
+buildClass: clazz
+ | builder |
+ builder := PPCClassBuilder new.
+
+ builder compiledClassName: clazz name.
+ builder compiledSuperclass: clazz superclass.
+ builder methodDictionary: clazz methodDictionary.
+ builder constants: clazz constants.
+
+ ^ builder compileClass.
+!
+
compile: whatever
| time |
self input: whatever.
@@ -116,6 +94,45 @@
"Modified: / 17-08-2015 / 13:06:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+generateParser
+ | parserClass parserSuper rootMethod |
+
+ context options generate ifFalse:[
+ ^ self
+ ].
+ parserSuper := context options parserSuperclass.
+ parserSuper isNil ifTrue:[
+ parserSuper := self defaultParserSuperclass.
+ ].
+ rootMethod := context parserClass propertyAt:#rootMethod.
+ context parserClass name:context options parserName.
+ context parserClass superclass: parserSuper.
+ parserClass := self buildClass:context parserClass.
+ parserClass startSymbol:rootMethod methodName.
+ self remember:parserClass as:#parser.
+ ir := parserClass new
+
+ "Modified: / 25-08-2015 / 00:05:49 / Jan Vrany"
+ "Modified: / 01-09-2015 / 08:46:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+generateScanner
+ | scanner |
+
+ context options generate ifFalse:[
+ ^ self
+ ].
+ context scannerClass name:context options scannerName.
+ context scannerClass superclass:context options scannerSuperclass.
+ scanner := (self buildClass:context scannerClass).
+ context parserClass addConstant:scanner as:#scannerClass.
+ ir := scanner.
+ self remember:scanner as:#scanner
+
+ "Modified: / 25-08-2015 / 00:06:49 / Jan Vrany"
+ "Modified: / 26-08-2015 / 19:58:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
invokePhases
self subclassResponsibility
! !
@@ -140,9 +157,11 @@
!
remember: value as: key
- self options debug ifTrue: [
+ context options debug ifTrue: [
history add: key -> value.
]
+
+ "Modified: / 28-08-2015 / 14:14:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCConfiguration methodsFor:'error handling'!
@@ -168,82 +187,6 @@
"Modified: / 26-08-2015 / 19:49:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!PPCConfiguration methodsFor:'phases'!
-
-cacheFirstFollow
- context options cacheFirstFollow ifFalse:[
- ^ self
- ].
- self cacheFirstSet.
- self cacheFollowSet.
- self cacheFirstSetWithTokens.
- self cacheFollowSetWithTokens.
-!
-
-check
- ir checkTree
-!
-
-createRecognizingComponents
- context options recognizingComponents ifFalse:[
- ^ self
- ].
- self runPass: PPCRecognizerComponentDetector
-
- "Modified: / 26-08-2015 / 22:36:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-createTokens
- context options detectTokens ifFalse:[
- ^ self
- ].
- self runPass: PPCTokenDetector
-
- "Modified: / 26-08-2015 / 22:36:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-inline
- context options inline ifFalse:[
- ^ self
- ].
- self runPass: PPCInliningVisitor
-
- "Modified: / 26-08-2015 / 22:36:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-merge
- "Merge equivalent nodes under one object with single identity"
-
- context options merge ifFalse:[
- ^ self
- ].
- self runPass: PPCMergingVisitor
-
- "Modified: / 26-08-2015 / 22:36:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-specialize
- context options specialize ifFalse:[
- ^ self
- ].
- "
- Invokes a visitor that creates specialized nodes
- for some patterns of PPCNodes,
-
- e.g. $a astar can be represented by PPCCharacterStarNode
- "
- self runPass: PPCSpecializingVisitor
-
- "Modified: / 26-08-2015 / 22:36:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-toPPCIr
- "Creates a PPCNodes from a PPParser"
- ir := ir asCompilerTree.
-
- self remember: (self copyTree: ir) as: #ppcNodes
-! !
-
!PPCConfiguration methodsFor:'reporting'!
reportTime: timeInMs
@@ -256,10 +199,14 @@
!PPCConfiguration methodsFor:'running'!
-runPass: passClassOrAlike
- ir := passClassOrAlike run: ir in: context.
- self remember:(self copyTree:ir) as:passClassOrAlike name
+runPass: pass
+ | p |
+
+ p := pass asPPCPass.
+ ir := p run: ir in: context.
+ self remember:(self copyTree:ir) as:p class name
"Created: / 26-08-2015 / 22:35:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 29-08-2015 / 07:16:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
--- a/compiler/PPCDeterministicChoiceNode.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCDeterministicChoiceNode.st Sat Aug 29 07:56:14 2015 +0100
@@ -9,9 +9,17 @@
category:'PetitCompiler-Nodes'
!
+
!PPCDeterministicChoiceNode methodsFor:'visiting'!
accept: visitor
^ visitor visitDeterministicChoiceNode: self
! !
+!PPCDeterministicChoiceNode class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/PPCFSAVisitor.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCFSAVisitor.st Sat Aug 29 07:56:14 2015 +0100
@@ -2,19 +2,13 @@
"{ NameSpace: Smalltalk }"
-PPCPass subclass:#PPCFSAVisitor
+PPCPassVisitor subclass:#PPCFSAVisitor
instanceVariableNames:'fsaCache idGen'
classVariableNames:''
poolDictionaries:''
category:'PetitCompiler-Visitors'
!
-!PPCFSAVisitor methodsFor:'accessing'!
-
-idGen: anObject
- idGen := anObject
-! !
-
!PPCFSAVisitor methodsFor:'as yet unclassified'!
unorderedChoiceFromFollowSet: followSet
@@ -23,13 +17,14 @@
^ fsaCache at: followSet ifAbsentPut: [
followFsas := followSet collect: [ :followNode |
followNode asFsa
- name: (idGen idFor: followNode);
- retval: (idGen idFor: followNode);
+ name: (context idGenerator idFor: followNode);
+ retval: (context idGenerator idFor: followNode);
yourself
].
self unorderedChoiceFromFsas: followFsas.
]
-
+
+ "Modified: / 03-09-2015 / 21:28:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
unorderedChoiceFromFsas: fsas
@@ -53,11 +48,13 @@
| anFsa |
anFsa := tokenNode asFsa determinize.
- anFsa name: (idGen idFor: tokenNode).
- anFsa retval: (idGen idFor: tokenNode).
+ anFsa name: (context idGenerator idFor: tokenNode).
+ anFsa retval: (context idGenerator idFor: tokenNode).
tokenNode fsa: anFsa.
^ tokenNode
+
+ "Modified: / 03-09-2015 / 21:27:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
visitTokenConsumeNode: node
@@ -69,9 +66,11 @@
epsilon ifTrue: [ followSet add: PPCEndOfFileNode instance ].
anFsa := self unorderedChoiceFromFollowSet: followSet.
- anFsa name: 'nextToken_', (idGen idFor: node).
+ anFsa name: 'nextToken_', (context idGenerator idFor: node).
node nextFsa: anFsa.
+
+ "Modified: / 03-09-2015 / 21:27:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
visitTokenNode: node
--- a/compiler/PPCInliningVisitor.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCInliningVisitor.st Sat Aug 29 07:56:14 2015 +0100
@@ -2,7 +2,7 @@
"{ NameSpace: Smalltalk }"
-PPCPass subclass:#PPCInliningVisitor
+PPCPassVisitor subclass:#PPCInliningVisitor
instanceVariableNames:'canInline acceptedNodes'
classVariableNames:''
poolDictionaries:''
@@ -13,9 +13,10 @@
!PPCInliningVisitor methodsFor:'initialization'!
initialize
- super initialize.
-
+ super initialize.
acceptedNodes := 0
+
+ "Modified (format): / 29-08-2015 / 07:40:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCInliningVisitor methodsFor:'testing'!
@@ -103,16 +104,6 @@
^ self markForInline: node
!
-visitTokenConsumeNode: node
- "super visitTokenConsumeNode: node."
-
- node name isNil ifTrue: [
- self markForInline: node
- ].
-
- ^ node
-!
-
visitTokenStarMessagePredicateNode: node
^ self markForInline: node
!
--- a/compiler/PPCNode.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCNode.st Sat Aug 29 07:56:14 2015 +0100
@@ -313,6 +313,14 @@
^ self class hash bitXor: (name hash bitXor: (self isMarkedForInline hash bitXor: (self children size hash)))
! !
+!PPCNode methodsFor:'converting'!
+
+asCompilerTree
+ ^ self
+
+ "Created: / 29-08-2015 / 07:43:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!PPCNode methodsFor:'copying'!
postCopy
--- a/compiler/PPCNodeVisitor.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCNodeVisitor.st Sat Aug 29 07:56:14 2015 +0100
@@ -9,6 +9,7 @@
category:'PetitCompiler-Visitors'
!
+
!PPCNodeVisitor class methodsFor:'instance creation'!
new
@@ -294,3 +295,10 @@
^ self visitNode: node
! !
+!PPCNodeVisitor class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/PPCPass.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCPass.st Sat Aug 29 07:56:14 2015 +0100
@@ -2,30 +2,37 @@
"{ NameSpace: Smalltalk }"
-PPCNodeVisitor subclass:#PPCPass
+Object subclass:#PPCPass
instanceVariableNames:'context'
classVariableNames:''
poolDictionaries:''
- category:'PetitCompiler-Visitors'
+ category:'PetitCompiler-Core'
!
-!PPCPass class methodsFor:'running'!
+!PPCPass class methodsFor:'converting'!
-run: ir in: context
- "Run the pass on passed IR in given compilation context.
- Return (possibly transformed or completely new) IR."
+asPPCPass
+ ^ self new
- ^ self new run: ir in: context
-
- "Created: / 26-08-2015 / 22:31:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 29-08-2015 / 07:12:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCPass methodsFor:'accessing'!
-context: aPPCCompilationContext
+context
+ ^ context
+!
+
+context:aPPCCompilationContext
context := aPPCCompilationContext.
+! !
- "Created: / 26-08-2015 / 22:05:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!PPCPass methodsFor:'converting'!
+
+asPPCPass
+ ^ self
+
+ "Created: / 29-08-2015 / 07:13:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCPass methodsFor:'running'!
@@ -34,12 +41,10 @@
"Actually run the pass on given IR (tree of PPCNode) and return
(possibly transformed or completely new) another IR."
- context isNil ifTrue:[
- PPCCompilationError new signal: 'oops, no context set, use #context: before running a pass!!'.
- ].
- ^ self visit: ir.
+ self subclassResponsibility
"Created: / 26-08-2015 / 22:30:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 29-08-2015 / 07:15:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
run: ir in: ctx
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/compiler/PPCPassVisitor.st Sat Aug 29 07:56:14 2015 +0100
@@ -0,0 +1,75 @@
+"{ Package: 'stx:goodies/petitparser/compiler' }"
+
+"{ NameSpace: Smalltalk }"
+
+PPCNodeVisitor subclass:#PPCPassVisitor
+ instanceVariableNames:'context'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'PetitCompiler-Visitors'
+!
+
+
+!PPCPassVisitor class methodsFor:'converting'!
+
+asPPCPass
+ ^ self new
+
+ "Created: / 29-08-2015 / 07:12:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!PPCPassVisitor methodsFor:'accessing'!
+
+context
+ ^ context
+!
+
+context: aPPCCompilationContext
+ context := aPPCCompilationContext.
+
+ "Created: / 26-08-2015 / 22:05:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!PPCPassVisitor methodsFor:'converting'!
+
+asPPCPass
+ ^ self
+
+ "Created: / 29-08-2015 / 07:13:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!PPCPassVisitor methodsFor:'running'!
+
+run: ir
+ "Actually run the pass on given IR (tree of PPCNode) and return
+ (possibly transformed or completely new) another IR."
+
+ context isNil ifTrue:[
+ PPCCompilationError new signal: 'oops, no context set, use #context: before running a pass!!'.
+ ].
+ ^ self visit: ir.
+
+ "Created: / 26-08-2015 / 22:30:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+run: ir in: ctx
+ "Actually run the pass on given IR (tree of PPCNode) in given
+ compilation context and return (possibly transformed or completely
+ new) another IR."
+
+ context := ctx.
+ ^ self run: ir.
+
+ "Created: / 26-08-2015 / 22:33:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!PPCPassVisitor class methodsFor:'documentation'!
+
+version
+ ^ 'Path: stx/goodies/petitparser/compiler/PPCPass.st, Version: 1.0, User: jv, Time: 2015-08-29T07:53:24.558+01'
+!
+
+version_HG
+ ^ 'Path: stx/goodies/petitparser/compiler/PPCPass.st, Version: 1.0, User: jv, Time: 2015-08-29T07:53:24.558+01'
+! !
+
--- a/compiler/PPCPluggableConfiguration.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCPluggableConfiguration.st Sat Aug 29 07:56:14 2015 +0100
@@ -24,10 +24,6 @@
!PPCPluggableConfiguration methodsFor:'as yet unclassified'!
-options: args
- ^ base options: args
-!
-
base: aPPCConfiguration
base := aPPCConfiguration
!
@@ -48,5 +44,11 @@
invokePhases
^ block value: base
+!
+
+options: args
+ ^ base context options: args
+
+ "Modified: / 28-08-2015 / 14:19:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
--- a/compiler/PPCRewritingVisitor.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCRewritingVisitor.st Sat Aug 29 07:56:14 2015 +0100
@@ -2,7 +2,7 @@
"{ NameSpace: Smalltalk }"
-PPCPass subclass:#PPCRewritingVisitor
+PPCPassVisitor subclass:#PPCRewritingVisitor
instanceVariableNames:'change'
classVariableNames:''
poolDictionaries:''
--- a/compiler/PPCScannerCodeGenerator.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCScannerCodeGenerator.st Sat Aug 29 07:56:14 2015 +0100
@@ -2,8 +2,8 @@
"{ NameSpace: Smalltalk }"
-Object subclass:#PPCScannerCodeGenerator
- instanceVariableNames:'codeGen fsa options incommingTransitions resultStrategy fsaCache'
+PPCPass subclass:#PPCScannerCodeGenerator
+ instanceVariableNames:'codeGen fsa incommingTransitions resultStrategy fsaCache'
classVariableNames:''
poolDictionaries:''
category:'PetitCompiler-Scanner'
@@ -25,15 +25,6 @@
compiler
^ self codeGen
-!
-
-options
- ^ options
-!
-
-options: anObject
- options := anObject.
- codeGen options: anObject.
! !
!PPCScannerCodeGenerator methodsFor:'analysis'!
@@ -409,12 +400,14 @@
builder := PPCClassBuilder new.
- builder compiledClassName: options scannerName.
- builder compiledSuperclass: options scannerSuperclass.
+ builder compiledClassName: context options scannerName.
+ builder compiledSuperclass: context options scannerSuperclass.
builder methodDictionary: codeGen clazz methodDictionary.
builder constants: codeGen clazz constants.
- ^ builder compileClass.
+ ^ builder compileClass.
+
+ "Modified: / 03-09-2015 / 22:00:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCScannerCodeGenerator methodsFor:'initialization'!
@@ -423,9 +416,38 @@
super initialize.
codeGen := PPCFSACodeGen new.
- options := PPCCompilationOptions default.
+ context := PPCCompilationContext new.
fsaCache := IdentityDictionary new.
- "Modified: / 24-08-2015 / 23:39:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 03-09-2015 / 22:27:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!PPCScannerCodeGenerator methodsFor:'running'!
+
+run: ir
+ "Actually run the pass on given IR (tree of PPCNode) and return
+ (possibly transformed or completely new) another IR."
+
+ | fsas |
+
+ fsas := IdentitySet new.
+ fsaCache := IdentityDictionary new.
+ fsas addAll:(ir allNodes
+ select:[:node | node hasFsa ]
+ thenCollect:[:node | node fsa ]).
+ fsas addAll:(ir allNodes
+ select:[:node | node hasNextFsa ]
+ thenCollect:[:node | node nextFsa ]).
+ fsas := fsas select:[:each | each hasDistinctRetvals].
+ codeGen clazz:context scannerClass.
+ codeGen options: context options.
+
+ fsas do:[:each |
+ self generate:each
+ ].
+ ^ ir
+
+ "Created: / 03-09-2015 / 21:55:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 06:21:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/compiler/PPCStarAnyNode.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCStarAnyNode.st Sat Aug 29 07:56:14 2015 +0100
@@ -9,6 +9,7 @@
category:'PetitCompiler-Nodes'
!
+
!PPCStarAnyNode methodsFor:'as yet unclassified'!
defaultName
@@ -39,3 +40,10 @@
^ visitor visitStarAnyNode: self
! !
+!PPCStarAnyNode class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/PPCTokenCodeGenerator.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCTokenCodeGenerator.st Sat Aug 29 07:56:14 2015 +0100
@@ -2,7 +2,7 @@
"{ NameSpace: Smalltalk }"
-PPCPass subclass:#PPCTokenCodeGenerator
+PPCPassVisitor subclass:#PPCTokenCodeGenerator
instanceVariableNames:'codeGen'
classVariableNames:''
poolDictionaries:''
--- a/compiler/PPCTokenizingConfiguration.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCTokenizingConfiguration.st Sat Aug 29 07:56:14 2015 +0100
@@ -9,155 +9,57 @@
category:'PetitCompiler-Core'
!
-!PPCTokenizingConfiguration methodsFor:'compiling'!
+!PPCTokenizingConfiguration methodsFor:'accessing - defaults'!
+
+defaultParserSuperclass
+ ^ PPTokenizingCompiledParser
-buildClass: clazz
- | builder |
- builder := PPCClassBuilder new.
-
- builder compiledClassName: clazz name.
- builder compiledSuperclass: clazz superclass.
- builder methodDictionary: clazz methodDictionary.
- builder constants: clazz constants.
+ "Modified (comment): / 01-09-2015 / 08:48:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
- ^ builder compileClass.
-!
+!PPCTokenizingConfiguration methodsFor:'compiling'!
invokePhases
- self toPPCIr.
- self createTokens.
- self cacheFirstFollow.
- self createLL1Choices.
- self tokenize.
- self merge.
- self specialize.
- self createRecognizingComponents.
- self specialize.
- self inline.
- self merge.
- self check.
- self cacheFirstFollow.
- self buildParserClazz.
- self unmarkConsumeTokensForInline.
- self createFSAs.
- self buildScannerTokens.
- self buildScannerScans.
- self generateScanner.
- self generateParser.
-! !
-!PPCTokenizingConfiguration methodsFor:'error handling'!
+ self runPass: PPCTokenDetector.
-buildParserClazz
- self runPass: PPCTokenizingCodeGenerator.
-
- "Modified: / 25-08-2015 / 00:07:38 / Jan Vrany <jan.vrany@fit."
- "Modified: / 26-08-2015 / 22:47:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-buildScannerScans
- | fsas generator |
-
- "TODO JK: Perhpas write separate visitor for this?"
- fsas := IdentitySet new.
- fsas addAll:(ir allNodes
- select:[:node | node hasFsa ]
- thenCollect:[:node | node fsa ]).
- fsas addAll:(ir allNodes
- select:[:node | node hasNextFsa ]
- thenCollect:[:node | node nextFsa ]).
- fsas := fsas reject:[:fsa | fsa hasDistinctRetvals not ].
- generator := (PPCScannerCodeGenerator new)
- clazz:context scannerClass;
- options:context options;
- yourself.
- fsas do:[:fsa |
- generator generate:fsa
+ context options cacheFirstFollow ifTrue:[
+ self runPass: PPCCacheFirstFollowPass
+ ].
+ self runPass: PPCLL1Visitor.
+ context options tokenize ifTrue:[
+ self runPass: PPCTokenizingVisitor
].
- "Modified: / 25-08-2015 / 00:04:43 / Jan Vrany <jan.vrany@fit."
- "Modified: / 26-08-2015 / 19:57:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-buildScannerTokens
- self runPass: PPCTokenCodeGenerator
+ self runPass: PPCMergingVisitor .
- "Modified: / 25-08-2015 / 00:04:46 / Jan Vrany <jan.vrany@fit."
- "Modified: / 26-08-2015 / 22:53:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
+ context options specialize ifTrue:[
+ self runPass: PPCSpecializingVisitor
+ ].
-generateParser
- | parserClass rootMethod |
+ self runPass: PPCRecognizerComponentDetector .
- context options generate ifFalse:[
- ^ self
+ context options specialize ifTrue:[
+ self runPass: PPCSpecializingVisitor
].
- rootMethod := context parserClass propertyAt:#rootMethod.
- context parserClass name:context options parserName.
- context parserClass superclass:context options parserSuperclass.
- parserClass := self buildClass:context parserClass.
- parserClass startSymbol:rootMethod methodName.
- self remember:parserClass as:#parser.
- ir := parserClass new
+ context options inline ifTrue:[
+ self runPass: PPCInliningVisitor
+ ].
- "Modified: / 25-08-2015 / 00:05:49 / Jan Vrany"
- "Modified: / 26-08-2015 / 19:57:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
+ self runPass: PPCMergingVisitor .
-generateScanner
- | scanner |
+ self runPass: PPCCheckingVisitor.
+ context options cacheFirstFollow ifTrue:[
+ self runPass: PPCCacheFirstFollowPass
+ ].
+ self runPass: PPCTokenizingCodeGenerator.
+ self runPass: PPCFSAVisitor.
+ self runPass: PPCTokenCodeGenerator.
+ self runPass: PPCScannerCodeGenerator.
- context options generate ifFalse:[
- ^ self
- ].
- context scannerClass name:context options scannerName.
- context scannerClass superclass:context options scannerSuperclass.
- scanner := (self buildClass:context scannerClass).
- context parserClass addConstant:scanner as:#scannerClass.
- ir := scanner.
- self remember:scanner as:#scanner
+ self generateScanner.
+ self generateParser.
- "Modified: / 25-08-2015 / 00:06:49 / Jan Vrany"
- "Modified: / 26-08-2015 / 19:58:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 10:25:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!PPCTokenizingConfiguration methodsFor:'phases'!
-
-createFSAs
- ir := PPCFSAVisitor new
- idGen: context scannerClass idGen;
- visit: ir.
-
- self remember: (self copyTree: ir) as: #withFSAs
-
- "Modified: / 25-08-2015 / 00:07:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-createLL1Choices
- self flag:'This phase needs revisit and update'.
- self runPass: PPCLL1Visitor
-
- "Modified: / 26-08-2015 / 22:52:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-tokenize
- "
- This will try transform the parser into the tokenizing parser"
-
- context options tokenize ifFalse:[
- ^ self
- ].
- self runPass: PPCTokenizingVisitor
-
- "Modified: / 26-08-2015 / 22:48:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-unmarkConsumeTokensForInline
- "TODO JK: Hack alert, use visitor, or at leas isTokenConsume"
- ir allNodesDo: [ :node |
- node class == PPCTokenConsumeNode ifTrue: [
- node unmarkForInline
- ]
- ]
-! !
-
--- a/compiler/PPCUniversalConfiguration.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/PPCUniversalConfiguration.st Sat Aug 29 07:56:14 2015 +0100
@@ -10,59 +10,45 @@
!
-!PPCUniversalConfiguration methodsFor:'compiling'!
-
-initialize
- super initialize.
-
- "Modified: / 25-08-2015 / 00:03:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
+!PPCUniversalConfiguration methodsFor:'accessing - defaults'!
-invokePhases
- self toPPCIr.
- self createTokens.
- self cacheFirstFollow.
- self specialize.
- self createRecognizingComponents.
- self specialize.
- self inline.
- self merge.
- self check.
- self generate.
+defaultParserSuperclass
+ ^ PPCompiledParser
+
+ "Modified: / 01-09-2015 / 08:47:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!PPCUniversalConfiguration methodsFor:'error handling'!
+!PPCUniversalConfiguration methodsFor:'compiling'!
-buildClass
- | builder |
+invokePhases
+
+ self runPass: PPCTokenDetector.
- self assert:(context parserClass isKindOf:PPCClass).
- builder := PPCClassBuilder new.
- builder compiledClassName:context options parserName.
- builder compiledSuperclass:PPCompiledParser.
- builder methodDictionary:context parserClass methodDictionary.
- builder constants:context parserClass constants.
- ^ builder compileClass.
+ context options cacheFirstFollow ifTrue:[
+ self runPass: PPCCacheFirstFollowPass
+ ].
+ context options specialize ifTrue:[
+ self runPass: PPCSpecializingVisitor
+ ].
+
+ self runPass: PPCRecognizerComponentDetector .
- "Modified: / 25-08-2015 / 00:04:08 / Jan Vrany <jan.vrany@fit."
- "Modified: / 26-08-2015 / 20:01:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-generate
- | compiledParser |
-
- context options generate ifFalse:[
- ^ self
+ context options specialize ifTrue:[
+ self runPass: PPCSpecializingVisitor
+ ].
+ context options inline ifTrue:[
+ self runPass: PPCInliningVisitor
].
- self runPass: PPCUniversalCodeGenerator.
+
+ self runPass: PPCMergingVisitor.
+
+ self runPass: PPCCheckingVisitor.
- compiledParser := self buildClass.
- compiledParser startSymbol:(context parserClass propertyAt:#rootMethod) methodName.
- compiledParser := compiledParser new.
- ir := compiledParser.
+ self runPass: PPCUniversalCodeGenerator.
- "Modified: / 25-08-2015 / 00:03:46 / Jan Vrany <jan.vr"
- "Modified: / 26-08-2015 / 22:50:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ self generateParser.
+
+ "Modified: / 04-09-2015 / 10:25:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCUniversalConfiguration class methodsFor:'documentation'!
--- a/compiler/abbrev.stc Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/abbrev.stc Sat Aug 29 07:56:14 2015 +0100
@@ -30,9 +30,9 @@
PPCMethod PPCMethod stx:goodies/petitparser/compiler 'PetitCompiler-Compiler-Codegen' 0
PPCNode PPCNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
PPCNodeVisitor PPCNodeVisitor stx:goodies/petitparser/compiler 'PetitCompiler-Visitors' 0
+PPCPass PPCPass stx:goodies/petitparser/compiler 'PetitCompiler-Core' 0
PPCPluggableConfiguration PPCPluggableConfiguration stx:goodies/petitparser/compiler 'PetitCompiler-Core' 0
PPCScanner PPCScanner stx:goodies/petitparser/compiler 'PetitCompiler-Scanner' 0
-PPCScannerCodeGenerator PPCScannerCodeGenerator stx:goodies/petitparser/compiler 'PetitCompiler-Scanner' 0
PPCScannerError PPCScannerError stx:goodies/petitparser/compiler 'PetitCompiler-Exceptions' 1
PPCScannerResultStrategy PPCScannerResultStrategy stx:goodies/petitparser/compiler 'PetitCompiler-Scanner' 0
PPCTokenGuard PPCTokenGuard stx:goodies/petitparser/compiler 'PetitCompiler-Guards' 0
@@ -51,6 +51,7 @@
PPCAbstractLiteralNode PPCAbstractLiteralNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
PPCAbstractPredicateNode PPCAbstractPredicateNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
PPCAnyNode PPCAnyNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
+PPCCacheFirstFollowPass PPCCacheFirstFollowPass stx:goodies/petitparser/compiler 'PetitCompiler-Core' 0
PPCCharacterNode PPCCharacterNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
PPCDelegateNode PPCDelegateNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
PPCDistinctResultStrategy PPCDistinctResultStrategy stx:goodies/petitparser/compiler 'PetitCompiler-Scanner' 0
@@ -60,9 +61,10 @@
PPCListNode PPCListNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
PPCNilNode PPCNilNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
PPCNoResultStrategy PPCNoResultStrategy stx:goodies/petitparser/compiler 'PetitCompiler-Scanner' 0
-PPCPass PPCPass stx:goodies/petitparser/compiler 'PetitCompiler-Visitors' 0
+PPCPassVisitor PPCPassVisitor stx:goodies/petitparser/compiler 'PetitCompiler-Visitors' 0
PPCPluggableNode PPCPluggableNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
PPCProfilingContext PPCProfilingContext stx:goodies/petitparser/compiler 'PetitCompiler-Context' 0
+PPCScannerCodeGenerator PPCScannerCodeGenerator stx:goodies/petitparser/compiler 'PetitCompiler-Scanner' 0
PPCTokenizingCodeGen PPCTokenizingCodeGen stx:goodies/petitparser/compiler 'PetitCompiler-Compiler-Codegen' 0
PPCTokenizingConfiguration PPCTokenizingConfiguration stx:goodies/petitparser/compiler 'PetitCompiler-Core' 0
PPCUniversalCodeGen PPCUniversalCodeGen stx:goodies/petitparser/compiler 'PetitCompiler-Compiler-Codegen' 0
@@ -76,6 +78,7 @@
PPCAbstractActionNode PPCAbstractActionNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
PPCAndNode PPCAndNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
PPCCharSetPredicateNode PPCCharSetPredicateNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
+PPCCheckingVisitor PPCCheckingVisitor stx:goodies/petitparser/compiler 'PetitCompiler-Visitors' 0
PPCChoiceNode PPCChoiceNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
PPCCodeGenerator PPCCodeGenerator stx:goodies/petitparser/compiler 'PetitCompiler-Visitors-CodeGenerators' 0
PPCEndOfInputNode PPCEndOfInputNode stx:goodies/petitparser/compiler 'PetitCompiler-Nodes' 0
--- a/compiler/bc.mak Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/bc.mak Sat Aug 29 07:56:14 2015 +0100
@@ -101,9 +101,9 @@
$(OUTDIR)PPCMethod.$(O) PPCMethod.$(H): PPCMethod.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCNode.$(O) PPCNode.$(H): PPCNode.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCNodeVisitor.$(O) PPCNodeVisitor.$(H): PPCNodeVisitor.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCPass.$(O) PPCPass.$(H): PPCPass.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCPluggableConfiguration.$(O) PPCPluggableConfiguration.$(H): PPCPluggableConfiguration.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCScanner.$(O) PPCScanner.$(H): PPCScanner.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCScannerCodeGenerator.$(O) PPCScannerCodeGenerator.$(H): PPCScannerCodeGenerator.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCScannerError.$(O) PPCScannerError.$(H): PPCScannerError.st $(INCLUDE_TOP)\stx\libbasic\Error.$(H) $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCScannerResultStrategy.$(O) PPCScannerResultStrategy.$(H): PPCScannerResultStrategy.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenGuard.$(O) PPCTokenGuard.$(H): PPCTokenGuard.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -122,6 +122,7 @@
$(OUTDIR)PPCAbstractLiteralNode.$(O) PPCAbstractLiteralNode.$(H): PPCAbstractLiteralNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCAbstractPredicateNode.$(O) PPCAbstractPredicateNode.$(H): PPCAbstractPredicateNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCAnyNode.$(O) PPCAnyNode.$(H): PPCAnyNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCCacheFirstFollowPass.$(O) PPCCacheFirstFollowPass.$(H): PPCCacheFirstFollowPass.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCCharacterNode.$(O) PPCCharacterNode.$(H): PPCCharacterNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCDelegateNode.$(O) PPCDelegateNode.$(H): PPCDelegateNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCDistinctResultStrategy.$(O) PPCDistinctResultStrategy.$(H): PPCDistinctResultStrategy.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCScannerResultStrategy.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -131,9 +132,10 @@
$(OUTDIR)PPCListNode.$(O) PPCListNode.$(H): PPCListNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCNilNode.$(O) PPCNilNode.$(H): PPCNilNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCNoResultStrategy.$(O) PPCNoResultStrategy.$(H): PPCNoResultStrategy.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCScannerResultStrategy.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCPass.$(O) PPCPass.$(H): PPCPass.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCPassVisitor.$(O) PPCPassVisitor.$(H): PPCPassVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCPluggableNode.$(O) PPCPluggableNode.$(H): PPCPluggableNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCProfilingContext.$(O) PPCProfilingContext.$(H): PPCProfilingContext.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPStream.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCContext.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\PeekableStream.$(H) $(INCLUDE_TOP)\stx\libbasic\PositionableStream.$(H) $(INCLUDE_TOP)\stx\libbasic\ReadStream.$(H) $(INCLUDE_TOP)\stx\libbasic\Stream.$(H) $(STCHDR)
+$(OUTDIR)PPCScannerCodeGenerator.$(O) PPCScannerCodeGenerator.$(H): PPCScannerCodeGenerator.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenizingCodeGen.$(O) PPCTokenizingCodeGen.$(H): PPCTokenizingCodeGen.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCCodeGen.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenizingConfiguration.$(O) PPCTokenizingConfiguration.$(H): PPCTokenizingConfiguration.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCConfiguration.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCUniversalCodeGen.$(O) PPCUniversalCodeGen.$(H): PPCUniversalCodeGen.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCCodeGen.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -142,17 +144,18 @@
$(OUTDIR)PPCUnknownNode.$(O) PPCUnknownNode.$(H): PPCUnknownNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPTokenizingCompiledParser.$(O) PPTokenizingCompiledParser.$(H): PPTokenizingCompiledParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCompiledParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PEGFsaEOFTransition.$(O) PEGFsaEOFTransition.$(H): PEGFsaEOFTransition.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PEGFsaPredicateTransition.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PEGFsaTransition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PEGFsaGenerator.$(O) PEGFsaGenerator.$(H): PEGFsaGenerator.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PEGFsaGenerator.$(O) PEGFsaGenerator.$(H): PEGFsaGenerator.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PEGFsaParserTransition.$(O) PEGFsaParserTransition.$(H): PEGFsaParserTransition.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PEGFsaPredicateTransition.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PEGFsaTransition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCAbstractActionNode.$(O) PPCAbstractActionNode.$(H): PPCAbstractActionNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCAndNode.$(O) PPCAndNode.$(H): PPCAndNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCCharSetPredicateNode.$(O) PPCCharSetPredicateNode.$(H): PPCCharSetPredicateNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCAbstractPredicateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCCheckingVisitor.$(O) PPCCheckingVisitor.$(H): PPCCheckingVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCChoiceNode.$(O) PPCChoiceNode.$(H): PPCChoiceNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCListNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCCodeGenerator.$(O) PPCCodeGenerator.$(H): PPCCodeGenerator.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCCodeGenerator.$(O) PPCCodeGenerator.$(H): PPCCodeGenerator.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCEndOfInputNode.$(O) PPCEndOfInputNode.$(H): PPCEndOfInputNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCFSAVisitor.$(O) PPCFSAVisitor.$(H): PPCFSAVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCFSAVisitor.$(O) PPCFSAVisitor.$(H): PPCFSAVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCForwardNode.$(O) PPCForwardNode.$(H): PPCForwardNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCInliningVisitor.$(O) PPCInliningVisitor.$(H): PPCInliningVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCInliningVisitor.$(O) PPCInliningVisitor.$(H): PPCInliningVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCLiteralNode.$(O) PPCLiteralNode.$(H): PPCLiteralNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCAbstractLiteralNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCMessagePredicateNode.$(O) PPCMessagePredicateNode.$(H): PPCMessagePredicateNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCAbstractPredicateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCNegateNode.$(O) PPCNegateNode.$(H): PPCNegateNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -164,38 +167,38 @@
$(OUTDIR)PPCOptionalNode.$(O) PPCOptionalNode.$(H): PPCOptionalNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCPlusNode.$(O) PPCPlusNode.$(H): PPCPlusNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCPredicateNode.$(O) PPCPredicateNode.$(H): PPCPredicateNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCAbstractPredicateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCRewritingVisitor.$(O) PPCRewritingVisitor.$(H): PPCRewritingVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCRewritingVisitor.$(O) PPCRewritingVisitor.$(H): PPCRewritingVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCSentinelNode.$(O) PPCSentinelNode.$(H): PPCSentinelNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNilNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCSequenceNode.$(O) PPCSequenceNode.$(H): PPCSequenceNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCListNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCStarNode.$(O) PPCStarNode.$(H): PPCStarNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCTokenCodeGenerator.$(O) PPCTokenCodeGenerator.$(H): PPCTokenCodeGenerator.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCTokenCodeGenerator.$(O) PPCTokenCodeGenerator.$(H): PPCTokenCodeGenerator.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenConsumeNode.$(O) PPCTokenConsumeNode.$(H): PPCTokenConsumeNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenNode.$(O) PPCTokenNode.$(H): PPCTokenNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenWhitespaceNode.$(O) PPCTokenWhitespaceNode.$(H): PPCTokenWhitespaceNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenizingParserNode.$(O) PPCTokenizingParserNode.$(H): PPCTokenizingParserNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCListNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCTrimmingTokenNode.$(O) PPCTrimmingTokenNode.$(H): PPCTrimmingTokenNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCListNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCActionNode.$(O) PPCActionNode.$(H): PPCActionNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCAbstractActionNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCCopyVisitor.$(O) PPCCopyVisitor.$(H): PPCCopyVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCCopyVisitor.$(O) PPCCopyVisitor.$(H): PPCCopyVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCDeterministicChoiceNode.$(O) PPCDeterministicChoiceNode.$(H): PPCDeterministicChoiceNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCChoiceNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCListNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCLL1Visitor.$(O) PPCLL1Visitor.$(H): PPCLL1Visitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCMergingVisitor.$(O) PPCMergingVisitor.$(H): PPCMergingVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCOptimizeChoices.$(O) PPCOptimizeChoices.$(H): PPCOptimizeChoices.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCRecognizerComponentDetector.$(O) PPCRecognizerComponentDetector.$(H): PPCRecognizerComponentDetector.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCRecognizerComponentVisitor.$(O) PPCRecognizerComponentVisitor.$(H): PPCRecognizerComponentVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCLL1Visitor.$(O) PPCLL1Visitor.$(H): PPCLL1Visitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCMergingVisitor.$(O) PPCMergingVisitor.$(H): PPCMergingVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCOptimizeChoices.$(O) PPCOptimizeChoices.$(H): PPCOptimizeChoices.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCRecognizerComponentDetector.$(O) PPCRecognizerComponentDetector.$(H): PPCRecognizerComponentDetector.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCRecognizerComponentVisitor.$(O) PPCRecognizerComponentVisitor.$(H): PPCRecognizerComponentVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCRecognizingSequenceNode.$(O) PPCRecognizingSequenceNode.$(H): PPCRecognizingSequenceNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCListNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCSequenceNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCSpecializingVisitor.$(O) PPCSpecializingVisitor.$(H): PPCSpecializingVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCSpecializingVisitor.$(O) PPCSpecializingVisitor.$(H): PPCSpecializingVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCStarAnyNode.$(O) PPCStarAnyNode.$(H): PPCStarAnyNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCStarNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCStarCharSetPredicateNode.$(O) PPCStarCharSetPredicateNode.$(H): PPCStarCharSetPredicateNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCStarNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCStarMessagePredicateNode.$(O) PPCStarMessagePredicateNode.$(H): PPCStarMessagePredicateNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCStarNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCSymbolActionNode.$(O) PPCSymbolActionNode.$(H): PPCSymbolActionNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCAbstractActionNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenChoiceNode.$(O) PPCTokenChoiceNode.$(H): PPCTokenChoiceNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCChoiceNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCListNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCTokenDetector.$(O) PPCTokenDetector.$(H): PPCTokenDetector.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCTokenVisitor.$(O) PPCTokenVisitor.$(H): PPCTokenVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCTokenizingCodeGenerator.$(O) PPCTokenizingCodeGenerator.$(H): PPCTokenizingCodeGenerator.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCCodeGenerator.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCTokenizingVisitor.$(O) PPCTokenizingVisitor.$(H): PPCTokenizingVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCTokenDetector.$(O) PPCTokenDetector.$(H): PPCTokenDetector.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCTokenVisitor.$(O) PPCTokenVisitor.$(H): PPCTokenVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCTokenizingCodeGenerator.$(O) PPCTokenizingCodeGenerator.$(H): PPCTokenizingCodeGenerator.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCCodeGenerator.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCTokenizingVisitor.$(O) PPCTokenizingVisitor.$(H): PPCTokenizingVisitor.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCRewritingVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCTrimNode.$(O) PPCTrimNode.$(H): PPCTrimNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCListNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCSequenceNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCTrimmingCharacterTokenNode.$(O) PPCTrimmingCharacterTokenNode.$(H): PPCTrimmingCharacterTokenNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCListNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCTrimmingTokenNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)PPCUniversalCodeGenerator.$(O) PPCUniversalCodeGenerator.$(H): PPCUniversalCodeGenerator.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCCodeGenerator.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPass.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)PPCUniversalCodeGenerator.$(O) PPCUniversalCodeGenerator.$(H): PPCUniversalCodeGenerator.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCCodeGenerator.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCPassVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCMappedActionNode.$(O) PPCMappedActionNode.$(H): PPCMappedActionNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCAbstractActionNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCActionNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenStarMessagePredicateNode.$(O) PPCTokenStarMessagePredicateNode.$(H): PPCTokenStarMessagePredicateNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCStarMessagePredicateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCStarNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)PPCTokenStarSeparatorNode.$(O) PPCTokenStarSeparatorNode.$(H): PPCTokenStarSeparatorNode.st $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCDelegateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCStarMessagePredicateNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCStarNode.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\compiler\PPCTokenStarMessagePredicateNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/compiler/benchmarks/Make.proto Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/benchmarks/Make.proto Sat Aug 29 07:56:14 2015 +0100
@@ -34,7 +34,7 @@
# add the path(es) here:,
# ********** OPTIONAL: MODIFY the next lines ***
# LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/calipel/s -I$(INCLUDE_TOP)/stx/goodies/petitparser -I$(INCLUDE_TOP)/stx/goodies/petitparser/compiler -I$(INCLUDE_TOP)/stx/goodies/petitparser/compiler/tests/extras -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/java -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk/tests -I$(INCLUDE_TOP)/stx/goodies/petitparser/tests -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/calipel/s -I$(INCLUDE_TOP)/stx/goodies/petitparser -I$(INCLUDE_TOP)/stx/goodies/petitparser/compiler -I$(INCLUDE_TOP)/stx/goodies/petitparser/compiler/tests/extras -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/java -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/libbasic
# if you need any additional defines for embedded C code,
@@ -104,13 +104,8 @@
cd ../../../../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../../../refactoryBrowser/parser && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../../../../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../../../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../../ && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../../../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../../parsers/smalltalk && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../../sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../tests && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../parsers/smalltalk/tests && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
--- a/compiler/benchmarks/PPCSmalltalkNoopParser.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/benchmarks/PPCSmalltalkNoopParser.st Sat Aug 29 07:56:14 2015 +0100
@@ -9,6 +9,7 @@
category:'PetitCompiler-Benchmarks-Parsers'
!
+
!PPCSmalltalkNoopParser methodsFor:'accessing'!
startExpression
@@ -342,3 +343,10 @@
"Modified: / 15-05-2015 / 08:54:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!PPCSmalltalkNoopParser class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/benchmarks/abbrev.stc Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/benchmarks/abbrev.stc Sat Aug 29 07:56:14 2015 +0100
@@ -4,5 +4,5 @@
PPCBenchmark PPCBenchmark stx:goodies/petitparser/compiler/benchmarks 'PetitCompiler-Benchmarks-Core' 0
PPCLRPParser_johanfabry_39 PPCLRPParser_johanfabry_39 stx:goodies/petitparser/compiler/benchmarks 'PetitCompiler-Benchmarks-Core' 0
PPCSmalltalkNoopParser PPCSmalltalkNoopParser stx:goodies/petitparser/compiler/benchmarks 'PetitCompiler-Benchmarks-Parsers' 0
+stx_goodies_petitparser_compiler_benchmarks stx_goodies_petitparser_compiler_benchmarks stx:goodies/petitparser/compiler/benchmarks '* Projects & Packages *' 3
PPCSmalltalkNoopParserTests PPCSmalltalkNoopParserTests stx:goodies/petitparser/compiler/benchmarks 'PetitCompiler-Benchmarks-Parsers-Tests' 1
-stx_goodies_petitparser_compiler_benchmarks stx_goodies_petitparser_compiler_benchmarks stx:goodies/petitparser/compiler/benchmarks '* Projects & Packages *' 3
--- a/compiler/benchmarks/bc.mak Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/benchmarks/bc.mak Sat Aug 29 07:56:14 2015 +0100
@@ -35,7 +35,7 @@
-LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\calipel\s -I$(INCLUDE_TOP)\stx\goodies\petitparser -I$(INCLUDE_TOP)\stx\goodies\petitparser\compiler -I$(INCLUDE_TOP)\stx\goodies\petitparser\compiler\tests\extras -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\java -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk\tests -I$(INCLUDE_TOP)\stx\goodies\petitparser\tests -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\calipel\s -I$(INCLUDE_TOP)\stx\goodies\petitparser -I$(INCLUDE_TOP)\stx\goodies\petitparser\compiler -I$(INCLUDE_TOP)\stx\goodies\petitparser\compiler\tests\extras -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\java -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser -I$(INCLUDE_TOP)\stx\libbasic
LOCALDEFINES=
STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -varPrefix=$(LIBNAME)
@@ -54,13 +54,8 @@
pushd ..\..\..\..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\refactoryBrowser\parser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\..\..\..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\.. & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\..\..\..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\parsers\smalltalk & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\..\..\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\..\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\..\parsers\smalltalk\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
--- a/compiler/benchmarks/stx_goodies_petitparser_compiler_benchmarks.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/benchmarks/stx_goodies_petitparser_compiler_benchmarks.st Sat Aug 29 07:56:14 2015 +0100
@@ -61,10 +61,7 @@
^ #(
#'stx:goodies/petitparser' "PPCompositeParser - superclass of PPCLRPParser_johanfabry_39"
#'stx:goodies/petitparser/parsers/smalltalk' "PPSmalltalkGrammar - superclass of PPCSmalltalkNoopParser"
- #'stx:goodies/petitparser/parsers/smalltalk/tests' "PPSmalltalkGrammarTests - superclass of PPCSmalltalkNoopParserTests"
- #'stx:goodies/petitparser/tests' "PPAbstractParserTest - superclass of PPCSmalltalkNoopParserTests"
- #'stx:goodies/sunit' "TestAsserter - superclass of PPCSmalltalkNoopParserTests"
- #'stx:libbasic' "LibraryDefinition - superclass of stx_goodies_petitparser_compiler_benchmarks"
+ #'stx:libbasic' "Autoload - superclass of PPCSmalltalkNoopParserTests"
)
!
@@ -110,8 +107,8 @@
PPCBenchmark
#'PPCLRPParser_johanfabry_39'
PPCSmalltalkNoopParser
+ #'stx_goodies_petitparser_compiler_benchmarks'
(PPCSmalltalkNoopParserTests autoload)
- #'stx_goodies_petitparser_compiler_benchmarks'
)
!
--- a/compiler/extensions.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/extensions.st Sat Aug 29 07:56:14 2015 +0100
@@ -407,13 +407,15 @@
!PPParser methodsFor:'*petitcompiler'!
compile: options
+ | configuration |
+
self assert: (options isKindOf: PPCCompilationOptions).
-
- ^ PPCConfiguration default
- options: options;
- compile: self
- "Modified: / 24-08-2015 / 23:39:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ configuration := PPCConfiguration default.
+ configuration context options: options.
+ ^ configuration compile: self
+
+ "Modified: / 28-08-2015 / 14:25:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPParser methodsFor:'*petitcompiler'!
--- a/compiler/libInit.cc Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/libInit.cc Sat Aug 29 07:56:14 2015 +0100
@@ -56,9 +56,9 @@
_PPCMethod_Init(pass,__pRT__,snd);
_PPCNode_Init(pass,__pRT__,snd);
_PPCNodeVisitor_Init(pass,__pRT__,snd);
+_PPCPass_Init(pass,__pRT__,snd);
_PPCPluggableConfiguration_Init(pass,__pRT__,snd);
_PPCScanner_Init(pass,__pRT__,snd);
-_PPCScannerCodeGenerator_Init(pass,__pRT__,snd);
_PPCScannerError_Init(pass,__pRT__,snd);
_PPCScannerResultStrategy_Init(pass,__pRT__,snd);
_PPCTokenGuard_Init(pass,__pRT__,snd);
@@ -77,6 +77,7 @@
_PPCAbstractLiteralNode_Init(pass,__pRT__,snd);
_PPCAbstractPredicateNode_Init(pass,__pRT__,snd);
_PPCAnyNode_Init(pass,__pRT__,snd);
+_PPCCacheFirstFollowPass_Init(pass,__pRT__,snd);
_PPCCharacterNode_Init(pass,__pRT__,snd);
_PPCDelegateNode_Init(pass,__pRT__,snd);
_PPCDistinctResultStrategy_Init(pass,__pRT__,snd);
@@ -86,9 +87,10 @@
_PPCListNode_Init(pass,__pRT__,snd);
_PPCNilNode_Init(pass,__pRT__,snd);
_PPCNoResultStrategy_Init(pass,__pRT__,snd);
-_PPCPass_Init(pass,__pRT__,snd);
+_PPCPassVisitor_Init(pass,__pRT__,snd);
_PPCPluggableNode_Init(pass,__pRT__,snd);
_PPCProfilingContext_Init(pass,__pRT__,snd);
+_PPCScannerCodeGenerator_Init(pass,__pRT__,snd);
_PPCTokenizingCodeGen_Init(pass,__pRT__,snd);
_PPCTokenizingConfiguration_Init(pass,__pRT__,snd);
_PPCUniversalCodeGen_Init(pass,__pRT__,snd);
@@ -102,6 +104,7 @@
_PPCAbstractActionNode_Init(pass,__pRT__,snd);
_PPCAndNode_Init(pass,__pRT__,snd);
_PPCCharSetPredicateNode_Init(pass,__pRT__,snd);
+_PPCCheckingVisitor_Init(pass,__pRT__,snd);
_PPCChoiceNode_Init(pass,__pRT__,snd);
_PPCCodeGenerator_Init(pass,__pRT__,snd);
_PPCEndOfInputNode_Init(pass,__pRT__,snd);
--- a/compiler/stx_goodies_petitparser_compiler.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/stx_goodies_petitparser_compiler.st Sat Aug 29 07:56:14 2015 +0100
@@ -139,9 +139,9 @@
PPCMethod
PPCNode
PPCNodeVisitor
+ PPCPass
PPCPluggableConfiguration
PPCScanner
- PPCScannerCodeGenerator
PPCScannerError
PPCScannerResultStrategy
PPCTokenGuard
@@ -160,6 +160,7 @@
PPCAbstractLiteralNode
PPCAbstractPredicateNode
PPCAnyNode
+ PPCCacheFirstFollowPass
PPCCharacterNode
PPCDelegateNode
PPCDistinctResultStrategy
@@ -169,9 +170,10 @@
PPCListNode
PPCNilNode
PPCNoResultStrategy
- PPCPass
+ PPCPassVisitor
PPCPluggableNode
PPCProfilingContext
+ PPCScannerCodeGenerator
PPCTokenizingCodeGen
PPCTokenizingConfiguration
PPCUniversalCodeGen
@@ -185,6 +187,7 @@
PPCAbstractActionNode
PPCAndNode
PPCCharSetPredicateNode
+ PPCCheckingVisitor
PPCChoiceNode
PPCCodeGenerator
PPCEndOfInputNode
--- a/compiler/tests/FooScannerTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/FooScannerTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -9,6 +9,7 @@
category:'PetitCompiler-Tests-Scanner'
!
+
!FooScannerTest methodsFor:'as yet unclassified'!
fail: stream rule: rule
@@ -172,3 +173,10 @@
self fail: 'b' rule: #nextMultiTokenA.
! !
+!FooScannerTest class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/tests/PEGFsaScannerIntegrationTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/PEGFsaScannerIntegrationTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -643,12 +643,14 @@
fsa name: #nextToken.
codeGenerator := PPCScannerCodeGenerator new.
- codeGenerator options scannerSuperclass: PPCScanner.
+ codeGenerator context options scannerSuperclass: PPCScanner.
scanner := codeGenerator
generateAndCompile: fsa.
compiled := true
+
+ "Modified: / 03-09-2015 / 22:06:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
mergeFsa: fsa1 and: fsa2
--- a/compiler/tests/PEGFsaSequenceDeterminizationTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/PEGFsaSequenceDeterminizationTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -10,6 +10,7 @@
category:'PetitCompiler-Tests-FSA'
!
+
!PEGFsaSequenceDeterminizationTest methodsFor:'as yet unclassified'!
assert: anFsa fail: input
@@ -509,3 +510,10 @@
self assert: (newState isFsaFailure).
! !
+!PEGFsaSequenceDeterminizationTest class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/tests/PPCCodeGeneratorTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/PPCCodeGeneratorTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -10,7 +10,14 @@
!
-!PPCCodeGeneratorTest methodsFor:'as yet unclassified'!
+!PPCCodeGeneratorTest methodsFor:'generating'!
+
+compileTree: root
+ parser := configuration compile: root.
+
+! !
+
+!PPCCodeGeneratorTest methodsFor:'running'!
context
^ context := PPCProfilingContext new
@@ -18,17 +25,19 @@
setUp
options := PPCCompilationOptions default
- profile: true;
- codeGenerator: PPCCodeGenerator.
+ profile: true.
configuration := PPCPluggableConfiguration on: [ :_self |
- _self cacheFirstFollow.
- _self check.
- _self generate.
+ options cacheFirstFollow ifTrue:[
+ _self runPass: PPCCacheFirstFollowPass.
+ ].
+ _self runPass: PPCCheckingVisitor.
+ _self runPass: PPCUniversalCodeGenerator.
+ _self generateParser.
].
configuration options: options.
- "Modified: / 24-08-2015 / 23:40:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2015 / 10:31:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
tearDown
@@ -40,13 +49,6 @@
].
! !
-!PPCCodeGeneratorTest methodsFor:'generating'!
-
-compileTree: root
- parser := configuration compile: root.
-
-! !
-
!PPCCodeGeneratorTest methodsFor:'testing'!
assert: whatever parse: input
--- a/compiler/tests/PPCDistinctScannerTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/PPCDistinctScannerTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -9,6 +9,7 @@
category:'PetitCompiler-Tests-Core-Tokenizing'
!
+
!PPCDistinctScannerTest methodsFor:'as yet unclassified'!
aToken
@@ -59,7 +60,7 @@
| parser |
parser := self fooToken, self overlappingToken.
parser compileWithConfiguration: configuration.
- scanner := (Smalltalk at: configuration options scannerName) new.
+ scanner := (Smalltalk at: configuration context options scannerName) new.
scanner stream: 'foobaz' asPetitStream.
scanner perform: #'consume_foo'.
@@ -67,13 +68,15 @@
self assert: scanner position = 3.
self assert: scanner resultPosition = 3.
self assert: scanner result isNil.
+
+ "Modified: / 28-08-2015 / 14:15:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testConsumeToken2
| parser |
parser := self fooToken, self barToken.
parser compileWithConfiguration: configuration.
- scanner := (Smalltalk at: configuration options scannerName) new.
+ scanner := (Smalltalk at: configuration context options scannerName) new.
scanner stream: 'foobar' asPetitStream.
scanner perform: #'consume_foo'.
@@ -81,6 +84,8 @@
self assert: scanner position = 3.
self assert: scanner resultPosition = 6.
self assert: scanner result = #bar.
+
+ "Modified: / 28-08-2015 / 14:16:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testScan
@@ -88,7 +93,7 @@
parser := self aToken.
parser compileWithConfiguration: configuration.
- scanner := (Smalltalk at: configuration options scannerName) new.
+ scanner := (Smalltalk at: configuration context options scannerName) new.
scanner stream: 'a' asPetitStream.
scanner perform: #'scan_token'.
@@ -96,6 +101,8 @@
self assert: scanner position = 0.
self assert: scanner resultPosition = 1.
self assert: scanner result = #token.
+
+ "Modified: / 28-08-2015 / 14:16:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testScan2
@@ -103,7 +110,7 @@
parser := self fooToken.
parser compileWithConfiguration: configuration.
- scanner := (Smalltalk at: configuration options scannerName) new.
+ scanner := (Smalltalk at: configuration context options scannerName) new.
scanner stream: 'foo' asPetitStream.
scanner perform: #'scan_foo'.
@@ -111,6 +118,8 @@
self assert: scanner position = 0.
self assert: scanner resultPosition = 3.
self assert: scanner result = #foo.
+
+ "Modified: / 28-08-2015 / 14:16:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testScan3
@@ -118,7 +127,7 @@
parser := self fooToken.
parser compileWithConfiguration: configuration.
- scanner := (Smalltalk at: configuration options scannerName) new.
+ scanner := (Smalltalk at: configuration context options scannerName) new.
scanner stream: 'bar' asPetitStream.
scanner perform: #'scan_foo'.
@@ -126,6 +135,8 @@
self assert: scanner position = 0.
self assert: scanner resultPosition = 0.
self assert: scanner result isNil.
+
+ "Modified: / 28-08-2015 / 14:16:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testScan4
@@ -133,7 +144,7 @@
parser := self fooToken, self idToken.
parser compileWithConfiguration: configuration.
- scanner := (Smalltalk at: configuration options scannerName) new.
+ scanner := (Smalltalk at: configuration context options scannerName) new.
scanner stream: 'foothere' asPetitStream.
scanner perform: #'scan_foo'.
@@ -147,6 +158,8 @@
self assert: scanner position = 3.
self assert: scanner resultPosition = 8.
self assert: scanner result = #id.
+
+ "Modified: / 28-08-2015 / 14:16:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testSequence
@@ -154,7 +167,7 @@
parser := self fooTrimmingToken, self idTrimmingToken.
parser compileWithConfiguration: configuration.
- scanner := (Smalltalk at: configuration options scannerName) new.
+ scanner := (Smalltalk at: configuration context options scannerName) new.
scanner stream: 'foo there ' asPetitStream.
scanner perform: #'foo'.
@@ -162,7 +175,7 @@
self assert: scanner position = 0.
self assert: scanner resultPosition = 3.
self assert: scanner stream position = 4.
- self assert: scanner result = #foo.
+ self assert: scanner result = #foo.
result := scanner perform: #'consume_foo'.
@@ -175,6 +188,8 @@
self assert: result start = 1.
self assert: result stop = 3.
self assert: result inputValue = 'foo'.
+
+ "Modified: / 28-08-2015 / 14:16:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testToken
@@ -182,7 +197,7 @@
parser := self fooToken, self idTrimmingToken.
parser compileWithConfiguration: configuration.
- scanner := (Smalltalk at: configuration options scannerName) new.
+ scanner := (Smalltalk at: configuration context options scannerName) new.
scanner stream: 'foo there' asPetitStream.
scanner perform: #'foo'.
@@ -190,7 +205,9 @@
self assert: scanner position = 0.
self assert: scanner resultPosition = 3.
self assert: scanner stream position = 3.
- self assert: scanner result = #foo.
+ self assert: scanner result = #foo.
+
+ "Modified: / 28-08-2015 / 14:16:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testTrimmingScan
@@ -198,14 +215,16 @@
parser := self fooTrimmingToken, self idTrimmingToken.
parser compileWithConfiguration: configuration.
- scanner := (Smalltalk at: configuration options scannerName) new.
+ scanner := (Smalltalk at: configuration context options scannerName) new.
scanner stream: 'foo there' asPetitStream.
scanner perform: #'scan_foo'.
self assert: scanner position = 0.
self assert: scanner resultPosition = 3.
- self assert: scanner result = #foo.
+ self assert: scanner result = #foo.
+
+ "Modified: / 28-08-2015 / 14:16:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testTrimmingToken
@@ -213,7 +232,7 @@
parser := self fooTrimmingToken, self idTrimmingToken.
parser compileWithConfiguration: configuration.
- scanner := (Smalltalk at: configuration options scannerName) new.
+ scanner := (Smalltalk at: configuration context options scannerName) new.
scanner stream: 'foo there' asPetitStream.
result := scanner perform: #'foo'.
@@ -221,8 +240,17 @@
self assert: scanner position = 0.
self assert: scanner resultPosition = 3.
self assert: scanner stream position = 4.
- self assert: scanner result = #foo.
+ self assert: scanner result = #foo.
self assert: result.
+
+ "Modified: / 28-08-2015 / 14:16:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!PPCDistinctScannerTest class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/tests/PPCLTokenizingOptimizationTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/PPCLTokenizingOptimizationTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -18,8 +18,10 @@
configuration
configuration := PPCTokenizingConfiguration new.
- configuration options generate: false.
+ configuration context options generate: false.
^ configuration
+
+ "Modified: / 28-08-2015 / 14:17:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
optimize: aPPParser
--- a/compiler/tests/PPCNodeFirstFollowNextTests.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/PPCNodeFirstFollowNextTests.st Sat Aug 29 07:56:14 2015 +0100
@@ -25,7 +25,9 @@
setUp
configuration := PPCConfiguration default.
- configuration options generate: false.
+ configuration context options generate: false.
+
+ "Modified: / 28-08-2015 / 14:17:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCNodeFirstFollowNextTests methodsFor:'support'!
@@ -162,7 +164,7 @@
!
testFirstNegate1
- configuration options specialize: true.
+ configuration context options specialize: true.
tree := self treeFrom: ('a' asParser negate, 'b' asParser).
first := self first: tree.
@@ -170,6 +172,8 @@
self assert: first size: 1.
self assert: first anyMatchesType: PPCNotNode.
self assert: first anyOne child literal = 'a'.
+
+ "Modified: / 28-08-2015 / 14:18:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testFirstNot
@@ -183,7 +187,7 @@
!
testFirstNot2
- configuration options specialize: true.
+ configuration context options specialize: true.
tree := self treeFrom: (#letter asParser not star, #letter asParser).
first := self first: tree.
@@ -191,6 +195,8 @@
self assert: first size: 2.
self assert: first anyMatchesType: PPCNotNode.
self assert: first anyMatchesType: PPCPredicateNode.
+
+ "Modified: / 28-08-2015 / 14:18:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testFirstNot4
@@ -323,11 +329,13 @@
!
testFirstSequence6
- configuration options specialize: true.
+ configuration context options specialize: true.
tree := self treeFrom: #space asParser star, 'a' asParser.
tree firstFollowCache: nil.
self should: [ self first: tree. ] raise: Exception.
+
+ "Modified: / 28-08-2015 / 14:18:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testFirstSequence7
@@ -351,7 +359,7 @@
!
testFirstStarMessagePredicate2
- configuration options specialize: true.
+ configuration context options specialize: true.
tree := self treeFrom: #space asParser star.
first := self first: tree.
@@ -359,18 +367,20 @@
self assert: first size: 2.
self assert: first anyMatchesType: PPCMessagePredicateNode.
self assert: first anyMatchesType: PPCSentinelNode.
-
-
+
+ "Modified: / 28-08-2015 / 14:18:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testFirstTerminal
- configuration options specialize: true.
+ configuration context options specialize: true.
tree := self treeFrom: 'a' asParser not.
first := self first: tree.
self assert: first size: 1.
self assert: (self first: tree) anyMatchesType: PPCNotLiteralNode.
+
+ "Modified: / 28-08-2015 / 14:18:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testFirstTerminal2
@@ -659,18 +669,20 @@
testFollowTrimmingToken
| token1 token2 |
- configuration options specialize: false.
+ configuration context options specialize: false.
token1 := #letter asParser plus trimmingToken name: 'token1'; yourself.
token2 := #letter asParser plus trimmingToken name: 'token2'; yourself.
tree := self treeFrom: token1, token2.
- followSet := self followOf: 'token1'
+ followSet := self followOf: 'token1'
in: tree
suchThat: [:e | e isFirstSetTerminal or: [e isKindOf: PPCTrimmingTokenNode ]].
self assert: followSet size: 1.
- self assert: followSet anyMatchesType: PPCTrimmingTokenNode.
+ self assert: followSet anyMatchesType: PPCTrimmingTokenNode.
+
+ "Modified: / 28-08-2015 / 14:18:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCNodeFirstFollowNextTests class methodsFor:'documentation'!
--- a/compiler/tests/PPCNodeTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/PPCNodeTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -148,7 +148,9 @@
setUp
configuration := PPCConfiguration default.
- configuration options generate: false.
+ configuration context options generate: false.
+
+ "Modified: / 28-08-2015 / 14:19:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
treeFrom: parser
--- a/compiler/tests/PPCOptimizeChoicesTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/PPCOptimizeChoicesTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -25,12 +25,11 @@
profile: true.
configuration := PPCPluggableConfiguration on: [ :_self |
- _self toPPCIr.
- _self cacheFirstFollow.
+ _self runPass: PPCCacheFirstFollowPass.
].
configuration options: options.
- "Modified: / 24-08-2015 / 23:40:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 29-08-2015 / 07:30:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testHasCommonPrefix
--- a/compiler/tests/PPCOverlappingTokensTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/PPCOverlappingTokensTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -46,9 +46,8 @@
profile: true;
yourself.
- configuration := PPCTokenizingConfiguration new
- options: options;
- yourself.
+ configuration := PPCTokenizingConfiguration new.
+ configuration context options: options.
self cleanClass.
@@ -58,7 +57,7 @@
keywordToken := (#word asParser plus, $: asParser) token trim name: 'kw'; yourself.
assignmentToken := (':=' asParser) token trim name: 'assignment'; yourself.
- "Modified: / 24-08-2015 / 23:40:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 28-08-2015 / 14:19:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
tearDown
--- a/compiler/tests/PPCTokenizingCodeGeneratorTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/PPCTokenizingCodeGeneratorTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -42,19 +42,18 @@
self cleanClass.
configuration := PPCPluggableConfiguration on: [ :_self |
- _self cacheFirstFollow.
- _self buildParserClazz.
- _self unmarkConsumeTokensForInline.
- _self createFSAs.
- _self buildScannerTokens.
- _self buildScannerScans.
+ _self runPass: PPCCacheFirstFollowPass.
+ _self runPass: PPCTokenizingCodeGenerator.
+ _self runPass: PPCFSAVisitor.
+ _self runPass: PPCTokenCodeGenerator.
+ _self runPass: PPCScannerCodeGenerator.
_self generateScanner.
_self generateParser.
] base: PPCConfiguration tokenizing.
configuration options: options.
- "Modified: / 24-08-2015 / 23:40:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 03-09-2015 / 22:34:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
tearDown
--- a/compiler/tests/PPCTokenizingTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/PPCTokenizingTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -48,13 +48,12 @@
profile: true;
yourself.
- configuration := PPCTokenizingConfiguration new
- options: options;
- yourself.
-
+ configuration := PPCTokenizingConfiguration new.
+ configuration context options: options.
+
self cleanClass.
- "Modified: / 24-08-2015 / 23:40:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 28-08-2015 / 14:20:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
tearDown
@@ -483,7 +482,7 @@
testWhitespace
| token ws trimmingToken |
- configuration options inline: false.
+ options inline: false.
token := 'foo' asParser token.
ws := #blank asParser star name: 'consumeWhitespace'; yourself.
@@ -498,11 +497,13 @@
self assert: result first inputValue = 'foo'.
self assert: (context invocations select: [:e | e = #scan_consumeWhitespace ]) size = 3.
+
+ "Modified: / 04-09-2015 / 06:13:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testWhitespace2
| token ws trimmingToken |
- configuration options inline: false.
+ options inline: false.
token := 'foo' asParser token.
ws := #blank asParser star name: 'consumeWhitespace'; yourself.
@@ -518,11 +519,13 @@
self assert: result second inputValue = 'foo'.
self assert: (context invocations select: [:e | e = #scan_consumeWhitespace ]) size = 4.
+
+ "Modified: / 04-09-2015 / 06:13:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testWhitespace3
| token ws trimmingToken |
- configuration options inline: false.
+ options inline: false.
token := 'foo' asParser token.
ws := #blank asParser star name: 'consumeWhitespace'; yourself.
@@ -539,5 +542,7 @@
self assert: result third inputValue = 'foo'.
self assert: (context invocations select: [:e | e = #scan_consumeWhitespace ]) size = 5.
+
+ "Modified: / 04-09-2015 / 06:13:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
--- a/compiler/tests/PPCUnivarsalGuardTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/PPCUnivarsalGuardTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -26,11 +26,10 @@
profile: true;
yourself.
- configuration := PPCUniversalConfiguration new
- options: options;
- yourself.
+ configuration := PPCUniversalConfiguration new.
+ configuration context options: options
- "Modified: / 24-08-2015 / 23:40:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 28-08-2015 / 14:22:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
tearDown
--- a/compiler/tests/PPCUniversalOptimizationTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/PPCUniversalOptimizationTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -23,17 +23,19 @@
super setUp.
configuration := PPCUniversalConfiguration new.
- configuration options generate: false.
+ configuration context options generate: false.
-" ^ configuration := PPCPluggableConfiguration on:
+" ^ configuration := PPCPluggableConfiguration on:
[ :_self |
_self toPPCIr.
_self createTokens.
_self specialize.
_self createRecognizingComponents.
_self inline.
- _self merge.
+ _self merge.
]"
+
+ "Modified: / 28-08-2015 / 14:22:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCUniversalOptimizationTest methodsFor:'tests'!
--- a/compiler/tests/PPCUniversalTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/PPCUniversalTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -574,11 +574,10 @@
debug: true;
yourself.
- configuration := PPCUniversalConfiguration new
- options: options;
- yourself.
+ configuration := PPCUniversalConfiguration new.
+ configuration context options: options
- "Modified: / 24-08-2015 / 23:40:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 28-08-2015 / 14:22:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!PPCUniversalTest class methodsFor:'documentation'!
--- a/compiler/tests/extras/Make.proto Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/extras/Make.proto Sat Aug 29 07:56:14 2015 +0100
@@ -34,7 +34,7 @@
# add the path(es) here:,
# ********** OPTIONAL: MODIFY the next lines ***
# LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/petitparser -I$(INCLUDE_TOP)/stx/goodies/petitparser/compiler -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/java -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk/tests -I$(INCLUDE_TOP)/stx/goodies/petitparser/tests -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/petitparser -I$(INCLUDE_TOP)/stx/goodies/petitparser/compiler -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/java -I$(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk -I$(INCLUDE_TOP)/stx/goodies/petitparser/tests -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic
# if you need any additional defines for embedded C code,
@@ -109,7 +109,6 @@
cd ../../../../sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../../../tests && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../../../parsers/java && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../../../parsers/smalltalk/tests && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
--- a/compiler/tests/extras/PPCLRPContainedElement.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/extras/PPCLRPContainedElement.st Sat Aug 29 07:56:14 2015 +0100
@@ -9,6 +9,7 @@
category:'PetitCompiler-Extras-Tests-LRP'
!
+
!PPCLRPContainedElement methodsFor:'accessing'!
container
@@ -19,3 +20,10 @@
container := anObject
! !
+!PPCLRPContainedElement class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/tests/extras/PPCLRPEvent.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/extras/PPCLRPEvent.st Sat Aug 29 07:56:14 2015 +0100
@@ -9,6 +9,7 @@
category:'PetitCompiler-Extras-Tests-LRP'
!
+
!PPCLRPEvent class methodsFor:'instance creation'!
named: aString trigger: aBlock
@@ -53,3 +54,10 @@
aPPCLRPNodeVisitor visitEventNode: self
! !
+!PPCLRPEvent class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/tests/extras/PPCLRPParserSmokeTest.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/extras/PPCLRPParserSmokeTest.st Sat Aug 29 07:56:14 2015 +0100
@@ -9,6 +9,7 @@
category:'PetitCompiler-Extras-Tests-LRP'
!
+
!PPCLRPParserSmokeTest class methodsFor:'accessing'!
resources
@@ -39,3 +40,10 @@
"Created: / 30-07-2015 / 19:07:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!PPCLRPParserSmokeTest class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/tests/extras/PPCLRPState.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/extras/PPCLRPState.st Sat Aug 29 07:56:14 2015 +0100
@@ -9,6 +9,7 @@
category:'PetitCompiler-Extras-Tests-LRP'
!
+
!PPCLRPState class methodsFor:'instance creation'!
name: aString body: anArray
@@ -71,3 +72,10 @@
aPPCLRPNodeVisitor visitStateNode: self.
! !
+!PPCLRPState class methodsFor:'documentation'!
+
+version_HG
+
+ ^ '$Changeset: <not expanded> $'
+! !
+
--- a/compiler/tests/extras/abbrev.stc Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/extras/abbrev.stc Sat Aug 29 07:56:14 2015 +0100
@@ -1,43 +1,15 @@
# automagically generated by the project definition
# this file is needed for stc to be able to compile modules independently.
# it provides information about a classes filename, category and especially namespace.
-PPCAbstractParserTest PPCAbstractParserTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 1
-PPCCompiledJavaVerificationTest PPCCompiledJavaVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
-PPCCompositeParserTest PPCCompositeParserTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 1
-PPCJavaTests PPCJavaTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
PPCLRPNode PPCLRPNode stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
PPCLRPParser PPCLRPParser stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
PPCLRPParserSmokeTest PPCLRPParserSmokeTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 1
PPCLRPSourcesResource PPCLRPSourcesResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 1
-PPCResources PPCResources stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 1
-PPCSetUpBeforeTearDownAfterResource PPCSetUpBeforeTearDownAfterResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 2
-PPCSmalltalkGrammarTests PPCSmalltalkGrammarTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkParserTests PPCSmalltalkParserTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkTests PPCSmalltalkTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCompiledJavaResource PPCompiledJavaResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
-PPCompiledJavaSyntaxTest PPCompiledJavaSyntaxTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
-PPExpressionGrammar PPExpressionGrammar stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 0
-PPExpressionGrammarTest PPExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPLL1ExpressionGrammar PPLL1ExpressionGrammar stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 0
-PPLL1ExpressionGrammarTest PPLL1ExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
stx_goodies_petitparser_compiler_tests_extras stx_goodies_petitparser_compiler_tests_extras stx:goodies/petitparser/compiler/tests/extras '* Projects & Packages *' 3
-PPCExpressionGrammarTest PPCExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPCExpressionGrammarVerificationTest PPCExpressionGrammarVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPCLL1ExpressionGrammarTest PPCLL1ExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
PPCLRPAction PPCLRPAction stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
PPCLRPCompiledParserSmokeTest PPCLRPCompiledParserSmokeTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 1
PPCLRPContainedElement PPCLRPContainedElement stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
PPCLRPSpawn PPCLRPSpawn stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
-PPCSmalltalkGrammarTests_Tokenized PPCSmalltalkGrammarTests_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkGrammarTests_Universal PPCSmalltalkGrammarTests_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkGrammarVerificationTest PPCSmalltalkGrammarVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkParserTests_Tokenized PPCSmalltalkParserTests_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkParserTests_Universal PPCSmalltalkParserTests_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkParserVerificationTest PPCSmalltalkParserVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCExpressionGrammarTest_Tokenized PPCExpressionGrammarTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPCExpressionGrammarTest_Universal PPCExpressionGrammarTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPCLL1ExpressionGrammarTest_Tokenized PPCLL1ExpressionGrammarTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPCLL1ExpressionGrammarTest_Universal PPCLL1ExpressionGrammarTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
PPCLRPComment PPCLRPComment stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
PPCLRPCompiledParserSmokeTest_Universal PPCLRPCompiledParserSmokeTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 1
PPCLRPErrorNode PPCLRPErrorNode stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
@@ -49,12 +21,40 @@
PPCLRPState PPCLRPState stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
PPCLRPTransition PPCLRPTransition stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
PPCLRPVariable PPCLRPVariable stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
-PPCSmalltalkGrammarVerificationTest_Tokenized PPCSmalltalkGrammarVerificationTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkGrammarVerificationTest_Universal PPCSmalltalkGrammarVerificationTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkParserVerificationTest_Tokenized PPCSmalltalkParserVerificationTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPCSmalltalkParserVerificationTest_Universal PPCSmalltalkParserVerificationTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
-PPExpressionGrammarVerificationTest_Tokenized PPExpressionGrammarVerificationTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
-PPExpressionGrammarVerificationTest_Universal PPExpressionGrammarVerificationTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
PPCLRPEpsilonTransition PPCLRPEpsilonTransition stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
PPCLRPTimeoutTransition PPCLRPTimeoutTransition stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
PPCLRPWildcardTransition PPCLRPWildcardTransition stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-LRP' 0
+PPCAbstractParserTest PPCAbstractParserTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 1
+PPCCompiledJavaVerificationTest PPCCompiledJavaVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
+PPCCompositeParserTest PPCCompositeParserTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 1
+PPCExpressionGrammarTest PPCExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPCExpressionGrammarTest_Tokenized PPCExpressionGrammarTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPCExpressionGrammarTest_Universal PPCExpressionGrammarTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPCExpressionGrammarVerificationTest PPCExpressionGrammarVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPCJavaTests PPCJavaTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
+PPCLL1ExpressionGrammarTest PPCLL1ExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPCLL1ExpressionGrammarTest_Tokenized PPCLL1ExpressionGrammarTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPCLL1ExpressionGrammarTest_Universal PPCLL1ExpressionGrammarTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPCResources PPCResources stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 1
+PPCSetUpBeforeTearDownAfterResource PPCSetUpBeforeTearDownAfterResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Support' 2
+PPCSmalltalkGrammarTests PPCSmalltalkGrammarTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkGrammarTests_Tokenized PPCSmalltalkGrammarTests_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkGrammarTests_Universal PPCSmalltalkGrammarTests_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkGrammarVerificationTest PPCSmalltalkGrammarVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkGrammarVerificationTest_Tokenized PPCSmalltalkGrammarVerificationTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkGrammarVerificationTest_Universal PPCSmalltalkGrammarVerificationTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkParserTests PPCSmalltalkParserTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkParserTests_Tokenized PPCSmalltalkParserTests_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkParserTests_Universal PPCSmalltalkParserTests_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkParserVerificationTest PPCSmalltalkParserVerificationTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkParserVerificationTest_Tokenized PPCSmalltalkParserVerificationTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkParserVerificationTest_Universal PPCSmalltalkParserVerificationTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCSmalltalkTests PPCSmalltalkTests stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Smalltalk' 1
+PPCompiledJavaResource PPCompiledJavaResource stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
+PPCompiledJavaSyntaxTest PPCompiledJavaSyntaxTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Java' 1
+PPExpressionGrammar PPExpressionGrammar stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 0
+PPExpressionGrammarTest PPExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPExpressionGrammarVerificationTest_Tokenized PPExpressionGrammarVerificationTest_Tokenized stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPExpressionGrammarVerificationTest_Universal PPExpressionGrammarVerificationTest_Universal stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
+PPLL1ExpressionGrammar PPLL1ExpressionGrammar stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 0
+PPLL1ExpressionGrammarTest PPLL1ExpressionGrammarTest stx:goodies/petitparser/compiler/tests/extras 'PetitCompiler-Extras-Tests-Expressions' 1
--- a/compiler/tests/extras/bc.mak Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/extras/bc.mak Sat Aug 29 07:56:14 2015 +0100
@@ -35,7 +35,7 @@
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\petitparser -I$(INCLUDE_TOP)\stx\goodies\petitparser\compiler -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\java -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk\tests -I$(INCLUDE_TOP)\stx\goodies\petitparser\tests -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2
+LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\petitparser -I$(INCLUDE_TOP)\stx\goodies\petitparser\compiler -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\java -I$(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk -I$(INCLUDE_TOP)\stx\goodies\petitparser\tests -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic
LOCALDEFINES=
STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -varPrefix=$(LIBNAME)
@@ -59,7 +59,6 @@
pushd ..\..\..\..\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\parsers\java & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
- pushd ..\..\..\parsers\smalltalk\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
--- a/compiler/tests/extras/stx_goodies_petitparser_compiler_tests_extras.st Wed Aug 26 23:34:48 2015 +0100
+++ b/compiler/tests/extras/stx_goodies_petitparser_compiler_tests_extras.st Sat Aug 29 07:56:14 2015 +0100
@@ -84,11 +84,10 @@
^ #(
#'stx:goodies/petitparser' "PPCompositeParser - superclass of PPCLRPParser"
- #'stx:goodies/petitparser/parsers/java' "PPJavaLexiconTest - superclass of PPCompiledJavaSyntaxTest"
- #'stx:goodies/petitparser/parsers/smalltalk/tests' "PPSmalltalkGrammarTests - superclass of PPCSmalltalkGrammarTests"
- #'stx:goodies/petitparser/tests' "PPAbstractParserTest - superclass of PPCAbstractParserTest"
- #'stx:goodies/sunit' "TestAsserter - superclass of PPCAbstractParserTest"
- #'stx:libbasic' "LibraryDefinition - superclass of stx_goodies_petitparser_compiler_tests_extras"
+ #'stx:goodies/petitparser/parsers/java' "PPJavaWhitespaceParser - extended"
+ #'stx:goodies/petitparser/tests' "PPAbstractParserTest - superclass of PPCLRPCompiledParserSmokeTest"
+ #'stx:goodies/sunit' "TestAsserter - superclass of PPCLRPCompiledParserSmokeTest"
+ #'stx:libbasic' "Autoload - superclass of PPCAbstractParserTest"
)
!
@@ -103,9 +102,8 @@
by searching all classes (and their packages) which are referenced by my classes."
^ #(
- #'stx:goodies/petitparser/compiler' "PPCConfiguration - referenced by PPCExpressionGrammarTest_Tokenized>>compilerConfiguration"
- #'stx:goodies/petitparser/parsers/smalltalk' "PPSmalltalkGrammar - referenced by PPCSmalltalkGrammarTests>>petitParserClass"
- #'stx:libbasic2' "Random - referenced by PPCResources>>expressionOfSize:stream:"
+ #'stx:goodies/petitparser/compiler' "PPCConfiguration - referenced by PPCLRPCompiledParserSmokeTest_Universal>>compilerConfiguration"
+ #'stx:goodies/petitparser/parsers/smalltalk' "PPSmalltalkParser - referenced by PPCLRPParser>>methodizeBlock:withArguments:"
)
!
@@ -129,43 +127,15 @@
^ #(
"<className> or (<className> attributes...) in load order"
- (PPCAbstractParserTest autoload)
- (PPCCompiledJavaVerificationTest autoload)
- (PPCCompositeParserTest autoload)
- (PPCJavaTests autoload)
PPCLRPNode
PPCLRPParser
PPCLRPParserSmokeTest
PPCLRPSourcesResource
- (PPCResources autoload)
- (PPCSetUpBeforeTearDownAfterResource autoload)
- (PPCSmalltalkGrammarTests autoload)
- (PPCSmalltalkParserTests autoload)
- (PPCSmalltalkTests autoload)
- (PPCompiledJavaResource autoload)
- (PPCompiledJavaSyntaxTest autoload)
- (PPExpressionGrammar autoload)
- (PPExpressionGrammarTest autoload)
- (PPLL1ExpressionGrammar autoload)
- (PPLL1ExpressionGrammarTest autoload)
(#'stx_goodies_petitparser_compiler_tests_extras' autoload)
- (PPCExpressionGrammarTest autoload)
- (PPCExpressionGrammarVerificationTest autoload)
- (PPCLL1ExpressionGrammarTest autoload)
PPCLRPAction
PPCLRPCompiledParserSmokeTest
PPCLRPContainedElement
PPCLRPSpawn
- (#'PPCSmalltalkGrammarTests_Tokenized' autoload)
- (#'PPCSmalltalkGrammarTests_Universal' autoload)
- (PPCSmalltalkGrammarVerificationTest autoload)
- (#'PPCSmalltalkParserTests_Tokenized' autoload)
- (#'PPCSmalltalkParserTests_Universal' autoload)
- (PPCSmalltalkParserVerificationTest autoload)
- (#'PPCExpressionGrammarTest_Tokenized' autoload)
- (#'PPCExpressionGrammarTest_Universal' autoload)
- (#'PPCLL1ExpressionGrammarTest_Tokenized' autoload)
- (#'PPCLL1ExpressionGrammarTest_Universal' autoload)
PPCLRPComment
#'PPCLRPCompiledParserSmokeTest_Universal'
PPCLRPErrorNode
@@ -177,15 +147,43 @@
PPCLRPState
PPCLRPTransition
PPCLRPVariable
- (#'PPCSmalltalkGrammarVerificationTest_Tokenized' autoload)
- (#'PPCSmalltalkGrammarVerificationTest_Universal' autoload)
- (#'PPCSmalltalkParserVerificationTest_Tokenized' autoload)
- (#'PPCSmalltalkParserVerificationTest_Universal' autoload)
- (#'PPExpressionGrammarVerificationTest_Tokenized' autoload)
- (#'PPExpressionGrammarVerificationTest_Universal' autoload)
PPCLRPEpsilonTransition
PPCLRPTimeoutTransition
PPCLRPWildcardTransition
+ (PPCAbstractParserTest autoload)
+ (PPCCompiledJavaVerificationTest autoload)
+ (PPCCompositeParserTest autoload)
+ (PPCExpressionGrammarTest autoload)
+ (#'PPCExpressionGrammarTest_Tokenized' autoload)
+ (#'PPCExpressionGrammarTest_Universal' autoload)
+ (PPCExpressionGrammarVerificationTest autoload)
+ (PPCJavaTests autoload)
+ (PPCLL1ExpressionGrammarTest autoload)
+ (#'PPCLL1ExpressionGrammarTest_Tokenized' autoload)
+ (#'PPCLL1ExpressionGrammarTest_Universal' autoload)
+ (PPCResources autoload)
+ (PPCSetUpBeforeTearDownAfterResource autoload)
+ (PPCSmalltalkGrammarTests autoload)
+ (#'PPCSmalltalkGrammarTests_Tokenized' autoload)
+ (#'PPCSmalltalkGrammarTests_Universal' autoload)
+ (PPCSmalltalkGrammarVerificationTest autoload)
+ (#'PPCSmalltalkGrammarVerificationTest_Tokenized' autoload)
+ (#'PPCSmalltalkGrammarVerificationTest_Universal' autoload)
+ (PPCSmalltalkParserTests autoload)
+ (#'PPCSmalltalkParserTests_Tokenized' autoload)
+ (#'PPCSmalltalkParserTests_Universal' autoload)
+ (PPCSmalltalkParserVerificationTest autoload)
+ (#'PPCSmalltalkParserVerificationTest_Tokenized' autoload)
+ (#'PPCSmalltalkParserVerificationTest_Universal' autoload)
+ (PPCSmalltalkTests autoload)
+ (PPCompiledJavaResource autoload)
+ (PPCompiledJavaSyntaxTest autoload)
+ (PPExpressionGrammar autoload)
+ (PPExpressionGrammarTest autoload)
+ (#'PPExpressionGrammarVerificationTest_Tokenized' autoload)
+ (#'PPExpressionGrammarVerificationTest_Universal' autoload)
+ (PPLL1ExpressionGrammar autoload)
+ (PPLL1ExpressionGrammarTest autoload)
)
!