// Implementation file for parser generated by fsyacc module Parser #nowarn "64";; // turn off warnings that type variables used in production annotations are instantiated to concrete type open FSharp.Text.Lexing open FSharp.Text.Parsing.ParseHelpers # 2 "Parser.fsp" let p0 = (0,0) open FSharp.Text.Parsing open AbSyn (* parse-error function *) let mutable ErrorContextDescriptor : string = "" let parse_error_rich = Some (fun (ctxt: ParseErrorContext<_>) -> ErrorContextDescriptor <- match ctxt.CurrentToken with | None -> "At beginning of input\n" | Some token -> sprintf "at token %A\n" token ) # 26 "Parser.fs" // This type is the type of tokens accepted by the parser type token = | FILTER of (Position) | SCAN of (Position) | REPLICATE of (Position) | BOOLVAL of (bool * Position) | NOT of (Position) | AND of (Position) | OR of (Position) | TIMES of (Position) | DIVIDE of (Position) | NUMNEG of (Position) | LPAR of (Position) | RPAR of (Position) | LBRACKET of (Position) | RBRACKET of (Position) | LCURLY of (Position) | RCURLY of (Position) | FUN of (Position) | FN of (Position) | COMMA of (Position) | SEMICOLON of (Position) | READ of (Position) | WRITE of (Position) | DEQ of (Position) | LTH of (Position) | EQ of (Position) | OP of (Position) | MAP of (Position) | REDUCE of (Position) | IOTA of (Position) | ARROW of (Position) | PLUS of (Position) | MINUS of (Position) | LESS of (Position) | INT of (Position) | CHAR of (Position) | BOOL of (Position) | IF of (Position) | THEN of (Position) | ELSE of (Position) | LET of (Position) | IN of (Position) | EOF of (Position) | ID of (string * Position) | STRINGLIT of (string * Position) | CHARLIT of (char * Position) | NUM of (int * Position) // This type is used to give symbolic names to token indexes, useful for error messages type tokenId = | TOKEN_FILTER | TOKEN_SCAN | TOKEN_REPLICATE | TOKEN_BOOLVAL | TOKEN_NOT | TOKEN_AND | TOKEN_OR | TOKEN_TIMES | TOKEN_DIVIDE | TOKEN_NUMNEG | TOKEN_LPAR | TOKEN_RPAR | TOKEN_LBRACKET | TOKEN_RBRACKET | TOKEN_LCURLY | TOKEN_RCURLY | TOKEN_FUN | TOKEN_FN | TOKEN_COMMA | TOKEN_SEMICOLON | TOKEN_READ | TOKEN_WRITE | TOKEN_DEQ | TOKEN_LTH | TOKEN_EQ | TOKEN_OP | TOKEN_MAP | TOKEN_REDUCE | TOKEN_IOTA | TOKEN_ARROW | TOKEN_PLUS | TOKEN_MINUS | TOKEN_LESS | TOKEN_INT | TOKEN_CHAR | TOKEN_BOOL | TOKEN_IF | TOKEN_THEN | TOKEN_ELSE | TOKEN_LET | TOKEN_IN | TOKEN_EOF | TOKEN_ID | TOKEN_STRINGLIT | TOKEN_CHARLIT | TOKEN_NUM | TOKEN_end_of_input | TOKEN_error // This type is used to give symbolic names to token indexes, useful for error messages type nonTerminalId = | NONTERM__startProg | NONTERM_Prog | NONTERM_FunDecs | NONTERM_Fun | NONTERM_Type | NONTERM_Params | NONTERM_BinOp | NONTERM_Exp | NONTERM_MultiLet | NONTERM_Exps | NONTERM_FunArg // This function maps tokens to integer indexes let tagOfToken (t:token) = match t with | FILTER _ -> 0 | SCAN _ -> 1 | REPLICATE _ -> 2 | BOOLVAL _ -> 3 | NOT _ -> 4 | AND _ -> 5 | OR _ -> 6 | TIMES _ -> 7 | DIVIDE _ -> 8 | NUMNEG _ -> 9 | LPAR _ -> 10 | RPAR _ -> 11 | LBRACKET _ -> 12 | RBRACKET _ -> 13 | LCURLY _ -> 14 | RCURLY _ -> 15 | FUN _ -> 16 | FN _ -> 17 | COMMA _ -> 18 | SEMICOLON _ -> 19 | READ _ -> 20 | WRITE _ -> 21 | DEQ _ -> 22 | LTH _ -> 23 | EQ _ -> 24 | OP _ -> 25 | MAP _ -> 26 | REDUCE _ -> 27 | IOTA _ -> 28 | ARROW _ -> 29 | PLUS _ -> 30 | MINUS _ -> 31 | LESS _ -> 32 | INT _ -> 33 | CHAR _ -> 34 | BOOL _ -> 35 | IF _ -> 36 | THEN _ -> 37 | ELSE _ -> 38 | LET _ -> 39 | IN _ -> 40 | EOF _ -> 41 | ID _ -> 42 | STRINGLIT _ -> 43 | CHARLIT _ -> 44 | NUM _ -> 45 // This function maps integer indexes to symbolic token ids let tokenTagToTokenId (tokenIdx:int) = match tokenIdx with | 0 -> TOKEN_FILTER | 1 -> TOKEN_SCAN | 2 -> TOKEN_REPLICATE | 3 -> TOKEN_BOOLVAL | 4 -> TOKEN_NOT | 5 -> TOKEN_AND | 6 -> TOKEN_OR | 7 -> TOKEN_TIMES | 8 -> TOKEN_DIVIDE | 9 -> TOKEN_NUMNEG | 10 -> TOKEN_LPAR | 11 -> TOKEN_RPAR | 12 -> TOKEN_LBRACKET | 13 -> TOKEN_RBRACKET | 14 -> TOKEN_LCURLY | 15 -> TOKEN_RCURLY | 16 -> TOKEN_FUN | 17 -> TOKEN_FN | 18 -> TOKEN_COMMA | 19 -> TOKEN_SEMICOLON | 20 -> TOKEN_READ | 21 -> TOKEN_WRITE | 22 -> TOKEN_DEQ | 23 -> TOKEN_LTH | 24 -> TOKEN_EQ | 25 -> TOKEN_OP | 26 -> TOKEN_MAP | 27 -> TOKEN_REDUCE | 28 -> TOKEN_IOTA | 29 -> TOKEN_ARROW | 30 -> TOKEN_PLUS | 31 -> TOKEN_MINUS | 32 -> TOKEN_LESS | 33 -> TOKEN_INT | 34 -> TOKEN_CHAR | 35 -> TOKEN_BOOL | 36 -> TOKEN_IF | 37 -> TOKEN_THEN | 38 -> TOKEN_ELSE | 39 -> TOKEN_LET | 40 -> TOKEN_IN | 41 -> TOKEN_EOF | 42 -> TOKEN_ID | 43 -> TOKEN_STRINGLIT | 44 -> TOKEN_CHARLIT | 45 -> TOKEN_NUM | 48 -> TOKEN_end_of_input | 46 -> TOKEN_error | _ -> failwith "tokenTagToTokenId: bad token" /// This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production let prodIdxToNonTerminal (prodIdx:int) = match prodIdx with | 0 -> NONTERM__startProg | 1 -> NONTERM_Prog | 2 -> NONTERM_FunDecs | 3 -> NONTERM_FunDecs | 4 -> NONTERM_Fun | 5 -> NONTERM_Fun | 6 -> NONTERM_Type | 7 -> NONTERM_Type | 8 -> NONTERM_Type | 9 -> NONTERM_Type | 10 -> NONTERM_Params | 11 -> NONTERM_Params | 12 -> NONTERM_BinOp | 13 -> NONTERM_Exp | 14 -> NONTERM_Exp | 15 -> NONTERM_Exp | 16 -> NONTERM_Exp | 17 -> NONTERM_Exp | 18 -> NONTERM_Exp | 19 -> NONTERM_Exp | 20 -> NONTERM_Exp | 21 -> NONTERM_Exp | 22 -> NONTERM_Exp | 23 -> NONTERM_Exp | 24 -> NONTERM_Exp | 25 -> NONTERM_Exp | 26 -> NONTERM_Exp | 27 -> NONTERM_Exp | 28 -> NONTERM_Exp | 29 -> NONTERM_Exp | 30 -> NONTERM_Exp | 31 -> NONTERM_Exp | 32 -> NONTERM_Exp | 33 -> NONTERM_Exp | 34 -> NONTERM_Exp | 35 -> NONTERM_Exp | 36 -> NONTERM_Exp | 37 -> NONTERM_Exp | 38 -> NONTERM_Exp | 39 -> NONTERM_Exp | 40 -> NONTERM_Exp | 41 -> NONTERM_Exp | 42 -> NONTERM_Exp | 43 -> NONTERM_Exp | 44 -> NONTERM_MultiLet | 45 -> NONTERM_MultiLet | 46 -> NONTERM_Exps | 47 -> NONTERM_Exps | 48 -> NONTERM_FunArg | 49 -> NONTERM_FunArg | 50 -> NONTERM_FunArg | _ -> failwith "prodIdxToNonTerminal: bad production index" let _fsyacc_endOfInputTag = 48 let _fsyacc_tagOfErrorTerminal = 46 // This function gets the name of a token as a string let token_to_string (t:token) = match t with | FILTER _ -> "FILTER" | SCAN _ -> "SCAN" | REPLICATE _ -> "REPLICATE" | BOOLVAL _ -> "BOOLVAL" | NOT _ -> "NOT" | AND _ -> "AND" | OR _ -> "OR" | TIMES _ -> "TIMES" | DIVIDE _ -> "DIVIDE" | NUMNEG _ -> "NUMNEG" | LPAR _ -> "LPAR" | RPAR _ -> "RPAR" | LBRACKET _ -> "LBRACKET" | RBRACKET _ -> "RBRACKET" | LCURLY _ -> "LCURLY" | RCURLY _ -> "RCURLY" | FUN _ -> "FUN" | FN _ -> "FN" | COMMA _ -> "COMMA" | SEMICOLON _ -> "SEMICOLON" | READ _ -> "READ" | WRITE _ -> "WRITE" | DEQ _ -> "DEQ" | LTH _ -> "LTH" | EQ _ -> "EQ" | OP _ -> "OP" | MAP _ -> "MAP" | REDUCE _ -> "REDUCE" | IOTA _ -> "IOTA" | ARROW _ -> "ARROW" | PLUS _ -> "PLUS" | MINUS _ -> "MINUS" | LESS _ -> "LESS" | INT _ -> "INT" | CHAR _ -> "CHAR" | BOOL _ -> "BOOL" | IF _ -> "IF" | THEN _ -> "THEN" | ELSE _ -> "ELSE" | LET _ -> "LET" | IN _ -> "IN" | EOF _ -> "EOF" | ID _ -> "ID" | STRINGLIT _ -> "STRINGLIT" | CHARLIT _ -> "CHARLIT" | NUM _ -> "NUM" // This function gets the data carried by a token as an object let _fsyacc_dataOfToken (t:token) = match t with | FILTER _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | SCAN _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | REPLICATE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | BOOLVAL _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | NOT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | AND _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | OR _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | TIMES _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | DIVIDE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | NUMNEG _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | LPAR _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | RPAR _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | LBRACKET _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | RBRACKET _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | LCURLY _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | RCURLY _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | FUN _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | FN _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | COMMA _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | SEMICOLON _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | READ _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | WRITE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | DEQ _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | LTH _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | EQ _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | OP _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | MAP _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | REDUCE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | IOTA _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | ARROW _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | PLUS _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | MINUS _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | LESS _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | INT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | CHAR _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | BOOL _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | IF _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | THEN _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | ELSE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | LET _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | IN _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | EOF _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | ID _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | STRINGLIT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | CHARLIT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x | NUM _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x let _fsyacc_gotos = [| 0us; 65535us; 1us; 65535us; 0us; 1us; 2us; 65535us; 0us; 2us; 5us; 6us; 1us; 65535us; 4us; 5us; 7us; 65535us; 4us; 7us; 9us; 23us; 20us; 21us; 25us; 23us; 80us; 81us; 143us; 144us; 145us; 23us; 3us; 65535us; 9us; 10us; 25us; 26us; 145us; 148us; 1us; 65535us; 100us; 101us; 37us; 65535us; 12us; 13us; 15us; 16us; 32us; 65us; 68us; 35us; 69us; 36us; 70us; 37us; 71us; 38us; 72us; 39us; 73us; 40us; 74us; 41us; 75us; 65us; 84us; 42us; 87us; 43us; 92us; 44us; 97us; 45us; 98us; 46us; 102us; 47us; 103us; 48us; 106us; 49us; 107us; 50us; 112us; 51us; 117us; 52us; 118us; 53us; 120us; 54us; 124us; 55us; 126us; 56us; 128us; 57us; 129us; 58us; 130us; 59us; 131us; 60us; 132us; 61us; 133us; 62us; 135us; 63us; 138us; 64us; 140us; 65us; 147us; 66us; 150us; 67us; 2us; 65535us; 55us; 125us; 64us; 139us; 3us; 65535us; 32us; 33us; 75us; 76us; 140us; 141us; 4us; 65535us; 90us; 91us; 95us; 96us; 110us; 111us; 115us; 116us; |] let _fsyacc_sparseGotoTableRowOffsets = [|0us; 1us; 3us; 6us; 8us; 16us; 20us; 22us; 60us; 63us; 67us; |] let _fsyacc_stateToProdIdxsTableElements = [| 1us; 0us; 1us; 0us; 1us; 1us; 1us; 1us; 2us; 2us; 3us; 2us; 2us; 3us; 1us; 2us; 2us; 4us; 5us; 2us; 4us; 5us; 2us; 4us; 5us; 1us; 4us; 1us; 4us; 1us; 4us; 9us; 4us; 18us; 19us; 20us; 21us; 37us; 38us; 40us; 41us; 1us; 5us; 1us; 5us; 9us; 5us; 18us; 19us; 20us; 21us; 37us; 38us; 40us; 41us; 1us; 6us; 1us; 7us; 1us; 8us; 1us; 9us; 1us; 9us; 1us; 9us; 2us; 10us; 11us; 2us; 10us; 11us; 1us; 10us; 1us; 10us; 1us; 12us; 1us; 13us; 1us; 14us; 4us; 15us; 23us; 24us; 36us; 1us; 16us; 1us; 17us; 1us; 17us; 1us; 17us; 9us; 18us; 18us; 19us; 20us; 21us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 19us; 20us; 21us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 20us; 21us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 21us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 22us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 22us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 22us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 26us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 27us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 28us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 29us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 29us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 30us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 30us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 31us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 31us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 32us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 33us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 33us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 34us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 35us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 36us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 37us; 37us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 37us; 38us; 38us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 37us; 38us; 39us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 37us; 38us; 40us; 40us; 41us; 9us; 18us; 19us; 20us; 21us; 37us; 38us; 40us; 41us; 41us; 9us; 18us; 19us; 20us; 21us; 37us; 38us; 40us; 41us; 42us; 9us; 18us; 19us; 20us; 21us; 37us; 38us; 40us; 41us; 44us; 9us; 18us; 19us; 20us; 21us; 37us; 38us; 40us; 41us; 45us; 10us; 18us; 19us; 20us; 21us; 37us; 38us; 40us; 41us; 46us; 47us; 9us; 18us; 19us; 20us; 21us; 37us; 38us; 40us; 41us; 49us; 9us; 18us; 19us; 20us; 21us; 37us; 38us; 40us; 41us; 50us; 1us; 18us; 1us; 19us; 1us; 20us; 1us; 21us; 1us; 22us; 1us; 22us; 1us; 22us; 2us; 23us; 24us; 1us; 23us; 1us; 23us; 1us; 24us; 1us; 25us; 1us; 25us; 1us; 25us; 1us; 25us; 1us; 26us; 1us; 26us; 1us; 26us; 1us; 27us; 1us; 27us; 1us; 27us; 1us; 28us; 1us; 28us; 1us; 28us; 1us; 28us; 1us; 28us; 2us; 29us; 30us; 2us; 29us; 30us; 1us; 29us; 1us; 29us; 1us; 29us; 1us; 29us; 1us; 30us; 1us; 30us; 1us; 30us; 1us; 30us; 1us; 30us; 1us; 31us; 1us; 31us; 1us; 31us; 1us; 31us; 1us; 32us; 1us; 32us; 1us; 32us; 1us; 32us; 1us; 32us; 1us; 33us; 1us; 33us; 1us; 33us; 1us; 33us; 1us; 33us; 1us; 33us; 1us; 34us; 1us; 34us; 1us; 35us; 1us; 35us; 1us; 35us; 1us; 35us; 1us; 36us; 1us; 36us; 1us; 37us; 1us; 38us; 1us; 39us; 1us; 40us; 1us; 41us; 1us; 42us; 1us; 43us; 1us; 44us; 1us; 45us; 1us; 45us; 1us; 45us; 1us; 45us; 1us; 46us; 1us; 46us; 1us; 48us; 2us; 49us; 50us; 2us; 49us; 50us; 2us; 49us; 50us; 1us; 49us; 1us; 49us; 1us; 50us; 1us; 50us; 1us; 50us; |] let _fsyacc_stateToProdIdxsTableRowOffsets = [|0us; 2us; 4us; 6us; 8us; 11us; 14us; 16us; 19us; 22us; 25us; 27us; 29us; 31us; 41us; 43us; 45us; 55us; 57us; 59us; 61us; 63us; 65us; 67us; 70us; 73us; 75us; 77us; 79us; 81us; 83us; 88us; 90us; 92us; 94us; 96us; 106us; 116us; 126us; 136us; 146us; 156us; 166us; 176us; 186us; 196us; 206us; 216us; 226us; 236us; 246us; 256us; 266us; 276us; 286us; 296us; 306us; 316us; 326us; 336us; 346us; 356us; 366us; 376us; 386us; 396us; 407us; 417us; 427us; 429us; 431us; 433us; 435us; 437us; 439us; 441us; 444us; 446us; 448us; 450us; 452us; 454us; 456us; 458us; 460us; 462us; 464us; 466us; 468us; 470us; 472us; 474us; 476us; 478us; 480us; 483us; 486us; 488us; 490us; 492us; 494us; 496us; 498us; 500us; 502us; 504us; 506us; 508us; 510us; 512us; 514us; 516us; 518us; 520us; 522us; 524us; 526us; 528us; 530us; 532us; 534us; 536us; 538us; 540us; 542us; 544us; 546us; 548us; 550us; 552us; 554us; 556us; 558us; 560us; 562us; 564us; 566us; 568us; 570us; 572us; 574us; 576us; 578us; 580us; 583us; 586us; 589us; 591us; 593us; 595us; 597us; |] let _fsyacc_action_rows = 151 let _fsyacc_actionTableElements = [|1us; 32768us; 16us; 4us; 0us; 49152us; 1us; 32768us; 41us; 3us; 0us; 16385us; 4us; 32768us; 12us; 20us; 33us; 17us; 34us; 18us; 35us; 19us; 1us; 16387us; 16us; 4us; 0us; 16386us; 1us; 32768us; 42us; 8us; 1us; 32768us; 10us; 9us; 5us; 32768us; 11us; 14us; 12us; 20us; 33us; 17us; 34us; 18us; 35us; 19us; 1us; 32768us; 11us; 11us; 1us; 32768us; 24us; 12us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 8us; 16388us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 1us; 32768us; 24us; 15us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 8us; 16389us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 0us; 16390us; 0us; 16391us; 0us; 16392us; 4us; 32768us; 12us; 20us; 33us; 17us; 34us; 18us; 35us; 19us; 1us; 32768us; 13us; 22us; 0us; 16393us; 1us; 32768us; 42us; 24us; 1us; 16395us; 18us; 25us; 4us; 32768us; 12us; 20us; 33us; 17us; 34us; 18us; 35us; 19us; 0us; 16394us; 0us; 16396us; 0us; 16397us; 0us; 16398us; 2us; 16399us; 10us; 75us; 12us; 126us; 0us; 16400us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 1us; 32768us; 15us; 34us; 0us; 16401us; 2us; 16402us; 7us; 128us; 8us; 129us; 2us; 16403us; 7us; 128us; 8us; 129us; 4us; 16404us; 7us; 128us; 8us; 129us; 30us; 68us; 31us; 69us; 4us; 16405us; 7us; 128us; 8us; 129us; 30us; 68us; 31us; 69us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 37us; 73us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 38us; 74us; 8us; 16406us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 11us; 85us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 11us; 88us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 11us; 93us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 18us; 98us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 11us; 99us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 18us; 103us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 11us; 104us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 18us; 107us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 11us; 108us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 11us; 113us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 18us; 118us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 11us; 119us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 11us; 121us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 10us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 19us; 136us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 40us; 135us; 9us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 13us; 127us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 0us; 16421us; 0us; 16422us; 0us; 16423us; 6us; 16424us; 7us; 128us; 8us; 129us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 6us; 16425us; 7us; 128us; 8us; 129us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 6us; 16426us; 7us; 128us; 8us; 129us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 8us; 16428us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 10us; 32768us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 19us; 136us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 40us; 135us; 9us; 16431us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 18us; 140us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 8us; 16433us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 8us; 16434us; 5us; 131us; 6us; 132us; 7us; 128us; 8us; 129us; 22us; 70us; 23us; 71us; 30us; 68us; 31us; 69us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 20us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 11us; 78us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 1us; 32768us; 11us; 77us; 0us; 16407us; 0us; 16408us; 1us; 32768us; 10us; 80us; 4us; 32768us; 12us; 20us; 33us; 17us; 34us; 18us; 35us; 19us; 1us; 32768us; 11us; 82us; 0us; 16409us; 1us; 32768us; 10us; 84us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 0us; 16410us; 1us; 32768us; 10us; 87us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 0us; 16411us; 1us; 32768us; 10us; 90us; 2us; 32768us; 17us; 143us; 42us; 142us; 1us; 32768us; 18us; 92us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 0us; 16412us; 1us; 32768us; 10us; 95us; 3us; 32768us; 17us; 143us; 25us; 100us; 42us; 142us; 1us; 32768us; 18us; 97us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 0us; 16413us; 1us; 32768us; 30us; 27us; 1us; 32768us; 18us; 102us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 0us; 16414us; 1us; 32768us; 10us; 106us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 0us; 16415us; 1us; 32768us; 10us; 110us; 2us; 32768us; 17us; 143us; 42us; 142us; 1us; 32768us; 18us; 112us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 0us; 16416us; 1us; 32768us; 10us; 115us; 2us; 32768us; 17us; 143us; 42us; 142us; 1us; 32768us; 18us; 117us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 0us; 16417us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 0us; 16418us; 1us; 32768us; 42us; 123us; 1us; 32768us; 24us; 124us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 0us; 16419us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 0us; 16420us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 0us; 16427us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 1us; 32768us; 42us; 137us; 1us; 32768us; 24us; 138us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 0us; 16429us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 0us; 16430us; 0us; 16432us; 4us; 32768us; 12us; 20us; 33us; 17us; 34us; 18us; 35us; 19us; 1us; 32768us; 10us; 145us; 5us; 32768us; 11us; 146us; 12us; 20us; 33us; 17us; 34us; 18us; 35us; 19us; 1us; 32768us; 29us; 147us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; 1us; 32768us; 11us; 149us; 1us; 32768us; 29us; 150us; 19us; 32768us; 0us; 109us; 1us; 114us; 2us; 105us; 3us; 134us; 4us; 133us; 9us; 130us; 10us; 120us; 14us; 32us; 20us; 79us; 21us; 83us; 26us; 89us; 27us; 94us; 28us; 86us; 36us; 72us; 39us; 122us; 42us; 30us; 43us; 31us; 44us; 29us; 45us; 28us; |] let _fsyacc_actionTableRowOffsets = [|0us; 2us; 3us; 5us; 6us; 11us; 13us; 14us; 16us; 18us; 24us; 26us; 28us; 48us; 57us; 59us; 79us; 88us; 89us; 90us; 91us; 96us; 98us; 99us; 101us; 103us; 108us; 109us; 110us; 111us; 112us; 115us; 116us; 136us; 138us; 139us; 142us; 145us; 150us; 155us; 165us; 175us; 184us; 194us; 204us; 214us; 224us; 234us; 244us; 254us; 264us; 274us; 284us; 294us; 304us; 314us; 325us; 335us; 336us; 337us; 338us; 345us; 352us; 359us; 368us; 379us; 389us; 398us; 407us; 427us; 447us; 467us; 487us; 507us; 527us; 547us; 568us; 570us; 571us; 572us; 574us; 579us; 581us; 582us; 584us; 604us; 605us; 607us; 627us; 628us; 630us; 633us; 635us; 655us; 656us; 658us; 662us; 664us; 684us; 704us; 705us; 707us; 709us; 729us; 749us; 750us; 752us; 772us; 792us; 793us; 795us; 798us; 800us; 820us; 821us; 823us; 826us; 828us; 848us; 868us; 869us; 889us; 890us; 892us; 894us; 914us; 915us; 935us; 936us; 956us; 976us; 996us; 1016us; 1036us; 1056us; 1057us; 1077us; 1079us; 1081us; 1101us; 1102us; 1122us; 1123us; 1124us; 1129us; 1131us; 1137us; 1139us; 1159us; 1161us; 1163us; |] let _fsyacc_reductionSymbolCounts = [|1us; 2us; 3us; 2us; 7us; 6us; 1us; 1us; 1us; 3us; 4us; 2us; 1us; 1us; 1us; 1us; 1us; 3us; 3us; 3us; 3us; 3us; 6us; 4us; 3us; 4us; 4us; 4us; 6us; 8us; 9us; 6us; 6us; 8us; 3us; 5us; 4us; 3us; 3us; 2us; 3us; 3us; 2us; 1us; 2us; 5us; 3us; 1us; 1us; 6us; 7us; |] let _fsyacc_productionToNonTerminalTable = [|0us; 1us; 2us; 2us; 3us; 3us; 4us; 4us; 4us; 4us; 5us; 5us; 6us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 8us; 8us; 9us; 9us; 10us; 10us; 10us; |] let _fsyacc_immediateActions = [|65535us; 49152us; 65535us; 16385us; 65535us; 65535us; 16386us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16390us; 16391us; 16392us; 65535us; 65535us; 16393us; 65535us; 65535us; 65535us; 16394us; 16396us; 16397us; 16398us; 65535us; 16400us; 65535us; 65535us; 16401us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16407us; 16408us; 65535us; 65535us; 65535us; 16409us; 65535us; 65535us; 16410us; 65535us; 65535us; 16411us; 65535us; 65535us; 65535us; 65535us; 16412us; 65535us; 65535us; 65535us; 65535us; 65535us; 16413us; 65535us; 65535us; 65535us; 65535us; 16414us; 65535us; 65535us; 65535us; 16415us; 65535us; 65535us; 65535us; 65535us; 16416us; 65535us; 65535us; 65535us; 65535us; 65535us; 16417us; 65535us; 16418us; 65535us; 65535us; 65535us; 16419us; 65535us; 16420us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16427us; 65535us; 65535us; 65535us; 65535us; 16429us; 65535us; 16430us; 16432us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |] let _fsyacc_reductions () = [| # 411 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.UntypedProg in Microsoft.FSharp.Core.Operators.box ( ( raise (FSharp.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1)) ) : 'gentype__startProg)); # 420 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.UntypedFunDec list in let _2 = parseState.GetInput(2) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 76 "Parser.fsp" _1 ) # 76 "Parser.fsp" : AbSyn.UntypedProg)); # 432 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> AbSyn.UntypedFunDec in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedFunDec list in Microsoft.FSharp.Core.Operators.box ( ( # 79 "Parser.fsp" _2 :: _3 ) # 79 "Parser.fsp" : AbSyn.UntypedFunDec list)); # 445 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> AbSyn.UntypedFunDec in Microsoft.FSharp.Core.Operators.box ( ( # 80 "Parser.fsp" _2 :: [] ) # 80 "Parser.fsp" : AbSyn.UntypedFunDec list)); # 457 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.Type in let _2 = parseState.GetInput(2) :?> string * Position in let _3 = parseState.GetInput(3) :?> Position in let _4 = parseState.GetInput(4) :?> 'gentype_Params in let _5 = parseState.GetInput(5) :?> Position in let _6 = parseState.GetInput(6) :?> Position in let _7 = parseState.GetInput(7) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 84 "Parser.fsp" FunDec (fst _2, _1, _4, _7, snd _2) ) # 84 "Parser.fsp" : AbSyn.UntypedFunDec)); # 474 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.Type in let _2 = parseState.GetInput(2) :?> string * Position in let _3 = parseState.GetInput(3) :?> Position in let _4 = parseState.GetInput(4) :?> Position in let _5 = parseState.GetInput(5) :?> Position in let _6 = parseState.GetInput(6) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 86 "Parser.fsp" FunDec (fst _2, _1, [], _6, snd _2) ) # 86 "Parser.fsp" : AbSyn.UntypedFunDec)); # 490 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 89 "Parser.fsp" AbSyn.Int ) # 89 "Parser.fsp" : AbSyn.Type)); # 501 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 90 "Parser.fsp" AbSyn.Char ) # 90 "Parser.fsp" : AbSyn.Type)); # 512 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 91 "Parser.fsp" AbSyn.Bool ) # 91 "Parser.fsp" : AbSyn.Type)); # 523 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> AbSyn.Type in let _3 = parseState.GetInput(3) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 92 "Parser.fsp" AbSyn.Array _2 ) # 92 "Parser.fsp" : AbSyn.Type)); # 536 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.Type in let _2 = parseState.GetInput(2) :?> string * Position in let _3 = parseState.GetInput(3) :?> Position in let _4 = parseState.GetInput(4) :?> 'gentype_Params in Microsoft.FSharp.Core.Operators.box ( ( # 96 "Parser.fsp" Param (fst _2, _1) :: _4 ) # 96 "Parser.fsp" : 'gentype_Params)); # 550 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.Type in let _2 = parseState.GetInput(2) :?> string * Position in Microsoft.FSharp.Core.Operators.box ( ( # 97 "Parser.fsp" Param (fst _2, _1) :: [] ) # 97 "Parser.fsp" : 'gentype_Params)); # 562 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 101 "Parser.fsp" (Lambda (Int, [Param ("x", Int); Param ("y", Int)], Plus (Var ("x", _1), Var ("y", _1), _1) ,_1)) ) # 101 "Parser.fsp" : 'gentype_BinOp)); # 578 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> int * Position in Microsoft.FSharp.Core.Operators.box ( ( # 114 "Parser.fsp" Constant (IntVal (fst _1), snd _1) ) # 114 "Parser.fsp" : AbSyn.UntypedExp)); # 589 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> char * Position in Microsoft.FSharp.Core.Operators.box ( ( # 115 "Parser.fsp" Constant (CharVal (fst _1), snd _1) ) # 115 "Parser.fsp" : AbSyn.UntypedExp)); # 600 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> string * Position in Microsoft.FSharp.Core.Operators.box ( ( # 116 "Parser.fsp" Var _1 ) # 116 "Parser.fsp" : AbSyn.UntypedExp)); # 611 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> string * Position in Microsoft.FSharp.Core.Operators.box ( ( # 117 "Parser.fsp" StringLit _1 ) # 117 "Parser.fsp" : AbSyn.UntypedExp)); # 622 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> AbSyn.UntypedExp list in let _3 = parseState.GetInput(3) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 119 "Parser.fsp" ArrayLit (_2, (), _1) ) # 119 "Parser.fsp" : AbSyn.UntypedExp)); # 635 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.UntypedExp in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 120 "Parser.fsp" Plus (_1, _3, _2) ) # 120 "Parser.fsp" : AbSyn.UntypedExp)); # 648 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.UntypedExp in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 121 "Parser.fsp" Minus(_1, _3, _2) ) # 121 "Parser.fsp" : AbSyn.UntypedExp)); # 661 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.UntypedExp in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 122 "Parser.fsp" Equal(_1, _3, _2) ) # 122 "Parser.fsp" : AbSyn.UntypedExp)); # 674 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.UntypedExp in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 123 "Parser.fsp" Less (_1, _3, _2) ) # 123 "Parser.fsp" : AbSyn.UntypedExp)); # 687 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> AbSyn.UntypedExp in let _3 = parseState.GetInput(3) :?> Position in let _4 = parseState.GetInput(4) :?> AbSyn.UntypedExp in let _5 = parseState.GetInput(5) :?> Position in let _6 = parseState.GetInput(6) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 125 "Parser.fsp" If (_2, _4, _6, _1) ) # 125 "Parser.fsp" : AbSyn.UntypedExp)); # 703 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> string * Position in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedExp list in let _4 = parseState.GetInput(4) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 127 "Parser.fsp" Apply (fst _1, _3, snd _1) ) # 127 "Parser.fsp" : AbSyn.UntypedExp)); # 717 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> string * Position in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 128 "Parser.fsp" Apply (fst _1, [], snd _1) ) # 128 "Parser.fsp" : AbSyn.UntypedExp)); # 730 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.Type in let _4 = parseState.GetInput(4) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 130 "Parser.fsp" Read (_3, _1) ) # 130 "Parser.fsp" : AbSyn.UntypedExp)); # 744 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedExp in let _4 = parseState.GetInput(4) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 132 "Parser.fsp" Write (_3, (), _1) ) # 132 "Parser.fsp" : AbSyn.UntypedExp)); # 758 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedExp in let _4 = parseState.GetInput(4) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 134 "Parser.fsp" Iota (_3, _1) ) # 134 "Parser.fsp" : AbSyn.UntypedExp)); # 772 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedFunArg in let _4 = parseState.GetInput(4) :?> Position in let _5 = parseState.GetInput(5) :?> AbSyn.UntypedExp in let _6 = parseState.GetInput(6) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 136 "Parser.fsp" Map (_3, _5, (), (), _1) ) # 136 "Parser.fsp" : AbSyn.UntypedExp)); # 788 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedFunArg in let _4 = parseState.GetInput(4) :?> Position in let _5 = parseState.GetInput(5) :?> AbSyn.UntypedExp in let _6 = parseState.GetInput(6) :?> Position in let _7 = parseState.GetInput(7) :?> AbSyn.UntypedExp in let _8 = parseState.GetInput(8) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 138 "Parser.fsp" Reduce (_3, _5, _7, (), _1) ) # 138 "Parser.fsp" : AbSyn.UntypedExp)); # 806 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> Position in let _4 = parseState.GetInput(4) :?> 'gentype_BinOp in let _5 = parseState.GetInput(5) :?> Position in let _6 = parseState.GetInput(6) :?> AbSyn.UntypedExp in let _7 = parseState.GetInput(7) :?> Position in let _8 = parseState.GetInput(8) :?> AbSyn.UntypedExp in let _9 = parseState.GetInput(9) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 140 "Parser.fsp" Reduce (_4, _6, _8, (), _1) ) # 140 "Parser.fsp" : AbSyn.UntypedExp)); # 825 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedExp in let _4 = parseState.GetInput(4) :?> Position in let _5 = parseState.GetInput(5) :?> AbSyn.UntypedExp in let _6 = parseState.GetInput(6) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 142 "Parser.fsp" Replicate (_3, _5, (), _1) ) # 142 "Parser.fsp" : AbSyn.UntypedExp)); # 841 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedFunArg in let _4 = parseState.GetInput(4) :?> Position in let _5 = parseState.GetInput(5) :?> AbSyn.UntypedExp in let _6 = parseState.GetInput(6) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 144 "Parser.fsp" Filter (_3, _5, (), _1) ) # 144 "Parser.fsp" : AbSyn.UntypedExp)); # 857 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedFunArg in let _4 = parseState.GetInput(4) :?> Position in let _5 = parseState.GetInput(5) :?> AbSyn.UntypedExp in let _6 = parseState.GetInput(6) :?> Position in let _7 = parseState.GetInput(7) :?> AbSyn.UntypedExp in let _8 = parseState.GetInput(8) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 146 "Parser.fsp" Scan (_3, _5, _7, (), _1) ) # 146 "Parser.fsp" : AbSyn.UntypedExp)); # 875 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> AbSyn.UntypedExp in let _3 = parseState.GetInput(3) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 147 "Parser.fsp" _2 ) # 147 "Parser.fsp" : AbSyn.UntypedExp)); # 888 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> string * Position in let _3 = parseState.GetInput(3) :?> Position in let _4 = parseState.GetInput(4) :?> AbSyn.UntypedExp in let _5 = parseState.GetInput(5) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 149 "Parser.fsp" Let (Dec (fst _2, _4, _3), _5, _1) ) # 149 "Parser.fsp" : AbSyn.UntypedExp)); # 903 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> string * Position in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedExp in let _4 = parseState.GetInput(4) :?> Position in Microsoft.FSharp.Core.Operators.box ( ( # 151 "Parser.fsp" Index (fst _1, _3, (), _2) ) # 151 "Parser.fsp" : AbSyn.UntypedExp)); # 917 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.UntypedExp in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 153 "Parser.fsp" Times (_1, _3, _2) ) # 153 "Parser.fsp" : AbSyn.UntypedExp)); # 930 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.UntypedExp in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 154 "Parser.fsp" Divide (_1, _3, _2) ) # 154 "Parser.fsp" : AbSyn.UntypedExp)); # 943 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 155 "Parser.fsp" Negate (_2, _1) ) # 155 "Parser.fsp" : AbSyn.UntypedExp)); # 955 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.UntypedExp in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 157 "Parser.fsp" And (_1, _3, _2) ) # 157 "Parser.fsp" : AbSyn.UntypedExp)); # 968 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.UntypedExp in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 158 "Parser.fsp" Or (_1, _3, _2) ) # 158 "Parser.fsp" : AbSyn.UntypedExp)); # 981 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 159 "Parser.fsp" Not (_2, _1) ) # 159 "Parser.fsp" : AbSyn.UntypedExp)); # 993 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> bool * Position in Microsoft.FSharp.Core.Operators.box ( ( # 160 "Parser.fsp" Constant (BoolVal (fst _1), snd _1) ) # 160 "Parser.fsp" : AbSyn.UntypedExp)); # 1004 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 163 "Parser.fsp" _2 ) # 163 "Parser.fsp" : AbSyn.UntypedExp)); # 1016 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> string * Position in let _3 = parseState.GetInput(3) :?> Position in let _4 = parseState.GetInput(4) :?> AbSyn.UntypedExp in let _5 = parseState.GetInput(5) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 165 "Parser.fsp" Let (Dec (fst _2, _4, _3), _5, _1) ) # 165 "Parser.fsp" : AbSyn.UntypedExp)); # 1031 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.UntypedExp in let _2 = parseState.GetInput(2) :?> Position in let _3 = parseState.GetInput(3) :?> AbSyn.UntypedExp list in Microsoft.FSharp.Core.Operators.box ( ( # 168 "Parser.fsp" _1 :: _3 ) # 168 "Parser.fsp" : AbSyn.UntypedExp list)); # 1044 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 169 "Parser.fsp" _1 :: [] ) # 169 "Parser.fsp" : AbSyn.UntypedExp list)); # 1055 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> string * Position in Microsoft.FSharp.Core.Operators.box ( ( # 172 "Parser.fsp" FunName (fst _1 ) ) # 172 "Parser.fsp" : AbSyn.UntypedFunArg)); # 1066 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> AbSyn.Type in let _3 = parseState.GetInput(3) :?> Position in let _4 = parseState.GetInput(4) :?> Position in let _5 = parseState.GetInput(5) :?> Position in let _6 = parseState.GetInput(6) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 174 "Parser.fsp" Lambda (_2, [], _6, _1) ) # 174 "Parser.fsp" : AbSyn.UntypedFunArg)); # 1082 "Parser.fs" (fun (parseState : FSharp.Text.Parsing.IParseState) -> let _1 = parseState.GetInput(1) :?> Position in let _2 = parseState.GetInput(2) :?> AbSyn.Type in let _3 = parseState.GetInput(3) :?> Position in let _4 = parseState.GetInput(4) :?> 'gentype_Params in let _5 = parseState.GetInput(5) :?> Position in let _6 = parseState.GetInput(6) :?> Position in let _7 = parseState.GetInput(7) :?> AbSyn.UntypedExp in Microsoft.FSharp.Core.Operators.box ( ( # 176 "Parser.fsp" Lambda (_2, _4, _7, _1) ) # 176 "Parser.fsp" : AbSyn.UntypedFunArg)); |] # 1100 "Parser.fs" let tables : FSharp.Text.Parsing.Tables<_> = { reductions= _fsyacc_reductions (); endOfInputTag = _fsyacc_endOfInputTag; tagOfToken = tagOfToken; dataOfToken = _fsyacc_dataOfToken; actionTableElements = _fsyacc_actionTableElements; actionTableRowOffsets = _fsyacc_actionTableRowOffsets; stateToProdIdxsTableElements = _fsyacc_stateToProdIdxsTableElements; stateToProdIdxsTableRowOffsets = _fsyacc_stateToProdIdxsTableRowOffsets; reductionSymbolCounts = _fsyacc_reductionSymbolCounts; immediateActions = _fsyacc_immediateActions; gotos = _fsyacc_gotos; sparseGotoTableRowOffsets = _fsyacc_sparseGotoTableRowOffsets; tagOfErrorTerminal = _fsyacc_tagOfErrorTerminal; parseError = (fun (ctxt:FSharp.Text.Parsing.ParseErrorContext<_>) -> match parse_error_rich with | Some f -> f ctxt | None -> parse_error ctxt.Message); numTerminals = 49; productionToNonTerminalTable = _fsyacc_productionToNonTerminalTable } let engine lexer lexbuf startState = tables.Interpret(lexer, lexbuf, startState) let Prog lexer lexbuf : AbSyn.UntypedProg = engine lexer lexbuf 0 :?> _