src/Pure/Isar/outer_parse.ML
changeset 25541 68de88c7e877
parent 24910 53b20f786a5e
child 25625 35e2aa8b8b03
equal deleted inserted replaced
25540:e209975d5606 25541:68de88c7e877
    54   val text: token list -> string * token list
    54   val text: token list -> string * token list
    55   val path: token list -> Path.T * token list
    55   val path: token list -> Path.T * token list
    56   val parname: token list -> string * token list
    56   val parname: token list -> string * token list
    57   val sort: token list -> string * token list
    57   val sort: token list -> string * token list
    58   val arity: token list -> (string * string list * string) * token list
    58   val arity: token list -> (string * string list * string) * token list
       
    59   val multi_arity: token list -> (string list * string list * string) * token list
    59   val type_args: token list -> string list * token list
    60   val type_args: token list -> string list * token list
    60   val typ: token list -> string * token list
    61   val typ: token list -> string * token list
    61   val mixfix: token list -> mixfix * token list
    62   val mixfix: token list -> mixfix * token list
    62   val mixfix': token list -> mixfix * token list
    63   val mixfix': token list -> mixfix * token list
    63   val opt_infix: token list -> mixfix * token list
    64   val opt_infix: token list -> mixfix * token list
   206 val sort = group "sort" xname;
   207 val sort = group "sort" xname;
   207 
   208 
   208 val arity = xname -- ($$$ "::" |-- !!!
   209 val arity = xname -- ($$$ "::" |-- !!!
   209   (Scan.optional ($$$ "(" |-- !!! (list1 sort --| $$$ ")")) [] -- sort)) >> triple2;
   210   (Scan.optional ($$$ "(" |-- !!! (list1 sort --| $$$ ")")) [] -- sort)) >> triple2;
   210 
   211 
       
   212 val multi_arity = and_list1 xname -- ($$$ "::" |-- !!!
       
   213   (Scan.optional ($$$ "(" |-- !!! (list1 sort --| $$$ ")")) [] -- sort)) >> triple2;
       
   214 
   211 
   215 
   212 (* types *)
   216 (* types *)
   213 
   217 
   214 val typ = group "type"
   218 val typ = group "type"
   215   (short_ident || long_ident || sym_ident || type_ident || type_var || string || number);
   219   (short_ident || long_ident || sym_ident || type_ident || type_var || string || number);