Parse a list of one or more initializers.
(parse-initializer-list parstate) → (mv erp desiniters final-comma span new-parstate)
This is a non-empty sequence of initializers, according to the grammar. We parse the first one, which must exist, and then we check if there is another one, in which case we recursively call this function and then we combine its results with the first initializer. Initializer lists in the grammar appear within curly braces, but a final comma is allowed. So, to check if there is one more element to parse, it is not enough to find a comma: we must check if there is a closed curly brace after the comma.
Note that each element of an initializer list is not just an initializer, but an initializer with an optional designation.
We also return a boolean result saying whether there is a final comma.
We parse that comma (if present) in this function.
So, technically, this function parses slightly more then
an