[nem-pl] Pattern matching wygenerowanych drzew
Kamil Skalski
nazgul at omega.pl
Sat Nov 22 02:04:16 CET 2003
Friday 21 of November 2003 21:00, Michal Moskal wrote:
> On Fri, Nov 21, 2003 at 08:39:36PM +0100, Kamil Skalski wrote:
> > > A teraz borykam sie z dziwacznym bledem translacji E_list:
> > > za nic w swiecie kompilator nie chce przyjac [], wymaga zawsze Nil(),
> > > mimo ze [] jest tłumaczone własnie na Nil()...
> > > Pracuję nad tym :)
> >
> > Ja będziesz miał czas, to spróbuj odkomentować linie
> > 255, a potem 253 w macros.n
> >
> > Rezultat jest bardzo dziwny i nie rozumiem dlaczego się wykrzacza.
>
> Jak odkomentujesz:
>
> def a = <[ Nemerle.Compiler.Parsetree.E_list ($(make_quoted_list
> (quoted_expr, args))) ]>;
>
> To potem działa <[ [] ]> w ok-macro.n.
Zrobić tak, żeby coś tam działało, to ja potrafię :)
Zatrzymałem się na tym, żeby w make_quoted_list użyć <[ [] ]> i <[ $(f..) ::
$(..) ]>, niestety coś się chrzani. Próbowałem zatem dojść co on dokładnie
genruje z <[ [] ]> i znów co chwilę się wywalał. W końcu wpisałem w E_list na
chama <[ Nil() ]>, który w miejscu generacji wygląda dobrze, ale jak go potem
użyć, to znów jest źle. To pewnie jakiś błąd w tym jak ja to napisałem... np.
zastanawiam się czy Nil() powienien być tłumaczony na
E_call (E_ref ("Nil"), [] ) czy może E_call (E_ref ("Nil"), [Parm (Nil())])
More information about the devel-pl
mailing list