src/HOL/Codatatype/Tools/bnf_fp_sugar.ML
changeset 49329 82452dc63ed5
parent 49311 56fcd826f90c
child 49330 276ff43ee0b1
equal deleted inserted replaced
49328:a1c10b46fecd 49329:82452dc63ed5
   702 
   702 
   703 val datatyp = define_datatype (K I) (K I) (K I);
   703 val datatyp = define_datatype (K I) (K I) (K I);
   704 
   704 
   705 val datatype_cmd = define_datatype Typedecl.read_constraint Syntax.parse_typ Syntax.read_term;
   705 val datatype_cmd = define_datatype Typedecl.read_constraint Syntax.parse_typ Syntax.read_term;
   706 
   706 
   707 val parse_opt_binding_colon = Scan.optional (Parse.binding --| @{keyword ":"}) no_binder
   707 val parse_binding_colon = Parse.binding --| @{keyword ":"};
       
   708 val parse_opt_binding_colon = Scan.optional parse_binding_colon no_binder;
   708 
   709 
   709 val parse_ctr_arg =
   710 val parse_ctr_arg =
   710   @{keyword "("} |-- parse_opt_binding_colon -- Parse.typ --| @{keyword ")"} ||
   711   @{keyword "("} |-- parse_binding_colon -- Parse.typ --| @{keyword ")"} ||
   711   (Parse.typ >> pair no_binder);
   712   (Parse.typ >> pair no_binder);
   712 
   713 
   713 val parse_defaults =
   714 val parse_defaults =
   714   @{keyword "("} |-- @{keyword "defaults"} |-- Scan.repeat parse_bound_term --| @{keyword ")"};
   715   @{keyword "("} |-- @{keyword "defaults"} |-- Scan.repeat parse_bound_term --| @{keyword ")"};
   715 
   716