# HG changeset patch # User Jan Vrany # Date 1439913428 -3600 # Node ID 9ccc84deaea020299584100c6e456dc2281de4cf # Parent 1563dce3c5b4c89751862bb4807672d661e6c2dc Added benchmarks for Johan's LRP Parser diff -r 1563dce3c5b4 -r 9ccc84deaea0 compiler/benchmarks/Make.proto --- a/compiler/benchmarks/Make.proto Tue Aug 18 13:09:42 2015 +0100 +++ b/compiler/benchmarks/Make.proto Tue Aug 18 16:57:08 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/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 +LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/calipel/s -I$(INCLUDE_TOP)/stx/goodies/liverobotics_parser -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 # if you need any additional defines for embedded C code, @@ -104,8 +104,13 @@ 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)" @@ -126,6 +131,7 @@ # BEGINMAKEDEPEND --- do not remove this line; make depend needs it $(OUTDIR)PPCBenchmark.$(O) PPCBenchmark.$(H): PPCBenchmark.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) +$(OUTDIR)PPCLRPParser_johanfabry_39.$(O) PPCLRPParser_johanfabry_39.$(H): PPCLRPParser_johanfabry_39.st $(INCLUDE_TOP)/stx/goodies/petitparser/PPCompositeParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/PPDelegateParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/PPParser.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)PPCSmalltalkNoopParser.$(O) PPCSmalltalkNoopParser.$(H): PPCSmalltalkNoopParser.st $(INCLUDE_TOP)/stx/goodies/petitparser/PPCompositeParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/PPDelegateParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/PPParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/parsers/smalltalk/PPSmalltalkGrammar.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)stx_goodies_petitparser_compiler_benchmarks.$(O) stx_goodies_petitparser_compiler_benchmarks.$(H): stx_goodies_petitparser_compiler_benchmarks.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR) diff -r 1563dce3c5b4 -r 9ccc84deaea0 compiler/benchmarks/Make.spec --- a/compiler/benchmarks/Make.spec Tue Aug 18 13:09:42 2015 +0100 +++ b/compiler/benchmarks/Make.spec Tue Aug 18 16:57:08 2015 +0100 @@ -52,6 +52,7 @@ COMMON_CLASSES= \ PPCBenchmark \ + PPCLRPParser_johanfabry_39 \ PPCSmalltalkNoopParser \ stx_goodies_petitparser_compiler_benchmarks \ @@ -60,6 +61,7 @@ COMMON_OBJS= \ $(OUTDIR_SLASH)PPCBenchmark.$(O) \ + $(OUTDIR_SLASH)PPCLRPParser_johanfabry_39.$(O) \ $(OUTDIR_SLASH)PPCSmalltalkNoopParser.$(O) \ $(OUTDIR_SLASH)stx_goodies_petitparser_compiler_benchmarks.$(O) \ diff -r 1563dce3c5b4 -r 9ccc84deaea0 compiler/benchmarks/PPCBenchmark.st --- a/compiler/benchmarks/PPCBenchmark.st Tue Aug 18 13:09:42 2015 +0100 +++ b/compiler/benchmarks/PPCBenchmark.st Tue Aug 18 16:57:08 2015 +0100 @@ -35,18 +35,27 @@ " ! -run: selector - | benchmarkSuiteClass | +run: selectorOrSelectors + | benchmarkSuiteClass benchmarkSuite | benchmarkSuiteClass := Smalltalk at: #BenchmarkSuite. benchmarkSuiteClass isNil ifTrue:[ self error: 'CalipeL is not loaded.' ]. - ^ (benchmarkSuiteClass class:self selector: selector ) run - + selectorOrSelectors isSymbol ifTrue:[ + benchmarkSuite := (benchmarkSuiteClass class:self selector: selectorOrSelectors ) run + ] ifFalse:[ + benchmarkSuite := benchmarkSuiteClass new. + selectorOrSelectors do:[:each | + benchmarkSuite addBenchmark: (BenchmarkInstance class: self selector: each) + ]. + ]. + ^ benchmarkSuite run " PPCBenchmark run: #benchmarkRBParserC " + + "Modified: / 18-08-2015 / 16:34:12 / Jan Vrany " ! spy: benchmark @@ -359,6 +368,40 @@ ! +benchmarkLRPParserC + + + + 1000 timesRepeat:[ + input do: [ :source | parser parse: source withContext: context ] + ] + + "Created: / 18-08-2015 / 16:27:27 / Jan Vrany " +! + +benchmarkLRPParserCompiledC + + + + + 1000 timesRepeat:[ + input do: [ :source | parser parse: source withContext: context ] + ] + + "Created: / 18-08-2015 / 16:26:49 / Jan Vrany " +! + +benchmarkLRPParser_johanfabry_39C + + + + 1000 timesRepeat:[ + input do: [ :source | parser parse: source withContext: context ] + ] + + "Created: / 18-08-2015 / 16:49:01 / Jan Vrany " +! + benchmarkRBParserC @@ -576,6 +619,37 @@ input := sources expressionSourcesBig. ! +setupLRPParser + + parser := PPCLRPParser new. + context := self context. + context initializeFor: parser. + input := PPCLRPSourcesResource current sources + + "Created: / 18-08-2015 / 16:34:57 / Jan Vrany " +! + +setupLRPParserCompiled + + configuration := PPCConfiguration universal. + parser := PPCLRPParser new compileWithConfiguration: configuration. + context := self context. + context initializeFor: parser. + input := PPCLRPSourcesResource current sources + + "Created: / 18-08-2015 / 16:35:04 / Jan Vrany " +! + +setupLRPParser_johanfabry_39 + + parser := PPCLRPParser_johanfabry_39 new. + context := self context. + context initializeFor: parser. + input := PPCLRPSourcesResource current sources + + "Created: / 18-08-2015 / 16:48:22 / Jan Vrany " +! + setupRBParser input := sources smalltalkSourcesBig. @@ -685,6 +759,17 @@ " ! +teardownLRPParserCompiled + parser class removeFromSystem. +" + size := input inject: 0 into: [:r :e | r + e size ]. + Transcript crShow: 'Compiled Grammar time: ', time asString. + Transcript crShow: 'Time per character: ', (time / size * 1000.0) asString, ' microseconds'. +" + + "Created: / 18-08-2015 / 16:36:11 / Jan Vrany " +! + teardownSmalltalkGrammarCompiled parser class removeFromSystem. " diff -r 1563dce3c5b4 -r 9ccc84deaea0 compiler/benchmarks/PPCLRPParser_johanfabry_39.st --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compiler/benchmarks/PPCLRPParser_johanfabry_39.st Tue Aug 18 16:57:08 2015 +0100 @@ -0,0 +1,398 @@ +"{ Package: 'stx:goodies/petitparser/compiler/benchmarks' }" + +"{ NameSpace: Smalltalk }" + +PPCompositeParser subclass:#PPCLRPParser_johanfabry_39 + instanceVariableNames:'program variable block bra ket identifier machine body event + transition epsilon wildcard state onentry running onexit comment + lineTerminator statebody spawn integer errorNode success failed + lastError styler timeoutIdentifier timeoutInteger endOfComment + error' + classVariableNames:'' + poolDictionaries:'' + category:'PetitCompiler-Benchmarks-Core' +! + +!PPCLRPParser_johanfabry_39 class methodsFor:'accessing'! + +ignoredNames + + ^super ignoredNames , #(styler failed lastError) +! ! + +!PPCLRPParser_johanfabry_39 methodsFor:'accessing'! + +error + ^error + + "Modified (format): / 18-08-2015 / 16:56:20 / Jan Vrany " +! + +failed + ^failed +! + +lastError + ^lastError +! + +start + ^program end +! + +styler + ^styler ifNil:[styler := PPCLRPRubricStyler new] +! + +styler: aSHStyler + + styler := aSHStyler. +! + +success + ^success +! ! + +!PPCLRPParser_johanfabry_39 methodsFor:'block creation'! + +createSTBlockFrom: aBlockNode withVariables: aDictionary + |compiled retval keys| + + keys := OrderedCollection new: aDictionary size. + aDictionary associations do: [:asoc| + keys add: asoc key. + ]. + + compiled := (self methodizeBlock: aBlockNode withArguments: keys) compiledMethod. + retval := compiled valueWithReceiver: Object new arguments: {aDictionary}. + + ^retval. +! + +methodizeBlock: parsedBlock withArguments: anArray + + |method retval inspoint| + + method := 'captureV: PPCLRPScopeVariables'. + + retval := PPSmalltalkParser new method parse: method , '^[1]'. + inspoint := retval body statements first. + parsedBlock scope: inspoint value scope. + parsedBlock parent: inspoint. + inspoint value: parsedBlock. + retval source: retval asString. + + anArray do: [:aVarName| + retval := retval rewriteLRPVarNamedWrite: aVarName. + retval := retval rewriteLRPVarNamedRead: aVarName. + ]. + ^retval +! ! + +!PPCLRPParser_johanfabry_39 methodsFor:'error handing'! + +failWithValue: anObject + + failed := true. + lastError := anObject. +! ! + +!PPCLRPParser_johanfabry_39 methodsFor:'grammar'! + +body + ^(variable / event / state / transition / timeoutIdentifier / timeoutInteger / epsilon / wildcard / comment / errorNode) star +! + +errorNode + ^(bra, (bra/ket)negate star , ket) token + ==> [ :token | + PPCLRPErrorNode new start: token start stop: token stop; yourself. + ] +! + +event + ^ (bra, 'event' asParser trim, identifier, block, ket) token + ==> [:token | | ident | + ident := (token parsedValue at: 3). + (LRPEvent named: ident parsedValue + trigger: (token parsedValue at: 4)) + start: token start stop: token stop; + nameRange: (ident start to: ident stop); + yourself. + ] +! + +integer + ^(#digit asParser) plus flatten trim token +! + +machine + ^(bra , 'machine' asParser trim , identifier , body , ket) token + ==> [:token | | ident bod stop | + ident := (token parsedValue at: 3). + bod := (token parsedValue at: 4). + bod isEmpty + ifTrue: [ stop := token stop - 1 ] + ifFalse: [ stop := (bod at: 1) start - 1 ]. + (LRPMachine name: ident parsedValue body: bod) + start: token start stop: token stop; + nameRange: (ident start to: stop); + yourself. + ] +! + +onentry + ^ (bra, 'onentry' asParser trim, (block/spawn) , ket ) token + ==> [:token | + (LRPOnEntry block: (token parsedValue at: 3)) + start: token start stop: token stop; + keywordEnd: (token parsedValue at: 3) start -1; + yourself. + ] +! + +onexit + ^ (bra, 'onexit' asParser trim, (block/spawn), ket) token + ==> [:token | + (LRPOnExit block: (token parsedValue at: 3)) + start: token start stop: token stop; + keywordEnd: (token parsedValue at: 3) start -1; + yourself. + ] +! + +program + ^ (variable / machine / comment / spawn / errorNode) star +! + +running + ^ (bra, 'running' asParser trim, (block/spawn), ket) token + ==> [:token | + (LRPRunning block: (token parsedValue at: 3)) + start: token start stop: token stop; + keywordEnd: (token parsedValue at: 3) start -1; + yourself. + ] +! + +spawn + ^(bra , 'spawn' asParser trim , identifier , identifier , ket) token + ==> [ :token | + (LRPSpawn + machine: (token parsedValue at: 3) parsedValue + state: (token parsedValue at: 4) parsedValue) + start: token start stop: token stop; + nameRange: ((token parsedValue at: 3) start to: (token parsedValue at: 4) stop) + yourself. + ] + +! + +state + ^(bra , 'state' asParser trim , identifier , statebody , ket) token + ==> [ :token | | ident | + ident := (token parsedValue at: 3). + (LRPState name: ident parsedValue + body: (token parsedValue at: 4)) + start: token start stop: token stop; + nameRange: (ident start to: ident stop); + yourself. + ] + +! + +statebody + ^(onentry / running / onexit / machine / comment / errorNode) star + +! + +variable + ^ (bra , 'var' asParser trim , identifier , ':=' asParser trim , block , ket) token + ==> [ :token | |ident| + ident := (token parsedValue at: 3). + (LRPVariable name: ident parsedValue + value: (token parsedValue at: 5)) + start: token start stop: token stop; + nameRange: (ident start to: ident stop); + yourself. + ] +! ! + +!PPCLRPParser_johanfabry_39 methodsFor:'grammar-comments'! + +comment + ^ ((PPPredicateObjectParser blank / lineTerminator) star, ( $; asParser , (endOfComment negate star) flatten, endOfComment)) token + ==> [ :token | |text| + text := token parsedValue at: 2. + (LRPComment text: (text copyFrom: 2 to: text size -1)) + start: token start stop: token stop; + yourself. + ] +! + +endOfComment + ^ #eof asParser / lineTerminator +! + +lineTerminator + + ^ (Character lf asParser) / (Character cr asParser , (Character lf asParser ) optional ) +! ! + +!PPCLRPParser_johanfabry_39 methodsFor:'grammar-common'! + +block + ^PPSmalltalkParser new block +! + +bra + ^ $( asParser trim +! + +identifier + ^(#letter asParser ,(#letter asParser / #digit asParser / $_ asParser) star) flatten trim token +! + +ket + ^ $) asParser trim +! ! + +!PPCLRPParser_johanfabry_39 methodsFor:'grammar-transitions'! + +epsilon + ^ (bra, 'eps' asParser trim, identifier, '->' asParser trim, identifier, identifier optional, ket) token + ==> [ :token | | trans name | + name := (token parsedValue at: 6). + name ifNil: [name := '' ] ifNotNil: [ name := name parsedValue ]. + trans := + (LRPEpsilonTransition + from: (token parsedValue at: 3) parsedValue + to: (token parsedValue at: 5) parsedValue + name: name). + self setTransitionRangesIn: trans for: token withArrowAt: 3. + trans + ] +! + +timeoutIdentifier + ^ (bra, 'ontime' asParser trim, identifier , identifier, '->' asParser trim, identifier, identifier optional, ket) token + ==> (self transitionActionHandlerFor: PPCLRPTimeoutTransition). +! + +timeoutInteger + ^ (bra, 'ontime' asParser trim, integer, identifier, '->' asParser trim, identifier, identifier optional, ket) token + ==> [ :token | | trans name | + name := (token parsedValue at: 7). + name ifNil: [name := '' ] ifNotNil: [ name := name parsedValue ]. + trans := + (LRPTimeoutTransition + on: (Integer readFrom: (token parsedValue at: 3) parsedValue) + from: (token parsedValue at: 4) parsedValue + to: (token parsedValue at: 6) parsedValue + name: name). + self setTransitionRangesIn: trans for: token withArrowAt: 4. + trans. + ] +! + +transition + ^ (bra, 'on' asParser trim, identifier, identifier, '->' asParser trim, identifier, identifier optional , ket) token + ==> (self transitionActionHandlerFor: PPCLRPTransition). +! + +wildcard + ^ (bra, 'on' asParser trim, identifier, '*->' asParser trim, identifier, identifier optional, ket) token + ==> [ :token | | trans name | + name := (token parsedValue at: 6). + name ifNil: [name := '' ] ifNotNil: [ name := name parsedValue ]. + trans := + (LRPWildcardTransition + on: (token parsedValue at: 3) parsedValue + to: (token parsedValue at: 5) parsedValue + name: name ). + self setTransitionRangesIn: trans for: token withArrowAt: 3. + trans + ] + +! ! + +!PPCLRPParser_johanfabry_39 methodsFor:'parsing'! + +parse: aString + + |parsedProgram | + failed := false. + parsedProgram := super parse: aString. + + parsedProgram isPetitFailure ifTrue:[ + parsedProgram := + {LRPErrorNode new + start: 1; + stop: aString size; + yourself. + } + ]. + + "visit pattern?" + parsedProgram do:[:aNode| + (aNode onErrorNode: [:anErrorNode| ] parser: self) + ]. + + ^parsedProgram. +! + +parse: aString onError: aBlock + |parsedProgram| + + parsedProgram := self parse: aString. + + failed ifTrue:[ + "visit pattern?" + parsedProgram do:[:aNode| + (aNode onErrorNode: aBlock parser: self) + ]. + ]. + + ^parsedProgram. +! + +parse: aText styleOn: aViewOrMorph + |parsedProgram| + + parsedProgram := self parse: aText. + self styler view: aViewOrMorph; parser: self; nodes: parsedProgram; style: aText. + + ^parsedProgram. +! ! + +!PPCLRPParser_johanfabry_39 methodsFor:'transitions'! + +setTransitionRangesIn: aTransition for: aToken withArrowAt: index + | ident | + ident := (aToken parsedValue at: index + 3). + ident + ifNil: [ aTransition nameRange: (1 to: 1) ] + ifNotNil: [ aTransition nameRange: (ident start to: ident stop) ]. + aTransition + start: aToken start stop: aToken stop; + arrowRange: + ((aToken parsedValue at: index) stop + 1 + to: (aToken parsedValue at: index + 2) start -1); + keywordEnd: (aToken parsedValue at: 3) start -1 +! + +transitionActionHandlerFor: aTransitionClass + ^[ :token | | trans name| + name := (token parsedValue at: 7). + name ifNil: [name := '' ] ifNotNil: [ name := name parsedValue ]. + trans := + (aTransitionClass + on: (token parsedValue at: 3) parsedValue + from: (token parsedValue at: 4) parsedValue + to: (token parsedValue at: 6) parsedValue + name: name). + self setTransitionRangesIn: trans for: token withArrowAt: 4. + trans. + ] +! ! + diff -r 1563dce3c5b4 -r 9ccc84deaea0 compiler/benchmarks/abbrev.stc --- a/compiler/benchmarks/abbrev.stc Tue Aug 18 13:09:42 2015 +0100 +++ b/compiler/benchmarks/abbrev.stc Tue Aug 18 16:57:08 2015 +0100 @@ -2,6 +2,7 @@ # this file is needed for stc to be able to compile modules independently. # it provides information about a classes filename, category and especially namespace. 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 +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 -PPCSmalltalkNoopParserTests PPCSmalltalkNoopParserTests stx:goodies/petitparser/compiler/benchmarks 'PetitCompiler-Benchmarks-Parsers-Tests' 1 diff -r 1563dce3c5b4 -r 9ccc84deaea0 compiler/benchmarks/bc.mak --- a/compiler/benchmarks/bc.mak Tue Aug 18 13:09:42 2015 +0100 +++ b/compiler/benchmarks/bc.mak Tue Aug 18 16:57:08 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\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 +LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\calipel\s -I$(INCLUDE_TOP)\stx\goodies\liverobotics_parser -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 LOCALDEFINES= STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -varPrefix=$(LIBNAME) @@ -54,8 +54,13 @@ 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) " @@ -73,6 +78,7 @@ # BEGINMAKEDEPEND --- do not remove this line; make depend needs it $(OUTDIR)PPCBenchmark.$(O) PPCBenchmark.$(H): PPCBenchmark.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)PPCLRPParser_johanfabry_39.$(O) PPCLRPParser_johanfabry_39.$(H): PPCLRPParser_johanfabry_39.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPCompositeParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) $(OUTDIR)PPCSmalltalkNoopParser.$(O) PPCSmalltalkNoopParser.$(H): PPCSmalltalkNoopParser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPCompositeParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\parsers\smalltalk\PPSmalltalkGrammar.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) $(OUTDIR)stx_goodies_petitparser_compiler_benchmarks.$(O) stx_goodies_petitparser_compiler_benchmarks.$(H): stx_goodies_petitparser_compiler_benchmarks.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR) diff -r 1563dce3c5b4 -r 9ccc84deaea0 compiler/benchmarks/libInit.cc --- a/compiler/benchmarks/libInit.cc Tue Aug 18 13:09:42 2015 +0100 +++ b/compiler/benchmarks/libInit.cc Tue Aug 18 16:57:08 2015 +0100 @@ -28,6 +28,7 @@ OBJ snd; struct __vmData__ *__pRT__; { __BEGIN_PACKAGE2__("libstx_goodies_petitparser_compiler_benchmarks", _libstx_goodies_petitparser_compiler_benchmarks_Init, "stx:goodies/petitparser/compiler/benchmarks"); _PPCBenchmark_Init(pass,__pRT__,snd); +_PPCLRPParser_137johanfabry_13739_Init(pass,__pRT__,snd); _PPCSmalltalkNoopParser_Init(pass,__pRT__,snd); _stx_137goodies_137petitparser_137compiler_137benchmarks_Init(pass,__pRT__,snd); diff -r 1563dce3c5b4 -r 9ccc84deaea0 compiler/benchmarks/stx_goodies_petitparser_compiler_benchmarks.st --- a/compiler/benchmarks/stx_goodies_petitparser_compiler_benchmarks.st Tue Aug 18 13:09:42 2015 +0100 +++ b/compiler/benchmarks/stx_goodies_petitparser_compiler_benchmarks.st Tue Aug 18 16:57:08 2015 +0100 @@ -59,9 +59,12 @@ by searching along the inheritance chain of all of my classes." ^ #( - #'stx:goodies/petitparser' "PPCompositeParser - superclass of PPCSmalltalkNoopParser" + #'stx:goodies/petitparser' "PPCompositeParser - superclass of PPCLRPParser_johanfabry_39" #'stx:goodies/petitparser/parsers/smalltalk' "PPSmalltalkGrammar - superclass of PPCSmalltalkNoopParser" - #'stx:libbasic' "Autoload - superclass of PPCSmalltalkNoopParserTests" + #'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" ) ! @@ -76,8 +79,9 @@ by searching all classes (and their packages) which are referenced by my classes." ^ #( + #'jv:calipel/s' "BenchmarkInstance - referenced by PPCBenchmark class>>run:" #'stx:goodies/petitparser/compiler' "PPCConfiguration - referenced by PPCBenchmark>>benchmarkSmalltalkParserCompiled" - #'stx:goodies/petitparser/compiler/tests/extras' "PPCResources - referenced by PPCBenchmark>>initialize" + #'stx:goodies/petitparser/compiler/tests/extras' "PPCLRPParser - referenced by PPCBenchmark>>setupLRPParser" #'stx:goodies/petitparser/parsers/java' "PPJavaSyntax - referenced by PPCBenchmark>>benchmarkJavaSyntax" #'stx:goodies/refactoryBrowser/parser' "RBArrayNode - referenced by PPCSmalltalkNoopParser>>buildArray:" ) @@ -104,9 +108,10 @@ ^ #( " or ( attributes...) in load order" PPCBenchmark + #'PPCLRPParser_johanfabry_39' PPCSmalltalkNoopParser + (PPCSmalltalkNoopParserTests autoload) #'stx_goodies_petitparser_compiler_benchmarks' - (PPCSmalltalkNoopParserTests autoload) ) !