PureYAML/Sources/Parsing
Mihaela Mihaljevic 4e7ca8fcb2 feat(parsing): port libyaml quoted-scalar scanner to Swift
Stage 3 of the faithful libyaml scanner port, continued. Translates fetch_flow_scalar and scan_flow_scalar: single- and double-quoted scalars with line-break folding (a single break folds to a space, blank lines to newlines), the single-quote '' escape, double-quoted backslash escapes (the full \0 \a \b \t \n \v \f \r \e space \" / \ \N \_ \L \P table plus \xXX/\uXXXX/\UXXXXXXXX hex), and the escaped end-of-line continuation that suppresses the break. Escapes are decoded to Unicode scalars directly rather than UTF-8 bytes. Unit-tested for the escaped single quote, the escape table including a hex unicode escape, and multi-line folding. The remaining unported fetchers are block scalars, anchors, tags, and directives. 310 tests, no regression.
2026-06-24 15:22:41 +02:00
..
BlockScalarChomping.swift fix(parsing): correct block scalar folding and chomping 2026-06-23 20:01:03 +02:00
BlockScalarStyle.swift feat(parsing): add reader scanner core 2026-06-05 07:40:23 +02:00
CollectionStyle.swift feat(parsing): add parse event model 2026-06-05 07:16:23 +02:00
Event.swift feat(parsing): add authoritative canonical-event conformance gate 2026-06-24 01:24:24 +02:00
EventComposer.Merge.swift feat(model): support complex mapping keys 2026-06-05 16:08:45 +02:00
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.CharacterClass.swift feat(parsing): port libyaml character-class predicates to Swift 2026-06-24 03:00:28 +02:00
LibYAML.IndentEngine.swift feat(parsing): port libyaml token-fetch loop (block + plain core) 2026-06-24 10:37:35 +02:00
LibYAML.Reader.swift feat(parsing): port libyaml input reader to Swift 2026-06-24 03:04:08 +02:00
LibYAML.Scanner.Fetch.swift feat(parsing): port libyaml quoted-scalar scanner to Swift 2026-06-24 15:22:41 +02:00
LibYAML.Scanner.FlowScalar.swift feat(parsing): port libyaml quoted-scalar scanner to Swift 2026-06-24 15:22:41 +02:00
LibYAML.Scanner.PlainScalar.swift feat(parsing): port libyaml token-fetch loop (block + plain core) 2026-06-24 10:37:35 +02:00
LibYAML.Scanner.swift feat(parsing): port libyaml token-fetch loop (block + plain core) 2026-06-24 10:37:35 +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): port libyaml flow-collection fetchers to Swift 2026-06-24 15:16:45 +02:00
Mark.swift feat(parsing): add parse event model 2026-06-05 07:16:23 +02:00
NodeKind.swift feat(parsing): parse token stream into events 2026-06-05 09:56:18 +02:00
NodeProperties.swift feat(model): support complex mapping keys 2026-06-05 16:08:45 +02:00
NodeResult.swift feat(parsing): parse token stream into events 2026-06-05 09:56:18 +02:00
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 feat(tagged): add tag-preserving validation 2026-06-05 15:35:52 +02:00
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 feat(parsing): compose events into values 2026-06-05 10:07:28 +02:00
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 feat(tagged): add tag-preserving validation 2026-06-05 15:35:52 +02:00
Text.swift feat(parsing): compose events into values 2026-06-05 10:07:28 +02:00
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