|
|
1.1 ! root 1: type Lineno = int ! 2: val lineno = ref 0 ! 3: val error = fn x => fn (lineno : int) => ! 4: (output std_out (makestring lineno ^ ": " ^ x ^ "\n")) ! 5: %% ! 6: %term EOF | ID | DOT | TYVAR | INT | REAL | STRING | ! 7: ABSTRACTION | ABSTYPE | AND | ARROW | AS | BAR | BARBAR | ! 8: CASE | ! 9: DATATYPE | ! 10: DOTDOTDOT | ELSE | END | EQUAL | EQTYPE | EXCEPTION | ! 11: EXCEPTIONX | ! 12: DO | DARROW | FN | FUN | FUNCTOR | HANDLE | HANDLEX | HASH | ! 13: IF | IN | INCLUDE | INFIX | INFIXR | LET | ! 14: LOCAL | NONFIX | OF | OP | OPEN | OVERLOAD | ! 15: QUERY | RAISE | RAISEX | REC | ! 16: SHARING | SIG | SIGNATURE | STRUCT | STRUCTURE | ! 17: THEN | TYPE | VAL | WHILE | WILD | WITH | WITHTYPE | ! 18: ASTERISK | COLON | COMMA | LBRACE | LBRACKET | LPAREN | ! 19: RBRACE | RBRACKET | RPAREN | SEMICOLON | ! 20: ORELSE | ANDALSO ! 21: ! 22: %nonterm iddot | ident | nonfix_ident | opid | qid | selector | elabel | ! 23: elabels | plabel | plabels | tlabel | tabels0 | ty0 | ty0_pc | ! 24: ty2 | ty | withclause | match | rule | handlerx | hrulex | exp_ps | ! 25: exp | exp1 | exp2 | constraint | exp3 | exp4 | aexp | bexp | ! 26: exp_2c | pat | pat1 | pat2 | pat3 | apat | apat1 | pat_2c | pat_ps | ! 27: vb | rvb | fg | apat_p | clause | tb | tyvars | tyvar_pc | db | ! 28: constr | eb | ebx | qid_p | fixity | ldec | exp_pa | ldecs | ! 29: ops | spec_s | spec | strspec | tyspec | valspec | exnspecx | ! 30: exnspec | fb | tlabels | tlabels0 | ! 31: sharespec | patheqn | sign | sigconstraint_op | sigb | ! 32: str | sdecs | sdec | strb | fparam | fctb | tdec | top | ! 33: interdec ! 34: ! 35: %verbose ! 36: ! 37: %start tdec ! 38: %eof EOF ! 39: ! 40: %nonassoc WITHTYPE ! 41: %right AND ! 42: %right BAR ! 43: %right ARROW ! 44: %right DO ! 45: %right HANDLE HANDLEX ! 46: %right RAISE ! 47: %left ORELSE ! 48: %left ANDALSO ! 49: ! 50: %% ! 51: ! 52: iddot : ID DOT ! 53: () ! 54: ident : ID () ! 55: | ASTERISK () ! 56: | EQUAL () ! 57: ! 58: nonfix_ident : ident () ! 59: ! 60: opid : nonfix_ident () ! 61: | OP ident () ! 62: ! 63: qid : iddot qid () ! 64: | ident () ! 65: ! 66: selector: ID () ! 67: | INT () ! 68: ! 69: elabel : selector EQUAL exp () ! 70: ! 71: elabels: elabel COMMA elabels () ! 72: | elabel () ! 73: ! 74: plabel : selector EQUAL pat () ! 75: | ID () ! 76: | ID AS pat () ! 77: | ID COLON ty AS pat () ! 78: ! 79: plabels : plabel COMMA plabels () ! 80: | plabel () ! 81: | DOTDOTDOT () ! 82: ! 83: tlabel : selector COLON ty0 () ! 84: ! 85: tlabels0: tlabel COMMA tlabels0 () ! 86: | tlabel () ! 87: ! 88: tlabels : tlabels0 () ! 89: | () ! 90: ! 91: ty0 : ty0 ARROW ty0 () ! 92: | ty2 ASTERISK ty2 () ! 93: | ty2 () ! 94: ! 95: ty0_pc : ty0 () ! 96: | ty0 COMMA ty0_pc () ! 97: ! 98: ty2 : LPAREN ty0_pc RPAREN qid () ! 99: | qid () ! 100: | LBRACE tlabels RBRACE () ! 101: ! 102: ty : ty0 () ! 103: ! 104: withclause: WITH exp () ! 105: | () ! 106: ! 107: match : rule () ! 108: | match BAR match () ! 109: ! 110: rule : pat DARROW exp () ! 111: ! 112: handlerx: handlerx BARBAR handlerx () ! 113: | hrulex () ! 114: ! 115: hrulex : qid WITH match () ! 116: | qid DARROW exp () ! 117: | QUERY DARROW exp () ! 118: ! 119: exp_ps : exp () ! 120: | exp SEMICOLON exp_ps () ! 121: ! 122: exp : exp1 %prec BAR () ! 123: ! 124: exp1 : exp1 HANDLEX handlerx () ! 125: | exp1 HANDLE match () ! 126: | exp2 %prec HANDLE () ! 127: ! 128: exp2 : exp3 constraint () ! 129: | exp3 bexp () ! 130: | bexp () ! 131: | exp2 ORELSE exp2 () ! 132: | exp2 ANDALSO exp2 () ! 133: ! 134: constraint: () ! 135: | COLON ty () ! 136: ! 137: exp3 : exp4 () ! 138: | exp3 exp4 () ! 139: ! 140: exp4 : ID () ! 141: | aexp () ! 142: ! 143: aexp : OP ID () ! 144: | iddot qid () ! 145: | INT () ! 146: | REAL () ! 147: | STRING () ! 148: | HASH selector () ! 149: | LBRACE elabels RBRACE () ! 150: | LBRACE RBRACE () ! 151: | LPAREN RPAREN () ! 152: | LPAREN exp RPAREN () ! 153: | LPAREN exp_2c RPAREN () ! 154: | LBRACKET exp_ps RBRACKET () ! 155: | LBRACKET RBRACKET () ! 156: | LET ldecs IN exp_ps END () ! 157: ! 158: bexp : FN match () ! 159: | CASE exp OF match () ! 160: | WHILE exp DO exp () ! 161: | IF exp THEN exp ELSE exp () ! 162: | RAISEX qid withclause () ! 163: | RAISE exp2 () ! 164: ! 165: ! 166: exp_2c : exp COMMA exp_2c () ! 167: | exp COMMA exp () ! 168: ! 169: pat : pat1 () ! 170: | pat1 AS pat1 () ! 171: ! 172: pat1 : pat2 () ! 173: | pat2 COLON ty () ! 174: ! 175: pat2 : pat3 () ! 176: | pat2 pat3 () ! 177: ! 178: pat3 : ID () ! 179: | apat1 () ! 180: ! 181: apat : ID () ! 182: | apat1 () ! 183: ! 184: apat1 : OP ident () ! 185: | iddot qid () ! 186: | INT () ! 187: | REAL () ! 188: | STRING () ! 189: | WILD () ! 190: | LPAREN RPAREN () ! 191: | LPAREN pat RPAREN () ! 192: | LPAREN pat_2c RPAREN () ! 193: | LBRACKET RBRACKET () ! 194: | LBRACKET pat_ps RBRACKET () ! 195: | LBRACE RBRACE () ! 196: | LBRACE plabels RBRACE () ! 197: ! 198: pat_2c : pat COMMA pat_2c () ! 199: | pat COMMA pat () ! 200: ! 201: pat_ps : pat () ! 202: | pat SEMICOLON pat_ps () ! 203: ! 204: vb : vb AND vb () ! 205: | pat EQUAL exp () ! 206: ! 207: rvb : opid constraint EQUAL exp () ! 208: | rvb AND rvb () ! 209: ! 210: fb : clause () ! 211: | clause BAR fb () ! 212: | fb AND fb () ! 213: ! 214: apat_p : apat () ! 215: | apat_p apat () ! 216: ! 217: clause : apat_p constraint EQUAL exp () ! 218: ! 219: tb : tyvars ident EQUAL ty () ! 220: | tb AND tb () ! 221: ! 222: tyvars : TYVAR () ! 223: | LPAREN tyvar_pc RPAREN () ! 224: | () ! 225: ! 226: tyvar_pc: TYVAR () ! 227: | TYVAR COMMA tyvar_pc () ! 228: ! 229: db : db AND db () ! 230: | db WITHTYPE tb () ! 231: | tyvars ident constr () ! 232: | db BAR constr () ! 233: ! 234: constr : opid () ! 235: | opid OF ty () ! 236: ! 237: eb : ident () ! 238: | ident OF ty () ! 239: | ident EQUAL qid () ! 240: | eb AND eb () ! 241: ! 242: ebx : ident constraint () ! 243: | ident EQUAL qid () ! 244: | ebx AND ebx () ! 245: ! 246: qid_p : qid () ! 247: | qid qid_p () ! 248: ! 249: ! 250: fixity : INFIX () ! 251: | INFIX INT () ! 252: | INFIXR () ! 253: | INFIXR INT () ! 254: | NONFIX () ! 255: ! 256: ldec : VAL vb () ! 257: | VAL REC rvb () ! 258: | FUN fb () ! 259: | TYPE tb () ! 260: | DATATYPE db () ! 261: | ABSTYPE db WITH ldecs END () ! 262: | EXCEPTION eb () ! 263: | EXCEPTIONX ebx () ! 264: | LOCAL ldecs IN ldecs END () ! 265: | OPEN qid_p () ! 266: | fixity ops () ! 267: | OVERLOAD ident COLON ty AS exp_pa () ! 268: ! 269: exp_pa : exp () ! 270: | exp AND exp_pa () ! 271: ! 272: ldecs : ldec () ! 273: | ldecs ldec () ! 274: | ldecs SEMICOLON () ! 275: ! 276: ops : ident () ! 277: | ident ops () ! 278: ! 279: spec_s : () ! 280: | spec spec_s () ! 281: | spec SEMICOLON spec_s () ! 282: ! 283: spec : STRUCTURE strspec () ! 284: | DATATYPE db () ! 285: | TYPE tyspec () ! 286: | EQTYPE tyspec () ! 287: | VAL valspec () ! 288: | EXCEPTION exnspec () ! 289: | EXCEPTIONX exnspecx () ! 290: | fixity ops () ! 291: | SHARING sharespec () ! 292: | INCLUDE ident () ! 293: ! 294: strspec : strspec AND strspec () ! 295: | ident COLON sign () ! 296: ! 297: tyspec : tyspec AND tyspec () ! 298: | tyvars ident () ! 299: ! 300: valspec : valspec AND valspec () ! 301: | opid COLON ty () ! 302: ! 303: exnspec : exnspec AND exnspec () ! 304: | ident () ! 305: | ident OF ty () ! 306: ! 307: exnspecx: exnspecx AND exnspecx () ! 308: | ident () ! 309: | ident COLON ty () ! 310: ! 311: sharespec: sharespec AND sharespec () ! 312: | TYPE patheqn () ! 313: | qid patheqn () ! 314: ! 315: patheqn: qid EQUAL qid () ! 316: | qid EQUAL patheqn () ! 317: ! 318: sign : ID () ! 319: | SIG spec_s END () ! 320: ! 321: sigconstraint_op : () ! 322: | COLON sign () ! 323: ! 324: sigb : sigb AND sigb () ! 325: | ident EQUAL sign () ! 326: ! 327: str : qid () ! 328: | STRUCT sdecs END () ! 329: | ID LPAREN sdecs RPAREN () ! 330: | ID LPAREN str RPAREN () ! 331: ! 332: sdecs : sdecs sdec () ! 333: | sdecs sdec SEMICOLON () ! 334: | () ! 335: ! 336: sdec : STRUCTURE strb () ! 337: | ABSTRACTION strb () ! 338: | SIGNATURE sigb () ! 339: | FUNCTOR fctb () ! 340: | ldec () ! 341: ! 342: strb : ident sigconstraint_op EQUAL str () ! 343: | strb AND strb () ! 344: ! 345: fparam : ID COLON sign () ! 346: | spec_s () ! 347: ! 348: fctb : ident LPAREN fparam RPAREN sigconstraint_op EQUAL str () ! 349: | fctb AND fctb () ! 350: ! 351: tdec : SIGNATURE sigb () ! 352: | FUNCTOR fctb () ! 353: | STRUCTURE strb () ! 354: | ABSTRACTION strb () ! 355: | OPEN qid_p () ! 356: | SEMICOLON tdec () ! 357: | () ! 358: ! 359: top : SIGNATURE sigb () ! 360: | FUNCTOR fctb () ! 361: | STRUCTURE strb () ! 362: | ABSTRACTION strb () ! 363: | OPEN qid_p () ! 364: | ldec () ! 365: | exp () ! 366: ! 367: interdec: top () ! 368: | interdec top () ! 369: | SEMICOLON ()
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.