src/Tools/Code/code_scala.ML
changeset 38912 c79c1e4e1111
parent 38910 6af1d8673cbf
child 38913 d1d4d808be26
equal deleted inserted replaced
38911:caba168a3039 38912:c79c1e4e1111
   412         handle Graph.UNDEF _ => error ("Unknown statement name: " ^ labelled_name name);
   412         handle Graph.UNDEF _ => error ("Unknown statement name: " ^ labelled_name name);
   413 
   413 
   414   in (deresolver, sca_program) end;
   414   in (deresolver, sca_program) end;
   415 
   415 
   416 fun serialize_scala labelled_name raw_reserved includes module_alias
   416 fun serialize_scala labelled_name raw_reserved includes module_alias
   417     _ syntax_tyco syntax_const (code_of_pretty, code_writeln)
   417     _ syntax_tyco syntax_const
   418     program (stmt_names, presentation_stmt_names) width =
   418     program (stmt_names, presentation_stmt_names) width =
   419   let
   419   let
   420 
   420 
   421     (* build program *)
   421     (* build program *)
   422     val reserved = fold (insert (op =) o fst) includes raw_reserved;
   422     val reserved = fold (insert (op =) o fst) includes raw_reserved;
   480     val p_includes = if null presentation_stmt_names
   480     val p_includes = if null presentation_stmt_names
   481       then map (fn (base, p) => print_module base [] p) includes else [];
   481       then map (fn (base, p) => print_module base [] p) includes else [];
   482     val p = Pretty.chunks2 (p_includes @ the_list (print_nodes [] sca_program));
   482     val p = Pretty.chunks2 (p_includes @ the_list (print_nodes [] sca_program));
   483   in
   483   in
   484     Code_Target.mk_serialization
   484     Code_Target.mk_serialization
   485       (fn width => (fn NONE => code_writeln | SOME file => File.write file o code_of_pretty))
   485       (fn width => (fn NONE => writeln_pretty width | SOME file => File.write file o string_of_pretty width))
   486       (fn width => (rpair [] o code_of_pretty)) p width
   486       (rpair [] oo string_of_pretty) p width
   487   end;
   487   end;
   488 
   488 
   489 end; (*local*)
   489 end; (*local*)
   490 
   490 
   491 val literals = let
   491 val literals = let