compiler/tests/extras/PPLL1ExpressionGrammar.st
changeset 515 b5316ef15274
parent 502 1e45d3c96ec5
child 516 3b81c9e53352
equal deleted inserted replaced
502:1e45d3c96ec5 515:b5316ef15274
    12 
    12 
    13 !PPLL1ExpressionGrammar methodsFor:'as yet unclassified'!
    13 !PPLL1ExpressionGrammar methodsFor:'as yet unclassified'!
    14 
    14 
    15 add
    15 add
    16    ^ prod, addPrime optional
    16    ^ prod, addPrime optional
    17 		map: [ :_prod :_addPrime |
    17 				map: [ :_prod :_addPrime |
    18 				_addPrime isNil 
    18 								_addPrime isNil 
    19 						ifTrue: [ _prod  ]
    19 												ifTrue: [ _prod  ]
    20 						ifFalse: [ (Array with: _prod) , _addPrime ]
    20 												ifFalse: [ (Array with: _prod) , _addPrime ]
    21 				
    21 								
    22 		]
    22 				]
    23 
    23 
    24 	"Modified (format): / 26-05-2015 / 07:23:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    24 		"Modified (format): / 26-05-2015 / 07:23:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    25 !
    25 !
    26 
    26 
    27 addPrime
    27 addPrime
    28     ^ $+ asParser trimmingToken , term
    28     ^ $+ asParser trimmingToken , term
    29 !
    29 !
    30 
    30 
    31 mul
    31 mul
    32    ^ prim, mulPrime optional
    32    ^ prim, mulPrime optional
    33 		map: [ :_prim :_mulPrime |
    33 
    34 				_mulPrime isNil 
    34 	map: [ :_prim :_mulPrime |
    35 						ifTrue: [ _prim  ]
    35 		_mulPrime isNil 
    36 						ifFalse: [ (Array with: _prim) , _mulPrime ]
    36 			ifTrue: [ _prim  ]
    37 				
    37 			ifFalse: [ (Array with: _prim) , _mulPrime ]
    38 		]
    38 	]
    39 
    39 
    40 	"Modified (format): / 26-05-2015 / 07:23:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    40 	"Modified (format): / 26-05-2015 / 07:23:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    41 !
    41 !
    42 
    42 
    43 mulPrime
    43 mulPrime