# HG changeset patch # User Jan Vrany # Date 1440831374 -3600 # Node ID a949c4fe44dfcda326db62ed643b507228745c65 # Parent 666372dbe30785264ded7f55c1098626eab4464b 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. diff -r 666372dbe307 -r a949c4fe44df compiler/Make.proto --- 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) diff -r 666372dbe307 -r a949c4fe44df compiler/Make.spec --- 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) \ diff -r 666372dbe307 -r a949c4fe44df compiler/PEGFsaGenerator.st --- 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:'' diff -r 666372dbe307 -r a949c4fe44df compiler/PEGFsaStateInfo.st --- 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: $' +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/PPCCacheFirstFollowPass.st --- /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 " +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/PPCCheckingVisitor.st --- /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 " +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/PPCCodeGenerator.st --- 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 " + "Modified: / 04-09-2015 / 10:18:25 / Jan Vrany " ! ! !PPCCodeGenerator methodsFor:'support'! diff -r 666372dbe307 -r a949c4fe44df compiler/PPCCompilationContext.st --- 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 " +! + options ^ options ! diff -r 666372dbe307 -r a949c4fe44df compiler/PPCCompilationError.st --- 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: $' +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/PPCCompilationOptions.st --- 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 " ! 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 ! diff -r 666372dbe307 -r a949c4fe44df compiler/PPCConfiguration.st --- 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 " ! -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 " ! 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 " ! ! !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 " ! +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 " +! + +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 " +! + 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 " ! ! !PPCConfiguration methodsFor:'error handling'! @@ -168,82 +187,6 @@ "Modified: / 26-08-2015 / 19:49:36 / Jan Vrany " ! ! -!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 " -! - -createTokens - context options detectTokens ifFalse:[ - ^ self - ]. - self runPass: PPCTokenDetector - - "Modified: / 26-08-2015 / 22:36:19 / Jan Vrany " -! - -inline - context options inline ifFalse:[ - ^ self - ]. - self runPass: PPCInliningVisitor - - "Modified: / 26-08-2015 / 22:36:28 / Jan Vrany " -! - -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 " -! - -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 " -! - -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 " + "Modified: / 29-08-2015 / 07:16:10 / Jan Vrany " ! ! diff -r 666372dbe307 -r a949c4fe44df compiler/PPCDeterministicChoiceNode.st --- 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: $' +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/PPCFSAVisitor.st --- 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 " ! 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 " ! 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 " ! visitTokenNode: node diff -r 666372dbe307 -r a949c4fe44df compiler/PPCInliningVisitor.st --- 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 " ! ! !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 ! diff -r 666372dbe307 -r a949c4fe44df compiler/PPCNode.st --- 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 " +! ! + !PPCNode methodsFor:'copying'! postCopy diff -r 666372dbe307 -r a949c4fe44df compiler/PPCNodeVisitor.st --- 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: $' +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/PPCPass.st --- 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 " + "Created: / 29-08-2015 / 07:12:54 / Jan Vrany " ! ! !PPCPass methodsFor:'accessing'! -context: aPPCCompilationContext +context + ^ context +! + +context:aPPCCompilationContext context := aPPCCompilationContext. +! ! - "Created: / 26-08-2015 / 22:05:38 / Jan Vrany " +!PPCPass methodsFor:'converting'! + +asPPCPass + ^ self + + "Created: / 29-08-2015 / 07:13:12 / Jan Vrany " ! ! !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 " + "Modified: / 29-08-2015 / 07:15:07 / Jan Vrany " ! run: ir in: ctx diff -r 666372dbe307 -r a949c4fe44df compiler/PPCPassVisitor.st --- /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 " +! ! + +!PPCPassVisitor methodsFor:'accessing'! + +context + ^ context +! + +context: aPPCCompilationContext + context := aPPCCompilationContext. + + "Created: / 26-08-2015 / 22:05:38 / Jan Vrany " +! ! + +!PPCPassVisitor methodsFor:'converting'! + +asPPCPass + ^ self + + "Created: / 29-08-2015 / 07:13:12 / Jan Vrany " +! ! + +!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 " +! + +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 " +! ! + +!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' +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/PPCPluggableConfiguration.st --- 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 " ! ! diff -r 666372dbe307 -r a949c4fe44df compiler/PPCRewritingVisitor.st --- 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:'' diff -r 666372dbe307 -r a949c4fe44df compiler/PPCScannerCodeGenerator.st --- 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 " ! ! !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 " + "Modified: / 03-09-2015 / 22:27:06 / Jan Vrany " ! ! +!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 " + "Modified: / 04-09-2015 / 06:21:08 / Jan Vrany " +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/PPCStarAnyNode.st --- 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: $' +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/PPCTokenCodeGenerator.st --- 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:'' diff -r 666372dbe307 -r a949c4fe44df compiler/PPCTokenizingConfiguration.st --- 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 " +! ! - ^ 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 " -! - -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 " -! - -buildScannerTokens - self runPass: PPCTokenCodeGenerator + self runPass: PPCMergingVisitor . - "Modified: / 25-08-2015 / 00:04:46 / Jan Vrany " -! + 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 " -! + 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 " + "Modified: / 04-09-2015 / 10:25:00 / Jan Vrany " ! ! -!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 " -! - -createLL1Choices - self flag:'This phase needs revisit and update'. - self runPass: PPCLL1Visitor - - "Modified: / 26-08-2015 / 22:52:39 / Jan Vrany " -! - -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 " -! - -unmarkConsumeTokensForInline - "TODO JK: Hack alert, use visitor, or at leas isTokenConsume" - ir allNodesDo: [ :node | - node class == PPCTokenConsumeNode ifTrue: [ - node unmarkForInline - ] - ] -! ! - diff -r 666372dbe307 -r a949c4fe44df compiler/PPCUniversalConfiguration.st --- 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 " -! +!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 " ! ! -!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 " -! - -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 " + self generateParser. + + "Modified: / 04-09-2015 / 10:25:07 / Jan Vrany " ! ! !PPCUniversalConfiguration class methodsFor:'documentation'! diff -r 666372dbe307 -r a949c4fe44df compiler/abbrev.stc --- 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 diff -r 666372dbe307 -r a949c4fe44df compiler/bc.mak --- 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) diff -r 666372dbe307 -r a949c4fe44df compiler/benchmarks/Make.proto --- 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)" diff -r 666372dbe307 -r a949c4fe44df compiler/benchmarks/PPCSmalltalkNoopParser.st --- 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 " ! ! +!PPCSmalltalkNoopParser class methodsFor:'documentation'! + +version_HG + + ^ '$Changeset: $' +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/benchmarks/abbrev.stc --- 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 diff -r 666372dbe307 -r a949c4fe44df compiler/benchmarks/bc.mak --- 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) " diff -r 666372dbe307 -r a949c4fe44df compiler/benchmarks/stx_goodies_petitparser_compiler_benchmarks.st --- 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' ) ! diff -r 666372dbe307 -r a949c4fe44df compiler/extensions.st --- 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 " + configuration := PPCConfiguration default. + configuration context options: options. + ^ configuration compile: self + + "Modified: / 28-08-2015 / 14:25:18 / Jan Vrany " ! ! !PPParser methodsFor:'*petitcompiler'! diff -r 666372dbe307 -r a949c4fe44df compiler/libInit.cc --- 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); diff -r 666372dbe307 -r a949c4fe44df compiler/stx_goodies_petitparser_compiler.st --- 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 diff -r 666372dbe307 -r a949c4fe44df compiler/tests/FooScannerTest.st --- 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: $' +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/tests/PEGFsaScannerIntegrationTest.st --- 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 " ! mergeFsa: fsa1 and: fsa2 diff -r 666372dbe307 -r a949c4fe44df compiler/tests/PEGFsaSequenceDeterminizationTest.st --- 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: $' +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/tests/PPCCodeGeneratorTest.st --- 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 " + "Modified: / 04-09-2015 / 10:31:47 / Jan Vrany " ! tearDown @@ -40,13 +49,6 @@ ]. ! ! -!PPCCodeGeneratorTest methodsFor:'generating'! - -compileTree: root - parser := configuration compile: root. - -! ! - !PPCCodeGeneratorTest methodsFor:'testing'! assert: whatever parse: input diff -r 666372dbe307 -r a949c4fe44df compiler/tests/PPCDistinctScannerTest.st --- 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 " ! 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 " ! 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 " ! 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 " ! 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 " ! 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 " ! 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 " ! 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 " ! 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 " ! 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 " ! ! +!PPCDistinctScannerTest class methodsFor:'documentation'! + +version_HG + + ^ '$Changeset: $' +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/tests/PPCLTokenizingOptimizationTest.st --- 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 " ! optimize: aPPParser diff -r 666372dbe307 -r a949c4fe44df compiler/tests/PPCNodeFirstFollowNextTests.st --- 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 " ! ! !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 " ! 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 " ! 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 " ! 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 " ! 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 " ! 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 " ! ! !PPCNodeFirstFollowNextTests class methodsFor:'documentation'! diff -r 666372dbe307 -r a949c4fe44df compiler/tests/PPCNodeTest.st --- 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 " ! treeFrom: parser diff -r 666372dbe307 -r a949c4fe44df compiler/tests/PPCOptimizeChoicesTest.st --- 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 " + "Modified: / 29-08-2015 / 07:30:28 / Jan Vrany " ! testHasCommonPrefix diff -r 666372dbe307 -r a949c4fe44df compiler/tests/PPCOverlappingTokensTest.st --- 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 " + "Modified: / 28-08-2015 / 14:19:50 / Jan Vrany " ! tearDown diff -r 666372dbe307 -r a949c4fe44df compiler/tests/PPCTokenizingCodeGeneratorTest.st --- 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 " + "Modified: / 03-09-2015 / 22:34:22 / Jan Vrany " ! tearDown diff -r 666372dbe307 -r a949c4fe44df compiler/tests/PPCTokenizingTest.st --- 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 " + "Modified: / 28-08-2015 / 14:20:21 / Jan Vrany " ! 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 " ! 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 " ! 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 " ! ! diff -r 666372dbe307 -r a949c4fe44df compiler/tests/PPCUnivarsalGuardTest.st --- 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 " + "Modified: / 28-08-2015 / 14:22:08 / Jan Vrany " ! tearDown diff -r 666372dbe307 -r a949c4fe44df compiler/tests/PPCUniversalOptimizationTest.st --- 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 " ! ! !PPCUniversalOptimizationTest methodsFor:'tests'! diff -r 666372dbe307 -r a949c4fe44df compiler/tests/PPCUniversalTest.st --- 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 " + "Modified: / 28-08-2015 / 14:22:39 / Jan Vrany " ! ! !PPCUniversalTest class methodsFor:'documentation'! diff -r 666372dbe307 -r a949c4fe44df compiler/tests/extras/Make.proto --- 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)" diff -r 666372dbe307 -r a949c4fe44df compiler/tests/extras/PPCLRPContainedElement.st --- 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: $' +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/tests/extras/PPCLRPEvent.st --- 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: $' +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/tests/extras/PPCLRPParserSmokeTest.st --- 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 " ! ! +!PPCLRPParserSmokeTest class methodsFor:'documentation'! + +version_HG + + ^ '$Changeset: $' +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/tests/extras/PPCLRPState.st --- 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: $' +! ! + diff -r 666372dbe307 -r a949c4fe44df compiler/tests/extras/abbrev.stc --- 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 diff -r 666372dbe307 -r a949c4fe44df compiler/tests/extras/bc.mak --- 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) " diff -r 666372dbe307 -r a949c4fe44df compiler/tests/extras/stx_goodies_petitparser_compiler_tests_extras.st --- 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 @@ ^ #( " or ( 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) ) !