Mercurial > urweb
comparison src/urweb.grm @ 1868:d6b0ee53dc93
Get -root working properly again
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Thu, 26 Sep 2013 16:22:06 -0400 |
parents | 1aa9629e3a4c |
children | c3b03d099e04 |
comparison
equal
deleted
inserted
replaced
1867:216a3a67ebe3 | 1868:d6b0ee53dc93 |
---|---|
569 | VAL vali ([(DVal vali, s (VALleft, valiright))]) | 569 | VAL vali ([(DVal vali, s (VALleft, valiright))]) |
570 | VAL REC valis ([(DValRec valis, s (VALleft, valisright))]) | 570 | VAL REC valis ([(DValRec valis, s (VALleft, valisright))]) |
571 | FUN valis ([(DValRec valis, s (FUNleft, valisright))]) | 571 | FUN valis ([(DValRec valis, s (FUNleft, valisright))]) |
572 | 572 |
573 | SIGNATURE CSYMBOL EQ sgn ([(DSgn (CSYMBOL, sgn), s (SIGNATUREleft, sgnright))]) | 573 | SIGNATURE CSYMBOL EQ sgn ([(DSgn (CSYMBOL, sgn), s (SIGNATUREleft, sgnright))]) |
574 | STRUCTURE CSYMBOL EQ str ([(DStr (CSYMBOL, NONE, NONE, str), s (STRUCTUREleft, strright))]) | 574 | STRUCTURE CSYMBOL EQ str ([(DStr (CSYMBOL, NONE, NONE, str, false), s (STRUCTUREleft, strright))]) |
575 | STRUCTURE CSYMBOL COLON sgn EQ str ([(DStr (CSYMBOL, SOME sgn, NONE, str), s (STRUCTUREleft, strright))]) | 575 | STRUCTURE CSYMBOL COLON sgn EQ str ([(DStr (CSYMBOL, SOME sgn, NONE, str, false), s (STRUCTUREleft, strright))]) |
576 | FUNCTOR CSYMBOL LPAREN CSYMBOL COLON sgn RPAREN EQ str | 576 | FUNCTOR CSYMBOL LPAREN CSYMBOL COLON sgn RPAREN EQ str |
577 ([(DStr (CSYMBOL1, NONE, NONE, | 577 ([(DStr (CSYMBOL1, NONE, NONE, |
578 (StrFun (CSYMBOL2, sgn1, NONE, str), s (FUNCTORleft, strright))), | 578 (StrFun (CSYMBOL2, sgn1, NONE, str), s (FUNCTORleft, strright)), false), |
579 s (FUNCTORleft, strright))]) | 579 s (FUNCTORleft, strright))]) |
580 | FUNCTOR CSYMBOL LPAREN CSYMBOL COLON sgn RPAREN COLON sgn EQ str | 580 | FUNCTOR CSYMBOL LPAREN CSYMBOL COLON sgn RPAREN COLON sgn EQ str |
581 ([(DStr (CSYMBOL1, NONE, NONE, | 581 ([(DStr (CSYMBOL1, NONE, NONE, |
582 (StrFun (CSYMBOL2, sgn1, SOME sgn2, str), s (FUNCTORleft, strright))), | 582 (StrFun (CSYMBOL2, sgn1, SOME sgn2, str), s (FUNCTORleft, strright)), false), |
583 s (FUNCTORleft, strright))]) | 583 s (FUNCTORleft, strright))]) |
584 | OPEN mpath (case mpath of | 584 | OPEN mpath (case mpath of |
585 [] => raise Fail "Impossible mpath parse [1]" | 585 [] => raise Fail "Impossible mpath parse [1]" |
586 | m :: ms => [(DOpen (m, ms), s (OPENleft, mpathright))]) | 586 | m :: ms => [(DOpen (m, ms), s (OPENleft, mpathright))]) |
587 | OPEN mpath LPAREN str RPAREN (let | 587 | OPEN mpath LPAREN str RPAREN (let |
591 [] => raise Fail "Impossible mpath parse [4]" | 591 [] => raise Fail "Impossible mpath parse [4]" |
592 | m :: ms => | 592 | m :: ms => |
593 foldl (fn (m, str) => (StrProj (str, m), loc)) | 593 foldl (fn (m, str) => (StrProj (str, m), loc)) |
594 (StrVar m, loc) ms | 594 (StrVar m, loc) ms |
595 in | 595 in |
596 [(DStr ("anon", NONE, NONE, (StrApp (m, str), loc)), loc), | 596 [(DStr ("anon", NONE, NONE, (StrApp (m, str), loc), false), loc), |
597 (DOpen ("anon", []), loc)] | 597 (DOpen ("anon", []), loc)] |
598 end) | 598 end) |
599 | OPEN CONSTRAINTS mpath (case mpath of | 599 | OPEN CONSTRAINTS mpath (case mpath of |
600 [] => raise Fail "Impossible mpath parse [3]" | 600 [] => raise Fail "Impossible mpath parse [3]" |
601 | m :: ms => [(DOpenConstraints (m, ms), s (OPENleft, mpathright))]) | 601 | m :: ms => [(DOpenConstraints (m, ms), s (OPENleft, mpathright))]) |