src/Tools/Code/code_scala.ML
changeset 38910 6af1d8673cbf
parent 38863 9070a7c356c9
child 38912 c79c1e4e1111
equal deleted inserted replaced
38909:919c924067f3 38910:6af1d8673cbf
   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 (code_of_pretty, code_writeln)
   418     program (stmt_names, presentation_stmt_names) destination =
   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;
   423     val (deresolver, sca_program) = scala_program_of_program labelled_name
   423     val (deresolver, sca_program) = scala_program_of_program labelled_name
   479     (* serialization *)
   479     (* serialization *)
   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 target
   484     Code_Target.mk_serialization
   485       (fn NONE => code_writeln | SOME file => File.write file o code_of_pretty)
   485       (fn width => (fn NONE => code_writeln | SOME file => File.write file o code_of_pretty))
   486       (rpair [] o code_of_pretty) p destination
   486       (fn width => (rpair [] o code_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