equal
deleted
inserted
replaced
237 |
237 |
238 (* parse raw asts *) |
238 (* parse raw asts *) |
239 |
239 |
240 fun parse_asts ctxt raw root (syms, pos) = |
240 fun parse_asts ctxt raw root (syms, pos) = |
241 let |
241 let |
242 val {lexicon, gram, parse_ast_trtab, ...} = Syntax.rep_syntax (ProofContext.syn_of ctxt); |
242 val syn = ProofContext.syn_of ctxt; |
243 |
243 val {parse_ast_trtab, ...} = Syntax.rep_syntax syn; |
244 val toks = Lexicon.tokenize lexicon raw syms; |
244 |
|
245 val toks = Syntax.tokenize syn raw syms; |
245 val _ = List.app (Lexicon.report_token ctxt) toks; |
246 val _ = List.app (Lexicon.report_token ctxt) toks; |
246 |
247 |
247 val pts = Parser.parse ctxt gram root (filter Lexicon.is_proper toks) |
248 val pts = Syntax.parse ctxt syn root (filter Lexicon.is_proper toks) |
248 handle ERROR msg => |
249 handle ERROR msg => |
249 error (msg ^ |
250 error (msg ^ |
250 implode (map (Markup.markup Markup.report o Lexicon.reported_token_range ctxt) toks)); |
251 implode (map (Markup.markup Markup.report o Lexicon.reported_token_range ctxt) toks)); |
251 val len = length pts; |
252 val len = length pts; |
252 |
253 |