-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathParser.fsi
126 lines (123 loc) · 2.54 KB
/
Parser.fsi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
// Signature file for parser generated by fsyacc
module TinyML.Parser
type token =
| EOF
| IF
| THEN
| ELSE
| FUN
| ARROW
| LET
| REC
| IN
| TRUE
| FALSE
| BRA
| KET
| PLUS
| MINUS
| STAR
| SLASH
| PERCENT
| PLUS_FLOAT
| MINUS_FLOAT
| STAR_FLOAT
| SLASH_FLOAT
| LT
| GT
| LEQ
| GEQ
| EQ
| NEQ
| LT_FLOAT
| GT_FLOAT
| LEQ_FLOAT
| GEQ_FLOAT
| EQ_FLOAT
| NEQ_FLOAT
| AND
| OR
| NOT
| NEG
| NEG_FLOAT
| COLON
| SEMICOLON2
| COMMA
| STRING of (System.String)
| ID of (System.String)
| CHAR of (System.Char)
| FLOAT of (System.Double)
| INT of (System.Int32)
type tokenId =
| TOKEN_EOF
| TOKEN_IF
| TOKEN_THEN
| TOKEN_ELSE
| TOKEN_FUN
| TOKEN_ARROW
| TOKEN_LET
| TOKEN_REC
| TOKEN_IN
| TOKEN_TRUE
| TOKEN_FALSE
| TOKEN_BRA
| TOKEN_KET
| TOKEN_PLUS
| TOKEN_MINUS
| TOKEN_STAR
| TOKEN_SLASH
| TOKEN_PERCENT
| TOKEN_PLUS_FLOAT
| TOKEN_MINUS_FLOAT
| TOKEN_STAR_FLOAT
| TOKEN_SLASH_FLOAT
| TOKEN_LT
| TOKEN_GT
| TOKEN_LEQ
| TOKEN_GEQ
| TOKEN_EQ
| TOKEN_NEQ
| TOKEN_LT_FLOAT
| TOKEN_GT_FLOAT
| TOKEN_LEQ_FLOAT
| TOKEN_GEQ_FLOAT
| TOKEN_EQ_FLOAT
| TOKEN_NEQ_FLOAT
| TOKEN_AND
| TOKEN_OR
| TOKEN_NOT
| TOKEN_NEG
| TOKEN_NEG_FLOAT
| TOKEN_COLON
| TOKEN_SEMICOLON2
| TOKEN_COMMA
| TOKEN_STRING
| TOKEN_ID
| TOKEN_CHAR
| TOKEN_FLOAT
| TOKEN_INT
| TOKEN_end_of_input
| TOKEN_error
type nonTerminalId =
| NONTERM__startinteractive
| NONTERM__startprogram
| NONTERM_program
| NONTERM_interactive
| NONTERM_expr
| NONTERM_binding
| NONTERM_parms
| NONTERM_expr_app_atom
| NONTERM_expr_tuple_atom
| NONTERM_expr_tuple_atoms
| NONTERM_ty
| NONTERM_ty_tuple
/// This function maps tokens to integer indexes
val tagOfToken: token -> int
/// This function maps integer indexes to symbolic token ids
val tokenTagToTokenId: int -> tokenId
/// This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production
val prodIdxToNonTerminal: int -> nonTerminalId
/// This function gets the name of a token as a string
val token_to_string: token -> string
val interactive : (FSharp.Text.Lexing.LexBuffer<'cty> -> token) -> FSharp.Text.Lexing.LexBuffer<'cty> -> ( TinyML.Ast.interactive )
val program : (FSharp.Text.Lexing.LexBuffer<'cty> -> token) -> FSharp.Text.Lexing.LexBuffer<'cty> -> ( TinyML.Ast.expr )