equal
deleted
inserted
replaced
154 let val (st', f) = Args.syntax "attribute" scan src st |
154 let val (st', f) = Args.syntax "attribute" scan src st |
155 in f (st', th) end; |
155 in f (st', th) end; |
156 |
156 |
157 fun no_args x = syntax (Scan.succeed x); |
157 fun no_args x = syntax (Scan.succeed x); |
158 |
158 |
159 fun add_del_args add del x = |
159 fun add_del_args add del x = syntax (Scan.lift |
160 syntax (Scan.lift (Args.$$$ "add" >> K add || Args.$$$ "del" >> K del || Scan.succeed add)) x; |
160 (Args.$$$ Args.addN >> K add || Args.$$$ Args.delN >> K del || Scan.succeed add)) x; |
161 |
161 |
162 |
162 |
163 |
163 |
164 (** Pure attributes **) |
164 (** Pure attributes **) |
165 |
165 |