// Signature file for parser generated by fsyacc
module SharpSolver.Parser
type token = 
  | EOF
  | VAR
  | PLUS
  | MINUS
  | EQ
  | LT
  | GT
  | LEQ
  | GEQ
  | BRA
  | KET
  | SLASH
  | SQBRA
  | SQKET
  | DERIVE
  | CMD of (string)
  | RATIONAL of (rational)
  | FLOAT of (System.Double)
  | UINT of (System.Int32)
  | APEX of (System.Int32)
type tokenId = 
    | TOKEN_EOF
    | TOKEN_VAR
    | TOKEN_PLUS
    | TOKEN_MINUS
    | TOKEN_EQ
    | TOKEN_LT
    | TOKEN_GT
    | TOKEN_LEQ
    | TOKEN_GEQ
    | TOKEN_BRA
    | TOKEN_KET
    | TOKEN_SLASH
    | TOKEN_SQBRA
    | TOKEN_SQKET
    | TOKEN_DERIVE
    | TOKEN_CMD
    | TOKEN_RATIONAL
    | TOKEN_FLOAT
    | TOKEN_UINT
    | TOKEN_APEX
    | TOKEN_end_of_input
    | TOKEN_error
type nonTerminalId = 
    | NONTERM__startline
    | NONTERM_line
    | NONTERM_mono
    | NONTERM_var
    | NONTERM_constant
    | NONTERM_expr
    | NONTERM_monos
/// 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 line : (Microsoft.FSharp.Text.Lexing.LexBuffer<'cty> -> token) -> Microsoft.FSharp.Text.Lexing.LexBuffer<'cty> -> ( line ) 
