sig
  exception Error
  val parse_structure :
    (Lexing.lexbuf -> Lexer.token) -> Lexing.lexbuf -> Structure.structure
  val parse_rel_defs :
    (Lexing.lexbuf -> Lexer.token) ->
    Lexing.lexbuf -> (string * string list * Formula.formula) list
  val parse_rel_const_defs :
    (Lexing.lexbuf -> Lexer.token) ->
    Lexing.lexbuf ->
    (string * string list * Formula.formula) list *
    (string * (int, string) Aux.choice) list
  val parse_real_expr :
    (Lexing.lexbuf -> Lexer.token) -> Lexing.lexbuf -> Formula.real_expr
  val parse_formula :
    (Lexing.lexbuf -> Lexer.token) -> Lexing.lexbuf -> Formula.formula
  val parse_expr_eqs :
    (Lexing.lexbuf -> Lexer.token) -> Lexing.lexbuf -> Formula.eq_sys
  val parse_discrete_rule :
    (Lexing.lexbuf -> Lexer.token) ->
    Lexing.lexbuf ->
    (string * int) list ->
    (string * (string list * Formula.formula)) list ->
    (Formula.formula * (string * bool) list) option -> DiscreteRule.rule
end