Open
Description
This example is from https://yaml.org/spec/1.2.2/#document-markers, example 9.2 "Document Markers":
%YAML 1.2
---
Document
... # Suffix
This is the output:
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.literal, .start = 0, .end = 5 }
debug(tokenizer): | %YAML
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.space, .start = 5, .end = 6 }
debug(tokenizer): |
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.literal, .start = 6, .end = 9 }
debug(tokenizer): | 1.2
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.new_line, .start = 9, .end = 10 }
debug(tokenizer): |
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.doc_start, .start = 10, .end = 13 }
debug(tokenizer): | ---
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.new_line, .start = 13, .end = 14 }
debug(tokenizer): |
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.literal, .start = 14, .end = 22 }
debug(tokenizer): | Document
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.new_line, .start = 22, .end = 23 }
debug(tokenizer): |
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.doc_end, .start = 23, .end = 26 }
debug(tokenizer): | ...
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.space, .start = 26, .end = 27 }
debug(tokenizer): |
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.comment, .start = 27, .end = 35 }
debug(tokenizer): | # Suffix
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.new_line, .start = 35, .end = 36 }
debug(tokenizer): |
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.eof, .start = 36, .end = 36 }
debug(tokenizer): |
debug(parse): eatCommentsAndSpace
debug(parse): (token 'literal')
debug(parse): eatCommentsAndSpace
debug(parse): (token 'literal')
debug(parse): (main) next literal@0
debug(parse): (doc) begin literal@0
debug(parse): eatToken('doc_start')
debug(parse): eatCommentsAndSpace
debug(parse): (token 'literal')
debug(parse): (not found)
debug(parse): eatCommentsAndSpace
debug(parse): (token 'literal')
debug(parse): next literal@0
debug(parse): eatToken('map_value_ind')
debug(parse): eatCommentsAndSpace
debug(parse): (token 'space')
debug(parse): (token 'literal')
debug(parse): (not found)
debug(parse): eatCommentsAndSpace
debug(parse): (token 'literal')
debug(parse): (leaf) %YAML 1.2
debug(parse): eatToken('doc_end')
debug(parse): eatCommentsAndSpace
debug(parse): (token 'new_line')
debug(parse): (token 'doc_start')
debug(parse): (not found)
debug(parse): eatToken('doc_start')
debug(parse): eatCommentsAndSpace
debug(parse): (token 'doc_start')
debug(parse): (found at 4)
error: UnexpectedToken
/home/manlio/src/contrib/zig/github.com/perillo/zig-yaml/src/parse.zig:412:36: 0x244b6e in doc (yaml)
if (!explicit_doc) return error.UnexpectedToken;
^
/home/manlio/src/contrib/zig/github.com/perillo/zig-yaml/src/parse.zig:325:33: 0x2429b3 in parse (yaml)
const doc = try parser.doc();
^
/home/manlio/src/contrib/zig/github.com/perillo/zig-yaml/src/yaml.zig:308:9: 0x245058 in load (yaml)
try tree.parse(source);
^
/home/manlio/src/contrib/zig/github.com/perillo/zig-yaml/examples/yaml.zig:95:18: 0x248505 in main (yaml)
var parsed = try yaml.Yaml.load(allocator, source);
Metadata
Metadata
Assignees
Labels
No labels