equal
deleted
inserted
replaced
79 val eval_term: theory -> term -> term |
79 val eval_term: theory -> term -> term |
80 val parse_mixfix: (string -> 'a) -> string -> 'a mixfix list |
80 val parse_mixfix: (string -> 'a) -> string -> 'a mixfix list |
81 val quotes_of: 'a mixfix list -> 'a list |
81 val quotes_of: 'a mixfix list -> 'a list |
82 val num_args_of: 'a mixfix list -> int |
82 val num_args_of: 'a mixfix list -> int |
83 val replace_quotes: 'b list -> 'a mixfix list -> 'b mixfix list |
83 val replace_quotes: 'b list -> 'a mixfix list -> 'b mixfix list |
84 val fillin_mixfix: 'a mixfix list -> Pretty.T list -> ('a -> Pretty.T) -> Pretty.T |
84 val fillin_mixfix: ('a -> Pretty.T) -> 'a mixfix list -> 'a list -> Pretty.T |
85 val mk_deftab: theory -> deftab |
85 val mk_deftab: theory -> deftab |
86 |
86 |
87 val get_node: codegr -> string -> node |
87 val get_node: codegr -> string -> node |
88 val add_edge: string * string -> codegr -> codegr |
88 val add_edge: string * string -> codegr -> codegr |
89 val add_edge_acyclic: string * string -> codegr -> codegr |
89 val add_edge_acyclic: string * string -> codegr -> codegr |
656 | replace_quotes xs (Pretty p :: ms) = |
656 | replace_quotes xs (Pretty p :: ms) = |
657 Pretty p :: replace_quotes xs ms |
657 Pretty p :: replace_quotes xs ms |
658 | replace_quotes (x::xs) (Quote _ :: ms) = |
658 | replace_quotes (x::xs) (Quote _ :: ms) = |
659 Quote x :: replace_quotes xs ms; |
659 Quote x :: replace_quotes xs ms; |
660 |
660 |
661 fun fillin_mixfix ms args f = |
661 fun fillin_mixfix f ms args = |
662 let |
662 let |
663 fun fillin [] [] = |
663 fun fillin [] [] = |
664 [] |
664 [] |
665 | fillin (Arg :: ms) (a :: args) = |
665 | fillin (Arg :: ms) (a :: args) = |
666 a :: fillin ms args |
666 f a :: fillin ms args |
667 | fillin (Ignore :: ms) args = |
667 | fillin (Ignore :: ms) args = |
668 fillin ms args |
668 fillin ms args |
669 | fillin (Module :: ms) args = |
669 | fillin (Module :: ms) args = |
670 fillin ms args |
670 fillin ms args |
671 | fillin (Pretty p :: ms) args = |
671 | fillin (Pretty p :: ms) args = |
672 p :: fillin ms args |
672 p :: fillin ms args |
673 | fillin (Quote q :: ms) args = |
673 | fillin (Quote q :: ms) args = |
674 (f q) :: fillin ms args |
674 f q :: fillin ms args |
675 in Pretty.block (fillin ms args) end; |
675 in Pretty.block (fillin ms args) end; |
676 |
676 |
677 |
677 |
678 (**** default code generators ****) |
678 (**** default code generators ****) |
679 |
679 |