Mercurial > urweb
comparison src/lacweb.grm @ 61:48b6d2c3df46
open
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 22 Jun 2008 19:34:35 -0400 |
parents | abb2b32c19fb |
children | 9f89f0b00b84 |
comparison
equal
deleted
inserted
replaced
60:8bce148070a7 | 61:48b6d2c3df46 |
---|---|
121 | FUNCTOR CSYMBOL LPAREN CSYMBOL COLON sgn RPAREN COLON sgn EQ str | 121 | FUNCTOR CSYMBOL LPAREN CSYMBOL COLON sgn RPAREN COLON sgn EQ str |
122 (DStr (CSYMBOL1, NONE, | 122 (DStr (CSYMBOL1, NONE, |
123 (StrFun (CSYMBOL2, sgn1, SOME sgn2, str), s (FUNCTORleft, strright))), | 123 (StrFun (CSYMBOL2, sgn1, SOME sgn2, str), s (FUNCTORleft, strright))), |
124 s (FUNCTORleft, strright)) | 124 s (FUNCTORleft, strright)) |
125 | EXTERN STRUCTURE CSYMBOL COLON sgn (DFfiStr (CSYMBOL, sgn), s (EXTERNleft, sgnright)) | 125 | EXTERN STRUCTURE CSYMBOL COLON sgn (DFfiStr (CSYMBOL, sgn), s (EXTERNleft, sgnright)) |
126 | OPEN mpath (case mpath of | |
127 [] => raise Fail "Impossible mpath parse [1]" | |
128 | m :: ms => (DOpen (m, ms), s (OPENleft, mpathright))) | |
126 | 129 |
127 sgn : sgntm (sgntm) | 130 sgn : sgntm (sgntm) |
128 | FUNCTOR LPAREN CSYMBOL COLON sgn RPAREN COLON sgn | 131 | FUNCTOR LPAREN CSYMBOL COLON sgn RPAREN COLON sgn |
129 (SgnFun (CSYMBOL, sgn1, sgn2), s (FUNCTORleft, sgn2right)) | 132 (SgnFun (CSYMBOL, sgn1, sgn2), s (FUNCTORleft, sgn2right)) |
130 | 133 |
131 sgntm : SIG sgis END (SgnConst sgis, s (SIGleft, ENDright)) | 134 sgntm : SIG sgis END (SgnConst sgis, s (SIGleft, ENDright)) |
132 | mpath (case mpath of | 135 | mpath (case mpath of |
133 [] => raise Fail "Impossible mpath parse" | 136 [] => raise Fail "Impossible mpath parse [2]" |
134 | [x] => SgnVar x | 137 | [x] => SgnVar x |
135 | m :: ms => SgnProj (m, | 138 | m :: ms => SgnProj (m, |
136 List.take (ms, length ms - 1), | 139 List.take (ms, length ms - 1), |
137 List.nth (ms, length ms - 1)), | 140 List.nth (ms, length ms - 1)), |
138 s (mpathleft, mpathright)) | 141 s (mpathleft, mpathright)) |