processOtherExtensions method
Consumes tags matched by other_extensions
in the specification, except
that the singleton in question must already be accepted and passed as
parameter.
If parsing fails, atEnd()
will be false and/or problems will not be
empty.
Implementation
void processOtherExtensions(String singleton) {
final values = <String>[];
while (acceptLowAlphaNumeric2to8()) {
values.add(_accepted);
}
if (values.isEmpty) return;
if (_otherExtensions == null) {
_otherExtensions = <String, String>{};
} else if (_otherExtensions!.containsKey(singleton)) {
problems.add('duplicate "$singleton"');
return;
}
_otherExtensions![singleton] = values.join('-');
}