Sequence varIdentifier = new Sequence("('','',)",startIdentifierChar,
new Sequence("('')", REPEAT | OPTIONAL, identifierChar),
spacing)
we end up generating a ParentParseNode which stores each character as a separate StringToken. We should avoid the parse-nodes altogether for string value elements (where the string value exactly matches the semantic node's value at least).
For this definition:
Sequence varIdentifier = new Sequence("('','',)",startIdentifierChar, new Sequence("('')", REPEAT | OPTIONAL, identifierChar), spacing)
we end up generating a ParentParseNode which stores each character as a separate StringToken. We should avoid the parse-nodes altogether for string value elements (where the string value exactly matches the semantic node's value at least).