sig
type syntax_elem = Str of string | Tp of Term.term
type syntax_def =
SDterm of SyntaxDef.syntax_elem list * Term.term list
| SDvar of SyntaxDef.syntax_elem list * Term.term
| SDtvar of string * Term.term option
type sdef_result =
SD_Term of Term.term array
| SD_SVar of Term.term
| SD_TVar of Term.term option
val syntax_elems_of_sd : SyntaxDef.syntax_def -> SyntaxDef.syntax_elem list
val result_of_sd : SyntaxDef.syntax_def -> SyntaxDef.sdef_result
val name_of_sd : SyntaxDef.syntax_def -> string
val unique_name_of_sd : SyntaxDef.syntax_def -> string list -> string
val term_of_sd :
?used_names:string list ->
?name:string -> SyntaxDef.syntax_def -> Term.term
val type_with_level_of_sd : SyntaxDef.syntax_def -> Term.term
val split_sd_name : string -> string option list
val put_space : string -> string -> string
val display_sd : string option list -> string list -> string
val display_sd_bracketed : string option list -> string list -> string
exception NONLEXICAL
val flat_grammar_of_sd_list :
SyntaxDef.syntax_def list -> (string * string list list) list
val print_grammar : (string * string list list) list -> string
val make_xml_compatible : string -> string
val print_xslt : string -> (string * SyntaxDef.syntax_def) list -> string
end