1124 lines
63 KiB
Forth
1124 lines
63 KiB
Forth
// 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 :?> _
|