compiler/tests/PPCCodeGeneratorTest.st
changeset 489 0ca7a70db0f5
parent 488 19a9c25960ef
child 490 a836cbc0d8df
equal deleted inserted replaced
488:19a9c25960ef 489:0ca7a70db0f5
   484     self compileTree:node.
   484     self compileTree:node.
   485 
   485 
   486     self assert:parser parse:'abc' to:#($A $B $C).
   486     self assert:parser parse:'abc' to:#($A $B $C).
   487 
   487 
   488     "Created: / 15-06-2015 / 18:27:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   488     "Created: / 15-06-2015 / 18:27:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   489 !
       
   490 
       
   491 testMappedNode3
       
   492     node := ((#letter asParser , #letter asParser) 
       
   493             ==> [:nodes | String with:(nodes first) with:(nodes second) ]) asCompilerTree.
       
   494     node child markForInline.
       
   495 
       
   496     self compileTree:node.
       
   497 
       
   498     self assert:parser parse:'ab' to:'ab'.
       
   499     self assert:parser parse:'cz' to:'cz'.
       
   500     self assert:parser fail:''.
       
   501 
       
   502     "Created: / 16-06-2015 / 06:01:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   503 !
       
   504 
       
   505 testMappedNode4
       
   506     node := ((#letter asParser , #letter asParser) 
       
   507             ==> [:nodes | String with:(nodes first) with:(nodes second) ]) asCompilerTree.
       
   508     node child markForInline.
       
   509 
       
   510     self compileTree:node.
       
   511 
       
   512     self assert:parser fail:'a'.
       
   513 
       
   514     "Created: / 16-06-2015 / 06:13:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   515 !
       
   516 
       
   517 testMappedNode5
       
   518     node := ((#letter asParser , #letter asParser optional) 
       
   519             ==> [:nodes | String with:(nodes first) with:((nodes second) isNil ifTrue:[$?] ifFalse:[nodes second]) ]) asCompilerTree.
       
   520     node child markForInline.
       
   521 
       
   522     self compileTree:node.
       
   523 
       
   524     self assert:parser parse:'cz' to:'cz'.
       
   525     self assert:parser parse:'c' to:'c?'.
       
   526 
       
   527     "Created: / 16-06-2015 / 06:32:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   489 !
   528 !
   490 
   529 
   491 testMessagePredicate
   530 testMessagePredicate
   492     | messageNode |
   531     | messageNode |
   493     messageNode := PPCMessagePredicateNode new
   532     messageNode := PPCMessagePredicateNode new