Top level parser for
(vl-parse-0+-attribute-instances &key (tokstream 'tokstream) (config 'config)) → (mv errmsg? value new-tokstream)
This is a wrapper. Almost all of the work is done by the aux function, vl-parse-0+-attribute-instances-aux. The aux function gathers up an vl-atts-p that has all the attributes in the order they were seen in. For instance, it would produce:
(* foo = 1 *) (* bar = 2, foo = 2 *) ---> (( "foo" . <1> ) ; Where <1> means, a proper vl-expr-p with ( "bar" . <2> ) ; the number 1. ( "foo" . <2> ))
This isn't quite right. We want any later attributes to shadow the previous attributes, and we want to warn about any attributes like "foo" that occur multiple times. So, in this wrapper, we check for duplicates and issue warnings, and we fix up the alists to get unique keys bound to the right values.