src/Tools/Code/code_printer.ML
changeset 56812 baef1c110f12
parent 55236 8d61b0aa7a0d
child 58854 b979c781c2db
equal deleted inserted replaced
56811:b66639331db5 56812:baef1c110f12
    26   val doublesemicolon: Pretty.T list -> Pretty.T
    26   val doublesemicolon: Pretty.T list -> Pretty.T
    27   val indent: int -> Pretty.T -> Pretty.T
    27   val indent: int -> Pretty.T -> Pretty.T
    28   val markup_stmt: Code_Symbol.T -> Pretty.T -> Pretty.T
    28   val markup_stmt: Code_Symbol.T -> Pretty.T -> Pretty.T
    29   val format: Code_Symbol.T list -> int -> Pretty.T -> string
    29   val format: Code_Symbol.T list -> int -> Pretty.T -> string
    30 
    30 
    31   val first_upper: string -> string
       
    32   val first_lower: string -> string
       
    33   type var_ctxt
    31   type var_ctxt
    34   val make_vars: string list -> var_ctxt
    32   val make_vars: string list -> var_ctxt
    35   val intro_vars: string list -> var_ctxt -> var_ctxt
    33   val intro_vars: string list -> var_ctxt -> var_ctxt
    36   val lookup_var: var_ctxt -> string -> string
    34   val lookup_var: var_ctxt -> string -> string
    37   val intro_base_names: (string -> bool) -> (string -> string)
    35   val intro_base_names: (string -> bool) -> (string -> string)
   173 fun lookup_var (namemap, _) name =
   171 fun lookup_var (namemap, _) name =
   174   case Symtab.lookup namemap name of
   172   case Symtab.lookup namemap name of
   175     SOME name' => name'
   173     SOME name' => name'
   176   | NONE => error ("Invalid name in context: " ^ quote name);
   174   | NONE => error ("Invalid name in context: " ^ quote name);
   177 
   175 
   178 val first_upper = implode o nth_map 0 Symbol.to_ascii_upper o raw_explode;
       
   179 val first_lower = implode o nth_map 0 Symbol.to_ascii_lower o raw_explode;
       
   180 
       
   181 fun aux_params vars lhss =
   176 fun aux_params vars lhss =
   182   let
   177   let
   183     fun fish_param _ (w as SOME _) = w
   178     fun fish_param _ (w as SOME _) = w
   184       | fish_param (IVar (SOME v)) NONE = SOME v
   179       | fish_param (IVar (SOME v)) NONE = SOME v
   185       | fish_param _ NONE = NONE;
   180       | fish_param _ NONE = NONE;