57 lines
1.2 KiB
FSharp
57 lines
1.2 KiB
FSharp
// Signature file for parser generated by fsyacc
|
|
module Parser
|
|
type token =
|
|
| SUM
|
|
| PROD
|
|
| MAX
|
|
| ARGMAX
|
|
| PLUS
|
|
| MINUS
|
|
| TIMES
|
|
| LET
|
|
| IN
|
|
| TO
|
|
| OF
|
|
| EOF
|
|
| LPAR
|
|
| RPAR
|
|
| EQ
|
|
| VAR of (string)
|
|
| INT of (int)
|
|
type tokenId =
|
|
| TOKEN_SUM
|
|
| TOKEN_PROD
|
|
| TOKEN_MAX
|
|
| TOKEN_ARGMAX
|
|
| TOKEN_PLUS
|
|
| TOKEN_MINUS
|
|
| TOKEN_TIMES
|
|
| TOKEN_LET
|
|
| TOKEN_IN
|
|
| TOKEN_TO
|
|
| TOKEN_OF
|
|
| TOKEN_EOF
|
|
| TOKEN_LPAR
|
|
| TOKEN_RPAR
|
|
| TOKEN_EQ
|
|
| TOKEN_VAR
|
|
| TOKEN_INT
|
|
| TOKEN_end_of_input
|
|
| TOKEN_error
|
|
type nonTerminalId =
|
|
| NONTERM__startProg
|
|
| NONTERM_Prog
|
|
| NONTERM_Exp
|
|
/// 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 Prog : (FSharp.Text.Lexing.LexBuffer<'cty> -> token) -> FSharp.Text.Lexing.LexBuffer<'cty> -> (AbSyn.EXP)
|