src/Pure/ML/ml_lex.ML
changeset 67363 408a137e2793
parent 67362 221612c942de
child 67425 7d4a088dbc0e
equal deleted inserted replaced
67362:221612c942de 67363:408a137e2793
   176 (** scanners **)
   176 (** scanners **)
   177 
   177 
   178 open Basic_Symbol_Pos;
   178 open Basic_Symbol_Pos;
   179 
   179 
   180 val err_prefix = "SML lexical error: ";
   180 val err_prefix = "SML lexical error: ";
       
   181 val err_prefix' = "Isabelle/ML lexical error: ";
   181 
   182 
   182 fun !!! msg = Symbol_Pos.!!! (fn () => err_prefix ^ msg);
   183 fun !!! msg = Symbol_Pos.!!! (fn () => err_prefix ^ msg);
   183 
   184 
   184 
   185 
   185 (* identifiers *)
   186 (* identifiers *)
   297 val scan_ml =
   298 val scan_ml =
   298  (scan_char >> token Char ||
   299  (scan_char >> token Char ||
   299   scan_string >> token String ||
   300   scan_string >> token String ||
   300   scan_blanks1 >> token Space ||
   301   scan_blanks1 >> token Space ||
   301   Symbol_Pos.scan_comment err_prefix >> token Comment ||
   302   Symbol_Pos.scan_comment err_prefix >> token Comment ||
   302   Symbol_Pos.scan_comment_cartouche err_prefix >> token Comment_Cartouche ||
   303   Symbol_Pos.scan_comment_cartouche err_prefix' >> token Comment_Cartouche ||
   303   Scan.max token_leq
   304   Scan.max token_leq
   304    (Scan.literal lexicon >> token Keyword)
   305    (Scan.literal lexicon >> token Keyword)
   305    (scan_word >> token Word ||
   306    (scan_word >> token Word ||
   306     scan_real >> token Real ||
   307     scan_real >> token Real ||
   307     scan_int >> token Int ||
   308     scan_int >> token Int ||