Part of #620. Element paths are split on ., which breaks quoted identifiers (MLS 3.7 §2.3.1): 'a.b' and 'with-dash' are valid component names. modelica-json and the parser keep them as written, but 6 split(".") sites in the server parser (parser.ts, modification.ts, template.ts, schedule.ts) and the client interpreter cut them apart.
- Add a name scanner (
names.ts) that skips quoted text and escape sequences: split, join
- Use it everywhere an element path is split
- Reject quoted class identifiers with an explicit error: they can't be stored in the package directory layout (MLS §13.4.1)
- Support quoted enumeration literals
Acceptance: unit tests for the scanner; a test package with quoted component names and enumeration literals parses and resolves; golden tests unchanged.
Specification
docs/selection-keys.md, sections "Grammar", "Parsing" and "Values".
Part of #620. Element paths are split on
., which breaks quoted identifiers (MLS 3.7 §2.3.1):'a.b'and'with-dash'are valid component names. modelica-json and the parser keep them as written, but 6split(".")sites in the server parser (parser.ts,modification.ts,template.ts,schedule.ts) and the client interpreter cut them apart.names.ts) that skips quoted text and escape sequences: split, joinAcceptance: unit tests for the scanner; a test package with quoted component names and enumeration literals parses and resolves; golden tests unchanged.
Specification
docs/selection-keys.md, sections "Grammar", "Parsing" and "Values".