csharpfftfsharpintegrationinterpolationlinear-algebramathdifferentiationmatrixnumericsrandomregressionstatisticsmathnet
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.
650 lines
28 KiB
650 lines
28 KiB
// Implementation file for parser generated by fsyacc
|
|
#light
|
|
#nowarn "64";; // turn off warnings that type variables used in production annotations are instantiated to concrete type
|
|
open Internal.Utilities.Text.Lexing
|
|
open Internal.Utilities.Text.Parsing.ParseHelpers
|
|
# 1 "fslexpars.fsy"
|
|
|
|
(* (c) Microsoft Corporation 2005-2008. *)
|
|
|
|
open Fslexast
|
|
|
|
|
|
# 13 "fslexpars.fs"
|
|
// This type is the type of tokens accepted by the parser
|
|
type token =
|
|
| EOF
|
|
| BAR
|
|
| DOT
|
|
| PLUS
|
|
| STAR
|
|
| QMARK
|
|
| EQUALS
|
|
| UNDERSCORE
|
|
| LBRACK
|
|
| RBRACK
|
|
| HAT
|
|
| DASH
|
|
| RULE
|
|
| PARSE
|
|
| LET
|
|
| AND
|
|
| LPAREN
|
|
| RPAREN
|
|
| UNICODE_CATEGORY of (string)
|
|
| CHAR of (char)
|
|
| CODE of (Fslexast.Code)
|
|
| STRING of (string)
|
|
| IDENT of (string)
|
|
// This type is used to give symbolic names to token indexes, useful for error messages
|
|
type tokenId =
|
|
| TOKEN_EOF
|
|
| TOKEN_BAR
|
|
| TOKEN_DOT
|
|
| TOKEN_PLUS
|
|
| TOKEN_STAR
|
|
| TOKEN_QMARK
|
|
| TOKEN_EQUALS
|
|
| TOKEN_UNDERSCORE
|
|
| TOKEN_LBRACK
|
|
| TOKEN_RBRACK
|
|
| TOKEN_HAT
|
|
| TOKEN_DASH
|
|
| TOKEN_RULE
|
|
| TOKEN_PARSE
|
|
| TOKEN_LET
|
|
| TOKEN_AND
|
|
| TOKEN_LPAREN
|
|
| TOKEN_RPAREN
|
|
| TOKEN_UNICODE_CATEGORY
|
|
| TOKEN_CHAR
|
|
| TOKEN_CODE
|
|
| TOKEN_STRING
|
|
| TOKEN_IDENT
|
|
| TOKEN_end_of_input
|
|
| TOKEN_error
|
|
// This type is used to give symbolic names to token indexes, useful for error messages
|
|
type nonTerminalId =
|
|
| NONTERM__startspec
|
|
| NONTERM_spec
|
|
| NONTERM_codeopt
|
|
| NONTERM_Macros
|
|
| NONTERM_macro
|
|
| NONTERM_Rules
|
|
| NONTERM_rule
|
|
| NONTERM_args
|
|
| NONTERM_optbar
|
|
| NONTERM_clauses
|
|
| NONTERM_clause
|
|
| NONTERM_regexp
|
|
| NONTERM_charset
|
|
|
|
// This function maps tokens to integers indexes
|
|
let tagOfToken (t:token) =
|
|
match t with
|
|
| EOF -> 0
|
|
| BAR -> 1
|
|
| DOT -> 2
|
|
| PLUS -> 3
|
|
| STAR -> 4
|
|
| QMARK -> 5
|
|
| EQUALS -> 6
|
|
| UNDERSCORE -> 7
|
|
| LBRACK -> 8
|
|
| RBRACK -> 9
|
|
| HAT -> 10
|
|
| DASH -> 11
|
|
| RULE -> 12
|
|
| PARSE -> 13
|
|
| LET -> 14
|
|
| AND -> 15
|
|
| LPAREN -> 16
|
|
| RPAREN -> 17
|
|
| UNICODE_CATEGORY _ -> 18
|
|
| CHAR _ -> 19
|
|
| CODE _ -> 20
|
|
| STRING _ -> 21
|
|
| IDENT _ -> 22
|
|
|
|
// This function maps integers indexes to symbolic token ids
|
|
let tokenTagToTokenId (tokenIdx:int) =
|
|
match tokenIdx with
|
|
| 0 -> TOKEN_EOF
|
|
| 1 -> TOKEN_BAR
|
|
| 2 -> TOKEN_DOT
|
|
| 3 -> TOKEN_PLUS
|
|
| 4 -> TOKEN_STAR
|
|
| 5 -> TOKEN_QMARK
|
|
| 6 -> TOKEN_EQUALS
|
|
| 7 -> TOKEN_UNDERSCORE
|
|
| 8 -> TOKEN_LBRACK
|
|
| 9 -> TOKEN_RBRACK
|
|
| 10 -> TOKEN_HAT
|
|
| 11 -> TOKEN_DASH
|
|
| 12 -> TOKEN_RULE
|
|
| 13 -> TOKEN_PARSE
|
|
| 14 -> TOKEN_LET
|
|
| 15 -> TOKEN_AND
|
|
| 16 -> TOKEN_LPAREN
|
|
| 17 -> TOKEN_RPAREN
|
|
| 18 -> TOKEN_UNICODE_CATEGORY
|
|
| 19 -> TOKEN_CHAR
|
|
| 20 -> TOKEN_CODE
|
|
| 21 -> TOKEN_STRING
|
|
| 22 -> TOKEN_IDENT
|
|
| 25 -> TOKEN_end_of_input
|
|
| 23 -> 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__startspec
|
|
| 1 -> NONTERM_spec
|
|
| 2 -> NONTERM_codeopt
|
|
| 3 -> NONTERM_codeopt
|
|
| 4 -> NONTERM_Macros
|
|
| 5 -> NONTERM_Macros
|
|
| 6 -> NONTERM_macro
|
|
| 7 -> NONTERM_Rules
|
|
| 8 -> NONTERM_Rules
|
|
| 9 -> NONTERM_rule
|
|
| 10 -> NONTERM_args
|
|
| 11 -> NONTERM_args
|
|
| 12 -> NONTERM_optbar
|
|
| 13 -> NONTERM_optbar
|
|
| 14 -> NONTERM_clauses
|
|
| 15 -> NONTERM_clauses
|
|
| 16 -> NONTERM_clause
|
|
| 17 -> NONTERM_regexp
|
|
| 18 -> NONTERM_regexp
|
|
| 19 -> NONTERM_regexp
|
|
| 20 -> NONTERM_regexp
|
|
| 21 -> NONTERM_regexp
|
|
| 22 -> NONTERM_regexp
|
|
| 23 -> NONTERM_regexp
|
|
| 24 -> NONTERM_regexp
|
|
| 25 -> NONTERM_regexp
|
|
| 26 -> NONTERM_regexp
|
|
| 27 -> NONTERM_regexp
|
|
| 28 -> NONTERM_regexp
|
|
| 29 -> NONTERM_regexp
|
|
| 30 -> NONTERM_regexp
|
|
| 31 -> NONTERM_charset
|
|
| 32 -> NONTERM_charset
|
|
| 33 -> NONTERM_charset
|
|
| _ -> failwith "prodIdxToNonTerminal: bad production index"
|
|
|
|
let _fsyacc_endOfInputTag = 25
|
|
let _fsyacc_tagOfErrorTerminal = 23
|
|
|
|
// This function gets the name of a token as a string
|
|
let token_to_string (t:token) =
|
|
match t with
|
|
| EOF -> "EOF"
|
|
| BAR -> "BAR"
|
|
| DOT -> "DOT"
|
|
| PLUS -> "PLUS"
|
|
| STAR -> "STAR"
|
|
| QMARK -> "QMARK"
|
|
| EQUALS -> "EQUALS"
|
|
| UNDERSCORE -> "UNDERSCORE"
|
|
| LBRACK -> "LBRACK"
|
|
| RBRACK -> "RBRACK"
|
|
| HAT -> "HAT"
|
|
| DASH -> "DASH"
|
|
| RULE -> "RULE"
|
|
| PARSE -> "PARSE"
|
|
| LET -> "LET"
|
|
| AND -> "AND"
|
|
| LPAREN -> "LPAREN"
|
|
| RPAREN -> "RPAREN"
|
|
| UNICODE_CATEGORY _ -> "UNICODE_CATEGORY"
|
|
| CHAR _ -> "CHAR"
|
|
| CODE _ -> "CODE"
|
|
| STRING _ -> "STRING"
|
|
| IDENT _ -> "IDENT"
|
|
|
|
// This function gets the data carried by a token as an object
|
|
let _fsyacc_dataOfToken (t:token) =
|
|
match t with
|
|
| EOF -> (null : System.Object)
|
|
| BAR -> (null : System.Object)
|
|
| DOT -> (null : System.Object)
|
|
| PLUS -> (null : System.Object)
|
|
| STAR -> (null : System.Object)
|
|
| QMARK -> (null : System.Object)
|
|
| EQUALS -> (null : System.Object)
|
|
| UNDERSCORE -> (null : System.Object)
|
|
| LBRACK -> (null : System.Object)
|
|
| RBRACK -> (null : System.Object)
|
|
| HAT -> (null : System.Object)
|
|
| DASH -> (null : System.Object)
|
|
| RULE -> (null : System.Object)
|
|
| PARSE -> (null : System.Object)
|
|
| LET -> (null : System.Object)
|
|
| AND -> (null : System.Object)
|
|
| LPAREN -> (null : System.Object)
|
|
| RPAREN -> (null : System.Object)
|
|
| UNICODE_CATEGORY _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
|
|
| CHAR _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
|
|
| CODE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
|
|
| STRING _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
|
|
| IDENT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
|
|
let _fsyacc_gotos = [| 0us; 65535us; 1us; 65535us; 0us; 1us; 2us; 65535us; 0us; 2us; 5us; 6us; 2us; 65535us; 2us; 3us; 8us; 9us; 2us; 65535us; 2us; 8us; 8us; 8us; 2us; 65535us; 4us; 5us; 15us; 16us; 2us; 65535us; 4us; 14us; 15us; 14us; 2us; 65535us; 17us; 18us; 23us; 24us; 1us; 65535us; 20us; 21us; 2us; 65535us; 21us; 22us; 27us; 28us; 2us; 65535us; 21us; 26us; 27us; 26us; 10us; 65535us; 12us; 13us; 13us; 37us; 21us; 29us; 27us; 29us; 29us; 37us; 37us; 37us; 38us; 37us; 39us; 37us; 43us; 38us; 44us; 39us; 5us; 65535us; 46us; 47us; 47us; 55us; 49us; 50us; 50us; 55us; 55us; 55us; |]
|
|
let _fsyacc_sparseGotoTableRowOffsets = [|0us; 1us; 3us; 6us; 9us; 12us; 15us; 18us; 21us; 23us; 26us; 29us; 40us; |]
|
|
let _fsyacc_stateToProdIdxsTableElements = [| 1us; 0us; 1us; 0us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 2us; 1us; 5us; 1us; 5us; 1us; 6us; 1us; 6us; 1us; 6us; 6us; 6us; 23us; 24us; 25us; 26us; 27us; 2us; 7us; 8us; 1us; 7us; 1us; 7us; 1us; 9us; 1us; 9us; 1us; 9us; 1us; 9us; 1us; 9us; 1us; 9us; 1us; 11us; 1us; 11us; 1us; 13us; 2us; 14us; 15us; 1us; 14us; 1us; 14us; 6us; 16us; 23us; 24us; 25us; 26us; 27us; 1us; 16us; 1us; 17us; 1us; 18us; 1us; 19us; 1us; 20us; 1us; 21us; 1us; 22us; 6us; 23us; 23us; 24us; 25us; 26us; 27us; 6us; 23us; 24us; 25us; 26us; 27us; 27us; 6us; 23us; 24us; 25us; 26us; 27us; 28us; 1us; 24us; 1us; 25us; 1us; 26us; 1us; 27us; 1us; 28us; 1us; 28us; 2us; 29us; 30us; 2us; 29us; 33us; 1us; 29us; 1us; 30us; 2us; 30us; 33us; 1us; 30us; 2us; 31us; 32us; 1us; 32us; 1us; 32us; 2us; 33us; 33us; |]
|
|
let _fsyacc_stateToProdIdxsTableRowOffsets = [|0us; 2us; 4us; 6us; 8us; 10us; 12us; 14us; 16us; 18us; 20us; 22us; 24us; 26us; 33us; 36us; 38us; 40us; 42us; 44us; 46us; 48us; 50us; 52us; 54us; 56us; 58us; 61us; 63us; 65us; 72us; 74us; 76us; 78us; 80us; 82us; 84us; 86us; 93us; 100us; 107us; 109us; 111us; 113us; 115us; 117us; 119us; 122us; 125us; 127us; 129us; 132us; 134us; 137us; 139us; 141us; |]
|
|
let _fsyacc_action_rows = 56
|
|
let _fsyacc_actionTableElements = [|1us; 16387us; 20us; 7us; 0us; 49152us; 1us; 16388us; 14us; 10us; 1us; 32768us; 12us; 4us; 1us; 32768us; 22us; 17us; 1us; 16387us; 20us; 7us; 0us; 16385us; 0us; 16386us; 1us; 16388us; 14us; 10us; 0us; 16389us; 1us; 32768us; 22us; 11us; 1us; 32768us; 6us; 12us; 8us; 32768us; 0us; 33us; 7us; 34us; 8us; 46us; 16us; 44us; 18us; 32us; 19us; 31us; 21us; 35us; 22us; 36us; 12us; 16390us; 0us; 33us; 1us; 43us; 3us; 40us; 4us; 41us; 5us; 42us; 7us; 34us; 8us; 46us; 16us; 44us; 18us; 32us; 19us; 31us; 21us; 35us; 22us; 36us; 1us; 16392us; 15us; 15us; 1us; 32768us; 22us; 17us; 0us; 16391us; 1us; 16394us; 22us; 23us; 1us; 32768us; 6us; 19us; 1us; 32768us; 13us; 20us; 1us; 16396us; 1us; 25us; 8us; 32768us; 0us; 33us; 7us; 34us; 8us; 46us; 16us; 44us; 18us; 32us; 19us; 31us; 21us; 35us; 22us; 36us; 0us; 16393us; 1us; 16394us; 22us; 23us; 0us; 16395us; 0us; 16397us; 1us; 16399us; 1us; 27us; 8us; 32768us; 0us; 33us; 7us; 34us; 8us; 46us; 16us; 44us; 18us; 32us; 19us; 31us; 21us; 35us; 22us; 36us; 0us; 16398us; 13us; 32768us; 0us; 33us; 1us; 43us; 3us; 40us; 4us; 41us; 5us; 42us; 7us; 34us; 8us; 46us; 16us; 44us; 18us; 32us; 19us; 31us; 20us; 30us; 21us; 35us; 22us; 36us; 0us; 16400us; 0us; 16401us; 0us; 16402us; 0us; 16403us; 0us; 16404us; 0us; 16405us; 0us; 16406us; 11us; 16407us; 0us; 33us; 3us; 40us; 4us; 41us; 5us; 42us; 7us; 34us; 8us; 46us; 16us; 44us; 18us; 32us; 19us; 31us; 21us; 35us; 22us; 36us; 11us; 16411us; 0us; 33us; 3us; 40us; 4us; 41us; 5us; 42us; 7us; 34us; 8us; 46us; 16us; 44us; 18us; 32us; 19us; 31us; 21us; 35us; 22us; 36us; 13us; 32768us; 0us; 33us; 1us; 43us; 3us; 40us; 4us; 41us; 5us; 42us; 7us; 34us; 8us; 46us; 16us; 44us; 17us; 45us; 18us; 32us; 19us; 31us; 21us; 35us; 22us; 36us; 0us; 16408us; 0us; 16409us; 0us; 16410us; 8us; 32768us; 0us; 33us; 7us; 34us; 8us; 46us; 16us; 44us; 18us; 32us; 19us; 31us; 21us; 35us; 22us; 36us; 8us; 32768us; 0us; 33us; 7us; 34us; 8us; 46us; 16us; 44us; 18us; 32us; 19us; 31us; 21us; 35us; 22us; 36us; 0us; 16412us; 2us; 32768us; 10us; 49us; 19us; 52us; 2us; 32768us; 9us; 48us; 19us; 52us; 0us; 16413us; 1us; 32768us; 19us; 52us; 2us; 32768us; 9us; 51us; 19us; 52us; 0us; 16414us; 1us; 16415us; 11us; 53us; 1us; 32768us; 19us; 54us; 0us; 16416us; 1us; 16417us; 19us; 52us; |]
|
|
let _fsyacc_actionTableRowOffsets = [|0us; 2us; 3us; 5us; 7us; 9us; 11us; 12us; 13us; 15us; 16us; 18us; 20us; 29us; 42us; 44us; 46us; 47us; 49us; 51us; 53us; 55us; 64us; 65us; 67us; 68us; 69us; 71us; 80us; 81us; 95us; 96us; 97us; 98us; 99us; 100us; 101us; 102us; 114us; 126us; 140us; 141us; 142us; 143us; 152us; 161us; 162us; 165us; 168us; 169us; 171us; 174us; 175us; 177us; 179us; 180us; |]
|
|
let _fsyacc_reductionSymbolCounts = [|1us; 5us; 1us; 0us; 0us; 2us; 4us; 3us; 1us; 6us; 0us; 2us; 0us; 1us; 3us; 1us; 2us; 1us; 1us; 1us; 1us; 1us; 1us; 2us; 2us; 2us; 2us; 3us; 3us; 3us; 4us; 1us; 3us; 2us; |]
|
|
let _fsyacc_productionToNonTerminalTable = [|0us; 1us; 2us; 2us; 3us; 3us; 4us; 5us; 5us; 6us; 7us; 7us; 8us; 8us; 9us; 9us; 10us; 11us; 11us; 11us; 11us; 11us; 11us; 11us; 11us; 11us; 11us; 11us; 11us; 11us; 11us; 12us; 12us; 12us; |]
|
|
let _fsyacc_immediateActions = [|65535us; 49152us; 65535us; 65535us; 65535us; 65535us; 16385us; 16386us; 65535us; 16389us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16391us; 65535us; 65535us; 65535us; 65535us; 65535us; 16393us; 65535us; 16395us; 16397us; 65535us; 65535us; 16398us; 65535us; 16400us; 16401us; 16402us; 16403us; 16404us; 16405us; 16406us; 65535us; 65535us; 65535us; 16408us; 16409us; 16410us; 65535us; 65535us; 16412us; 65535us; 65535us; 16413us; 65535us; 65535us; 16414us; 65535us; 65535us; 16416us; 65535us; |]
|
|
let _fsyacc_reductions () = [|
|
|
# 245 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Fslexast.Spec)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
raise (Internal.Utilities.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1))
|
|
)
|
|
: '_startspec));
|
|
# 254 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'codeopt)) in
|
|
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'Macros)) in
|
|
let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'Rules)) in
|
|
let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'codeopt)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 23 "fslexpars.fsy"
|
|
{ TopCode=_1;Macros=_2;Rules=_4;BottomCode=_5 }
|
|
)
|
|
# 23 "fslexpars.fsy"
|
|
: Fslexast.Spec));
|
|
# 268 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Fslexast.Code)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 24 "fslexpars.fsy"
|
|
_1
|
|
)
|
|
# 24 "fslexpars.fsy"
|
|
: 'codeopt));
|
|
# 279 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 24 "fslexpars.fsy"
|
|
"", (parseState.ResultRange |> fst)
|
|
)
|
|
# 24 "fslexpars.fsy"
|
|
: 'codeopt));
|
|
# 289 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 25 "fslexpars.fsy"
|
|
[]
|
|
)
|
|
# 25 "fslexpars.fsy"
|
|
: 'Macros));
|
|
# 299 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'macro)) in
|
|
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'Macros)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 25 "fslexpars.fsy"
|
|
_1 :: _2
|
|
)
|
|
# 25 "fslexpars.fsy"
|
|
: 'Macros));
|
|
# 311 "fslexpars.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 : 'regexp)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 26 "fslexpars.fsy"
|
|
(_2, _4)
|
|
)
|
|
# 26 "fslexpars.fsy"
|
|
: 'macro));
|
|
# 323 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'rule)) in
|
|
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'Rules)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 27 "fslexpars.fsy"
|
|
_1 :: _3
|
|
)
|
|
# 27 "fslexpars.fsy"
|
|
: 'Rules));
|
|
# 335 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'rule)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 27 "fslexpars.fsy"
|
|
[_1]
|
|
)
|
|
# 27 "fslexpars.fsy"
|
|
: 'Rules));
|
|
# 346 "fslexpars.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 _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'args)) in
|
|
let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'optbar)) in
|
|
let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'clauses)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 28 "fslexpars.fsy"
|
|
(_1,_2,_6)
|
|
)
|
|
# 28 "fslexpars.fsy"
|
|
: 'rule));
|
|
# 360 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 29 "fslexpars.fsy"
|
|
[]
|
|
)
|
|
# 29 "fslexpars.fsy"
|
|
: 'args));
|
|
# 370 "fslexpars.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 _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'args)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 29 "fslexpars.fsy"
|
|
_1 :: _2
|
|
)
|
|
# 29 "fslexpars.fsy"
|
|
: 'args));
|
|
# 382 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 30 "fslexpars.fsy"
|
|
|
|
)
|
|
# 30 "fslexpars.fsy"
|
|
: 'optbar));
|
|
# 392 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 30 "fslexpars.fsy"
|
|
|
|
)
|
|
# 30 "fslexpars.fsy"
|
|
: 'optbar));
|
|
# 402 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'clause)) in
|
|
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'clauses)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 31 "fslexpars.fsy"
|
|
_1 :: _3
|
|
)
|
|
# 31 "fslexpars.fsy"
|
|
: 'clauses));
|
|
# 414 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'clause)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 31 "fslexpars.fsy"
|
|
[_1]
|
|
)
|
|
# 31 "fslexpars.fsy"
|
|
: 'clauses));
|
|
# 425 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'regexp)) in
|
|
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Fslexast.Code)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 32 "fslexpars.fsy"
|
|
_1, _2
|
|
)
|
|
# 32 "fslexpars.fsy"
|
|
: 'clause));
|
|
# 437 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : char)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 34 "fslexpars.fsy"
|
|
Inp(Alphabet(EncodeChar _1))
|
|
)
|
|
# 34 "fslexpars.fsy"
|
|
: 'regexp));
|
|
# 448 "fslexpars.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
|
|
(
|
|
(
|
|
# 35 "fslexpars.fsy"
|
|
Inp(UnicodeCategory _1)
|
|
)
|
|
# 35 "fslexpars.fsy"
|
|
: 'regexp));
|
|
# 459 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 36 "fslexpars.fsy"
|
|
Inp(Alphabet(Eof))
|
|
)
|
|
# 36 "fslexpars.fsy"
|
|
: 'regexp));
|
|
# 469 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 37 "fslexpars.fsy"
|
|
Inp Any
|
|
)
|
|
# 37 "fslexpars.fsy"
|
|
: 'regexp));
|
|
# 479 "fslexpars.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
|
|
(
|
|
(
|
|
# 38 "fslexpars.fsy"
|
|
Seq([ for n in 0 .. _1.Length - 1 -> Inp(Alphabet(EncodeChar _1.[n]))])
|
|
)
|
|
# 38 "fslexpars.fsy"
|
|
: 'regexp));
|
|
# 490 "fslexpars.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
|
|
(
|
|
(
|
|
# 39 "fslexpars.fsy"
|
|
Macro(_1)
|
|
)
|
|
# 39 "fslexpars.fsy"
|
|
: 'regexp));
|
|
# 501 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'regexp)) in
|
|
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'regexp)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 40 "fslexpars.fsy"
|
|
Seq[_1;_2]
|
|
)
|
|
# 40 "fslexpars.fsy"
|
|
: 'regexp));
|
|
# 513 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'regexp)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 41 "fslexpars.fsy"
|
|
Seq[_1;Star _1]
|
|
)
|
|
# 41 "fslexpars.fsy"
|
|
: 'regexp));
|
|
# 524 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'regexp)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 42 "fslexpars.fsy"
|
|
Star _1
|
|
)
|
|
# 42 "fslexpars.fsy"
|
|
: 'regexp));
|
|
# 535 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'regexp)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 43 "fslexpars.fsy"
|
|
Alt[Seq[];_1]
|
|
)
|
|
# 43 "fslexpars.fsy"
|
|
: 'regexp));
|
|
# 546 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'regexp)) in
|
|
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'regexp)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 44 "fslexpars.fsy"
|
|
Alt[_1;_3]
|
|
)
|
|
# 44 "fslexpars.fsy"
|
|
: 'regexp));
|
|
# 558 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'regexp)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 45 "fslexpars.fsy"
|
|
_2
|
|
)
|
|
# 45 "fslexpars.fsy"
|
|
: 'regexp));
|
|
# 569 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'charset)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 46 "fslexpars.fsy"
|
|
Alt [ for c in _2 -> Inp(Alphabet(c)) ]
|
|
)
|
|
# 46 "fslexpars.fsy"
|
|
: 'regexp));
|
|
# 580 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'charset)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 47 "fslexpars.fsy"
|
|
Inp(NotCharSet(_3))
|
|
)
|
|
# 47 "fslexpars.fsy"
|
|
: 'regexp));
|
|
# 591 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : char)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 50 "fslexpars.fsy"
|
|
Set.singleton(EncodeChar _1)
|
|
)
|
|
# 50 "fslexpars.fsy"
|
|
: 'charset));
|
|
# 602 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : char)) in
|
|
let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : char)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 51 "fslexpars.fsy"
|
|
Set.of_seq [ for c in _1 .. _3 -> EncodeChar c ]
|
|
)
|
|
# 51 "fslexpars.fsy"
|
|
: 'charset));
|
|
# 614 "fslexpars.fs"
|
|
(fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
|
|
let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'charset)) in
|
|
let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'charset)) in
|
|
Microsoft.FSharp.Core.Operators.box
|
|
(
|
|
(
|
|
# 52 "fslexpars.fsy"
|
|
Set.union _1 _2
|
|
)
|
|
# 52 "fslexpars.fsy"
|
|
: 'charset));
|
|
|]
|
|
# 627 "fslexpars.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 = 26;
|
|
productionToNonTerminalTable = _fsyacc_productionToNonTerminalTable }
|
|
let engine lexer lexbuf startState = (tables ()).Interpret(lexer, lexbuf, startState)
|
|
let spec lexer lexbuf : Fslexast.Spec =
|
|
Microsoft.FSharp.Core.Operators.unbox ((tables ()).Interpret(lexer, lexbuf, 0))
|
|
|