src/Pure/Isar/outer_parse.ML
changeset 21400 4788fc8e66ea
parent 21371 6717630f080b
child 21440 807a39221a58
equal deleted inserted replaced
21399:700ae58d2273 21400:4788fc8e66ea
    60   val mixfix: token list -> mixfix * token list
    60   val mixfix: token list -> mixfix * token list
    61   val opt_infix: token list -> mixfix * token list
    61   val opt_infix: token list -> mixfix * token list
    62   val opt_mixfix: token list -> mixfix * token list
    62   val opt_mixfix: token list -> mixfix * token list
    63   val opt_infix': token list -> mixfix * token list
    63   val opt_infix': token list -> mixfix * token list
    64   val opt_mixfix': token list -> mixfix * token list
    64   val opt_mixfix': token list -> mixfix * token list
       
    65   val where_: token list -> string * token list
    65   val const: token list -> (string * string * mixfix) * token list
    66   val const: token list -> (string * string * mixfix) * token list
    66   val simple_fixes: token list -> (string * string option) list * token list
    67   val simple_fixes: token list -> (string * string option) list * token list
    67   val fixes: token list -> (string * string option * mixfix) list * token list
    68   val fixes: token list -> (string * string option * mixfix) list * token list
    68   val for_fixes: token list -> (string * string option * mixfix) list * token list
    69   val for_fixes: token list -> (string * string option * mixfix) list * token list
    69   val for_simple_fixes: token list -> (string * string option) list * token list
    70   val for_simple_fixes: token list -> (string * string option) list * token list
   265 val opt_mixfix' = opt_annotation I (mfix || binder || infxl || infxr || infx);
   266 val opt_mixfix' = opt_annotation I (mfix || binder || infxl || infxr || infx);
   266 
   267 
   267 
   268 
   268 (* fixes *)
   269 (* fixes *)
   269 
   270 
       
   271 val where_ = $$$ "where";
       
   272 
   270 val const = name -- ($$$ "::" |-- !!! typ) -- opt_mixfix >> triple1;
   273 val const = name -- ($$$ "::" |-- !!! typ) -- opt_mixfix >> triple1;
   271 
   274 
   272 val params = Scan.repeat1 name -- Scan.option ($$$ "::" |-- !!! typ)
   275 val params = Scan.repeat1 name -- Scan.option ($$$ "::" |-- !!! typ)
   273   >> (fn (xs, T) => map (rpair T) xs);
   276   >> (fn (xs, T) => map (rpair T) xs);
   274 
   277