compiler/tests/PPCUniversalTest.st
changeset 537 fb212e14d1f4
parent 535 a8feb0f47574
child 538 16e8536f5cfb
--- a/compiler/tests/PPCUniversalTest.st	Mon Sep 07 08:03:02 2015 +0100
+++ b/compiler/tests/PPCUniversalTest.st	Mon Sep 07 08:20:46 2015 +0100
@@ -4,7 +4,7 @@
 
 PPAbstractParserTest subclass:#PPCUniversalTest
 	instanceVariableNames:'parser result context node compiler id node2 id2 id1 node1 node3
-		options configuration'
+		options'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'PetitCompiler-Tests-Core-Universal'
@@ -41,7 +41,7 @@
 !PPCUniversalTest methodsFor:'tests - compiling'!
 
 testCompileAnd
-    parser := #digit asParser and compileWithConfiguration: configuration.
+    parser := #digit asParser and compileUsingCompiler:compiler.
     
     self assert: parser parse: '1' to: $1 end: 0.
     self assert: parser fail: 'a'.
@@ -61,7 +61,7 @@
 !
 
 testCompileAnyStar
-    parser := #any asParser star compileWithConfiguration: configuration.
+    parser := #any asParser star compileUsingCompiler:compiler.
     
     
     self assert: parser parse: 'aaa' to: { $a. $a . $a }.
