2

Pharo、Smalltalk で PetitParser を使用する方法を学習しており、教科書を使用して学習しています。教科書では、次のスクリプトが与えられています。

 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'. 

ただし、プレイグラウンドで印刷しようとすると、MessageNotUnderstood: receiver of "parseOn:" is nil が表示されます。私は何を間違えましたか?

4

1 に答える 1