src/Pure/Thy/thy_info.ML
changeset 69883 f8293bf510a0
parent 69877 45b2e784350a
child 69886 0cb8753bdb50
equal deleted inserted replaced
69882:a9e574e2cba5 69883:f8293bf510a0
   293         val (results, st') = Toplevel.element_result keywords elem st;
   293         val (results, st') = Toplevel.element_result keywords elem st;
   294         val pos' = Toplevel.pos_of (Thy_Element.last_element elem);
   294         val pos' = Toplevel.pos_of (Thy_Element.last_element elem);
   295       in (results, (st', pos')) end;
   295       in (results, (st', pos')) end;
   296 
   296 
   297     val (results, (end_state, end_pos)) =
   297     val (results, (end_state, end_pos)) =
   298       fold_map element_result elements (Toplevel.toplevel, Position.none);
   298       fold_map element_result elements (Toplevel.init (), Position.none);
   299 
   299 
   300     val thy = Toplevel.end_theory end_pos end_state;
   300     val thy = Toplevel.end_theory end_pos end_state;
   301   in (results, thy) end;
   301   in (results, thy) end;
   302 
   302 
   303 fun eval_thy (context: context) update_time master_dir header text_pos text parents =
   303 fun eval_thy (context: context) update_time master_dir header text_pos text parents =
   453   let
   453   let
   454     val trs =
   454     val trs =
   455       Outer_Syntax.parse thy pos txt
   455       Outer_Syntax.parse thy pos txt
   456       |> map (Toplevel.modify_init (K thy));
   456       |> map (Toplevel.modify_init (K thy));
   457     val end_pos = if null trs then pos else Toplevel.pos_of (List.last trs);
   457     val end_pos = if null trs then pos else Toplevel.pos_of (List.last trs);
   458     val end_state = fold (Toplevel.command_exception true) trs Toplevel.toplevel;
   458     val end_state = fold (Toplevel.command_exception true) trs (Toplevel.init ());
   459   in Toplevel.end_theory end_pos end_state end;
   459   in Toplevel.end_theory end_pos end_state end;
   460 
   460 
   461 
   461 
   462 (* register theory *)
   462 (* register theory *)
   463 
   463