Math.NET Numerics
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1963 lines
90 KiB

// Implementation file for parser generated by fsyacc
#light "off"
module Microsoft.FSharp.Compiler.AbstractIL.Internal.AsciiParser
#nowarn "64";; // turn off warnings that type variables used in production annotations are instantiated to concrete type
open Microsoft.FSharp.Compiler.AbstractIL
open Internal.Utilities.Text.Lexing
open Internal.Utilities.Text.Parsing.ParseHelpers
# 1 "..\..\absil\ilpars.mly"
// (c) Microsoft Corporation 2005-2009.
open Internal.Utilities
open Internal.Utilities.Text
open Microsoft.FSharp.Text
open Microsoft.FSharp.Compiler.AbstractIL
open Microsoft.FSharp.Compiler.AbstractIL.Internal
module Ilascii = Microsoft.FSharp.Compiler.AbstractIL.Internal.AsciiConstants
module Ildiag = Microsoft.FSharp.Compiler.AbstractIL.Diagnostics
module Il = Microsoft.FSharp.Compiler.AbstractIL.IL
module Ilx = Microsoft.FSharp.Compiler.AbstractIL.Extensions.ILX.Types
module Il = Microsoft.FSharp.Compiler.AbstractIL.IL
module Illib = Microsoft.FSharp.Compiler.AbstractIL.Internal.Library
open Illib
open Ildiag
open Il
open Ilascii
open Ilx
let pfailwith s =
stderr.WriteLine ("*** error: "^s);
raise Parsing.RecoverableParseError
/// vararg sentinels
type sig_arg = SigArg of (string option * ILType) | Sentinel
let decode_varargs args =
let rec normals = function
| [] -> ([],None)
| Sentinel :: t -> ([],Some (varargs t))
| SigArg (_,p)::t -> let (n,r) = normals t in (p::n, r)
and varargs = function
| [] -> []
| SigArg (_,ty):: t -> let l = varargs t in ty::l
| Sentinel :: t -> pfailwith "two sentinels in vararg call" in
normals args;;
type 'a resolved_at_mspec_scope =
ResolvedAtMethodSpecScope of (ILGenericParameterDefs -> 'a)
let no_mspec_scope x = ResolvedAtMethodSpecScope (fun cgparams -> x)
let resolve_mspec_scope (ResolvedAtMethodSpecScope f) x = f x
let resolve_mspec_scope_then (ResolvedAtMethodSpecScope f) g =
ResolvedAtMethodSpecScope (fun x -> resolve_mspec_scope (g(f x)) x)
let resolve_mspec_scope_to_formal_scope tspeco obj =
match tspeco with
None -> resolve_mspec_scope obj mk_empty_gparams
| Some (tspec:ILTypeSpec) -> resolve_mspec_scope obj (gparams_of_inst tspec.GenericArgs)
let resolve_mspec_scope_to_current_scope obj =
resolve_mspec_scope obj mk_empty_gparams
let find_mscorlib_aref() =
match (!parse_ilGlobals).mscorlib_scoref with
| ScopeRef_assembly aref -> aref
| _ -> pfailwith "mscorlib_scoref not set to valid assembly reference in parse_ilGlobals"
let find_aref nm =
if nm = "mscorlib" then find_mscorlib_aref() else
pfailwith ("Undefined assembly ref '" ^ nm ^ "'")
# 78 "ilpars.fs"
// This type is the type of tokens accepted by the parser
type token =
| VOID
| VARARG
| VALUETYPE
| VALUE
| UNSIGNED
| UNMANAGED
| UINT8
| UINT64
| UINT32
| UINT16
| UINT
| TYPEDREF
| THISCALL
| STRING
| STDCALL
| STAR
| SLASH
| RPAREN
| RBRACK
| PLUS
| OBJECT
| NATIVE
| METHOD
| LPAREN
| LESS
| LBRACK
| INT8
| INT64
| INT32
| INT16
| INT
| INSTANCE
| GREATER
| FLOAT64
| FLOAT32
| FIELD
| FASTCALL
| EXPLICIT
| EOF
| ELIPSES
| DOT_CTOR
| DOT_CCTOR
| DOT
| DEFAULT
| DCOLON
| COMMA
| CLASS
| CHAR
| CDECL
| BYTEARRAY
| BOOL
| BANG
| AMP
| VAL_SQSTRING of (string)
| VAL_QSTRING of (string)
| VAL_DOTTEDNAME of (string)
| VAL_ID of (string)
| VAL_HEXBYTE of (int)
| INSTR_VALUETYPE of (Ilascii.valuetype_instr)
| INSTR_INT_TYPE of (Ilascii.int_type_instr)
| INSTR_TYPE of (Ilascii.type_instr)
| INSTR_TOK of (Ilascii.tok_instr)
| INSTR_SWITCH of (Ilascii.switch_instr)
| INSTR_STRING of (Ilascii.string_instr)
| INSTR_NONE of (Ilascii.none_instr)
| INSTR_METHOD of (Ilascii.method_instr)
| INSTR_LOC of (Ilascii.loc_instr)
| INSTR_R of (Ilascii.real_instr)
| INSTR_I8 of (Ilascii.i64_instr)
| INSTR_I32_I32 of (Ilascii.i32_i32_instr)
| INSTR_I of (Ilascii.i32_instr)
| INSTR_ARG of (Ilascii.arg_instr)
| VAL_FLOAT64 of (double)
| VAL_INT32_ELIPSES of (int32)
| VAL_INT64 of (int64)
// This type is used to give symbolic names to token indexes, useful for error messages
type tokenId =
| TOKEN_VOID
| TOKEN_VARARG
| TOKEN_VALUETYPE
| TOKEN_VALUE
| TOKEN_UNSIGNED
| TOKEN_UNMANAGED
| TOKEN_UINT8
| TOKEN_UINT64
| TOKEN_UINT32
| TOKEN_UINT16
| TOKEN_UINT
| TOKEN_TYPEDREF
| TOKEN_THISCALL
| TOKEN_STRING
| TOKEN_STDCALL
| TOKEN_STAR
| TOKEN_SLASH
| TOKEN_RPAREN
| TOKEN_RBRACK
| TOKEN_PLUS
| TOKEN_OBJECT
| TOKEN_NATIVE
| TOKEN_METHOD
| TOKEN_LPAREN
| TOKEN_LESS
| TOKEN_LBRACK
| TOKEN_INT8
| TOKEN_INT64
| TOKEN_INT32
| TOKEN_INT16
| TOKEN_INT
| TOKEN_INSTANCE
| TOKEN_GREATER
| TOKEN_FLOAT64
| TOKEN_FLOAT32
| TOKEN_FIELD
| TOKEN_FASTCALL
| TOKEN_EXPLICIT
| TOKEN_EOF
| TOKEN_ELIPSES
| TOKEN_DOT_CTOR
| TOKEN_DOT_CCTOR
| TOKEN_DOT
| TOKEN_DEFAULT
| TOKEN_DCOLON
| TOKEN_COMMA
| TOKEN_CLASS
| TOKEN_CHAR
| TOKEN_CDECL
| TOKEN_BYTEARRAY
| TOKEN_BOOL
| TOKEN_BANG
| TOKEN_AMP
| TOKEN_VAL_SQSTRING
| TOKEN_VAL_QSTRING
| TOKEN_VAL_DOTTEDNAME
| TOKEN_VAL_ID
| TOKEN_VAL_HEXBYTE
| TOKEN_INSTR_VALUETYPE
| TOKEN_INSTR_INT_TYPE
| TOKEN_INSTR_TYPE
| TOKEN_INSTR_TOK
| TOKEN_INSTR_SWITCH
| TOKEN_INSTR_STRING
| TOKEN_INSTR_NONE
| TOKEN_INSTR_METHOD
| TOKEN_INSTR_LOC
| TOKEN_INSTR_R
| TOKEN_INSTR_I8
| TOKEN_INSTR_I32_I32
| TOKEN_INSTR_I
| TOKEN_INSTR_ARG
| TOKEN_VAL_FLOAT64
| TOKEN_VAL_INT32_ELIPSES
| TOKEN_VAL_INT64
| TOKEN_end_of_input
| TOKEN_error
// This type is used to give symbolic names to token indexes, useful for error messages
type nonTerminalId =
| NONTERM__starttop_instrs
| NONTERM__starttop_typ
| NONTERM_top_typ
| NONTERM_top_instrs
| NONTERM_compQstring
| NONTERM_methodName
| NONTERM_instrs2
| NONTERM_methodSpec
| NONTERM_methodSpecMaybeArrayMethod
| NONTERM_instr_r_head
| NONTERM_instr
| NONTERM_sigArgs0
| NONTERM_sigArgs1
| NONTERM_sigArgs1a
| NONTERM_sigArg
| NONTERM_opt_id
| NONTERM_name1
| NONTERM_className
| NONTERM_slashedName
| NONTERM_typeNameInst
| NONTERM_typeName
| NONTERM_typSpec
| NONTERM_callConv
| NONTERM_callKind
| NONTERM_typ
| NONTERM_bounds1
| NONTERM_bound
| NONTERM_id
| NONTERM_int32
| NONTERM_int64
| NONTERM_float64
| NONTERM_opt_actual_tyargs
| NONTERM_actual_tyargs
| NONTERM_actualTypSpecs
// This function maps tokens to integers indexes
let tagOfToken (t:token) =
match t with
| VOID -> 0
| VARARG -> 1
| VALUETYPE -> 2
| VALUE -> 3
| UNSIGNED -> 4
| UNMANAGED -> 5
| UINT8 -> 6
| UINT64 -> 7
| UINT32 -> 8
| UINT16 -> 9
| UINT -> 10
| TYPEDREF -> 11
| THISCALL -> 12
| STRING -> 13
| STDCALL -> 14
| STAR -> 15
| SLASH -> 16
| RPAREN -> 17
| RBRACK -> 18
| PLUS -> 19
| OBJECT -> 20
| NATIVE -> 21
| METHOD -> 22
| LPAREN -> 23
| LESS -> 24
| LBRACK -> 25
| INT8 -> 26
| INT64 -> 27
| INT32 -> 28
| INT16 -> 29
| INT -> 30
| INSTANCE -> 31
| GREATER -> 32
| FLOAT64 -> 33
| FLOAT32 -> 34
| FIELD -> 35
| FASTCALL -> 36
| EXPLICIT -> 37
| EOF -> 38
| ELIPSES -> 39
| DOT_CTOR -> 40
| DOT_CCTOR -> 41
| DOT -> 42
| DEFAULT -> 43
| DCOLON -> 44
| COMMA -> 45
| CLASS -> 46
| CHAR -> 47
| CDECL -> 48
| BYTEARRAY -> 49
| BOOL -> 50
| BANG -> 51
| AMP -> 52
| VAL_SQSTRING _ -> 53
| VAL_QSTRING _ -> 54
| VAL_DOTTEDNAME _ -> 55
| VAL_ID _ -> 56
| VAL_HEXBYTE _ -> 57
| INSTR_VALUETYPE _ -> 58
| INSTR_INT_TYPE _ -> 59
| INSTR_TYPE _ -> 60
| INSTR_TOK _ -> 61
| INSTR_SWITCH _ -> 62
| INSTR_STRING _ -> 63
| INSTR_NONE _ -> 64
| INSTR_METHOD _ -> 65
| INSTR_LOC _ -> 66
| INSTR_R _ -> 67
| INSTR_I8 _ -> 68
| INSTR_I32_I32 _ -> 69
| INSTR_I _ -> 70
| INSTR_ARG _ -> 71
| VAL_FLOAT64 _ -> 72
| VAL_INT32_ELIPSES _ -> 73
| VAL_INT64 _ -> 74
// This function maps integers indexes to symbolic token ids
let tokenTagToTokenId (tokenIdx:int) =
match tokenIdx with
| 0 -> TOKEN_VOID
| 1 -> TOKEN_VARARG
| 2 -> TOKEN_VALUETYPE
| 3 -> TOKEN_VALUE
| 4 -> TOKEN_UNSIGNED
| 5 -> TOKEN_UNMANAGED
| 6 -> TOKEN_UINT8
| 7 -> TOKEN_UINT64
| 8 -> TOKEN_UINT32
| 9 -> TOKEN_UINT16
| 10 -> TOKEN_UINT
| 11 -> TOKEN_TYPEDREF
| 12 -> TOKEN_THISCALL
| 13 -> TOKEN_STRING
| 14 -> TOKEN_STDCALL
| 15 -> TOKEN_STAR
| 16 -> TOKEN_SLASH
| 17 -> TOKEN_RPAREN
| 18 -> TOKEN_RBRACK
| 19 -> TOKEN_PLUS
| 20 -> TOKEN_OBJECT
| 21 -> TOKEN_NATIVE
| 22 -> TOKEN_METHOD
| 23 -> TOKEN_LPAREN
| 24 -> TOKEN_LESS
| 25 -> TOKEN_LBRACK
| 26 -> TOKEN_INT8
| 27 -> TOKEN_INT64
| 28 -> TOKEN_INT32
| 29 -> TOKEN_INT16
| 30 -> TOKEN_INT
| 31 -> TOKEN_INSTANCE
| 32 -> TOKEN_GREATER
| 33 -> TOKEN_FLOAT64
| 34 -> TOKEN_FLOAT32
| 35 -> TOKEN_FIELD
| 36 -> TOKEN_FASTCALL
| 37 -> TOKEN_EXPLICIT
| 38 -> TOKEN_EOF
| 39 -> TOKEN_ELIPSES
| 40 -> TOKEN_DOT_CTOR
| 41 -> TOKEN_DOT_CCTOR
| 42 -> TOKEN_DOT
| 43 -> TOKEN_DEFAULT
| 44 -> TOKEN_DCOLON
| 45 -> TOKEN_COMMA
| 46 -> TOKEN_CLASS
| 47 -> TOKEN_CHAR
| 48 -> TOKEN_CDECL
| 49 -> TOKEN_BYTEARRAY
| 50 -> TOKEN_BOOL
| 51 -> TOKEN_BANG
| 52 -> TOKEN_AMP
| 53 -> TOKEN_VAL_SQSTRING
| 54 -> TOKEN_VAL_QSTRING
| 55 -> TOKEN_VAL_DOTTEDNAME
| 56 -> TOKEN_VAL_ID
| 57 -> TOKEN_VAL_HEXBYTE
| 58 -> TOKEN_INSTR_VALUETYPE
| 59 -> TOKEN_INSTR_INT_TYPE
| 60 -> TOKEN_INSTR_TYPE
| 61 -> TOKEN_INSTR_TOK
| 62 -> TOKEN_INSTR_SWITCH
| 63 -> TOKEN_INSTR_STRING
| 64 -> TOKEN_INSTR_NONE
| 65 -> TOKEN_INSTR_METHOD
| 66 -> TOKEN_INSTR_LOC
| 67 -> TOKEN_INSTR_R
| 68 -> TOKEN_INSTR_I8
| 69 -> TOKEN_INSTR_I32_I32
| 70 -> TOKEN_INSTR_I
| 71 -> TOKEN_INSTR_ARG
| 72 -> TOKEN_VAL_FLOAT64
| 73 -> TOKEN_VAL_INT32_ELIPSES
| 74 -> TOKEN_VAL_INT64
| 77 -> TOKEN_end_of_input
| 75 -> 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__starttop_instrs
| 1 -> NONTERM__starttop_typ
| 2 -> NONTERM_top_typ
| 3 -> NONTERM_top_instrs
| 4 -> NONTERM_compQstring
| 5 -> NONTERM_compQstring
| 6 -> NONTERM_methodName
| 7 -> NONTERM_methodName
| 8 -> NONTERM_methodName
| 9 -> NONTERM_instrs2
| 10 -> NONTERM_instrs2
| 11 -> NONTERM_methodSpec
| 12 -> NONTERM_methodSpecMaybeArrayMethod
| 13 -> NONTERM_instr_r_head
| 14 -> NONTERM_instr
| 15 -> NONTERM_instr
| 16 -> NONTERM_instr
| 17 -> NONTERM_instr
| 18 -> NONTERM_instr
| 19 -> NONTERM_instr
| 20 -> NONTERM_instr
| 21 -> NONTERM_instr
| 22 -> NONTERM_instr
| 23 -> NONTERM_instr
| 24 -> NONTERM_instr
| 25 -> NONTERM_instr
| 26 -> NONTERM_instr
| 27 -> NONTERM_sigArgs0
| 28 -> NONTERM_sigArgs0
| 29 -> NONTERM_sigArgs1
| 30 -> NONTERM_sigArgs1a
| 31 -> NONTERM_sigArgs1a
| 32 -> NONTERM_sigArg
| 33 -> NONTERM_sigArg
| 34 -> NONTERM_opt_id
| 35 -> NONTERM_opt_id
| 36 -> NONTERM_name1
| 37 -> NONTERM_name1
| 38 -> NONTERM_name1
| 39 -> NONTERM_className
| 40 -> NONTERM_className
| 41 -> NONTERM_slashedName
| 42 -> NONTERM_slashedName
| 43 -> NONTERM_typeNameInst
| 44 -> NONTERM_typeName
| 45 -> NONTERM_typSpec
| 46 -> NONTERM_typSpec
| 47 -> NONTERM_typSpec
| 48 -> NONTERM_callConv
| 49 -> NONTERM_callConv
| 50 -> NONTERM_callConv
| 51 -> NONTERM_callKind
| 52 -> NONTERM_callKind
| 53 -> NONTERM_callKind
| 54 -> NONTERM_callKind
| 55 -> NONTERM_callKind
| 56 -> NONTERM_callKind
| 57 -> NONTERM_callKind
| 58 -> NONTERM_typ
| 59 -> NONTERM_typ
| 60 -> NONTERM_typ
| 61 -> NONTERM_typ
| 62 -> NONTERM_typ
| 63 -> NONTERM_typ
| 64 -> NONTERM_typ
| 65 -> NONTERM_typ
| 66 -> NONTERM_typ
| 67 -> NONTERM_typ
| 68 -> NONTERM_typ
| 69 -> NONTERM_typ
| 70 -> NONTERM_typ
| 71 -> NONTERM_typ
| 72 -> NONTERM_typ
| 73 -> NONTERM_typ
| 74 -> NONTERM_typ
| 75 -> NONTERM_typ
| 76 -> NONTERM_typ
| 77 -> NONTERM_typ
| 78 -> NONTERM_typ
| 79 -> NONTERM_typ
| 80 -> NONTERM_typ
| 81 -> NONTERM_typ
| 82 -> NONTERM_typ
| 83 -> NONTERM_typ
| 84 -> NONTERM_typ
| 85 -> NONTERM_typ
| 86 -> NONTERM_typ
| 87 -> NONTERM_typ
| 88 -> NONTERM_typ
| 89 -> NONTERM_bounds1
| 90 -> NONTERM_bounds1
| 91 -> NONTERM_bound
| 92 -> NONTERM_bound
| 93 -> NONTERM_bound
| 94 -> NONTERM_bound
| 95 -> NONTERM_bound
| 96 -> NONTERM_bound
| 97 -> NONTERM_id
| 98 -> NONTERM_id
| 99 -> NONTERM_int32
| 100 -> NONTERM_int64
| 101 -> NONTERM_float64
| 102 -> NONTERM_float64
| 103 -> NONTERM_opt_actual_tyargs
| 104 -> NONTERM_opt_actual_tyargs
| 105 -> NONTERM_actual_tyargs
| 106 -> NONTERM_actualTypSpecs
| 107 -> NONTERM_actualTypSpecs
| _ -> failwith "prodIdxToNonTerminal: bad production index"
let _fsyacc_endOfInputTag = 77
let _fsyacc_tagOfErrorTerminal = 75
// This function gets the name of a token as a string
let token_to_string (t:token) =
match t with
| VOID -> "VOID"
| VARARG -> "VARARG"
| VALUETYPE -> "VALUETYPE"
| VALUE -> "VALUE"
| UNSIGNED -> "UNSIGNED"
| UNMANAGED -> "UNMANAGED"
| UINT8 -> "UINT8"
| UINT64 -> "UINT64"
| UINT32 -> "UINT32"
| UINT16 -> "UINT16"
| UINT -> "UINT"
| TYPEDREF -> "TYPEDREF"
| THISCALL -> "THISCALL"
| STRING -> "STRING"
| STDCALL -> "STDCALL"
| STAR -> "STAR"
| SLASH -> "SLASH"
| RPAREN -> "RPAREN"
| RBRACK -> "RBRACK"
| PLUS -> "PLUS"
| OBJECT -> "OBJECT"
| NATIVE -> "NATIVE"
| METHOD -> "METHOD"
| LPAREN -> "LPAREN"
| LESS -> "LESS"
| LBRACK -> "LBRACK"
| INT8 -> "INT8"
| INT64 -> "INT64"
| INT32 -> "INT32"
| INT16 -> "INT16"
| INT -> "INT"
| INSTANCE -> "INSTANCE"
| GREATER -> "GREATER"
| FLOAT64 -> "FLOAT64"
| FLOAT32 -> "FLOAT32"
| FIELD -> "FIELD"
| FASTCALL -> "FASTCALL"
| EXPLICIT -> "EXPLICIT"
| EOF -> "EOF"
| ELIPSES -> "ELIPSES"
| DOT_CTOR -> "DOT_CTOR"
| DOT_CCTOR -> "DOT_CCTOR"
| DOT -> "DOT"
| DEFAULT -> "DEFAULT"
| DCOLON -> "DCOLON"
| COMMA -> "COMMA"
| CLASS -> "CLASS"
| CHAR -> "CHAR"
| CDECL -> "CDECL"
| BYTEARRAY -> "BYTEARRAY"
| BOOL -> "BOOL"
| BANG -> "BANG"
| AMP -> "AMP"
| VAL_SQSTRING _ -> "VAL_SQSTRING"
| VAL_QSTRING _ -> "VAL_QSTRING"
| VAL_DOTTEDNAME _ -> "VAL_DOTTEDNAME"
| VAL_ID _ -> "VAL_ID"
| VAL_HEXBYTE _ -> "VAL_HEXBYTE"
| INSTR_VALUETYPE _ -> "INSTR_VALUETYPE"
| INSTR_INT_TYPE _ -> "INSTR_INT_TYPE"
| INSTR_TYPE _ -> "INSTR_TYPE"
| INSTR_TOK _ -> "INSTR_TOK"
| INSTR_SWITCH _ -> "INSTR_SWITCH"
| INSTR_STRING _ -> "INSTR_STRING"
| INSTR_NONE _ -> "INSTR_NONE"
| INSTR_METHOD _ -> "INSTR_METHOD"
| INSTR_LOC _ -> "INSTR_LOC"
| INSTR_R _ -> "INSTR_R"
| INSTR_I8 _ -> "INSTR_I8"
| INSTR_I32_I32 _ -> "INSTR_I32_I32"
| INSTR_I _ -> "INSTR_I"
| INSTR_ARG _ -> "INSTR_ARG"
| VAL_FLOAT64 _ -> "VAL_FLOAT64"
| VAL_INT32_ELIPSES _ -> "VAL_INT32_ELIPSES"
| VAL_INT64 _ -> "VAL_INT64"
// This function gets the data carried by a token as an object
let _fsyacc_dataOfToken (t:token) =
match t with
| VOID -> (null : System.Object)
| VARARG -> (null : System.Object)
| VALUETYPE -> (null : System.Object)
| VALUE -> (null : System.Object)
| UNSIGNED -> (null : System.Object)
| UNMANAGED -> (null : System.Object)
| UINT8 -> (null : System.Object)
| UINT64 -> (null : System.Object)
| UINT32 -> (null : System.Object)
| UINT16 -> (null : System.Object)
| UINT -> (null : System.Object)
| TYPEDREF -> (null : System.Object)
| THISCALL -> (null : System.Object)
| STRING -> (null : System.Object)
| STDCALL -> (null : System.Object)
| STAR -> (null : System.Object)
| SLASH -> (null : System.Object)
| RPAREN -> (null : System.Object)
| RBRACK -> (null : System.Object)
| PLUS -> (null : System.Object)
| OBJECT -> (null : System.Object)
| NATIVE -> (null : System.Object)
| METHOD -> (null : System.Object)
| LPAREN -> (null : System.Object)
| LESS -> (null : System.Object)
| LBRACK -> (null : System.Object)
| INT8 -> (null : System.Object)
| INT64 -> (null : System.Object)
| INT32 -> (null : System.Object)
| INT16 -> (null : System.Object)
| INT -> (null : System.Object)
| INSTANCE -> (null : System.Object)
| GREATER -> (null : System.Object)
| FLOAT64 -> (null : System.Object)
| FLOAT32 -> (null : System.Object)
| FIELD -> (null : System.Object)
| FASTCALL -> (null : System.Object)
| EXPLICIT -> (null : System.Object)
| EOF -> (null : System.Object)
| ELIPSES -> (null : System.Object)
| DOT_CTOR -> (null : System.Object)
| DOT_CCTOR -> (null : System.Object)
| DOT -> (null : System.Object)
| DEFAULT -> (null : System.Object)
| DCOLON -> (null : System.Object)
| COMMA -> (null : System.Object)
| CLASS -> (null : System.Object)
| CHAR -> (null : System.Object)
| CDECL -> (null : System.Object)
| BYTEARRAY -> (null : System.Object)
| BOOL -> (null : System.Object)
| BANG -> (null : System.Object)
| AMP -> (null : System.Object)
| VAL_SQSTRING _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| VAL_QSTRING _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| VAL_DOTTEDNAME _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| VAL_ID _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| VAL_HEXBYTE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| INSTR_VALUETYPE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| INSTR_INT_TYPE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| INSTR_TYPE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| INSTR_TOK _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| INSTR_SWITCH _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| INSTR_STRING _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| INSTR_NONE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| INSTR_METHOD _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| INSTR_LOC _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| INSTR_R _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| INSTR_I8 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| INSTR_I32_I32 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| INSTR_I _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| INSTR_ARG _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| VAL_FLOAT64 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| VAL_INT32_ELIPSES _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
| VAL_INT64 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
let _fsyacc_gotos = [| 0us; 65535us; 0us; 65535us; 1us; 65535us; 2us; 3us; 1us; 65535us; 0us; 1us; 0us; 65535us; 1us; 65535us; 16us; 17us; 2us; 65535us; 0us; 6us; 11us; 12us; 0us; 65535us; 1us; 65535us; 37us; 38us; 0us; 65535us; 2us; 65535us; 0us; 11us; 11us; 11us; 1us; 65535us; 19us; 20us; 1us; 65535us; 19us; 48us; 1us; 65535us; 19us; 49us; 2us; 65535us; 19us; 50us; 51us; 52us; 1us; 65535us; 54us; 55us; 15us; 65535us; 14us; 60us; 16us; 10us; 39us; 60us; 42us; 60us; 44us; 60us; 46us; 60us; 63us; 59us; 64us; 59us; 65us; 60us; 68us; 60us; 92us; 60us; 95us; 60us; 97us; 60us; 149us; 60us; 153us; 60us; 10us; 65535us; 14us; 72us; 39us; 72us; 42us; 72us; 44us; 72us; 46us; 72us; 92us; 70us; 95us; 70us; 97us; 70us; 149us; 72us; 153us; 72us; 12us; 65535us; 14us; 67us; 39us; 67us; 42us; 67us; 44us; 67us; 46us; 67us; 65us; 66us; 68us; 69us; 92us; 67us; 95us; 67us; 97us; 67us; 149us; 67us; 153us; 67us; 3us; 65535us; 92us; 93us; 95us; 96us; 97us; 98us; 7us; 65535us; 14us; 73us; 39us; 73us; 42us; 73us; 44us; 73us; 46us; 73us; 149us; 73us; 153us; 73us; 7us; 65535us; 14us; 15us; 39us; 40us; 42us; 43us; 44us; 45us; 46us; 47us; 149us; 152us; 153us; 154us; 1us; 65535us; 37us; 13us; 3us; 65535us; 37us; 82us; 78us; 79us; 80us; 81us; 12us; 65535us; 2us; 4us; 13us; 14us; 14us; 74us; 19us; 54us; 39us; 74us; 42us; 74us; 44us; 74us; 46us; 74us; 51us; 54us; 75us; 76us; 149us; 74us; 153us; 74us; 2us; 65535us; 64us; 101us; 99us; 101us; 3us; 65535us; 64us; 131us; 99us; 131us; 132us; 133us; 17us; 65535us; 14us; 57us; 16us; 57us; 39us; 57us; 42us; 57us; 44us; 57us; 46us; 57us; 54us; 56us; 61us; 62us; 63us; 57us; 64us; 57us; 65us; 57us; 68us; 57us; 92us; 57us; 95us; 57us; 97us; 57us; 149us; 57us; 153us; 57us; 12us; 65535us; 23us; 24us; 25us; 26us; 27us; 28us; 29us; 30us; 30us; 31us; 41us; 42us; 64us; 134us; 99us; 134us; 129us; 130us; 132us; 134us; 135us; 136us; 137us; 138us; 3us; 65535us; 32us; 33us; 34us; 36us; 145us; 146us; 1us; 65535us; 34us; 35us; 2us; 65535us; 17us; 18us; 70us; 71us; 2us; 65535us; 17us; 148us; 70us; 148us; 1us; 65535us; 149us; 150us; |]
let _fsyacc_sparseGotoTableRowOffsets = [|0us; 1us; 2us; 4us; 6us; 7us; 9us; 12us; 13us; 15us; 16us; 19us; 21us; 23us; 25us; 28us; 30us; 46us; 57us; 70us; 74us; 82us; 90us; 92us; 96us; 109us; 112us; 116us; 134us; 147us; 151us; 153us; 156us; 159us; |]
let _fsyacc_stateToProdIdxsTableElements = [| 1us; 0us; 1us; 0us; 1us; 1us; 1us; 1us; 5us; 2us; 63us; 64us; 65us; 66us; 1us; 2us; 1us; 3us; 1us; 3us; 1us; 6us; 1us; 7us; 2us; 8us; 38us; 1us; 9us; 1us; 9us; 1us; 12us; 5us; 12us; 63us; 64us; 65us; 66us; 1us; 12us; 1us; 12us; 1us; 12us; 1us; 12us; 1us; 12us; 1us; 12us; 1us; 12us; 1us; 14us; 1us; 15us; 1us; 15us; 1us; 16us; 1us; 16us; 1us; 17us; 1us; 17us; 1us; 18us; 1us; 18us; 1us; 18us; 1us; 19us; 1us; 19us; 2us; 20us; 21us; 1us; 20us; 1us; 21us; 1us; 22us; 1us; 22us; 1us; 23us; 1us; 23us; 1us; 24us; 1us; 24us; 1us; 24us; 1us; 25us; 1us; 25us; 1us; 26us; 1us; 26us; 1us; 28us; 2us; 29us; 31us; 1us; 30us; 1us; 31us; 1us; 31us; 1us; 32us; 5us; 33us; 63us; 64us; 65us; 66us; 1us; 33us; 1us; 35us; 1us; 36us; 1us; 37us; 2us; 38us; 39us; 3us; 38us; 41us; 42us; 1us; 38us; 1us; 38us; 1us; 39us; 3us; 39us; 63us; 64us; 1us; 39us; 1us; 39us; 1us; 40us; 1us; 42us; 1us; 42us; 1us; 43us; 1us; 43us; 1us; 44us; 1us; 45us; 5us; 46us; 63us; 64us; 65us; 66us; 1us; 47us; 5us; 47us; 63us; 64us; 65us; 66us; 1us; 47us; 1us; 48us; 1us; 48us; 1us; 49us; 1us; 49us; 1us; 50us; 1us; 52us; 1us; 53us; 4us; 54us; 55us; 56us; 57us; 1us; 54us; 1us; 55us; 1us; 56us; 1us; 57us; 1us; 58us; 1us; 59us; 1us; 60us; 1us; 60us; 1us; 61us; 1us; 61us; 1us; 61us; 1us; 62us; 1us; 62us; 2us; 63us; 64us; 1us; 63us; 2us; 64us; 90us; 1us; 64us; 1us; 65us; 1us; 66us; 1us; 67us; 1us; 68us; 1us; 69us; 1us; 70us; 1us; 71us; 1us; 72us; 1us; 73us; 1us; 74us; 1us; 75us; 1us; 76us; 4us; 77us; 78us; 79us; 80us; 1us; 77us; 1us; 78us; 1us; 79us; 1us; 80us; 1us; 81us; 1us; 82us; 1us; 83us; 1us; 84us; 3us; 85us; 86us; 87us; 1us; 85us; 1us; 86us; 1us; 86us; 1us; 87us; 1us; 88us; 1us; 88us; 1us; 89us; 1us; 90us; 1us; 90us; 3us; 92us; 93us; 94us; 2us; 93us; 94us; 1us; 93us; 2us; 95us; 96us; 1us; 95us; 1us; 97us; 1us; 98us; 1us; 99us; 1us; 100us; 1us; 101us; 1us; 102us; 1us; 102us; 1us; 102us; 1us; 102us; 1us; 104us; 1us; 105us; 2us; 105us; 107us; 1us; 105us; 1us; 106us; 1us; 107us; 1us; 107us; |]
let _fsyacc_stateToProdIdxsTableRowOffsets = [|0us; 2us; 4us; 6us; 8us; 14us; 16us; 18us; 20us; 22us; 24us; 27us; 29us; 31us; 33us; 39us; 41us; 43us; 45us; 47us; 49us; 51us; 53us; 55us; 57us; 59us; 61us; 63us; 65us; 67us; 69us; 71us; 73us; 75us; 77us; 80us; 82us; 84us; 86us; 88us; 90us; 92us; 94us; 96us; 98us; 100us; 102us; 104us; 106us; 108us; 111us; 113us; 115us; 117us; 119us; 125us; 127us; 129us; 131us; 133us; 136us; 140us; 142us; 144us; 146us; 150us; 152us; 154us; 156us; 158us; 160us; 162us; 164us; 166us; 168us; 174us; 176us; 182us; 184us; 186us; 188us; 190us; 192us; 194us; 196us; 198us; 203us; 205us; 207us; 209us; 211us; 213us; 215us; 217us; 219us; 221us; 223us; 225us; 227us; 229us; 232us; 234us; 237us; 239us; 241us; 243us; 245us; 247us; 249us; 251us; 253us; 255us; 257us; 259us; 261us; 263us; 268us; 270us; 272us; 274us; 276us; 278us; 280us; 282us; 284us; 288us; 290us; 292us; 294us; 296us; 298us; 300us; 302us; 304us; 306us; 310us; 313us; 315us; 318us; 320us; 322us; 324us; 326us; 328us; 330us; 332us; 334us; 336us; 338us; 340us; 342us; 345us; 347us; 349us; 351us; |]
let _fsyacc_action_rows = 155
let _fsyacc_actionTableElements = [|12us; 16394us; 58us; 44us; 59us; 41us; 60us; 39us; 61us; 46us; 64us; 22us; 65us; 37us; 66us; 25us; 67us; 34us; 68us; 32us; 69us; 29us; 70us; 27us; 71us; 23us; 0us; 49152us; 22us; 32768us; 0us; 107us; 2us; 97us; 3us; 94us; 4us; 115us; 6us; 120us; 7us; 123us; 8us; 122us; 9us; 121us; 11us; 105us; 13us; 90us; 20us; 91us; 21us; 124us; 26us; 109us; 27us; 112us; 28us; 111us; 29us; 110us; 33us; 114us; 34us; 113us; 46us; 92us; 47us; 106us; 50us; 108us; 51us; 129us; 0us; 49152us; 4us; 32768us; 15us; 104us; 25us; 99us; 38us; 5us; 52us; 103us; 0us; 16386us; 1us; 32768us; 38us; 7us; 0us; 16387us; 0us; 16390us; 0us; 16391us; 1us; 16392us; 42us; 61us; 12us; 16394us; 58us; 44us; 59us; 41us; 60us; 39us; 61us; 46us; 64us; 22us; 65us; 37us; 66us; 25us; 67us; 34us; 68us; 32us; 69us; 29us; 70us; 27us; 71us; 23us; 0us; 16393us; 22us; 32768us; 0us; 107us; 2us; 97us; 3us; 94us; 4us; 115us; 6us; 120us; 7us; 123us; 8us; 122us; 9us; 121us; 11us; 105us; 13us; 90us; 20us; 91us; 21us; 124us; 26us; 109us; 27us; 112us; 28us; 111us; 29us; 110us; 33us; 114us; 34us; 113us; 46us; 92us; 47us; 106us; 50us; 108us; 51us; 129us; 29us; 32768us; 0us; 107us; 2us; 97us; 3us; 94us; 4us; 115us; 6us; 120us; 7us; 123us; 8us; 122us; 9us; 121us; 11us; 105us; 13us; 90us; 15us; 104us; 20us; 91us; 21us; 124us; 23us; 75us; 25us; 64us; 26us; 109us; 27us; 112us; 28us; 111us; 29us; 110us; 33us; 114us; 34us; 113us; 46us; 92us; 47us; 106us; 50us; 108us; 51us; 129us; 52us; 103us; 53us; 140us; 55us; 58us; 56us; 139us; 1us; 32768us; 44us; 16us; 5us; 32768us; 40us; 8us; 41us; 9us; 53us; 140us; 55us; 58us; 56us; 139us; 1us; 16487us; 24us; 149us; 1us; 32768us; 23us; 19us; 23us; 16411us; 0us; 107us; 2us; 97us; 3us; 94us; 4us; 115us; 6us; 120us; 7us; 123us; 8us; 122us; 9us; 121us; 11us; 105us; 13us; 90us; 20us; 91us; 21us; 124us; 26us; 109us; 27us; 112us; 28us; 111us; 29us; 110us; 33us; 114us; 34us; 113us; 39us; 53us; 46us; 92us; 47us; 106us; 50us; 108us; 51us; 129us; 1us; 32768us; 17us; 21us; 0us; 16396us; 0us; 16398us; 1us; 32768us; 74us; 141us; 0us; 16399us; 1us; 32768us; 74us; 141us; 0us; 16400us; 1us; 32768us; 74us; 141us; 0us; 16401us; 1us; 32768us; 74us; 141us; 1us; 32768us; 74us; 141us; 0us; 16402us; 1us; 32768us; 74us; 142us; 0us; 16403us; 3us; 32768us; 33us; 144us; 72us; 143us; 74us; 142us; 0us; 16404us; 0us; 16405us; 5us; 16435us; 1us; 84us; 5us; 85us; 31us; 78us; 37us; 80us; 43us; 83us; 0us; 16406us; 27us; 32768us; 0us; 107us; 2us; 97us; 3us; 94us; 4us; 115us; 6us; 120us; 7us; 123us; 8us; 122us; 9us; 121us; 11us; 105us; 13us; 90us; 20us; 91us; 21us; 124us; 23us; 75us; 25us; 63us; 26us; 109us; 27us; 112us; 28us; 111us; 29us; 110us; 33us; 114us; 34us; 113us; 46us; 92us; 47us; 106us; 50us; 108us; 51us; 129us; 53us; 140us; 55us; 58us; 56us; 139us; 0us; 16407us; 1us; 32768us; 74us; 141us; 27us; 32768us; 0us; 107us; 2us; 97us; 3us; 94us; 4us; 115us; 6us; 120us; 7us; 123us; 8us; 122us; 9us; 121us; 11us; 105us; 13us; 90us; 20us; 91us; 21us; 124us; 23us; 75us; 25us; 63us; 26us; 109us; 27us; 112us; 28us; 111us; 29us; 110us; 33us; 114us; 34us; 113us; 46us; 92us; 47us; 106us; 50us; 108us; 51us; 129us; 53us; 140us; 55us; 58us; 56us; 139us; 0us; 16408us; 27us; 32768us; 0us; 107us; 2us; 97us; 3us; 94us; 4us; 115us; 6us; 120us; 7us; 123us; 8us; 122us; 9us; 121us; 11us; 105us; 13us; 90us; 20us; 91us; 21us; 124us; 23us; 75us; 25us; 63us; 26us; 109us; 27us; 112us; 28us; 111us; 29us; 110us; 33us; 114us; 34us; 113us; 46us; 92us; 47us; 106us; 50us; 108us; 51us; 129us; 53us; 140us; 55us; 58us; 56us; 139us; 0us; 16409us; 27us; 32768us; 0us; 107us; 2us; 97us; 3us; 94us; 4us; 115us; 6us; 120us; 7us; 123us; 8us; 122us; 9us; 121us; 11us; 105us; 13us; 90us; 20us; 91us; 21us; 124us; 23us; 75us; 25us; 63us; 26us; 109us; 27us; 112us; 28us; 111us; 29us; 110us; 33us; 114us; 34us; 113us; 46us; 92us; 47us; 106us; 50us; 108us; 51us; 129us; 53us; 140us; 55us; 58us; 56us; 139us; 0us; 16410us; 0us; 16412us; 1us; 16413us; 45us; 51us; 0us; 16414us; 23us; 32768us; 0us; 107us; 2us; 97us; 3us; 94us; 4us; 115us; 6us; 120us; 7us; 123us; 8us; 122us; 9us; 121us; 11us; 105us; 13us; 90us; 20us; 91us; 21us; 124us; 26us; 109us; 27us; 112us; 28us; 111us; 29us; 110us; 33us; 114us; 34us; 113us; 39us; 53us; 46us; 92us; 47us; 106us; 50us; 108us; 51us; 129us; 0us; 16415us; 0us; 16416us; 5us; 16418us; 15us; 104us; 25us; 99us; 52us; 103us; 53us; 140us; 56us; 139us; 0us; 16417us; 0us; 16419us; 0us; 16420us; 0us; 16421us; 2us; 32768us; 18us; 65us; 42us; 61us; 2us; 16425us; 16us; 68us; 42us; 61us; 2us; 32768us; 53us; 140us; 56us; 139us; 0us; 16422us; 3us; 32768us; 53us; 140us; 55us; 58us; 56us; 139us; 6us; 16475us; 18us; 100us; 53us; 140us; 55us; 58us; 56us; 139us; 73us; 137us; 74us; 141us; 3us; 32768us; 53us; 140us; 55us; 58us; 56us; 139us; 0us; 16423us; 0us; 16424us; 3us; 32768us; 53us; 140us; 55us; 58us; 56us; 139us; 0us; 16426us; 1us; 16487us; 24us; 149us; 0us; 16427us; 0us; 16428us; 0us; 16429us; 3us; 16430us; 15us; 104us; 25us; 99us; 52us; 103us; 22us; 32768us; 0us; 107us; 2us; 97us; 3us; 94us; 4us; 115us; 6us; 120us; 7us; 123us; 8us; 122us; 9us; 121us; 11us; 105us; 13us; 90us; 20us; 91us; 21us; 124us; 26us; 109us; 27us; 112us; 28us; 111us; 29us; 110us; 33us; 114us; 34us; 113us; 46us; 92us; 47us; 106us; 50us; 108us; 51us; 129us; 4us; 32768us; 15us; 104us; 17us; 77us; 25us; 99us; 52us; 103us; 0us; 16431us; 3us; 16435us; 1us; 84us; 5us; 85us; 43us; 83us; 0us; 16432us; 3us; 16435us; 1us; 84us; 5us; 85us; 43us; 83us; 0us; 16433us; 0us; 16434us; 0us; 16436us; 0us; 16437us; 4us; 32768us; 12us; 88us; 14us; 87us; 36us; 89us; 48us; 86us; 0us; 16438us; 0us; 16439us; 0us; 16440us; 0us; 16441us; 0us; 16442us; 0us; 16443us; 4us; 32768us; 25us; 63us; 53us; 140us; 55us; 58us; 56us; 139us; 0us; 16444us; 1us; 32768us; 46us; 95us; 4us; 32768us; 25us; 63us; 53us; 140us; 55us; 58us; 56us; 139us; 0us; 16445us; 4us; 32768us; 25us; 63us; 53us; 140us; 55us; 58us; 56us; 139us; 0us; 16446us; 3us; 16475us; 18us; 100us; 73us; 137us; 74us; 141us; 0us; 16447us; 2us; 32768us; 18us; 102us; 45us; 132us; 0us; 16448us; 0us; 16449us; 0us; 16450us; 0us; 16451us; 0us; 16452us; 0us; 16453us; 0us; 16454us; 0us; 16455us; 0us; 16456us; 0us; 16457us; 0us; 16458us; 0us; 16459us; 0us; 16460us; 4us; 32768us; 26us; 116us; 27us; 119us; 28us; 118us; 29us; 117us; 0us; 16461us; 0us; 16462us; 0us; 16463us; 0us; 16464us; 0us; 16465us; 0us; 16466us; 0us; 16467us; 0us; 16468us; 3us; 32768us; 4us; 126us; 10us; 128us; 30us; 125us; 0us; 16469us; 1us; 32768us; 30us; 127us; 0us; 16470us; 0us; 16471us; 1us; 32768us; 74us; 141us; 0us; 16472us; 0us; 16473us; 2us; 16475us; 73us; 137us; 74us; 141us; 0us; 16474us; 1us; 16476us; 39us; 135us; 1us; 16478us; 74us; 141us; 0us; 16477us; 1us; 16480us; 74us; 141us; 0us; 16479us; 0us; 16481us; 0us; 16482us; 0us; 16483us; 0us; 16484us; 0us; 16485us; 1us; 32768us; 23us; 145us; 1us; 32768us; 74us; 142us; 1us; 32768us; 17us; 147us; 0us; 16486us; 0us; 16488us; 27us; 32768us; 0us; 107us; 2us; 97us; 3us; 94us; 4us; 115us; 6us; 120us; 7us; 123us; 8us; 122us; 9us; 121us; 11us; 105us; 13us; 90us; 20us; 91us; 21us; 124us; 23us; 75us; 25us; 63us; 26us; 109us; 27us; 112us; 28us; 111us; 29us; 110us; 33us; 114us; 34us; 113us; 46us; 92us; 47us; 106us; 50us; 108us; 51us; 129us; 53us; 140us; 55us; 58us; 56us; 139us; 2us; 32768us; 32us; 151us; 45us; 153us; 0us; 16489us; 0us; 16490us; 27us; 32768us; 0us; 107us; 2us; 97us; 3us; 94us; 4us; 115us; 6us; 120us; 7us; 123us; 8us; 122us; 9us; 121us; 11us; 105us; 13us; 90us; 20us; 91us; 21us; 124us; 23us; 75us; 25us; 63us; 26us; 109us; 27us; 112us; 28us; 111us; 29us; 110us; 33us; 114us; 34us; 113us; 46us; 92us; 47us; 106us; 50us; 108us; 51us; 129us; 53us; 140us; 55us; 58us; 56us; 139us; 0us; 16491us; |]
let _fsyacc_actionTableRowOffsets = [|0us; 13us; 14us; 37us; 38us; 43us; 44us; 46us; 47us; 48us; 49us; 51us; 64us; 65us; 88us; 118us; 120us; 126us; 128us; 130us; 154us; 156us; 157us; 158us; 160us; 161us; 163us; 164us; 166us; 167us; 169us; 171us; 172us; 174us; 175us; 179us; 180us; 181us; 187us; 188us; 216us; 217us; 219us; 247us; 248us; 276us; 277us; 305us; 306us; 307us; 309us; 310us; 334us; 335us; 336us; 342us; 343us; 344us; 345us; 346us; 349us; 352us; 355us; 356us; 360us; 367us; 371us; 372us; 373us; 377us; 378us; 380us; 381us; 382us; 383us; 387us; 410us; 415us; 416us; 420us; 421us; 425us; 426us; 427us; 428us; 429us; 434us; 435us; 436us; 437us; 438us; 439us; 440us; 445us; 446us; 448us; 453us; 454us; 459us; 460us; 464us; 465us; 468us; 469us; 470us; 471us; 472us; 473us; 474us; 475us; 476us; 477us; 478us; 479us; 480us; 481us; 486us; 487us; 488us; 489us; 490us; 491us; 492us; 493us; 494us; 498us; 499us; 501us; 502us; 503us; 505us; 506us; 507us; 510us; 511us; 513us; 515us; 516us; 518us; 519us; 520us; 521us; 522us; 523us; 524us; 526us; 528us; 530us; 531us; 532us; 560us; 563us; 564us; 565us; 593us; |]
let _fsyacc_reductionSymbolCounts = [|1us; 1us; 2us; 2us; 1us; 3us; 1us; 1us; 1us; 2us; 0us; 1us; 9us; 2us; 1us; 2us; 2us; 2us; 3us; 2us; 2us; 2us; 2us; 2us; 3us; 2us; 2us; 0us; 1us; 1us; 1us; 3us; 1us; 2us; 0us; 1us; 1us; 1us; 3us; 4us; 1us; 1us; 3us; 2us; 1us; 1us; 1us; 3us; 2us; 2us; 1us; 0us; 1us; 1us; 2us; 2us; 2us; 2us; 1us; 1us; 2us; 3us; 2us; 3us; 4us; 2us; 2us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 2us; 2us; 2us; 2us; 1us; 1us; 1us; 1us; 2us; 3us; 2us; 2us; 1us; 3us; 0us; 1us; 3us; 2us; 2us; 1us; 1us; 1us; 1us; 1us; 1us; 4us; 0us; 1us; 3us; 1us; 3us; |]
let _fsyacc_productionToNonTerminalTable = [|0us; 1us; 2us; 3us; 4us; 4us; 5us; 5us; 5us; 6us; 6us; 7us; 8us; 9us; 10us; 10us; 10us; 10us; 10us; 10us; 10us; 10us; 10us; 10us; 10us; 10us; 10us; 11us; 11us; 12us; 13us; 13us; 14us; 14us; 15us; 15us; 16us; 16us; 16us; 17us; 17us; 18us; 18us; 19us; 20us; 21us; 21us; 21us; 22us; 22us; 22us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 24us; 25us; 25us; 26us; 26us; 26us; 26us; 26us; 26us; 27us; 27us; 28us; 29us; 30us; 30us; 31us; 31us; 32us; 33us; 33us; |]
let _fsyacc_immediateActions = [|65535us; 49152us; 65535us; 49152us; 65535us; 16386us; 65535us; 16387us; 16390us; 16391us; 65535us; 65535us; 16393us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16396us; 16398us; 65535us; 16399us; 65535us; 16400us; 65535us; 16401us; 65535us; 65535us; 16402us; 65535us; 16403us; 65535us; 16404us; 16405us; 65535us; 16406us; 65535us; 16407us; 65535us; 65535us; 16408us; 65535us; 16409us; 65535us; 16410us; 16412us; 65535us; 16414us; 65535us; 16415us; 16416us; 65535us; 16417us; 16419us; 16420us; 16421us; 65535us; 65535us; 65535us; 16422us; 65535us; 65535us; 65535us; 16423us; 16424us; 65535us; 16426us; 65535us; 16427us; 16428us; 16429us; 65535us; 65535us; 65535us; 16431us; 65535us; 16432us; 65535us; 16433us; 16434us; 16436us; 16437us; 65535us; 16438us; 16439us; 16440us; 16441us; 16442us; 16443us; 65535us; 16444us; 65535us; 65535us; 16445us; 65535us; 16446us; 65535us; 16447us; 65535us; 16448us; 16449us; 16450us; 16451us; 16452us; 16453us; 16454us; 16455us; 16456us; 16457us; 16458us; 16459us; 16460us; 65535us; 16461us; 16462us; 16463us; 16464us; 16465us; 16466us; 16467us; 16468us; 65535us; 16469us; 65535us; 16470us; 16471us; 65535us; 16472us; 16473us; 65535us; 16474us; 65535us; 65535us; 16477us; 65535us; 16479us; 16481us; 16482us; 16483us; 16484us; 16485us; 65535us; 65535us; 65535us; 16486us; 16488us; 65535us; 65535us; 16489us; 16490us; 65535us; 16491us; |]
let _fsyacc_reductions () = [|
# 717 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILInstr array)) in
Microsoft.FSharp.Core.Operators.box
(
(
raise (Internal.Utilities.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1))
)
: '_starttop_instrs));
# 726 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType)) in
Microsoft.FSharp.Core.Operators.box
(
(
raise (Internal.Utilities.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1))
)
: '_starttop_typ));
# 735 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType resolved_at_mspec_scope)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 163 "..\..\absil\ilpars.mly"
resolve_mspec_scope _1 []
)
# 163 "..\..\absil\ilpars.mly"
: ILType));
# 746 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'instrs2)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 167 "..\..\absil\ilpars.mly"
Array.of_list _1
)
# 167 "..\..\absil\ilpars.mly"
: ILInstr array));
# 757 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 171 "..\..\absil\ilpars.mly"
_1
)
# 171 "..\..\absil\ilpars.mly"
: 'compQstring));
# 768 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'compQstring)) in
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 172 "..\..\absil\ilpars.mly"
_1 ^ _3
)
# 172 "..\..\absil\ilpars.mly"
: 'compQstring));
# 780 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 176 "..\..\absil\ilpars.mly"
".ctor"
)
# 176 "..\..\absil\ilpars.mly"
: 'methodName));
# 790 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 178 "..\..\absil\ilpars.mly"
".cctor"
)
# 178 "..\..\absil\ilpars.mly"
: 'methodName));
# 800 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 180 "..\..\absil\ilpars.mly"
_1
)
# 180 "..\..\absil\ilpars.mly"
: 'methodName));
# 811 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'instr)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'instrs2)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 184 "..\..\absil\ilpars.mly"
_1 [] :: _2
)
# 184 "..\..\absil\ilpars.mly"
: 'instrs2));
# 823 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 185 "..\..\absil\ilpars.mly"
[]
)
# 185 "..\..\absil\ilpars.mly"
: 'instrs2));
# 833 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'methodSpecMaybeArrayMethod)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 189 "..\..\absil\ilpars.mly"
let data,varargs = _1 in
mk_mspec_in_typ data,varargs
)
# 189 "..\..\absil\ilpars.mly"
: 'methodSpec));
# 845 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'callConv)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : ILType resolved_at_mspec_scope)) in
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typSpec)) in
let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'methodName)) in
let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_actual_tyargs)) in
let _8 = (let data = parseState.GetInput(8) in (Microsoft.FSharp.Core.Operators.unbox data : 'sigArgs0)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 195 "..\..\absil\ilpars.mly"
let callee_class_typ = resolve_mspec_scope_to_current_scope _3 in
let gscope = (if Ilx.gen_is_array_ty callee_class_typ then None else Some (tspec_of_typ callee_class_typ)) in
let argtys_n_varargs = resolve_mspec_scope_to_formal_scope gscope _8 in
let (argtys,varargs) = decode_varargs argtys_n_varargs in
let minst = resolve_mspec_scope_to_current_scope _6 in
let callee_retty = resolve_mspec_scope_to_formal_scope gscope _2 in
(callee_class_typ, _1, _5, argtys, callee_retty, minst), varargs
)
# 195 "..\..\absil\ilpars.mly"
: 'methodSpecMaybeArrayMethod));
# 867 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ilascii.real_instr)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 205 "..\..\absil\ilpars.mly"
lexing_bytearray := true; _1
)
# 205 "..\..\absil\ilpars.mly"
: 'instr_r_head));
# 878 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ilascii.none_instr)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 209 "..\..\absil\ilpars.mly"
(_1 ())
)
# 209 "..\..\absil\ilpars.mly"
: 'instr));
# 889 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ilascii.arg_instr)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 211 "..\..\absil\ilpars.mly"
(_1 (uint16 ( ( _2))))
)
# 211 "..\..\absil\ilpars.mly"
: 'instr));
# 901 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ilascii.loc_instr)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 213 "..\..\absil\ilpars.mly"
(_1 (uint16 ( ( _2))))
)
# 213 "..\..\absil\ilpars.mly"
: 'instr));
# 913 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ilascii.i32_instr)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 215 "..\..\absil\ilpars.mly"
(_1 _2)
)
# 215 "..\..\absil\ilpars.mly"
: 'instr));
# 925 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ilascii.i32_i32_instr)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 217 "..\..\absil\ilpars.mly"
(_1 (_2,_3))
)
# 217 "..\..\absil\ilpars.mly"
: 'instr));
# 938 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ilascii.i64_instr)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int64)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 219 "..\..\absil\ilpars.mly"
(_1 _2)
)
# 219 "..\..\absil\ilpars.mly"
: 'instr));
# 950 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ilascii.real_instr)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'float64)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 221 "..\..\absil\ilpars.mly"
(_1 (NUM_R8 _2))
)
# 221 "..\..\absil\ilpars.mly"
: 'instr));
# 962 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ilascii.real_instr)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int64)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 223 "..\..\absil\ilpars.mly"
(_1 (NUM_R8 (float _2)))
)
# 223 "..\..\absil\ilpars.mly"
: 'instr));
# 974 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ilascii.method_instr)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'methodSpecMaybeArrayMethod)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 225 "..\..\absil\ilpars.mly"
begin
let ((encl_typ, cc, nm, argtys, retty, minst) as data),varargs = _2 in
if Ilx.gen_is_array_ty encl_typ then
(fun prefixes ->
let (shape,ty) = gen_dest_array_ty encl_typ in
begin match nm with
| "Get" -> I_ldelem_any(shape,ty)
| "Set" -> I_stelem_any(shape,ty)
| "Address" -> I_ldelema((if prefixes=[Prefix_Readonly] then ReadonlyAddress else NormalAddress), shape,ty)
| ".ctor" -> I_newarr(shape,ty)
| _ -> failwith "bad method on array type"
end)
else
_1 (mk_mspec_in_typ data, varargs)
end
)
# 225 "..\..\absil\ilpars.mly"
: 'instr));
# 1002 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ilascii.type_instr)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typSpec)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 243 "..\..\absil\ilpars.mly"
(_1 (resolve_mspec_scope_to_current_scope _2))
)
# 243 "..\..\absil\ilpars.mly"
: 'instr));
# 1014 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ilascii.int_type_instr)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typSpec)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 245 "..\..\absil\ilpars.mly"
(_1 ( _2,resolve_mspec_scope_to_current_scope _3))
)
# 245 "..\..\absil\ilpars.mly"
: 'instr));
# 1027 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ilascii.valuetype_instr)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typSpec)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 247 "..\..\absil\ilpars.mly"
let vtr =
match resolve_mspec_scope_to_current_scope _2 with
(* Type_boxed tr -> Type_value tr
| Type_value vtr as typ -> typ
| *) typ -> typ in
(_1 vtr)
)
# 247 "..\..\absil\ilpars.mly"
: 'instr));
# 1044 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ilascii.tok_instr)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typSpec)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 254 "..\..\absil\ilpars.mly"
(_1 (Token_type (resolve_mspec_scope_to_current_scope _2)))
)
# 254 "..\..\absil\ilpars.mly"
: 'instr));
# 1056 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 261 "..\..\absil\ilpars.mly"
no_mspec_scope []
)
# 261 "..\..\absil\ilpars.mly"
: 'sigArgs0));
# 1066 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'sigArgs1)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 262 "..\..\absil\ilpars.mly"
_1
)
# 262 "..\..\absil\ilpars.mly"
: 'sigArgs0));
# 1077 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'sigArgs1a)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 266 "..\..\absil\ilpars.mly"
ResolvedAtMethodSpecScope (fun c -> List.map (fun obj -> resolve_mspec_scope obj c) (List.rev _1))
)
# 266 "..\..\absil\ilpars.mly"
: 'sigArgs1));
# 1088 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'sigArg)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 270 "..\..\absil\ilpars.mly"
[_1]
)
# 270 "..\..\absil\ilpars.mly"
: 'sigArgs1a));
# 1099 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'sigArgs1a)) in
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'sigArg)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 272 "..\..\absil\ilpars.mly"
_3:: _1
)
# 272 "..\..\absil\ilpars.mly"
: 'sigArgs1a));
# 1111 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 276 "..\..\absil\ilpars.mly"
no_mspec_scope Sentinel
)
# 276 "..\..\absil\ilpars.mly"
: 'sigArg));
# 1121 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType resolved_at_mspec_scope)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_id)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 278 "..\..\absil\ilpars.mly"
resolve_mspec_scope_then _1 (fun ty ->
no_mspec_scope (SigArg(_2, ty)))
)
# 278 "..\..\absil\ilpars.mly"
: 'sigArg));
# 1134 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 283 "..\..\absil\ilpars.mly"
None
)
# 283 "..\..\absil\ilpars.mly"
: 'opt_id));
# 1144 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'id)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 283 "..\..\absil\ilpars.mly"
Some _1
)
# 283 "..\..\absil\ilpars.mly"
: 'opt_id));
# 1155 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'id)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 291 "..\..\absil\ilpars.mly"
_1
)
# 291 "..\..\absil\ilpars.mly"
: string));
# 1166 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 293 "..\..\absil\ilpars.mly"
_1
)
# 293 "..\..\absil\ilpars.mly"
: string));
# 1177 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'id)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 295 "..\..\absil\ilpars.mly"
_1 ^"."^ _3
)
# 295 "..\..\absil\ilpars.mly"
: string));
# 1189 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'slashedName)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 299 "..\..\absil\ilpars.mly"
let (enc,nm) = _4 in
let aref = find_aref _2 in
ScopeRef_assembly aref, enc, nm
)
# 299 "..\..\absil\ilpars.mly"
: 'className));
# 1203 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'slashedName)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 303 "..\..\absil\ilpars.mly"
let enc, nm = _1 in (ScopeRef_local, enc, nm)
)
# 303 "..\..\absil\ilpars.mly"
: 'className));
# 1214 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 307 "..\..\absil\ilpars.mly"
([],_1)
)
# 307 "..\..\absil\ilpars.mly"
: 'slashedName));
# 1225 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'slashedName)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 309 "..\..\absil\ilpars.mly"
let (enc,nm) = _3 in (_1::enc, nm)
)
# 309 "..\..\absil\ilpars.mly"
: 'slashedName));
# 1237 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'className)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_actual_tyargs)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 313 "..\..\absil\ilpars.mly"
let (a,b,c) = _1 in
resolve_mspec_scope_then _2 (fun inst ->
no_mspec_scope ( (mk_tspec ( (mk_nested_tref (a,b,c)), inst))))
)
# 313 "..\..\absil\ilpars.mly"
: 'typeNameInst));
# 1251 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'className)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 320 "..\..\absil\ilpars.mly"
let (a,b,c) = _1 in
no_mspec_scope ( (mk_tspec ( (mk_nested_tref (a,b,c)), mk_empty_gactuals)))
)
# 320 "..\..\absil\ilpars.mly"
: 'typeName));
# 1263 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeName)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 326 "..\..\absil\ilpars.mly"
resolve_mspec_scope_then _1 (fun tref ->
no_mspec_scope (Type_boxed tref))
)
# 326 "..\..\absil\ilpars.mly"
: 'typSpec));
# 1275 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType resolved_at_mspec_scope)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 329 "..\..\absil\ilpars.mly"
_1
)
# 329 "..\..\absil\ilpars.mly"
: 'typSpec));
# 1286 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : ILType resolved_at_mspec_scope)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 331 "..\..\absil\ilpars.mly"
_2
)
# 331 "..\..\absil\ilpars.mly"
: 'typSpec));
# 1297 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'callKind)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 336 "..\..\absil\ilpars.mly"
Callconv (CC_instance,_2)
)
# 336 "..\..\absil\ilpars.mly"
: 'callConv));
# 1308 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'callKind)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 338 "..\..\absil\ilpars.mly"
Callconv (CC_instance_explicit,_2)
)
# 338 "..\..\absil\ilpars.mly"
: 'callConv));
# 1319 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'callKind)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 340 "..\..\absil\ilpars.mly"
Callconv (CC_static,_1)
)
# 340 "..\..\absil\ilpars.mly"
: 'callConv));
# 1330 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 344 "..\..\absil\ilpars.mly"
CC_default
)
# 344 "..\..\absil\ilpars.mly"
: 'callKind));
# 1340 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 346 "..\..\absil\ilpars.mly"
CC_default
)
# 346 "..\..\absil\ilpars.mly"
: 'callKind));
# 1350 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 348 "..\..\absil\ilpars.mly"
CC_vararg
)
# 348 "..\..\absil\ilpars.mly"
: 'callKind));
# 1360 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 350 "..\..\absil\ilpars.mly"
CC_cdecl
)
# 350 "..\..\absil\ilpars.mly"
: 'callKind));
# 1370 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 352 "..\..\absil\ilpars.mly"
CC_stdcall
)
# 352 "..\..\absil\ilpars.mly"
: 'callKind));
# 1380 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 354 "..\..\absil\ilpars.mly"
CC_thiscall
)
# 354 "..\..\absil\ilpars.mly"
: 'callKind));
# 1390 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 356 "..\..\absil\ilpars.mly"
CC_fastcall
)
# 356 "..\..\absil\ilpars.mly"
: 'callKind));
# 1400 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 365 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_String
)
# 365 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1410 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 367 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_Object
)
# 367 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1420 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeNameInst)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 369 "..\..\absil\ilpars.mly"
resolve_mspec_scope_then _2 (fun tspec ->
no_mspec_scope (Type_boxed tspec))
)
# 369 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1432 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeNameInst)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 372 "..\..\absil\ilpars.mly"
resolve_mspec_scope_then _3 (fun tspec ->
no_mspec_scope (Type_value tspec))
)
# 372 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1444 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeNameInst)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 375 "..\..\absil\ilpars.mly"
resolve_mspec_scope_then _2 (fun tspec ->
no_mspec_scope (Type_value tspec))
)
# 375 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1456 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType resolved_at_mspec_scope)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 378 "..\..\absil\ilpars.mly"
resolve_mspec_scope_then _1 (fun ty -> no_mspec_scope (mk_sdarray_ty ty))
)
# 378 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1467 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType resolved_at_mspec_scope)) in
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'bounds1)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 380 "..\..\absil\ilpars.mly"
resolve_mspec_scope_then _1 (fun ty -> no_mspec_scope (mk_array_ty (ty,ILArrayShape _3)))
)
# 380 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1479 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType resolved_at_mspec_scope)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 382 "..\..\absil\ilpars.mly"
resolve_mspec_scope_then _1 (fun ty -> no_mspec_scope (Type_byref ty))
)
# 382 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1490 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType resolved_at_mspec_scope)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 384 "..\..\absil\ilpars.mly"
resolve_mspec_scope_then _1 (fun ty -> no_mspec_scope (Type_ptr ty))
)
# 384 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1501 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 387 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_TypedReference
)
# 387 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1511 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 389 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_char
)
# 389 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1521 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 391 "..\..\absil\ilpars.mly"
no_mspec_scope Type_void
)
# 391 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1531 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 393 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_bool
)
# 393 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1541 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 395 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_int8
)
# 395 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1551 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 397 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_int16
)
# 397 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1561 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 399 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_int32
)
# 399 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1571 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 401 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_int64
)
# 401 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1581 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 403 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_float32
)
# 403 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1591 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 405 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_float64
)
# 405 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1601 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 407 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_uint8
)
# 407 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1611 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 409 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_uint16
)
# 409 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1621 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 411 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_uint32
)
# 411 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1631 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 413 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_uint64
)
# 413 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1641 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 415 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_uint8
)
# 415 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1651 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 417 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_uint16
)
# 417 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1661 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 419 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_uint32
)
# 419 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1671 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 421 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_uint64
)
# 421 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1681 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 423 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_IntPtr
)
# 423 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1691 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 425 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_UIntPtr
)
# 425 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1701 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 427 "..\..\absil\ilpars.mly"
no_mspec_scope (!parse_ilGlobals).typ_UIntPtr
)
# 427 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1711 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 430 "..\..\absil\ilpars.mly"
no_mspec_scope (Type_tyvar (uint16 ( _2)))
)
# 430 "..\..\absil\ilpars.mly"
: ILType resolved_at_mspec_scope));
# 1722 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'bound)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 435 "..\..\absil\ilpars.mly"
[_1]
)
# 435 "..\..\absil\ilpars.mly"
: 'bounds1));
# 1733 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'bounds1)) in
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'bound)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 437 "..\..\absil\ilpars.mly"
_1 @ [_3]
)
# 437 "..\..\absil\ilpars.mly"
: 'bounds1));
# 1745 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 441 "..\..\absil\ilpars.mly"
(None, None)
)
# 441 "..\..\absil\ilpars.mly"
: 'bound));
# 1755 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 443 "..\..\absil\ilpars.mly"
(None, Some _1)
)
# 443 "..\..\absil\ilpars.mly"
: 'bound));
# 1766 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 445 "..\..\absil\ilpars.mly"
(Some _1, Some (_3 - _1 + 1))
)
# 445 "..\..\absil\ilpars.mly"
: 'bound));
# 1778 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 447 "..\..\absil\ilpars.mly"
(Some _1, None)
)
# 447 "..\..\absil\ilpars.mly"
: 'bound));
# 1789 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int32)) in
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 454 "..\..\absil\ilpars.mly"
(Some _1, Some (_2 - _1 + 1))
)
# 454 "..\..\absil\ilpars.mly"
: 'bound));
# 1801 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int32)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 456 "..\..\absil\ilpars.mly"
(Some _1, None)
)
# 456 "..\..\absil\ilpars.mly"
: 'bound));
# 1812 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 460 "..\..\absil\ilpars.mly"
_1
)
# 460 "..\..\absil\ilpars.mly"
: 'id));
# 1823 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 462 "..\..\absil\ilpars.mly"
_1
)
# 462 "..\..\absil\ilpars.mly"
: 'id));
# 1834 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int64)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 466 "..\..\absil\ilpars.mly"
int32 _1
)
# 466 "..\..\absil\ilpars.mly"
: 'int32));
# 1845 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int64)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 470 "..\..\absil\ilpars.mly"
_1
)
# 470 "..\..\absil\ilpars.mly"
: 'int64));
# 1856 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : double)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 474 "..\..\absil\ilpars.mly"
_1
)
# 474 "..\..\absil\ilpars.mly"
: 'float64));
# 1867 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'int64)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 476 "..\..\absil\ilpars.mly"
System.BitConverter.Int64BitsToDouble _3
)
# 476 "..\..\absil\ilpars.mly"
: 'float64));
# 1878 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
Microsoft.FSharp.Core.Operators.box
(
(
# 480 "..\..\absil\ilpars.mly"
no_mspec_scope mk_empty_gactuals
)
# 480 "..\..\absil\ilpars.mly"
: 'opt_actual_tyargs));
# 1888 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'actual_tyargs)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 482 "..\..\absil\ilpars.mly"
resolve_mspec_scope_then _1 (fun res ->
no_mspec_scope res)
)
# 482 "..\..\absil\ilpars.mly"
: 'opt_actual_tyargs));
# 1900 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'actualTypSpecs)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 487 "..\..\absil\ilpars.mly"
_2
)
# 487 "..\..\absil\ilpars.mly"
: 'actual_tyargs));
# 1911 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typSpec)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 491 "..\..\absil\ilpars.mly"
resolve_mspec_scope_then _1 (fun res ->
no_mspec_scope [ res])
)
# 491 "..\..\absil\ilpars.mly"
: 'actualTypSpecs));
# 1923 "ilpars.fs"
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'actualTypSpecs)) in
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typSpec)) in
Microsoft.FSharp.Core.Operators.box
(
(
# 494 "..\..\absil\ilpars.mly"
resolve_mspec_scope_then _1 (fun x ->
resolve_mspec_scope_then _3 (fun y ->
no_mspec_scope (x @ [ y])))
)
# 494 "..\..\absil\ilpars.mly"
: 'actualTypSpecs));
|]
# 1938 "ilpars.fs"
let tables () : Internal.Utilities.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:Internal.Utilities.Text.Parsing.ParseErrorContext<_>) ->
match parse_error_rich with
| Some f -> f ctxt
| None -> parse_error ctxt.Message);
numTerminals = 78;
productionToNonTerminalTable = _fsyacc_productionToNonTerminalTable }
let engine lexer lexbuf startState = (tables ()).Interpret(lexer, lexbuf, startState)
let top_instrs lexer lexbuf : ILInstr array =
Microsoft.FSharp.Core.Operators.unbox ((tables ()).Interpret(lexer, lexbuf, 0))
let top_typ lexer lexbuf : ILType =
Microsoft.FSharp.Core.Operators.unbox ((tables ()).Interpret(lexer, lexbuf, 2))