equal
deleted
inserted
replaced
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 |