src/Tools/code/code_target.ML
changeset 30513 1796b8ea88aa
parent 30494 c150e6fa4e0d
child 30648 17365ef082f3
equal deleted inserted replaced
30512:17b2aad869fa 30513:1796b8ea88aa
    24   val code_writeln: Pretty.T -> unit
    24   val code_writeln: Pretty.T -> unit
    25   val mk_serialization: string -> ('a -> unit) option
    25   val mk_serialization: string -> ('a -> unit) option
    26     -> (Path.T option -> 'a -> unit)
    26     -> (Path.T option -> 'a -> unit)
    27     -> ('a -> string * string option list)
    27     -> ('a -> string * string option list)
    28     -> 'a -> serialization
    28     -> 'a -> serialization
    29   val serialize: theory -> string -> string option -> Args.T list
    29   val serialize: theory -> string -> string option -> OuterLex.token list
    30     -> Code_Thingol.naming -> Code_Thingol.program -> string list -> serialization
    30     -> Code_Thingol.naming -> Code_Thingol.program -> string list -> serialization
    31   val serialize_custom: theory -> string * (serializer * literals)
    31   val serialize_custom: theory -> string * (serializer * literals)
    32     -> Code_Thingol.naming -> Code_Thingol.program -> string list -> string * string option list
    32     -> Code_Thingol.naming -> Code_Thingol.program -> string list -> string * string option list
    33   val the_literals: theory -> string -> literals
    33   val the_literals: theory -> string -> literals
    34   val compile: serialization -> unit
    34   val compile: serialization -> unit
   104        Symtab.join (K snd) (const1, const2))
   104        Symtab.join (K snd) (const1, const2))
   105   );
   105   );
   106 
   106 
   107 type serializer =
   107 type serializer =
   108   string option                         (*module name*)
   108   string option                         (*module name*)
   109   -> Args.T list                        (*arguments*)
   109   -> OuterLex.token list                (*arguments*)
   110   -> (string -> string)                 (*labelled_name*)
   110   -> (string -> string)                 (*labelled_name*)
   111   -> string list                        (*reserved symbols*)
   111   -> string list                        (*reserved symbols*)
   112   -> (string * Pretty.T) list           (*includes*)
   112   -> (string * Pretty.T) list           (*includes*)
   113   -> (string -> string option)          (*module aliasses*)
   113   -> (string -> string option)          (*module aliasses*)
   114   -> (string -> string option)          (*class syntax*)
   114   -> (string -> string option)          (*class syntax*)