src/Pure/ML/ml_lex.ML
changeset 74291 b83fa8f3a271
parent 74174 a3b0fc510705
child 74373 6e4093927dbb
equal deleted inserted replaced
74290:b2ad24b5a42c 74291:b83fa8f3a271
    26   val source: (Symbol.symbol, 'a) Source.source ->
    26   val source: (Symbol.symbol, 'a) Source.source ->
    27     (token, (Symbol_Pos.T, Position.T * (Symbol.symbol, 'a) Source.source)
    27     (token, (Symbol_Pos.T, Position.T * (Symbol.symbol, 'a) Source.source)
    28       Source.source) Source.source
    28       Source.source) Source.source
    29   val tokenize: string -> token list
    29   val tokenize: string -> token list
    30   val tokenize_range: Position.range -> string -> token list
    30   val tokenize_range: Position.range -> string -> token list
       
    31   val tokenize_no_range: string -> token list
    31   val read_text: Symbol_Pos.text * Position.T -> token Antiquote.antiquote list
    32   val read_text: Symbol_Pos.text * Position.T -> token Antiquote.antiquote list
    32   val read: Symbol_Pos.text -> token Antiquote.antiquote list
    33   val read: Symbol_Pos.text -> token Antiquote.antiquote list
    33   val read_range: Position.range -> Symbol_Pos.text -> token Antiquote.antiquote list
    34   val read_range: Position.range -> Symbol_Pos.text -> token Antiquote.antiquote list
    34   val read_source': {language: bool -> Markup.T, opaque_warning: bool, symbols: bool} ->
    35   val read_source': {language: bool -> Markup.T, opaque_warning: bool, symbols: bool} ->
    35     token Antiquote.antiquote Symbol_Pos.scanner -> Input.source -> token Antiquote.antiquote list
    36     token Antiquote.antiquote Symbol_Pos.scanner -> Input.source -> token Antiquote.antiquote list
   357   Symbol_Pos.source (Position.line 1) src
   358   Symbol_Pos.source (Position.line 1) src
   358   |> Source.source Symbol_Pos.stopper (Scan.recover (Scan.bulk (!!! "bad input" scan_sml)) recover);
   359   |> Source.source Symbol_Pos.stopper (Scan.recover (Scan.bulk (!!! "bad input" scan_sml)) recover);
   359 
   360 
   360 val tokenize = Symbol.explode #> Source.of_list #> source #> Source.exhaust;
   361 val tokenize = Symbol.explode #> Source.of_list #> source #> Source.exhaust;
   361 fun tokenize_range range = tokenize #> map (set_range range);
   362 fun tokenize_range range = tokenize #> map (set_range range);
       
   363 val tokenize_no_range = tokenize_range Position.no_range;
   362 
   364 
   363 val read_text = reader {opaque_warning = true} scan_ml_antiq o Symbol_Pos.explode;
   365 val read_text = reader {opaque_warning = true} scan_ml_antiq o Symbol_Pos.explode;
   364 fun read text = read_text (text, Position.none);
   366 fun read text = read_text (text, Position.none);
   365 
   367 
   366 fun read_range range =
   368 fun read_range range =