127 Parse_Rule of 'a * 'a | |
125 Parse_Rule of 'a * 'a | |
128 Print_Rule of 'a * 'a | |
126 Print_Rule of 'a * 'a | |
129 Parse_Print_Rule of 'a * 'a |
127 Parse_Print_Rule of 'a * 'a |
130 val map_trrule: ('a -> 'b) -> 'a trrule -> 'b trrule |
128 val map_trrule: ('a -> 'b) -> 'a trrule -> 'b trrule |
131 val is_const: syntax -> string -> bool |
129 val is_const: syntax -> string -> bool |
132 val read_rule_pattern: Proof.context -> type_context -> syntax -> string * string -> ast |
130 val read_rule_pattern: Proof.context -> type_context -> syntax -> string * string -> Ast.ast |
133 val standard_unparse_sort: {extern_class: string -> xstring} -> |
131 val standard_unparse_sort: {extern_class: string -> xstring} -> |
134 Proof.context -> syntax -> sort -> Pretty.T |
132 Proof.context -> syntax -> sort -> Pretty.T |
135 val standard_unparse_typ: {extern_class: string -> xstring, extern_type: string -> xstring} -> |
133 val standard_unparse_typ: {extern_class: string -> xstring, extern_type: string -> xstring} -> |
136 Proof.context -> syntax -> typ -> Pretty.T |
134 Proof.context -> syntax -> typ -> Pretty.T |
137 val standard_unparse_term: {structs: string list, fixes: string list} -> |
135 val standard_unparse_term: {structs: string list, fixes: string list} -> |
138 {extern_class: string -> xstring, extern_type: string -> xstring, |
136 {extern_class: string -> xstring, extern_type: string -> xstring, |
139 extern_const: string -> xstring} -> Proof.context -> syntax -> bool -> term -> Pretty.T |
137 extern_const: string -> xstring} -> Proof.context -> syntax -> bool -> term -> Pretty.T |
140 val update_trfuns: |
138 val update_trfuns: |
141 (string * ((ast list -> ast) * stamp)) list * |
139 (string * ((Ast.ast list -> Ast.ast) * stamp)) list * |
142 (string * ((term list -> term) * stamp)) list * |
140 (string * ((term list -> term) * stamp)) list * |
143 (string * ((bool -> typ -> term list -> term) * stamp)) list * |
141 (string * ((bool -> typ -> term list -> term) * stamp)) list * |
144 (string * ((ast list -> ast) * stamp)) list -> syntax -> syntax |
142 (string * ((Ast.ast list -> Ast.ast) * stamp)) list -> syntax -> syntax |
145 val update_advanced_trfuns: |
143 val update_advanced_trfuns: |
146 (string * ((Proof.context -> ast list -> ast) * stamp)) list * |
144 (string * ((Proof.context -> Ast.ast list -> Ast.ast) * stamp)) list * |
147 (string * ((Proof.context -> term list -> term) * stamp)) list * |
145 (string * ((Proof.context -> term list -> term) * stamp)) list * |
148 (string * ((Proof.context -> bool -> typ -> term list -> term) * stamp)) list * |
146 (string * ((Proof.context -> bool -> typ -> term list -> term) * stamp)) list * |
149 (string * ((Proof.context -> ast list -> ast) * stamp)) list -> syntax -> syntax |
147 (string * ((Proof.context -> Ast.ast list -> Ast.ast) * stamp)) list -> syntax -> syntax |
150 val extend_tokentrfuns: (string * string * (Proof.context -> string -> Pretty.T)) list -> |
148 val extend_tokentrfuns: (string * string * (Proof.context -> string -> Pretty.T)) list -> |
151 syntax -> syntax |
149 syntax -> syntax |
152 val update_type_gram: bool -> mode -> (string * typ * mixfix) list -> syntax -> syntax |
150 val update_type_gram: bool -> mode -> (string * typ * mixfix) list -> syntax -> syntax |
153 val update_const_gram: bool -> (string -> bool) -> |
151 val update_const_gram: bool -> (string -> bool) -> |
154 mode -> (string * typ * mixfix) list -> syntax -> syntax |
152 mode -> (string * typ * mixfix) list -> syntax -> syntax |
155 val update_trrules: ast trrule list -> syntax -> syntax |
153 val update_trrules: Ast.ast trrule list -> syntax -> syntax |
156 val remove_trrules: ast trrule list -> syntax -> syntax |
154 val remove_trrules: Ast.ast trrule list -> syntax -> syntax |
157 end; |
155 end; |
158 |
156 |
159 structure Syntax: SYNTAX = |
157 structure Syntax: SYNTAX = |
160 struct |
158 struct |
161 |
159 |
941 val update_trrules = ext_syntax Syn_Ext.syn_ext_rules o check_rules; |
939 val update_trrules = ext_syntax Syn_Ext.syn_ext_rules o check_rules; |
942 val remove_trrules = remove_syntax mode_default o Syn_Ext.syn_ext_rules o check_rules; |
940 val remove_trrules = remove_syntax mode_default o Syn_Ext.syn_ext_rules o check_rules; |
943 |
941 |
944 |
942 |
945 (*export parts of internal Syntax structures*) |
943 (*export parts of internal Syntax structures*) |
946 open Lexicon Syn_Ext Ast Parser Type_Ext Syn_Trans Mixfix Printer; |
944 open Lexicon Syn_Ext Parser Type_Ext Syn_Trans Mixfix Printer; |
947 |
945 |
948 end; |
946 end; |
949 |
947 |
950 structure Basic_Syntax: BASIC_SYNTAX = Syntax; |
948 structure Basic_Syntax: BASIC_SYNTAX = Syntax; |
951 open Basic_Syntax; |
949 open Basic_Syntax; |
952 |
950 |
953 forget_structure "Ast"; |
|
954 forget_structure "Syn_Ext"; |
951 forget_structure "Syn_Ext"; |
955 forget_structure "Parser"; |
952 forget_structure "Parser"; |
956 forget_structure "Type_Ext"; |
953 forget_structure "Type_Ext"; |
957 forget_structure "Syn_Trans"; |
954 forget_structure "Syn_Trans"; |
958 forget_structure "Mixfix"; |
955 forget_structure "Mixfix"; |