PureYAML/Sources/Parsing
Mihaela Mihaljevic 9ce57e86e5 feat(parsing): port libyaml simple-key mechanism to Swift
Stage 2 of the faithful libyaml scanner port. Translates yaml_parser_save_simple_key, yaml_parser_remove_simple_key, yaml_parser_stale_simple_keys, and the flow-level push/pop (yaml_parser_increase_flow_level / decrease) onto a new PureYAML.Parsing.LibYAML.Scanner aggregate that embeds the indent engine. The simple-key mechanism is what lets a quoted scalar, a nested collection, or a property-carrying node become a mapping key when a ':' follows, and is required exactly at the block indent. Modelled faithfully: a potential key goes stale once it spans a line break or exceeds 1024 characters, and a required key that is removed or goes stale is the 'could not find expected colon' error. Unit-tested for the required/not-required, removal-error, staleness, and flow-level cases. No public behavior changed yet.
2026-06-24 02:55:07 +02:00
..
BlockScalarChomping.swift fix(parsing): correct block scalar folding and chomping 2026-06-23 20:01:03 +02:00
BlockScalarStyle.swift
CollectionStyle.swift
Event.swift feat(parsing): add authoritative canonical-event conformance gate 2026-06-24 01:24:24 +02:00
EventComposer.Merge.swift
EventComposer.swift fix(parsing): emit no document for comment-only or empty streams 2026-06-24 02:27:38 +02:00
EventStreamComposer.swift fix(parsing): emit no document for comment-only or empty streams 2026-06-24 02:27:38 +02:00
LibYAML.IndentEngine.swift feat(parsing): begin faithful libyaml scanner port (indent engine) 2026-06-24 02:46:29 +02:00
LibYAML.Scanner.swift feat(parsing): port libyaml simple-key mechanism to Swift 2026-06-24 02:55:07 +02:00
LibYAML.ScannerError.swift feat(parsing): port libyaml simple-key mechanism to Swift 2026-06-24 02:55:07 +02:00
LibYAML.SimpleKey.swift feat(parsing): port libyaml simple-key mechanism to Swift 2026-06-24 02:55:07 +02:00
LibYAML.swift feat(parsing): begin faithful libyaml scanner port (indent engine) 2026-06-24 02:46:29 +02:00
LibYAML.Token.swift feat(parsing): begin faithful libyaml scanner port (indent engine) 2026-06-24 02:46:29 +02:00
LibYAML.TokenType.swift feat(parsing): begin faithful libyaml scanner port (indent engine) 2026-06-24 02:46:29 +02:00
Mark.swift
NodeKind.swift
NodeProperties.swift
NodeResult.swift
ParseError.swift feat(parsing): handle directives and document-end boundaries 2026-06-23 21:31:58 +02:00
Parser.Events.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
Parser.ScalarComposition.swift
Parser.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
Reader.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
Scalar.swift fix(parsing): apply flow folding to quoted scalars 2026-06-23 20:17:56 +02:00
ScalarStyle.swift
Scanner.BlockScalar.swift test(conformance): track all 402 suite cases; fix 3 regressions 2026-06-24 00:16:28 +02:00
Scanner.Directives.swift fix(parsing): parse multi-line and block scalars at the document root 2026-06-23 22:56:33 +02:00
Scanner.FlowContext.swift fix(parsing): complete flow-collection key and empty-node handling 2026-06-23 23:18:59 +02:00
Scanner.FlowSimpleKey.swift fix(parsing): complete flow-collection key and empty-node handling 2026-06-23 23:18:59 +02:00
Scanner.Helpers.swift fix(parsing): strip trailing fold from flow plain scalars 2026-06-24 02:01:08 +02:00
Scanner.Indentation.swift test(conformance): track all 402 suite cases; fix 3 regressions 2026-06-24 00:16:28 +02:00
Scanner.PropertyTokens.swift fix(parsing): complete flow-collection key and empty-node handling 2026-06-23 23:18:59 +02:00
Scanner.Step.swift test(conformance): track all 402 suite cases; fix 3 regressions 2026-06-24 00:16:28 +02:00
Scanner.swift test(conformance): track all 402 suite cases; fix 3 regressions 2026-06-24 00:16:28 +02:00
Scanner.Tabs.swift fix(parsing): reject invalid input that was wrongly accepted 2026-06-23 22:13:35 +02:00
TagNormalizer.swift
Text.swift
Token.swift fix(parsing): correct block scalar folding and chomping 2026-06-23 20:01:03 +02:00
TokenCursor.swift test(conformance): track all 402 suite cases; fix 3 regressions 2026-06-24 00:16:28 +02:00
TokenEventParser.Block.swift fix(parsing): accept anchors, tags, and aliases as mapping keys 2026-06-23 21:07:47 +02:00
TokenEventParser.EmptyNode.swift fix(parsing): accept anchors, tags, and aliases as mapping keys 2026-06-23 21:07:47 +02:00
TokenEventParser.Flow.swift test(conformance): track all 402 suite cases; fix 3 regressions 2026-06-24 00:16:28 +02:00
TokenEventParser.Helpers.swift fix(parsing): accept anchors, tags, and aliases as mapping keys 2026-06-23 21:07:47 +02:00
TokenEventParser.swift fix(parsing): emit no document for comment-only or empty streams 2026-06-24 02:27:38 +02:00