compiler/tests/extras/PPLL1ExpressionGrammar.st
changeset 503 ff58cd9f1f3c
parent 481 34ee0d3c72e7
parent 502 1e45d3c96ec5
child 510 869853decf31
equal deleted inserted replaced
501:e29bd90f388e 503:ff58cd9f1f3c
    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 		map: [ :_prim :_mulPrime |
    34                 _mulPrime isNil 
    34 				_mulPrime isNil 
    35                         ifTrue: [ _prim  ]
    35 						ifTrue: [ _prim  ]
    36                         ifFalse: [ (Array with: _prim) , _mulPrime ]
    36 						ifFalse: [ (Array with: _prim) , _mulPrime ]
    37                 
    37 				
    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
    44    ^ $* asParser trimmingToken, prod
    44    ^ $* asParser trimmingToken, prod
    45 !
    45 !