Fix handling of whitespace within keys and identifiers (#22) #75
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue #, if available:
#22
Description of changes:
The grammar for struct field names is currently pretty broken (it doesn't properly parse any style of Q-string that have escaped characters, spaces, or line delimiters), but one of the easiest fixes right now is to properly support spaces as key characters.
Before
would parse into the following tokens when parsing the
KEY
,KEY_NAME(abc)
KEY_NAME(def)
due to the regex for
KeyCharacter
not permitting spaces.After
It parses into a single
KEY_NAME(abc def)
token.The entire parsing of struct field names long-term needs some significant overhaul, but trying to keep the scope of this PR pretty small.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.