src/Pure/Syntax/syntax.ML
changeset 42476 d0bc1268ef09
parent 42408 282b7a3065d3
child 42820 3daff3cc2214
equal deleted inserted replaced
42475:f830a72b27ed 42476:d0bc1268ef09
     5 (specified by mixfix declarations).
     5 (specified by mixfix declarations).
     6 *)
     6 *)
     7 
     7 
     8 signature SYNTAX =
     8 signature SYNTAX =
     9 sig
     9 sig
    10   val const: string -> term
       
    11   val free: string -> term
       
    12   val var: indexname -> term
       
    13   type operations
    10   type operations
    14   val install_operations: operations -> unit
    11   val install_operations: operations -> unit
    15   val root: string Config.T
    12   val root: string Config.T
    16   val positions_raw: Config.raw
    13   val positions_raw: Config.raw
    17   val positions: bool Config.T
    14   val positions: bool Config.T
   141   val update_type_gram: bool -> mode -> (string * typ * mixfix) list -> syntax -> syntax
   138   val update_type_gram: bool -> mode -> (string * typ * mixfix) list -> syntax -> syntax
   142   val update_const_gram: bool -> (string -> bool) ->
   139   val update_const_gram: bool -> (string -> bool) ->
   143     mode -> (string * typ * mixfix) list -> syntax -> syntax
   140     mode -> (string * typ * mixfix) list -> syntax -> syntax
   144   val update_trrules: Ast.ast trrule list -> syntax -> syntax
   141   val update_trrules: Ast.ast trrule list -> syntax -> syntax
   145   val remove_trrules: Ast.ast trrule list -> syntax -> syntax
   142   val remove_trrules: Ast.ast trrule list -> syntax -> syntax
       
   143   val const: string -> term
       
   144   val free: string -> term
       
   145   val var: indexname -> term
   146 end;
   146 end;
   147 
   147 
   148 structure Syntax: SYNTAX =
   148 structure Syntax: SYNTAX =
   149 struct
   149 struct
   150 
       
   151 val const = Lexicon.const;
       
   152 val free = Lexicon.free;
       
   153 val var = Lexicon.var;
       
   154 
       
   155 
   150 
   156 
   151 
   157 (** inner syntax operations **)
   152 (** inner syntax operations **)
   158 
   153 
   159 (* back-patched operations *)
   154 (* back-patched operations *)
   748   (if add then update_syntax else remove_syntax) prmode (Mixfix.syn_ext_consts is_logtype decls);
   743   (if add then update_syntax else remove_syntax) prmode (Mixfix.syn_ext_consts is_logtype decls);
   749 
   744 
   750 val update_trrules = ext_syntax Syntax_Ext.syn_ext_rules o check_rules;
   745 val update_trrules = ext_syntax Syntax_Ext.syn_ext_rules o check_rules;
   751 val remove_trrules = remove_syntax mode_default o Syntax_Ext.syn_ext_rules o check_rules;
   746 val remove_trrules = remove_syntax mode_default o Syntax_Ext.syn_ext_rules o check_rules;
   752 
   747 
       
   748 
       
   749 open Lexicon.Syntax;
       
   750 
   753 end;
   751 end;
   754 
   752