src/Pure/Isar/spec_parse.ML
changeset 24014 d3873741678d
parent 24013 3063a756611d
child 24869 bad2b2be1f24
equal deleted inserted replaced
24013:3063a756611d 24014:d3873741678d
    50 
    50 
    51 
    51 
    52 (* theorem specifications *)
    52 (* theorem specifications *)
    53 
    53 
    54 val attrib = P.position ((P.keyword_sid || P.xname) -- P.!!! P.arguments) >> Args.src;
    54 val attrib = P.position ((P.keyword_sid || P.xname) -- P.!!! P.arguments) >> Args.src;
    55 val attribs = P.$$$ "[" |-- P.!!! (P.list attrib --| P.$$$ "]");
    55 val attribs = P.$$$ "[" |-- P.list attrib --| P.$$$ "]";
    56 val opt_attribs = Scan.optional attribs [];
    56 val opt_attribs = Scan.optional attribs [];
    57 
    57 
    58 fun thm_name s = P.name -- opt_attribs --| P.$$$ s;
    58 fun thm_name s = P.name -- opt_attribs --| P.$$$ s;
    59 fun opt_thm_name s =
    59 fun opt_thm_name s =
    60   Scan.optional ((P.name -- opt_attribs || (attribs >> pair "")) --| P.$$$ s) ("", []);
    60   Scan.optional ((P.name -- opt_attribs || (attribs >> pair "")) --| P.$$$ s) ("", []);