PureYAML/Sources/Parsing
Mihaela Mihaljevic 6eddb64dcd fix(parsing): reject a tab where a token must start, add port differential
The scanner now errors with "found character that cannot start any token"
when a tab leads a token in block context, matching libyaml's final guard
in fetch_next_token (a plain scalar may not begin with a blank). Adds a
differential harness (env-gated) that dumps the ported pipeline's yeast
events for the whole suite.

Verified against the libyaml reference dumper across all 308 vendored
valid cases: the port is byte-for-byte identical to libyaml on 307, and
the single difference (L24T/01) is the port matching the canonical
test.event where libyaml drops a trailing line break. 333 tests.
2026-06-24 17:12:36 +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.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.NodeProperties.swift feat(parsing): port libyaml parser state machine to Swift 2026-06-24 17:05:59 +02:00
LibYAML.Parser.Block.swift feat(parsing): port libyaml parser state machine to Swift 2026-06-24 17:05:59 +02:00
LibYAML.Parser.Directives.swift feat(parsing): port libyaml parser state machine to Swift 2026-06-24 17:05:59 +02:00
LibYAML.Parser.Document.swift feat(parsing): port libyaml parser state machine to Swift 2026-06-24 17:05:59 +02:00
LibYAML.Parser.Flow.swift feat(parsing): port libyaml parser state machine to Swift 2026-06-24 17:05:59 +02:00
LibYAML.Parser.Helpers.swift feat(parsing): port libyaml parser state machine to Swift 2026-06-24 17:05:59 +02:00
LibYAML.Parser.Node.swift feat(parsing): port libyaml parser state machine to Swift 2026-06-24 17:05:59 +02:00
LibYAML.Parser.swift feat(parsing): port libyaml parser state machine to Swift 2026-06-24 17:05:59 +02:00
LibYAML.ParserError.swift feat(parsing): port libyaml parser state machine to Swift 2026-06-24 17:05:59 +02:00
LibYAML.ParserState.swift feat(parsing): port libyaml parser state machine to Swift 2026-06-24 17:05:59 +02:00
LibYAML.Reader.swift feat(parsing): port libyaml input reader to Swift 2026-06-24 03:04:08 +02:00
LibYAML.Scanner.Anchor.swift feat(parsing): port libyaml anchor and alias scanner to Swift 2026-06-24 15:26:49 +02:00
LibYAML.Scanner.BlockScalar.swift feat(parsing): port libyaml block-scalar scanner to Swift 2026-06-24 16:40:18 +02:00
LibYAML.Scanner.Directive.swift feat(parsing): port libyaml directive scanner to Swift 2026-06-24 16:54:04 +02:00
LibYAML.Scanner.Fetch.swift fix(parsing): reject a tab where a token must start, add port differential 2026-06-24 17:12:36 +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.Scanner.Tag.swift feat(parsing): port libyaml tag scanner to Swift 2026-06-24 16:48:22 +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 directive scanner to Swift 2026-06-24 16:54:04 +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