compiler/tests/extras/PPLL1ExpressionGrammar.st
changeset 473 90eb2d1f7bed
parent 469 8dc4eb06316e
child 481 34ee0d3c72e7
equal deleted inserted replaced
472:72074e22bd61 473:90eb2d1f7bed
    11 
    11 
    12 !PPLL1ExpressionGrammar methodsFor:'as yet unclassified'!
    12 !PPLL1ExpressionGrammar methodsFor:'as yet unclassified'!
    13 
    13 
    14 add
    14 add
    15    ^ prod, addPrime optional
    15    ^ prod, addPrime optional
    16  	map: [ :_prod :_addPrime |
    16         map: [ :_prod :_addPrime |
    17 		_addPrime isNil 
    17                 _addPrime isNil 
    18 			ifTrue: [ _prod  ]
    18                         ifTrue: [ _prod  ]
    19 			ifFalse: [ Array with: _prod withAll: _addPrime ]
    19                         ifFalse: [ (Array with: _prod) , _addPrime ]
    20 		
    20                 
    21 	]
    21         ]
       
    22 
       
    23     "Modified (format): / 26-05-2015 / 07:23:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    22 !
    24 !
    23 
    25 
    24 addPrime
    26 addPrime
    25     ^ $+ asParser trimmingToken , term
    27     ^ $+ asParser trimmingToken , term
    26 !
    28 !
    27 
    29 
    28 mul
    30 mul
    29    ^ prim, mulPrime optional
    31    ^ prim, mulPrime optional
    30  	map: [ :_prim :_mulPrime |
    32         map: [ :_prim :_mulPrime |
    31 		_mulPrime isNil 
    33                 _mulPrime isNil 
    32 			ifTrue: [ _prim  ]
    34                         ifTrue: [ _prim  ]
    33 			ifFalse: [ Array with: _prim withAll: _mulPrime ]
    35                         ifFalse: [ (Array with: _prim) , _mulPrime ]
    34 		
    36                 
    35 	]
    37         ]
       
    38 
       
    39     "Modified (format): / 26-05-2015 / 07:23:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    36 !
    40 !
    37 
    41 
    38 mulPrime
    42 mulPrime
    39    ^ $* asParser trimmingToken, prod
    43    ^ $* asParser trimmingToken, prod
    40 !
    44 !
    59    ^ term end
    63    ^ term end
    60 !
    64 !
    61 
    65 
    62 term
    66 term
    63     ^ prod, termPrime optional
    67     ^ prod, termPrime optional
    64  	map: [ :_prod :_termPrime |
    68         map: [ :_prod :_termPrime |
    65         _termPrime isNil 
    69         _termPrime isNil 
    66             ifTrue: [ _prod  ]
    70             ifTrue: [ _prod  ]
    67             ifFalse: [ Array with: _prod withAll: _termPrime ]
    71             ifFalse: [ (Array with: _prod) , _termPrime ]
    68     ]	
    72     ]
       
    73 
       
    74     "Modified: / 26-05-2015 / 07:24:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    69 !
    75 !
    70 
    76 
    71 termPrime
    77 termPrime
    72     ^ $+ asParser trimmingToken, term
    78     ^ $+ asParser trimmingToken, term
    73 ! !
    79 ! !