1 2 3functor MlyaccLrValsFun(structure Hdr : HEADER 4 where type prec = Header.prec 5 structure Token : TOKEN) 6 = 7struct 8structure ParserData= 9struct 10structure Header = 11struct 12(* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *) 13 14(* parser for the ML parser generator *) 15 16open Hdr 17 18end 19structure LrTable = Token.LrTable 20structure Token = Token 21local open LrTable in 22val table=let val actionRows = 23"\ 24\\001\000\001\000\076\000\000\000\ 25\\001\000\005\000\025\000\008\000\024\000\014\000\023\000\016\000\022\000\ 26\\019\000\021\000\020\000\020\000\021\000\019\000\022\000\018\000\ 27\\024\000\017\000\025\000\016\000\026\000\015\000\027\000\014\000\ 28\\028\000\013\000\029\000\012\000\031\000\011\000\035\000\010\000\ 29\\036\000\009\000\037\000\008\000\039\000\007\000\040\000\006\000\000\000\ 30\\001\000\006\000\063\000\000\000\ 31\\001\000\006\000\074\000\000\000\ 32\\001\000\006\000\086\000\000\000\ 33\\001\000\006\000\098\000\000\000\ 34\\001\000\007\000\085\000\033\000\084\000\000\000\ 35\\001\000\009\000\000\000\000\000\ 36\\001\000\010\000\061\000\000\000\ 37\\001\000\011\000\003\000\000\000\ 38\\001\000\012\000\026\000\000\000\ 39\\001\000\012\000\028\000\000\000\ 40\\001\000\012\000\029\000\000\000\ 41\\001\000\012\000\032\000\000\000\ 42\\001\000\012\000\044\000\013\000\043\000\000\000\ 43\\001\000\012\000\044\000\013\000\043\000\017\000\042\000\032\000\041\000\ 44\\038\000\040\000\000\000\ 45\\001\000\012\000\048\000\000\000\ 46\\001\000\012\000\053\000\000\000\ 47\\001\000\012\000\071\000\015\000\070\000\000\000\ 48\\001\000\012\000\071\000\015\000\070\000\033\000\069\000\000\000\ 49\\001\000\012\000\077\000\000\000\ 50\\001\000\012\000\080\000\000\000\ 51\\001\000\012\000\101\000\000\000\ 52\\001\000\032\000\036\000\000\000\ 53\\001\000\032\000\037\000\000\000\ 54\\001\000\032\000\050\000\000\000\ 55\\001\000\032\000\057\000\000\000\ 56\\001\000\032\000\100\000\000\000\ 57\\001\000\032\000\104\000\000\000\ 58\\106\000\012\000\053\000\000\000\ 59\\107\000\000\000\ 60\\108\000\000\000\ 61\\109\000\004\000\058\000\000\000\ 62\\110\000\004\000\058\000\000\000\ 63\\111\000\000\000\ 64\\112\000\000\000\ 65\\113\000\000\000\ 66\\114\000\000\000\ 67\\115\000\000\000\ 68\\116\000\000\000\ 69\\117\000\000\000\ 70\\118\000\000\000\ 71\\119\000\000\000\ 72\\120\000\000\000\ 73\\121\000\000\000\ 74\\122\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\ 75\\123\000\000\000\ 76\\124\000\000\000\ 77\\125\000\000\000\ 78\\126\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\ 79\\127\000\000\000\ 80\\128\000\000\000\ 81\\129\000\004\000\075\000\000\000\ 82\\130\000\000\000\ 83\\131\000\000\000\ 84\\132\000\004\000\060\000\000\000\ 85\\133\000\000\000\ 86\\134\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\ 87\\135\000\023\000\091\000\000\000\ 88\\136\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\ 89\\137\000\023\000\059\000\000\000\ 90\\138\000\004\000\094\000\000\000\ 91\\139\000\000\000\ 92\\140\000\000\000\ 93\\141\000\000\000\ 94\\142\000\012\000\034\000\000\000\ 95\\143\000\000\000\ 96\\144\000\000\000\ 97\\145\000\000\000\ 98\\146\000\000\000\ 99\\147\000\000\000\ 100\\148\000\000\000\ 101\\149\000\000\000\ 102\\150\000\000\000\ 103\\151\000\012\000\044\000\013\000\043\000\000\000\ 104\\152\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\ 105\\153\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\ 106\\154\000\001\000\066\000\002\000\065\000\012\000\044\000\013\000\043\000\000\000\ 107\\155\000\000\000\ 108\\156\000\000\000\ 109\\157\000\000\000\ 110\\158\000\000\000\ 111\\159\000\000\000\ 112\\160\000\030\000\096\000\000\000\ 113\" 114val actionRowNumbers = 115"\009\000\031\000\001\000\030\000\ 116\\010\000\046\000\011\000\012\000\ 117\\013\000\065\000\065\000\023\000\ 118\\024\000\015\000\048\000\065\000\ 119\\065\000\011\000\047\000\016\000\ 120\\065\000\025\000\017\000\065\000\ 121\\026\000\032\000\060\000\035\000\ 122\\055\000\040\000\008\000\038\000\ 123\\065\000\034\000\043\000\002\000\ 124\\049\000\073\000\068\000\071\000\ 125\\019\000\014\000\078\000\036\000\ 126\\041\000\033\000\044\000\037\000\ 127\\042\000\029\000\063\000\003\000\ 128\\052\000\039\000\000\000\050\000\ 129\\020\000\015\000\013\000\021\000\ 130\\064\000\015\000\072\000\015\000\ 131\\015\000\006\000\004\000\070\000\ 132\\081\000\080\000\079\000\062\000\ 133\\065\000\065\000\065\000\058\000\ 134\\059\000\054\000\056\000\045\000\ 135\\074\000\075\000\069\000\018\000\ 136\\015\000\061\000\083\000\051\000\ 137\\053\000\015\000\005\000\077\000\ 138\\065\000\027\000\022\000\057\000\ 139\\015\000\083\000\066\000\082\000\ 140\\076\000\028\000\067\000\007\000" 141val gotoT = 142"\ 143\\001\000\103\000\000\000\ 144\\006\000\002\000\000\000\ 145\\005\000\003\000\000\000\ 146\\000\000\ 147\\000\000\ 148\\000\000\ 149\\002\000\025\000\000\000\ 150\\000\000\ 151\\013\000\029\000\014\000\028\000\000\000\ 152\\003\000\031\000\000\000\ 153\\003\000\033\000\000\000\ 154\\000\000\ 155\\000\000\ 156\\007\000\037\000\017\000\036\000\000\000\ 157\\000\000\ 158\\003\000\043\000\000\000\ 159\\003\000\044\000\000\000\ 160\\002\000\045\000\000\000\ 161\\000\000\ 162\\000\000\ 163\\003\000\047\000\000\000\ 164\\000\000\ 165\\010\000\050\000\011\000\049\000\000\000\ 166\\003\000\054\000\015\000\053\000\016\000\052\000\000\000\ 167\\000\000\ 168\\000\000\ 169\\000\000\ 170\\000\000\ 171\\000\000\ 172\\000\000\ 173\\000\000\ 174\\000\000\ 175\\003\000\060\000\000\000\ 176\\000\000\ 177\\000\000\ 178\\000\000\ 179\\007\000\062\000\000\000\ 180\\000\000\ 181\\000\000\ 182\\000\000\ 183\\004\000\066\000\008\000\065\000\000\000\ 184\\007\000\070\000\000\000\ 185\\000\000\ 186\\000\000\ 187\\000\000\ 188\\000\000\ 189\\000\000\ 190\\000\000\ 191\\000\000\ 192\\010\000\071\000\000\000\ 193\\000\000\ 194\\000\000\ 195\\000\000\ 196\\000\000\ 197\\000\000\ 198\\000\000\ 199\\000\000\ 200\\007\000\037\000\017\000\076\000\000\000\ 201\\013\000\077\000\014\000\028\000\000\000\ 202\\000\000\ 203\\000\000\ 204\\007\000\037\000\017\000\079\000\000\000\ 205\\000\000\ 206\\007\000\037\000\017\000\080\000\000\000\ 207\\007\000\037\000\017\000\081\000\000\000\ 208\\000\000\ 209\\000\000\ 210\\000\000\ 211\\000\000\ 212\\000\000\ 213\\000\000\ 214\\000\000\ 215\\003\000\086\000\009\000\085\000\000\000\ 216\\003\000\054\000\015\000\087\000\016\000\052\000\000\000\ 217\\003\000\088\000\000\000\ 218\\000\000\ 219\\007\000\062\000\000\000\ 220\\000\000\ 221\\000\000\ 222\\007\000\062\000\000\000\ 223\\007\000\062\000\000\000\ 224\\007\000\062\000\000\000\ 225\\000\000\ 226\\004\000\090\000\000\000\ 227\\007\000\037\000\017\000\091\000\000\000\ 228\\000\000\ 229\\012\000\093\000\000\000\ 230\\000\000\ 231\\000\000\ 232\\007\000\037\000\017\000\095\000\000\000\ 233\\000\000\ 234\\007\000\062\000\000\000\ 235\\003\000\097\000\000\000\ 236\\000\000\ 237\\000\000\ 238\\007\000\062\000\000\000\ 239\\007\000\037\000\017\000\100\000\000\000\ 240\\012\000\101\000\000\000\ 241\\000\000\ 242\\000\000\ 243\\007\000\062\000\000\000\ 244\\000\000\ 245\\000\000\ 246\\000\000\ 247\" 248val numstates = 104 249val numrules = 55 250val s = ref "" and index = ref 0 251val string_to_int = fn () => 252let val i = !index 253in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256 254end 255val string_to_list = fn s' => 256 let val len = String.size s' 257 fun f () = 258 if !index < len then string_to_int() :: f() 259 else nil 260 in index := 0; s := s'; f () 261 end 262val string_to_pairlist = fn (conv_key,conv_entry) => 263 let fun f () = 264 case string_to_int() 265 of 0 => EMPTY 266 | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f()) 267 in f 268 end 269val string_to_pairlist_default = fn (conv_key,conv_entry) => 270 let val conv_row = string_to_pairlist(conv_key,conv_entry) 271 in fn () => 272 let val default = conv_entry(string_to_int()) 273 val row = conv_row() 274 in (row,default) 275 end 276 end 277val string_to_table = fn (convert_row,s') => 278 let val len = String.size s' 279 fun f ()= 280 if !index < len then convert_row() :: f() 281 else nil 282 in (s := s'; index := 0; f ()) 283 end 284local 285 val memo = Array.array(numstates+numrules,ERROR) 286 val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1)) 287 fun f i = 288 if i=numstates then g i 289 else (Array.update(memo,i,SHIFT (STATE i)); f (i+1)) 290 in f 0 handle Subscript => () 291 end 292in 293val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2)) 294end 295val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT)) 296val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows) 297val actionRowNumbers = string_to_list actionRowNumbers 298val actionT = let val actionRowLookUp= 299let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end 300in Array.fromList(map actionRowLookUp actionRowNumbers) 301end 302in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules, 303numStates=numstates,initialState=STATE 0} 304end 305end 306local open Header in 307type pos = int 308type arg = Hdr.inputSource 309structure MlyValue = 310struct 311datatype svalue = VOID | ntVOID of unit -> unit 312 | UNKNOWN of unit -> (string) | TYVAR of unit -> (string) 313 | PROG of unit -> (string) | PREC of unit -> (Header.prec) 314 | INT of unit -> (string) | IDDOT of unit -> (string) 315 | ID of unit -> (string*int) | HEADER of unit -> (string) 316 | TY of unit -> (string) 317 | CHANGE_DEC of unit -> ( ( Hdr.symbol list * Hdr.symbol list ) ) 318 | CHANGE_DECL of unit -> ( ( Hdr.symbol list * Hdr.symbol list ) list) 319 | SUBST_DEC of unit -> ( ( Hdr.symbol list * Hdr.symbol list ) ) 320 | SUBST_DECL of unit -> ( ( Hdr.symbol list * Hdr.symbol list ) list) 321 | G_RULE_PREC of unit -> (Hdr.symbol option) 322 | G_RULE_LIST of unit -> (Hdr.rule list) 323 | G_RULE of unit -> (Hdr.rule list) 324 | RHS_LIST of unit -> ({ rhs:Hdr.symbol list,code:string,prec:Hdr.symbol option } list) 325 | RECORD_LIST of unit -> (string) | QUAL_ID of unit -> (string) 326 | MPC_DECLS of unit -> (Hdr.declData) 327 | MPC_DECL of unit -> (Hdr.declData) | LABEL of unit -> (string) 328 | ID_LIST of unit -> (Hdr.symbol list) 329 | CONSTR_LIST of unit -> ( ( Hdr.symbol * Hdr.ty option ) list) 330 | BEGIN of unit -> (string*Hdr.declData* ( Hdr.rule list ) ) 331end 332type svalue = MlyValue.svalue 333type result = string*Hdr.declData* ( Hdr.rule list ) 334end 335structure EC= 336struct 337open LrTable 338val is_keyword = 339fn _ => false 340val preferred_change = 341nil 342val noShift = 343fn (T 8) => true | _ => false 344val showTerminal = 345fn (T 0) => "ARROW" 346 | (T 1) => "ASTERISK" 347 | (T 2) => "BLOCK" 348 | (T 3) => "BAR" 349 | (T 4) => "CHANGE" 350 | (T 5) => "COLON" 351 | (T 6) => "COMMA" 352 | (T 7) => "DELIMITER" 353 | (T 8) => "EOF" 354 | (T 9) => "FOR" 355 | (T 10) => "HEADER" 356 | (T 11) => "ID" 357 | (T 12) => "IDDOT" 358 | (T 13) => "PERCENT_HEADER" 359 | (T 14) => "INT" 360 | (T 15) => "KEYWORD" 361 | (T 16) => "LBRACE" 362 | (T 17) => "LPAREN" 363 | (T 18) => "NAME" 364 | (T 19) => "NODEFAULT" 365 | (T 20) => "NONTERM" 366 | (T 21) => "NOSHIFT" 367 | (T 22) => "OF" 368 | (T 23) => "PERCENT_EOP" 369 | (T 24) => "PERCENT_PURE" 370 | (T 25) => "PERCENT_POS" 371 | (T 26) => "PERCENT_ARG" 372 | (T 27) => "PERCENT_TOKEN_SIG_INFO" 373 | (T 28) => "PREC" 374 | (T 29) => "PREC_TAG" 375 | (T 30) => "PREFER" 376 | (T 31) => "PROG" 377 | (T 32) => "RBRACE" 378 | (T 33) => "RPAREN" 379 | (T 34) => "SUBST" 380 | (T 35) => "START" 381 | (T 36) => "TERM" 382 | (T 37) => "TYVAR" 383 | (T 38) => "VERBOSE" 384 | (T 39) => "VALUE" 385 | (T 40) => "UNKNOWN" 386 | (T 41) => "BOGUS_VALUE" 387 | _ => "bogus-term" 388local open Header in 389val errtermvalue= 390fn _ => MlyValue.VOID 391end 392val terms = (T 0) :: (T 1) :: (T 2) :: (T 3) :: (T 4) :: (T 5) :: (T 6 393) :: (T 7) :: (T 8) :: (T 9) :: (T 13) :: (T 15) :: (T 16) :: (T 17) 394 :: (T 18) :: (T 19) :: (T 20) :: (T 21) :: (T 22) :: (T 23) :: (T 24) 395 :: (T 25) :: (T 26) :: (T 27) :: (T 29) :: (T 30) :: (T 32) :: (T 33) 396 :: (T 34) :: (T 35) :: (T 36) :: (T 38) :: (T 39) :: (T 41) :: nil 397end 398structure Actions = 399struct 400type int = Int.int 401exception mlyAction of int 402local open Header in 403val actions = 404fn (i392:int,defaultPos,stack, 405 (inputSource):arg) => 406case (i392,stack) 407of (0,(_,(MlyValue.G_RULE_LIST G_RULE_LIST1,_,G_RULE_LIST1right))::_:: 408(_,(MlyValue.MPC_DECLS MPC_DECLS1,_,_))::(_,(MlyValue.HEADER HEADER1, 409HEADER1left,_))::rest671) => let val result=MlyValue.BEGIN(fn _ => 410let val HEADER as HEADER1=HEADER1 () 411val MPC_DECLS as MPC_DECLS1=MPC_DECLS1 () 412val G_RULE_LIST as G_RULE_LIST1=G_RULE_LIST1 () 413 in (HEADER,MPC_DECLS,rev G_RULE_LIST) end 414) 415 in (LrTable.NT 0,(result,HEADER1left,G_RULE_LIST1right),rest671) end 416| (1,(_,(MlyValue.MPC_DECL MPC_DECL1,MPC_DECLleft,MPC_DECL1right))::(_ 417,(MlyValue.MPC_DECLS MPC_DECLS1,MPC_DECLS1left,_))::rest671) => let 418val result=MlyValue.MPC_DECLS(fn _ => let val MPC_DECLS as MPC_DECLS1= 419MPC_DECLS1 () 420val MPC_DECL as MPC_DECL1=MPC_DECL1 () 421 in (join_decls(MPC_DECLS,MPC_DECL,inputSource,MPC_DECLleft)) end 422) 423 in (LrTable.NT 5,(result,MPC_DECLS1left,MPC_DECL1right),rest671) end 424| (2,rest671) => let val result=MlyValue.MPC_DECLS(fn _ => ( 425DECL {prec=nil,nonterm=NONE,term=NONE,eop=nil,control=nil, 426 keyword=nil,change=nil, 427 value=nil} 428)) 429 in (LrTable.NT 5,(result,defaultPos,defaultPos),rest671) end 430| (3,(_,(MlyValue.CONSTR_LIST CONSTR_LIST1,_,CONSTR_LIST1right))::(_,( 431_,TERM1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => 432let val CONSTR_LIST as CONSTR_LIST1=CONSTR_LIST1 () 433 in ( 434DECL { prec=nil,nonterm=NONE, 435 term = SOME CONSTR_LIST, eop =nil,control=nil, 436 change=nil,keyword=nil, 437 value=nil} 438) end 439) 440 in (LrTable.NT 4,(result,TERM1left,CONSTR_LIST1right),rest671) end 441| (4,(_,(MlyValue.CONSTR_LIST CONSTR_LIST1,_,CONSTR_LIST1right))::(_,( 442_,NONTERM1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ 443 => let val CONSTR_LIST as CONSTR_LIST1=CONSTR_LIST1 () 444 in ( 445DECL { prec=nil,control=nil,nonterm= SOME CONSTR_LIST, 446 term = NONE, eop=nil,change=nil,keyword=nil, 447 value=nil} 448) end 449) 450 in (LrTable.NT 4,(result,NONTERM1left,CONSTR_LIST1right),rest671) end 451| (5,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,( 452MlyValue.PREC PREC1,PREC1left,_))::rest671) => let val result= 453MlyValue.MPC_DECL(fn _ => let val PREC as PREC1=PREC1 () 454val ID_LIST as ID_LIST1=ID_LIST1 () 455 in ( 456DECL {prec= [(PREC,ID_LIST)],control=nil, 457 nonterm=NONE,term=NONE,eop=nil,change=nil, 458 keyword=nil,value=nil} 459) end 460) 461 in (LrTable.NT 4,(result,PREC1left,ID_LIST1right),rest671) end 462| (6,(_,(MlyValue.ID ID1,_,ID1right))::(_,(_,START1left,_))::rest671) 463 => let val result=MlyValue.MPC_DECL(fn _ => let val ID as ID1=ID1 () 464 in ( 465DECL {prec=nil,control=[START_SYM (symbolMake ID)],nonterm=NONE, 466 term = NONE, eop = nil,change=nil,keyword=nil, 467 value=nil} 468) end 469) 470 in (LrTable.NT 4,(result,START1left,ID1right),rest671) end 471| (7,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(_, 472PERCENT_EOP1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn 473_ => let val ID_LIST as ID_LIST1=ID_LIST1 () 474 in ( 475DECL {prec=nil,control=nil,nonterm=NONE,term=NONE, 476 eop=ID_LIST, change=nil,keyword=nil, 477 value=nil} 478) end 479) 480 in (LrTable.NT 4,(result,PERCENT_EOP1left,ID_LIST1right),rest671) end 481| (8,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(_, 482KEYWORD1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ 483 => let val ID_LIST as ID_LIST1=ID_LIST1 () 484 in ( 485DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, 486 change=nil,keyword=ID_LIST, 487 value=nil} 488) end 489) 490 in (LrTable.NT 4,(result,KEYWORD1left,ID_LIST1right),rest671) end 491| (9,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(_, 492PREFER1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => 493let val ID_LIST as ID_LIST1=ID_LIST1 () 494 in ( 495DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, 496 change=map (fn i=>([],[i])) ID_LIST,keyword=nil, 497 value=nil} 498) end 499) 500 in (LrTable.NT 4,(result,PREFER1left,ID_LIST1right),rest671) end 501| (10,(_,(MlyValue.CHANGE_DECL CHANGE_DECL1,_,CHANGE_DECL1right))::(_, 502(_,CHANGE1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ 503 => let val CHANGE_DECL as CHANGE_DECL1=CHANGE_DECL1 () 504 in ( 505DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, 506 change=CHANGE_DECL,keyword=nil, 507 value=nil} 508) end 509) 510 in (LrTable.NT 4,(result,CHANGE1left,CHANGE_DECL1right),rest671) end 511| (11,(_,(MlyValue.SUBST_DECL SUBST_DECL1,_,SUBST_DECL1right))::(_,(_, 512SUBST1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ => 513let val SUBST_DECL as SUBST_DECL1=SUBST_DECL1 () 514 in ( 515DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil, 516 change=SUBST_DECL,keyword=nil, 517 value=nil} 518) end 519) 520 in (LrTable.NT 4,(result,SUBST1left,SUBST_DECL1right),rest671) end 521| (12,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(_, 522NOSHIFT1left,_))::rest671) => let val result=MlyValue.MPC_DECL(fn _ 523 => let val ID_LIST as ID_LIST1=ID_LIST1 () 524 in ( 525DECL {prec=nil,control=[NSHIFT ID_LIST],nonterm=NONE,term=NONE, 526 eop=nil,change=nil,keyword=nil, 527 value=nil} 528) end 529) 530 in (LrTable.NT 4,(result,NOSHIFT1left,ID_LIST1right),rest671) end 531| (13,(_,(MlyValue.PROG PROG1,_,PROG1right))::(_,(_, 532PERCENT_HEADER1left,_))::rest671) => let val result=MlyValue.MPC_DECL( 533fn _ => let val PROG as PROG1=PROG1 () 534 in ( 535DECL {prec=nil,control=[FUNCTOR PROG],nonterm=NONE,term=NONE, 536 eop=nil,change=nil,keyword=nil, 537 value=nil} 538) end 539) 540 in (LrTable.NT 4,(result,PERCENT_HEADER1left,PROG1right),rest671) end 541| (14,(_,(MlyValue.PROG PROG1,_,PROG1right))::(_,(_, 542PERCENT_TOKEN_SIG_INFO1left,_))::rest671) => let val result= 543MlyValue.MPC_DECL(fn _ => let val PROG as PROG1=PROG1 () 544 in ( 545DECL {prec=nil,control=[TOKEN_SIG_INFO PROG], 546 nonterm=NONE,term=NONE, 547 eop=nil,change=nil,keyword=nil, 548 value=nil} 549) end 550) 551 in (LrTable.NT 4,(result,PERCENT_TOKEN_SIG_INFO1left,PROG1right), 552rest671) end 553| (15,(_,(MlyValue.ID ID1,_,ID1right))::(_,(_,NAME1left,_))::rest671) 554 => let val result=MlyValue.MPC_DECL(fn _ => let val ID as ID1=ID1 () 555 in ( 556DECL {prec=nil,control=[PARSER_NAME (symbolMake ID)], 557 nonterm=NONE,term=NONE, 558 eop=nil,change=nil,keyword=nil, value=nil} 559) end 560) 561 in (LrTable.NT 4,(result,NAME1left,ID1right),rest671) end 562| (16,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.PROG PROG1,_,_ 563))::(_,(_,PERCENT_ARG1left,_))::rest671) => let val result= 564MlyValue.MPC_DECL(fn _ => let val PROG as PROG1=PROG1 () 565val TY as TY1=TY1 () 566 in ( 567DECL {prec=nil,control=[PARSE_ARG(PROG,TY)],nonterm=NONE, 568 term=NONE,eop=nil,change=nil,keyword=nil, 569 value=nil} 570) end 571) 572 in (LrTable.NT 4,(result,PERCENT_ARG1left,TY1right),rest671) end 573| (17,(_,(_,VERBOSE1left,VERBOSE1right))::rest671) => let val result= 574MlyValue.MPC_DECL(fn _ => ( 575DECL {prec=nil,control=[Hdr.VERBOSE], 576 nonterm=NONE,term=NONE,eop=nil, 577 change=nil,keyword=nil, 578 value=nil} 579)) 580 in (LrTable.NT 4,(result,VERBOSE1left,VERBOSE1right),rest671) end 581| (18,(_,(_,NODEFAULT1left,NODEFAULT1right))::rest671) => let val 582result=MlyValue.MPC_DECL(fn _ => ( 583DECL {prec=nil,control=[Hdr.NODEFAULT], 584 nonterm=NONE,term=NONE,eop=nil, 585 change=nil,keyword=nil, 586 value=nil} 587)) 588 in (LrTable.NT 4,(result,NODEFAULT1left,NODEFAULT1right),rest671) end 589| (19,(_,(_,PERCENT_PURE1left,PERCENT_PURE1right))::rest671) => let 590val result=MlyValue.MPC_DECL(fn _ => ( 591DECL {prec=nil,control=[Hdr.PURE], 592 nonterm=NONE,term=NONE,eop=nil, 593 change=nil,keyword=nil, 594 value=nil} 595)) 596 in (LrTable.NT 4,(result,PERCENT_PURE1left,PERCENT_PURE1right), 597rest671) end 598| (20,(_,(MlyValue.TY TY1,_,TY1right))::(_,(_,PERCENT_POS1left,_)):: 599rest671) => let val result=MlyValue.MPC_DECL(fn _ => let val TY as TY1 600=TY1 () 601 in ( 602DECL {prec=nil,control=[Hdr.POS TY], 603 nonterm=NONE,term=NONE,eop=nil, 604 change=nil,keyword=nil, 605 value=nil} 606) end 607) 608 in (LrTable.NT 4,(result,PERCENT_POS1left,TY1right),rest671) end 609| (21,(_,(MlyValue.PROG PROG1,_,PROG1right))::(_,(MlyValue.ID ID1,_,_) 610)::(_,(_,VALUE1left,_))::rest671) => let val result=MlyValue.MPC_DECL( 611fn _ => let val ID as ID1=ID1 () 612val PROG as PROG1=PROG1 () 613 in ( 614DECL {prec=nil,control=nil, 615 nonterm=NONE,term=NONE,eop=nil, 616 change=nil,keyword=nil, 617 value=[(symbolMake ID,PROG)]} 618) end 619) 620 in (LrTable.NT 4,(result,VALUE1left,PROG1right),rest671) end 621| (22,(_,(MlyValue.CHANGE_DECL CHANGE_DECL1,_,CHANGE_DECL1right))::_:: 622(_,(MlyValue.CHANGE_DEC CHANGE_DEC1,CHANGE_DEC1left,_))::rest671) => 623let val result=MlyValue.CHANGE_DECL(fn _ => let val CHANGE_DEC as 624CHANGE_DEC1=CHANGE_DEC1 () 625val CHANGE_DECL as CHANGE_DECL1=CHANGE_DECL1 () 626 in (CHANGE_DEC :: CHANGE_DECL) end 627) 628 in (LrTable.NT 14,(result,CHANGE_DEC1left,CHANGE_DECL1right),rest671) 629 end 630| (23,(_,(MlyValue.CHANGE_DEC CHANGE_DEC1,CHANGE_DEC1left, 631CHANGE_DEC1right))::rest671) => let val result=MlyValue.CHANGE_DECL( 632fn _ => let val CHANGE_DEC as CHANGE_DEC1=CHANGE_DEC1 () 633 in ([CHANGE_DEC]) end 634) 635 in (LrTable.NT 14,(result,CHANGE_DEC1left,CHANGE_DEC1right),rest671) 636 end 637| (24,(_,(MlyValue.ID_LIST ID_LIST2,_,ID_LIST2right))::_::(_,( 638MlyValue.ID_LIST ID_LIST1,ID_LIST1left,_))::rest671) => let val result 639=MlyValue.CHANGE_DEC(fn _ => let val ID_LIST1=ID_LIST1 () 640val ID_LIST2=ID_LIST2 () 641 in (ID_LIST1, ID_LIST2) end 642) 643 in (LrTable.NT 15,(result,ID_LIST1left,ID_LIST2right),rest671) end 644| (25,(_,(MlyValue.SUBST_DECL SUBST_DECL1,_,SUBST_DECL1right))::_::(_, 645(MlyValue.SUBST_DEC SUBST_DEC1,SUBST_DEC1left,_))::rest671) => let 646val result=MlyValue.SUBST_DECL(fn _ => let val SUBST_DEC as SUBST_DEC1 647=SUBST_DEC1 () 648val SUBST_DECL as SUBST_DECL1=SUBST_DECL1 () 649 in (SUBST_DEC :: SUBST_DECL) end 650) 651 in (LrTable.NT 12,(result,SUBST_DEC1left,SUBST_DECL1right),rest671) 652 end 653| (26,(_,(MlyValue.SUBST_DEC SUBST_DEC1,SUBST_DEC1left,SUBST_DEC1right 654))::rest671) => let val result=MlyValue.SUBST_DECL(fn _ => let val 655SUBST_DEC as SUBST_DEC1=SUBST_DEC1 () 656 in ([SUBST_DEC]) end 657) 658 in (LrTable.NT 12,(result,SUBST_DEC1left,SUBST_DEC1right),rest671) 659 end 660| (27,(_,(MlyValue.ID ID2,_,ID2right))::_::(_,(MlyValue.ID ID1,ID1left 661,_))::rest671) => let val result=MlyValue.SUBST_DEC(fn _ => let val 662ID1=ID1 () 663val ID2=ID2 () 664 in ([symbolMake ID2],[symbolMake ID1]) end 665) 666 in (LrTable.NT 13,(result,ID1left,ID2right),rest671) end 667| (28,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.ID ID1,_,_)):: 668_::(_,(MlyValue.CONSTR_LIST CONSTR_LIST1,CONSTR_LIST1left,_))::rest671 669) => let val result=MlyValue.CONSTR_LIST(fn _ => let val CONSTR_LIST 670 as CONSTR_LIST1=CONSTR_LIST1 () 671val ID as ID1=ID1 () 672val TY as TY1=TY1 () 673 in ((symbolMake ID,SOME (tyMake TY))::CONSTR_LIST) end 674) 675 in (LrTable.NT 1,(result,CONSTR_LIST1left,TY1right),rest671) end 676| (29,(_,(MlyValue.ID ID1,_,ID1right))::_::(_,(MlyValue.CONSTR_LIST 677CONSTR_LIST1,CONSTR_LIST1left,_))::rest671) => let val result= 678MlyValue.CONSTR_LIST(fn _ => let val CONSTR_LIST as CONSTR_LIST1= 679CONSTR_LIST1 () 680val ID as ID1=ID1 () 681 in ((symbolMake ID,NONE)::CONSTR_LIST) end 682) 683 in (LrTable.NT 1,(result,CONSTR_LIST1left,ID1right),rest671) end 684| (30,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.ID ID1,ID1left 685,_))::rest671) => let val result=MlyValue.CONSTR_LIST(fn _ => let val 686ID as ID1=ID1 () 687val TY as TY1=TY1 () 688 in ([(symbolMake ID,SOME (tyMake TY))]) end 689) 690 in (LrTable.NT 1,(result,ID1left,TY1right),rest671) end 691| (31,(_,(MlyValue.ID ID1,ID1left,ID1right))::rest671) => let val 692result=MlyValue.CONSTR_LIST(fn _ => let val ID as ID1=ID1 () 693 in ([(symbolMake ID,NONE)]) end 694) 695 in (LrTable.NT 1,(result,ID1left,ID1right),rest671) end 696| (32,(_,(MlyValue.RHS_LIST RHS_LIST1,_,RHS_LIST1right))::_::(_,( 697MlyValue.ID ID1,ID1left,_))::rest671) => let val result= 698MlyValue.G_RULE(fn _ => let val ID as ID1=ID1 () 699val RHS_LIST as RHS_LIST1=RHS_LIST1 () 700 in ( 701map (fn {rhs,code,prec} => 702 Hdr.RULE {lhs=symbolMake ID,rhs=rhs, 703 code=code,prec=prec}) 704 RHS_LIST 705) end 706) 707 in (LrTable.NT 9,(result,ID1left,RHS_LIST1right),rest671) end 708| (33,(_,(MlyValue.G_RULE G_RULE1,_,G_RULE1right))::(_,( 709MlyValue.G_RULE_LIST G_RULE_LIST1,G_RULE_LIST1left,_))::rest671) => 710let val result=MlyValue.G_RULE_LIST(fn _ => let val G_RULE_LIST as 711G_RULE_LIST1=G_RULE_LIST1 () 712val G_RULE as G_RULE1=G_RULE1 () 713 in (G_RULE@G_RULE_LIST) end 714) 715 in (LrTable.NT 10,(result,G_RULE_LIST1left,G_RULE1right),rest671) end 716| (34,(_,(MlyValue.G_RULE G_RULE1,G_RULE1left,G_RULE1right))::rest671) 717 => let val result=MlyValue.G_RULE_LIST(fn _ => let val G_RULE as 718G_RULE1=G_RULE1 () 719 in (G_RULE) end 720) 721 in (LrTable.NT 10,(result,G_RULE1left,G_RULE1right),rest671) end 722| (35,(_,(MlyValue.ID_LIST ID_LIST1,_,ID_LIST1right))::(_,(MlyValue.ID 723 ID1,ID1left,_))::rest671) => let val result=MlyValue.ID_LIST(fn _ => 724let val ID as ID1=ID1 () 725val ID_LIST as ID_LIST1=ID_LIST1 () 726 in (symbolMake ID :: ID_LIST) end 727) 728 in (LrTable.NT 2,(result,ID1left,ID_LIST1right),rest671) end 729| (36,rest671) => let val result=MlyValue.ID_LIST(fn _ => (nil)) 730 in (LrTable.NT 2,(result,defaultPos,defaultPos),rest671) end 731| (37,(_,(MlyValue.PROG PROG1,_,PROG1right))::(_,(MlyValue.G_RULE_PREC 732 G_RULE_PREC1,_,_))::(_,(MlyValue.ID_LIST ID_LIST1,ID_LIST1left,_)):: 733rest671) => let val result=MlyValue.RHS_LIST(fn _ => let val ID_LIST 734 as ID_LIST1=ID_LIST1 () 735val G_RULE_PREC as G_RULE_PREC1=G_RULE_PREC1 () 736val PROG as PROG1=PROG1 () 737 in ([{rhs=ID_LIST,code=PROG,prec=G_RULE_PREC}]) end 738) 739 in (LrTable.NT 8,(result,ID_LIST1left,PROG1right),rest671) end 740| (38,(_,(MlyValue.PROG PROG1,_,PROG1right))::(_,(MlyValue.G_RULE_PREC 741 G_RULE_PREC1,_,_))::(_,(MlyValue.ID_LIST ID_LIST1,_,_))::_::(_,( 742MlyValue.RHS_LIST RHS_LIST1,RHS_LIST1left,_))::rest671) => let val 743result=MlyValue.RHS_LIST(fn _ => let val RHS_LIST as RHS_LIST1= 744RHS_LIST1 () 745val ID_LIST as ID_LIST1=ID_LIST1 () 746val G_RULE_PREC as G_RULE_PREC1=G_RULE_PREC1 () 747val PROG as PROG1=PROG1 () 748 in ({rhs=ID_LIST,code=PROG,prec=G_RULE_PREC}::RHS_LIST) end 749) 750 in (LrTable.NT 8,(result,RHS_LIST1left,PROG1right),rest671) end 751| (39,(_,(MlyValue.TYVAR TYVAR1,TYVAR1left,TYVAR1right))::rest671) => 752let val result=MlyValue.TY(fn _ => let val TYVAR as TYVAR1=TYVAR1 () 753 in (TYVAR) end 754) 755 in (LrTable.NT 16,(result,TYVAR1left,TYVAR1right),rest671) end 756| (40,(_,(_,_,RBRACE1right))::(_,(MlyValue.RECORD_LIST RECORD_LIST1,_, 757_))::(_,(_,LBRACE1left,_))::rest671) => let val result=MlyValue.TY(fn 758_ => let val RECORD_LIST as RECORD_LIST1=RECORD_LIST1 () 759 in ("{ "^RECORD_LIST^" } ") end 760) 761 in (LrTable.NT 16,(result,LBRACE1left,RBRACE1right),rest671) end 762| (41,(_,(_,_,RBRACE1right))::(_,(_,LBRACE1left,_))::rest671) => let 763val result=MlyValue.TY(fn _ => ("{}")) 764 in (LrTable.NT 16,(result,LBRACE1left,RBRACE1right),rest671) end 765| (42,(_,(MlyValue.PROG PROG1,PROG1left,PROG1right))::rest671) => let 766val result=MlyValue.TY(fn _ => let val PROG as PROG1=PROG1 () 767 in (" ( "^PROG^" ) ") end 768) 769 in (LrTable.NT 16,(result,PROG1left,PROG1right),rest671) end 770| (43,(_,(MlyValue.QUAL_ID QUAL_ID1,_,QUAL_ID1right))::(_,(MlyValue.TY 771 TY1,TY1left,_))::rest671) => let val result=MlyValue.TY(fn _ => let 772val TY as TY1=TY1 () 773val QUAL_ID as QUAL_ID1=QUAL_ID1 () 774 in (TY^" "^QUAL_ID) end 775) 776 in (LrTable.NT 16,(result,TY1left,QUAL_ID1right),rest671) end 777| (44,(_,(MlyValue.QUAL_ID QUAL_ID1,QUAL_ID1left,QUAL_ID1right)):: 778rest671) => let val result=MlyValue.TY(fn _ => let val QUAL_ID as 779QUAL_ID1=QUAL_ID1 () 780 in (QUAL_ID) end 781) 782 in (LrTable.NT 16,(result,QUAL_ID1left,QUAL_ID1right),rest671) end 783| (45,(_,(MlyValue.TY TY2,_,TY2right))::_::(_,(MlyValue.TY TY1,TY1left 784,_))::rest671) => let val result=MlyValue.TY(fn _ => let val TY1=TY1 785() 786val TY2=TY2 () 787 in (TY1^"*"^TY2) end 788) 789 in (LrTable.NT 16,(result,TY1left,TY2right),rest671) end 790| (46,(_,(MlyValue.TY TY2,_,TY2right))::_::(_,(MlyValue.TY TY1,TY1left 791,_))::rest671) => let val result=MlyValue.TY(fn _ => let val TY1=TY1 792() 793val TY2=TY2 () 794 in (TY1 ^ " -> " ^ TY2) end 795) 796 in (LrTable.NT 16,(result,TY1left,TY2right),rest671) end 797| (47,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.LABEL LABEL1,_ 798,_))::_::(_,(MlyValue.RECORD_LIST RECORD_LIST1,RECORD_LIST1left,_)):: 799rest671) => let val result=MlyValue.RECORD_LIST(fn _ => let val 800RECORD_LIST as RECORD_LIST1=RECORD_LIST1 () 801val LABEL as LABEL1=LABEL1 () 802val TY as TY1=TY1 () 803 in (RECORD_LIST^","^LABEL^":"^TY) end 804) 805 in (LrTable.NT 7,(result,RECORD_LIST1left,TY1right),rest671) end 806| (48,(_,(MlyValue.TY TY1,_,TY1right))::_::(_,(MlyValue.LABEL LABEL1, 807LABEL1left,_))::rest671) => let val result=MlyValue.RECORD_LIST(fn _ 808 => let val LABEL as LABEL1=LABEL1 () 809val TY as TY1=TY1 () 810 in (LABEL^":"^TY) end 811) 812 in (LrTable.NT 7,(result,LABEL1left,TY1right),rest671) end 813| (49,(_,(MlyValue.ID ID1,ID1left,ID1right))::rest671) => let val 814result=MlyValue.QUAL_ID(fn _ => let val ID as ID1=ID1 () 815 in ((fn (a,_) => a) ID) end 816) 817 in (LrTable.NT 6,(result,ID1left,ID1right),rest671) end 818| (50,(_,(MlyValue.QUAL_ID QUAL_ID1,_,QUAL_ID1right))::(_,( 819MlyValue.IDDOT IDDOT1,IDDOT1left,_))::rest671) => let val result= 820MlyValue.QUAL_ID(fn _ => let val IDDOT as IDDOT1=IDDOT1 () 821val QUAL_ID as QUAL_ID1=QUAL_ID1 () 822 in (IDDOT^QUAL_ID) end 823) 824 in (LrTable.NT 6,(result,IDDOT1left,QUAL_ID1right),rest671) end 825| (51,(_,(MlyValue.ID ID1,ID1left,ID1right))::rest671) => let val 826result=MlyValue.LABEL(fn _ => let val ID as ID1=ID1 () 827 in ((fn (a,_) => a) ID) end 828) 829 in (LrTable.NT 3,(result,ID1left,ID1right),rest671) end 830| (52,(_,(MlyValue.INT INT1,INT1left,INT1right))::rest671) => let val 831result=MlyValue.LABEL(fn _ => let val INT as INT1=INT1 () 832 in (INT) end 833) 834 in (LrTable.NT 3,(result,INT1left,INT1right),rest671) end 835| (53,(_,(MlyValue.ID ID1,_,ID1right))::(_,(_,PREC_TAG1left,_)):: 836rest671) => let val result=MlyValue.G_RULE_PREC(fn _ => let val ID as 837ID1=ID1 () 838 in (SOME (symbolMake ID)) end 839) 840 in (LrTable.NT 11,(result,PREC_TAG1left,ID1right),rest671) end 841| (54,rest671) => let val result=MlyValue.G_RULE_PREC(fn _ => (NONE)) 842 in (LrTable.NT 11,(result,defaultPos,defaultPos),rest671) end 843| _ => raise (mlyAction i392) 844end 845val void = MlyValue.VOID 846val extract = fn a => (fn MlyValue.BEGIN x => x 847| _ => let exception ParseInternal 848 in raise ParseInternal end) a () 849end 850end 851structure Tokens : Mlyacc_TOKENS = 852struct 853type svalue = ParserData.svalue 854type ('a,'b) token = ('a,'b) Token.token 855fun ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,( 856ParserData.MlyValue.VOID,p1,p2)) 857fun ASTERISK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,( 858ParserData.MlyValue.VOID,p1,p2)) 859fun BLOCK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,( 860ParserData.MlyValue.VOID,p1,p2)) 861fun BAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,( 862ParserData.MlyValue.VOID,p1,p2)) 863fun CHANGE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,( 864ParserData.MlyValue.VOID,p1,p2)) 865fun COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,( 866ParserData.MlyValue.VOID,p1,p2)) 867fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,( 868ParserData.MlyValue.VOID,p1,p2)) 869fun DELIMITER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,( 870ParserData.MlyValue.VOID,p1,p2)) 871fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,( 872ParserData.MlyValue.VOID,p1,p2)) 873fun FOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,( 874ParserData.MlyValue.VOID,p1,p2)) 875fun HEADER (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,( 876ParserData.MlyValue.HEADER (fn () => i),p1,p2)) 877fun ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,( 878ParserData.MlyValue.ID (fn () => i),p1,p2)) 879fun IDDOT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,( 880ParserData.MlyValue.IDDOT (fn () => i),p1,p2)) 881fun PERCENT_HEADER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,( 882ParserData.MlyValue.VOID,p1,p2)) 883fun INT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,( 884ParserData.MlyValue.INT (fn () => i),p1,p2)) 885fun KEYWORD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,( 886ParserData.MlyValue.VOID,p1,p2)) 887fun LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,( 888ParserData.MlyValue.VOID,p1,p2)) 889fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,( 890ParserData.MlyValue.VOID,p1,p2)) 891fun NAME (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,( 892ParserData.MlyValue.VOID,p1,p2)) 893fun NODEFAULT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,( 894ParserData.MlyValue.VOID,p1,p2)) 895fun NONTERM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,( 896ParserData.MlyValue.VOID,p1,p2)) 897fun NOSHIFT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,( 898ParserData.MlyValue.VOID,p1,p2)) 899fun OF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,( 900ParserData.MlyValue.VOID,p1,p2)) 901fun PERCENT_EOP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,( 902ParserData.MlyValue.VOID,p1,p2)) 903fun PERCENT_PURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,( 904ParserData.MlyValue.VOID,p1,p2)) 905fun PERCENT_POS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,( 906ParserData.MlyValue.VOID,p1,p2)) 907fun PERCENT_ARG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,( 908ParserData.MlyValue.VOID,p1,p2)) 909fun PERCENT_TOKEN_SIG_INFO (p1,p2) = Token.TOKEN ( 910ParserData.LrTable.T 27,(ParserData.MlyValue.VOID,p1,p2)) 911fun PREC (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,( 912ParserData.MlyValue.PREC (fn () => i),p1,p2)) 913fun PREC_TAG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,( 914ParserData.MlyValue.VOID,p1,p2)) 915fun PREFER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,( 916ParserData.MlyValue.VOID,p1,p2)) 917fun PROG (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,( 918ParserData.MlyValue.PROG (fn () => i),p1,p2)) 919fun RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,( 920ParserData.MlyValue.VOID,p1,p2)) 921fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,( 922ParserData.MlyValue.VOID,p1,p2)) 923fun SUBST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,( 924ParserData.MlyValue.VOID,p1,p2)) 925fun START (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,( 926ParserData.MlyValue.VOID,p1,p2)) 927fun TERM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,( 928ParserData.MlyValue.VOID,p1,p2)) 929fun TYVAR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,( 930ParserData.MlyValue.TYVAR (fn () => i),p1,p2)) 931fun VERBOSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,( 932ParserData.MlyValue.VOID,p1,p2)) 933fun VALUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,( 934ParserData.MlyValue.VOID,p1,p2)) 935fun UNKNOWN (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,( 936ParserData.MlyValue.UNKNOWN (fn () => i),p1,p2)) 937fun BOGUS_VALUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,( 938ParserData.MlyValue.VOID,p1,p2)) 939end 940end 941