equal
deleted
inserted
replaced
266 |
266 |
267 fun parse_raw ctxt root input = |
267 fun parse_raw ctxt root input = |
268 let |
268 let |
269 val syn = ProofContext.syn_of ctxt; |
269 val syn = ProofContext.syn_of ctxt; |
270 val tr = Syntax.parse_translation syn; |
270 val tr = Syntax.parse_translation syn; |
271 val {parse_ruletab, ...} = Syntax.rep_syntax syn; |
271 val parse_rules = Syntax.parse_rules syn; |
272 val norm = Ast.normalize ctxt (Symtab.lookup_list parse_ruletab); |
|
273 val ast_to_term = ast_to_term ctxt tr; |
|
274 in |
272 in |
275 parse_asts ctxt false root input |
273 parse_asts ctxt false root input |
276 |> (map o apsnd o Exn.maps_result) (norm #> Exn.interruptible_capture ast_to_term) |
274 |> (map o apsnd o Exn.maps_result) |
|
275 (Ast.normalize ctxt parse_rules #> Exn.interruptible_capture (ast_to_term ctxt tr)) |
277 end; |
276 end; |
278 |
277 |
279 |
278 |
280 (* parse logical entities *) |
279 (* parse logical entities *) |
281 |
280 |
555 local |
554 local |
556 |
555 |
557 fun unparse_t t_to_ast prt_t markup ctxt curried t = |
556 fun unparse_t t_to_ast prt_t markup ctxt curried t = |
558 let |
557 let |
559 val syn = ProofContext.syn_of ctxt; |
558 val syn = ProofContext.syn_of ctxt; |
560 val tr' = Syntax.print_translation syn; |
|
561 val ast_tr' = Syntax.print_ast_translation syn; |
|
562 val tokentr = Syntax.token_translation syn (print_mode_value ()); |
559 val tokentr = Syntax.token_translation syn (print_mode_value ()); |
563 val {print_ruletab, prtabs, ...} = Syntax.rep_syntax syn; |
|
564 in |
560 in |
565 t_to_ast ctxt tr' t |
561 t_to_ast ctxt (Syntax.print_translation syn) t |
566 |> Ast.normalize ctxt (Symtab.lookup_list print_ruletab) |
562 |> Ast.normalize ctxt (Syntax.print_rules syn) |
567 |> prt_t ctxt curried prtabs ast_tr' tokentr |
563 |> prt_t ctxt curried (Syntax.prtabs syn) (Syntax.print_ast_translation syn) tokentr |
568 |> Pretty.markup markup |
564 |> Pretty.markup markup |
569 end; |
565 end; |
570 |
566 |
571 in |
567 in |
572 |
568 |