src/Pure/Syntax/syntax_phases.ML
changeset 42251 050cc12dd985
parent 42250 cc5ac538f991
child 42252 bdb88b1cb2b7
equal deleted inserted replaced
42250:cc5ac538f991 42251:050cc12dd985
   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