[nem-pl] Pattern matching wygenerowanych drzew
Michal Moskal
malekith at pld-linux.org
Fri Nov 21 19:48:01 CET 2003
On Fri, Nov 21, 2003 at 07:20:12PM +0100, Kamil Skalski wrote:
> No i natrafiłem na pierwszy problem koncepcyjny.
> Otóż takie <[ 2+ 2 ]> przekształci się na coś w stylu
> E_call ( E_ref ("+"), [Parm (E_literal (2)); Parm (E_literal (2))])
> i wszystko ładnie
> ale kiedy przyjdzie zmatchowac takie wyrazenie, piszac to samo w patternie, to
> bum: Parm nie jest wariantem, tylko konstruktorem klasy, zatem nie może być
> umieszczony w patternie... :(
A jaką semantykę byś widział dla patternu Parm (E_literal (2)) ? Można
napisać: { expr = E_literal (2) } i wiadomo o co chodzi. W przeciwnym
wypadku trzeba by analalizować konstruktory.
--
: Michal Moskal :: http://www.kernel.pl/~malekith : GCS {C,UL}++++$ a? !tv
: When in doubt, use brute force. -- Ken Thompson : {E-,w}-- {b++,e}>+++ h
More information about the devel-pl
mailing list