@@ -71,7 +71,7 @@
 
 testCompileBlock
     parser := (#letter asParser) plus ==> [ :res | res collect: [:each | each asUppercase ]].
-    parser := parser compileWithConfiguration: configuration.
+    parser := parser compileUsingCompiler:compiler.
     
     self assert: parser parse: 'foo' to: { $F . $O . $O}.
     self assert: parser parse: 'bar' to: { $B . $A . $R}.
@@ -79,17 +79,17 @@
 !
 
 testCompileCharacter
-    parser := $a asParser compileWithConfiguration: configuration.
+    parser := $a asParser compileUsingCompiler:compiler.
     
     self assert: parser parse: 'a'  to: $a.
     self assert: parser fail: 'b'.
 
-    parser := $# asParser compileWithConfiguration: configuration.
+    parser := $# asParser compileUsingCompiler:compiler.
     self assert: parser parse: '#'.
 !
 
 testCompileChoice
-    parser := (#digit asParser / #letter asParser) compileWithConfiguration: configuration.
+    parser := (#digit asParser / #letter asParser) compileUsingCompiler:compiler.
     
     self assert: parser parse: '1' to: $1.
     self assert: parser parse: 'a' to: $a.
@@ -98,7 +98,7 @@
 !
 
 testCompileChoice2
-    parser := ('true' asParser / 'false' asParser) compileWithConfiguration: configuration.
+    parser := ('true' asParser / 'false' asParser) compileUsingCompiler:compiler.
     
     self assert: parser parse: 'true' to: 'true'.
     self assert: parser parse: 'false' to: 'false'.
@@ -107,26 +107,26 @@
 !
 
 testCompileLiteral
-    parser := 'foo' asParser compileWithConfiguration: configuration.
+    parser := 'foo' asParser compileUsingCompiler:compiler.
     
     self assert: parser parse: 'foo'  to: 'foo'.
     self assert: parser parse: 'foobar'  to: 'foo' end: 3.
     self assert: parser fail: 'boo'.
     
-    parser := '#[' asParser compileWithConfiguration: configuration.
+    parser := '#[' asParser compileUsingCompiler:compiler.
     self assert: parser parse: '#[1]' to: '#[' end: 2.
 !
 
 testCompileLiteral2
     | quote |
     quote := '''' asParser.
-    parser := (quote, $a asParser ) compileWithConfiguration: configuration.	
+    parser := (quote , $a asParser) compileUsingCompiler:compiler.	
     self assert: parser parse: '''a'  to: {'''' . $a}.	
 !
 
 testCompileNegate
     parser := #letter asParser negate star, #letter asParser.
-    parser := parser compileWithConfiguration: configuration.
+    parser := parser compileUsingCompiler:compiler.
     
     self assert: parser parse: '...a' to: { { $. . $. . $. } . $a }.
     self assert: parser parse: 'aaa' to: { {} . $a } end: 1.
@@ -134,7 +134,7 @@
 !
 
 testCompileNil
-    parser := nil asParser compileWithConfiguration: configuration.
+    parser := nil asParser compileUsingCompiler:compiler.
     
     self assert: parser parse: 'a' to: nil end: 0.
     self assert: parser parse: '' to: nil end: 0.
@@ -144,23 +144,23 @@
 !
 
 testCompileNot
-    parser := #digit asParser not compileWithConfiguration: configuration.
+    parser := #digit asParser not compileUsingCompiler:compiler.
     
     self assert: parser parse: 'a' to: nil end: 0.
     self assert: parser fail: '1'.
     self assert: parser parse: '' to: nil end: 0.
 
     parser := 'foo' asParser, $: asParser not.
-    parser := parser compileWithConfiguration: configuration.	
+    parser := parser compileUsingCompiler:compiler.	
     self assert: parser parse: 'foo' to: { 'foo'. nil } end: 3.
     
     parser := 'foo' asParser, $: asParser not, 'bar' asParser.
-    parser := parser compileWithConfiguration: configuration.	
+    parser := parser compileUsingCompiler:compiler.	
     self assert: parser parse: 'foobar' to: { 'foo'. nil . 'bar' } end: 6.
 !
 
 testCompileNot2
-    parser := ($a asParser, $b asParser) not compileWithConfiguration: configuration.
+    parser := ($a asParser , $b asParser) not compileUsingCompiler:compiler.
         
     self assert: parser parse: '' to: nil end: 0.
     self assert: parser parse: 'a' to: nil end: 0.
@@ -169,14 +169,14 @@
 !
 
 testCompileNot3
-    parser := ('foo' asParser not, 'fee' asParser) compileWithConfiguration: configuration.
+    parser := ('foo' asParser not , 'fee' asParser) compileUsingCompiler:compiler.
         
     self assert: parser parse: 'fee' to: #(nil 'fee').
     self assert: parser fail: 'foo'.
 !
 
 testCompileNotLiteral
-    parser := 'foo' asParser not compileWithConfiguration: configuration.
+    parser := 'foo' asParser not compileUsingCompiler:compiler.
     self assert: parser class methodDictionary size = 1.
 
     self assert: parser parse: 'bar' to: nil end: 0.
@@ -201,7 +201,7 @@
 !
 
 testCompileOptional
-    parser := #digit asParser optional compileWithConfiguration: configuration.
+    parser := #digit asParser optional compileUsingCompiler:compiler.
     
     self assert: parser parse: '1' to: $1.
     self assert: parser parse: 'a' to: nil end: 0.
@@ -212,7 +212,7 @@
 !
 
 testCompilePlus
-    parser := #letter asParser plus compileWithConfiguration: configuration.
+    parser := #letter asParser plus compileUsingCompiler:compiler.
     
     self assert: parser parse: 'lorem' to: {$l. $o. $r. $e. $m} .
     self assert: parser parse: 'a123' to: {$a} end: 1.
@@ -223,7 +223,7 @@
 !
 
 testCompilePredicate
-    parser := #digit asParser compileWithConfiguration: configuration.
+    parser := #digit asParser compileUsingCompiler:compiler.
     
     self assert: parser parse: '1' to: $1.
     self assert: parser parse: '0' to: $0.
@@ -231,14 +231,14 @@
 !
 
 testCompilePredicate2
-    parser := #space asParser compileWithConfiguration: configuration.
+    parser := #space asParser compileUsingCompiler:compiler.
     
     self assert: parser parse: ' ' to: Character space.
     self assert: parser fail: 'a'.
 !
 
 testCompileSequence
-    parser := (#digit asParser, #letter asParser) compileWithConfiguration: configuration.
+    parser := (#digit asParser , #letter asParser) compileUsingCompiler:compiler.
     
     self assert: parser parse: '1a' to: {$1 .$a}.
     
@@ -246,7 +246,8 @@
 !
 
 testCompileSequence2
-    parser := (#digit asParser, #space asParser, #letter asParser) compileWithConfiguration: configuration.
+    parser := (#digit asParser , #space asParser , #letter asParser) 
+                    compileUsingCompiler:compiler.
     
     self assert: parser parse: '9 c' to: {$9 . Character space. $c }.	
     self assert: parser fail: '9c'.
@@ -254,7 +255,8 @@
 !
 
 testCompileSequence3
-    parser := (#any asParser, #any asParser, #any asParser) compileWithConfiguration: configuration.
+    parser := (#any asParser , #any asParser , #any asParser) 
+                    compileUsingCompiler:compiler.
     
     self assert: parser parse: 'foo' to: #($f $o $o).	
     self assert: parser fail: 'fo'.
@@ -262,7 +264,7 @@
 !
 
 testCompileStar
-    parser := #letter asParser star compileWithConfiguration: configuration.
+    parser := #letter asParser star compileUsingCompiler:compiler.
     
     self assert: parser parse: 'lorem' to: {$l. $o. $r. $e. $m} .
     self assert: parser parse: '' to: {}.
@@ -271,7 +273,7 @@
 !
 
 testCompileStarLiteral
-    parser := 'foo' asParser star compileWithConfiguration: configuration.
+    parser := 'foo' asParser star compileUsingCompiler:compiler.
     
     self assert: parser parse: 'foo' to: #('foo' ) .
     self assert: parser parse: 'foofoo' to: #('foo' 'foo') .
@@ -281,7 +283,7 @@
 !
 
 testCompileStarPredicate
-    parser := #letter asParser star compileWithConfiguration: configuration.
+    parser := #letter asParser star compileUsingCompiler:compiler.
     
     self assert: parser parse: 'foo' to: #($f $o $o ) .
     self assert: parser parse: '' to: #().
@@ -290,7 +292,7 @@
 
 testCompileSymbolBlock
     parser := (#letter asParser) plus ==> #second.
-    parser := parser compileWithConfiguration: configuration.
+    parser := parser compileUsingCompiler:compiler.
     
     self assert: parser parse: 'foo' to: $o.
     self assert: parser parse: 'bar' to: $a.
@@ -299,7 +301,7 @@
 !
 
 testCompileTrim
-    parser := $a asParser trim compileWithConfiguration: configuration.
+    parser := $a asParser trim compileUsingCompiler:compiler.
     
     self assert: parser fail: ''.
     self assert: parser parse: 'a' to: $a.
@@ -313,7 +315,7 @@
     token1 := (#letter asParser) plus trimmingToken.
     token2 := (#letter asParser) plus trimmingToken.
     
-    parser := (token1, token2) compileWithConfiguration: configuration.
+    parser := (token1 , token2) compileUsingCompiler:compiler.
     
     self assert: parser parse: 'foo bar'.
     self assert: parser parse: ' foo bar '.
@@ -324,7 +326,7 @@
     token1 := (#letter asParser) plus trimmingToken.
     token2 := (#letter asParser) plus trimmingToken / 'foo' asParser trimmingToken.
     
-    parser := (token1, token2) compileWithConfiguration: configuration.
+    parser := (token1 , token2) compileUsingCompiler:compiler.
     
     self assert: parser parse: 'foo bar'.
     self assert: parser parse: ' foo bar '.
@@ -335,7 +337,7 @@
     token1 := ($a asParser, $b asParser) trimmingToken name: 'token1'.
     token2 := (token1 not, $c asParser) trimmingToken name: 'token2'.
     
-    parser := (token1 / token2) compileWithConfiguration: configuration.
+    parser := (token1 / token2) compileUsingCompiler:compiler.
 
     self assert: (parser class methodDictionary includesKey: #'token1').
     self assert: (parser class methodDictionary includesKey: #'token1_fast').
@@ -353,7 +355,8 @@
 !PPCUniversalTest methodsFor:'tests - extra'!
 
 testCompileSmalltalkToken
-    parser := (#letter asParser, ((#letter asParser / #digit asParser) star)) smalltalkToken compileWithConfiguration: configuration.
+    parser := (#letter asParser , ((#letter asParser / #digit asParser) star)) 
+                    smalltalkToken compileUsingCompiler:compiler.
     
     self assert: parser parse: 'foo'.
     self assert: result inputValue = 'foo'.
@@ -388,14 +391,15 @@
     block := ${ asParser, p1, $} asParser / nil asParser.
     p1 setParser: block.
     
-    parser := block compileWithConfiguration: configuration.
+    parser := block compileUsingCompiler:compiler.
     self assert: parser parse: '{}' to: { ${. nil . $} }.
     self assert: parser parse: '{{}}' to: { ${. { ${ . nil . $} } . $} }.
     
 !
 
 testSmalltalkToken
-    parser := (#letter asParser, (#digit asParser / #letter asParser) star) smalltalkToken compileWithConfiguration: configuration.
+    parser := (#letter asParser , (#digit asParser / #letter asParser) star) 
+                    smalltalkToken compileUsingCompiler:compiler.
     
     self assert: parser class methodDictionary size = 5.
     self assert: parser parse: 'foo'.
@@ -415,14 +419,15 @@
         name: 'kw';
         yourself.
     
-    parser := parser compileWithConfiguration: configuration.
+    parser := parser compileUsingCompiler:compiler.
     
     self assert: parser parse: 'foo:'.
     self assert: result inputValue = 'foo:'.
 !
 
 testToken
-    parser := (#letter asParser, (#digit asParser / #letter asParser) star) flatten compileWithConfiguration: configuration.
+    parser := (#letter asParser , (#digit asParser / #letter asParser) star) flatten 
+                    compileUsingCompiler:compiler.
     
     self assert: parser parse: 'foo' to: 'foo'.
     self assert: parser parse: 'a' to: 'a'.
@@ -431,7 +436,8 @@
 !
 
 testToken2
-    parser := (#letter asParser, (#digit asParser / #letter asParser) star) token compileWithConfiguration: configuration.
+    parser := (#letter asParser , (#digit asParser / #letter asParser) star) token 
+                    compileUsingCompiler:compiler.
     
     self assert: parser class methodDictionary size = 4.
     self assert: parser parse: 'foo'.
@@ -443,7 +449,8 @@
 !
 
 testTrimmingToken
-    parser := (#letter asParser, (#digit asParser / #letter asParser) star) trimmingToken compileWithConfiguration: configuration.
+    parser := (#letter asParser , (#digit asParser / #letter asParser) star) 
+                    trimmingToken compileUsingCompiler:compiler.
 
     self assert: parser class methodDictionary size = 4.
     self assert: parser parse: 'foo'.
@@ -472,8 +479,8 @@
 
 testTrimmingToken2
 
-    parser := 'foo' asParser trimmingToken, 'bar' asParser trimmingToken
-        compileWithConfiguration: configuration.
+    parser := 'foo' asParser trimmingToken , 'bar' asParser trimmingToken 
+                    compileUsingCompiler:compiler.
     
     self assert: parser parse: 'foobar'.
     self assert: result first inputValue = 'foo'.
@@ -494,8 +501,8 @@
 
 testTrimmingToken3
 
-    parser := ('foo' asParser trimmingToken / 'bar' asParser trimmingToken)
-        compileWithConfiguration: configuration.
+    parser := ('foo' asParser trimmingToken / 'bar' asParser trimmingToken) 
+                    compileUsingCompiler:compiler.
     
     self assert: parser parse: 'foo'.
     self assert: result inputValue = 'foo'.
@@ -520,7 +527,7 @@
     identifier := (kw not, (#letter asParser, #word asParser star)) trimmingToken name: #identifier.
     
     parser := identifier / kw.
-    parser := parser compileWithConfiguration: configuration.
+    parser := parser compileUsingCompiler:compiler.
     self assert: parser class methodDictionary size = 5.
 
     self assert: parser parse: 'foo'.
@@ -536,7 +543,7 @@
     identifier := (kw not, (#letter asParser, #word asParser star)) trimmingToken name: #identifier.
     
     parser := identifier / kw.
-    parser := parser compileWithConfiguration: configuration.
+    parser := parser compileUsingCompiler:compiler.
     self assert: parser class methodDictionary size = 5.
 
     self assert: parser parse: 'foo'.
@@ -552,7 +559,7 @@
     identifier := (kw not, (#letter asParser, #word asParser star)) trimmingToken name: #identifier.
     
     parser := identifier / kw.
-    parser := parser compileWithConfiguration: configuration.
+    parser := parser compileUsingCompiler:compiler.
     self assert: parser class methodDictionary size = 8.
     self assert: (parser class methodDictionary values anySatisfy: [ :m | m selector = #kw ]).
     self assert: (parser class methodDictionary values anySatisfy: [ :m | m selector = #kw_fast ]).
@@ -569,14 +576,13 @@
 !PPCUniversalTest methodsFor:'tests - ids'!
 
 setUp
-    options := PPCCompilationOptions default
-        profile: true;
-        debug: true;
-        tokenize: false;
-        yourself.
-        
-    configuration := PPCConfiguration new.
-    configuration context options: options
+    options := (PPCCompilationOptions default)
+            profile:true;
+            debug:true;
+            tokenize:false;
+            yourself.
+    compiler := PPCCompiler new.
+    compiler context options:options
 
     "Modified: / 04-09-2015 / 16:21:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !