J'apprends à utiliser PetitParser sur Pharo, Smalltalk et j'utilise un manuel pour l'apprendre. Dans le manuel, le script suivant est donné. CependantLe script arithmatique PetitParser du manuel ne fonctionne pas. Il ne cesse de dire que ParseOn est nill?
term := PPDelegateParser new.
prod := PPDelegateParser new.
prim := PPDelegateParser new.
term setParser: (prod , $+ asParser trim , term ==> [ :nodes | nodes first + nodes last ])/prod.
prod setParser: (prim , $*asParser trim , prod ==> [ :nodes | nodes first*nodes last ])/prim.
prim setParser: ($(asParser trim , term , $) asParser trim ==> [ :nodes | nodes second ])/number.
start := term end.
start parse:'1+2*3'.
, lorsque je tente d'imprimer dans la cour de récréation i get MessageNotUnderstood: récepteur de "parseOn:" est nul. Qu'est-ce que j'ai fait de mal?
Qu'est-ce que 'number'? Je ne le vois pas défini dans l'extrait. –
vous avez raison, merci. Si vous pouviez regarder cette question, même code mais j'ai ajouté une méthode de division et de multiplication. http://stackoverflow.com/questions/42034072/petitparser-evaluator-not-working-properly –