PPLambdaParser.st
changeset 184 dff934a0213f
parent 29 2235aaee7da6
equal deleted inserted replaced
183:553dad635f6d 184:dff934a0213f
    41 ! !
    41 ! !
    42 
    42 
    43 !PPLambdaParser methodsFor:'productions'!
    43 !PPLambdaParser methodsFor:'productions'!
    44 
    44 
    45 abstraction
    45 abstraction
    46 	^ $\ asParser token trim , variable , $. asParser token trim , expression ==> [ :node | Array with: node second with: node fourth ]
    46 	^ $\ asParser trim , variable , $. asParser trim , expression ==> [ :node | Array with: node second with: node fourth ]
    47 !
    47 !
    48 
    48 
    49 application
    49 application
    50 	^ $( asParser token trim , expression , expression , $) asParser token trim ==> [ :node | Array with: node second with: node third ]
    50 	^ $( asParser trim , expression , expression , $) asParser trim ==> [ :node | Array with: node second with: node third ]
    51 !
    51 !
    52 
    52 
    53 expression
    53 expression
    54 	^ variable / abstraction / application
    54 	^ variable / abstraction / application
    55 !
    55 !
    56 
    56 
    57 variable
    57 variable
    58 	^ (#letter asParser , #word asParser star) token trim ==> [ :token | token value ]
    58 	^ (#letter asParser , #word asParser star) flatten trim
    59 ! !
    59 ! !
    60 
    60 
    61 !PPLambdaParser class methodsFor:'documentation'!
    61 !PPLambdaParser class methodsFor:'documentation'!
    62 
    62 
    63 version
    63 version
    64     ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPLambdaParser.st,v 1.3 2012-05-04 22:03:02 vrany Exp $'
    64     ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPLambdaParser.st,v 1.4 2014-03-04 14:34:00 cg Exp $'
    65 !
    65 !
    66 
    66 
    67 version_CVS
    67 version_CVS
    68     ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPLambdaParser.st,v 1.3 2012-05-04 22:03:02 vrany Exp $'
    68     ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPLambdaParser.st,v 1.4 2014-03-04 14:34:00 cg Exp $'
    69 !
    69 !
    70 
    70 
    71 version_SVN
    71 version_SVN
    72     ^ '§Id: PPLambdaParser.st 4 2010-12-18 17:02:23Z kursjan §'
    72     ^ '$Id: PPLambdaParser.st,v 1.4 2014-03-04 14:34:00 cg Exp $'
    73 ! !
    73 ! !
       
    74