added trfun_names;
authorwenzelm
Sat, 02 May 1998 13:27:42 +0200
changeset 4887 bbc13af86c16
parent 4886 31f23b8d6851
child 4888 7301ff9f412b
added trfun_names;
src/Pure/Syntax/syntax.ML
--- a/src/Pure/Syntax/syntax.ML	Sat May 02 13:27:06 1998 +0200
+++ b/src/Pure/Syntax/syntax.ML	Sat May 02 13:27:42 1998 +0200
@@ -47,6 +47,7 @@
   val print_gram: syntax -> unit
   val print_trans: syntax -> unit
   val print_syntax: syntax -> unit
+  val trfun_names: syntax -> string list * string list * string list * string list
   val test_read: syntax -> string -> string -> unit
   val read: syntax -> typ -> string -> term list
   val read_typ: syntax -> ((indexname * sort) list -> indexname -> sort) -> string -> typ
@@ -71,7 +72,7 @@
 (*does not subsume typed print translations*)
 type 'a trtab = (('a list -> 'a) * stamp) Symtab.table;
 
-val dest_trtab = Symtab.dest;
+fun dest_trtab tab = map fst (Symtab.dest tab);
 
 fun lookup_trtab tab c =
   apsome fst (Symtab.lookup (tab, c));
@@ -269,6 +270,7 @@
 val pure_syn = extend_syntax ("", true) type_syn pure_ext;
 
 
+
 (** inspect syntax **)
 
 fun pretty_strs_qs name strs =
@@ -294,7 +296,7 @@
 fun print_trans (Syntax tabs) =
   let
     fun pretty_trtab name tab =
-      pretty_strs_qs name (map fst (dest_trtab tab));
+      pretty_strs_qs name (dest_trtab tab);
 
     fun pretty_ruletab name tab =
       Pretty.big_list name (map pretty_rule (dest_ruletab tab));
@@ -320,6 +322,13 @@
 fun print_syntax syn = (print_gram syn; print_trans syn);
 
 
+(* trfun_names *)
+
+fun trfun_names (Syntax {parse_ast_trtab, parse_trtab, print_trtab, print_ruletab, ...}) =
+  (dest_trtab parse_ast_trtab, dest_trtab parse_trtab,
+    dest_trtab print_trtab, dest_trtab print_ruletab);
+
+
 
 (** read **)