equal
deleted
inserted
replaced
44 print_translation: (string * (bool -> typ -> term list -> term)) list, |
44 print_translation: (string * (bool -> typ -> term list -> term)) list, |
45 print_rules: (Ast.ast * Ast.ast) list, |
45 print_rules: (Ast.ast * Ast.ast) list, |
46 print_ast_translation: (string * (Ast.ast list -> Ast.ast)) list, |
46 print_ast_translation: (string * (Ast.ast list -> Ast.ast)) list, |
47 token_translation: (string * string * (string -> string * real)) list} |
47 token_translation: (string * string * (string -> string * real)) list} |
48 val mfix_args: string -> int |
48 val mfix_args: string -> int |
|
49 val escape_mfix: string -> string |
49 val mk_syn_ext: bool -> string list -> mfix list -> |
50 val mk_syn_ext: bool -> string list -> mfix list -> |
50 string list -> (string * (Ast.ast list -> Ast.ast)) list * |
51 string list -> (string * (Ast.ast list -> Ast.ast)) list * |
51 (string * (term list -> term)) list * |
52 (string * (term list -> term)) list * |
52 (string * (bool -> typ -> term list -> term)) list * (string * (Ast.ast list -> Ast.ast)) list |
53 (string * (bool -> typ -> term list -> term)) list * (string * (Ast.ast list -> Ast.ast)) list |
53 -> (string * string * (string -> string * real)) list |
54 -> (string * string * (string -> string * real)) list |
214 if length (filter is_index xsymbs) <= 1 then xsymbs |
215 if length (filter is_index xsymbs) <= 1 then xsymbs |
215 else error "Duplicate index arguments (\\<index>)"; |
216 else error "Duplicate index arguments (\\<index>)"; |
216 in |
217 in |
217 val read_mixfix = unique_index o read_symbs o Symbol.explode; |
218 val read_mixfix = unique_index o read_symbs o Symbol.explode; |
218 val mfix_args = length o filter is_argument o read_mixfix; |
219 val mfix_args = length o filter is_argument o read_mixfix; |
|
220 val escape_mfix = implode o map (fn s => if is_meta s then "'" ^ s else s) o Symbol.explode; |
219 end; |
221 end; |
220 |
222 |
221 |
223 |
222 (* mfix_to_xprod *) |
224 (* mfix_to_xprod *) |
223 |
225 |