src/Pure/Isar/outer_parse.ML
changeset 6860 8dc6a1e6fa13
parent 6726 ac968ce542a8
child 6935 a3f3f4128cab
equal deleted inserted replaced
6859:2b3db2b6c129 6860:8dc6a1e6fa13
    21   val type_ident: token list -> string * token list
    21   val type_ident: token list -> string * token list
    22   val type_var: token list -> string * token list
    22   val type_var: token list -> string * token list
    23   val number: token list -> string * token list
    23   val number: token list -> string * token list
    24   val string: token list -> string * token list
    24   val string: token list -> string * token list
    25   val verbatim: token list -> string * token list
    25   val verbatim: token list -> string * token list
       
    26   val sync: token list -> string * token list
    26   val eof: token list -> string * token list
    27   val eof: token list -> string * token list
    27   val not_eof: token list -> token * token list
    28   val not_eof: token list -> token * token list
    28   val nat: token list -> int * token list
    29   val nat: token list -> int * token list
    29   val enum: string -> (token list -> 'a * token list) -> token list -> 'a list * token list
    30   val enum: string -> (token list -> 'a * token list) -> token list -> 'a list * token list
    30   val enum1: string -> (token list -> 'a * token list) -> token list -> 'a list * token list
    31   val enum1: string -> (token list -> 'a * token list) -> token list -> 'a list * token list
   120 val type_ident = kind OuterLex.TypeIdent;
   121 val type_ident = kind OuterLex.TypeIdent;
   121 val type_var = kind OuterLex.TypeVar;
   122 val type_var = kind OuterLex.TypeVar;
   122 val number = kind OuterLex.Nat;
   123 val number = kind OuterLex.Nat;
   123 val string = kind OuterLex.String;
   124 val string = kind OuterLex.String;
   124 val verbatim = kind OuterLex.Verbatim;
   125 val verbatim = kind OuterLex.Verbatim;
       
   126 val sync = kind OuterLex.Sync;
   125 val eof = kind OuterLex.EOF;
   127 val eof = kind OuterLex.EOF;
   126 
   128 
   127 fun $$$ x =
   129 fun $$$ x =
   128   group (OuterLex.str_of_kind OuterLex.Keyword ^ " " ^ quote x)
   130   group (OuterLex.str_of_kind OuterLex.Keyword ^ " " ^ quote x)
   129     (Scan.one (OuterLex.is_kind OuterLex.Keyword andf (equal x o OuterLex.val_of))
   131     (Scan.one (OuterLex.is_kind OuterLex.Keyword andf (equal x o OuterLex.val_of))