src/Pure/Syntax/lexicon.ML
changeset 24583 d77e4d48e497
parent 24245 4ffeb1dd048a
child 24630 351a308ab58d
equal deleted inserted replaced
24582:57599da58045 24583:d77e4d48e497
    91 
    91 
    92 (** basic scanners **)
    92 (** basic scanners **)
    93 
    93 
    94 val scan_letter_letdigs = Scan.one Symbol.is_letter -- Scan.many Symbol.is_letdig >> op ::;
    94 val scan_letter_letdigs = Scan.one Symbol.is_letter -- Scan.many Symbol.is_letdig >> op ::;
    95 val scan_digits1 = Scan.many1 Symbol.is_digit;
    95 val scan_digits1 = Scan.many1 Symbol.is_digit;
    96 val scan_hex1 = Scan.many1 (Symbol.is_digit orf Symbol.is_hex_letter);
    96 val scan_hex1 = Scan.many1 Symbol.is_ascii_hex;
    97 val scan_bin1 = Scan.many1 (fn s => s = "0" orelse s = "1");
    97 val scan_bin1 = Scan.many1 (fn s => s = "0" orelse s = "1");
    98 
    98 
    99 val scan_id = scan_letter_letdigs >> implode;
    99 val scan_id = scan_letter_letdigs >> implode;
   100 val scan_longid = scan_id ^^ (Scan.repeat1 ($$ "." ^^ scan_id) >> implode);
   100 val scan_longid = scan_id ^^ (Scan.repeat1 ($$ "." ^^ scan_id) >> implode);
   101 val scan_tid = $$ "'" ^^ scan_id;
   101 val scan_tid = $$ "'" ^^ scan_id;