equal
deleted
inserted
replaced
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) ("", []); |