zig-yaml
zig-yaml copied to clipboard
parser: token `map_value_ind` handled incorrectly inside a scalar (str)
Here is a simple example:
test:
time: 04:30
$ zig build run -- test.yaml
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.literal, .start = 0, .end = 4 }
debug(tokenizer): | test
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.map_value_ind, .start = 4, .end = 5 }
debug(tokenizer): | :
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.new_line, .start = 5, .end = 6 }
debug(tokenizer): |
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.space, .start = 6, .end = 8 }
debug(tokenizer): |
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.literal, .start = 8, .end = 12 }
debug(tokenizer): | time
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.map_value_ind, .start = 12, .end = 13 }
debug(tokenizer): | :
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.space, .start = 13, .end = 14 }
debug(tokenizer): |
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.literal, .start = 14, .end = 16 }
debug(tokenizer): | 04
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.map_value_ind, .start = 16, .end = 17 }
debug(tokenizer): | :
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.literal, .start = 17, .end = 19 }
debug(tokenizer): | 30
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.new_line, .start = 19, .end = 20 }
debug(tokenizer): |
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.eof, .start = 20, .end = 20 }
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 'map_value_ind')
debug(parse): (found at 1)
debug(parse): (map) begin literal@0
debug(parse): eatCommentsAndSpace
debug(parse): (token 'literal')
debug(parse): (map) key test@0
debug(parse): expectToken('map_value_ind')
debug(parse): eatToken('map_value_ind')
debug(parse): eatCommentsAndSpace
debug(parse): (token 'map_value_ind')
debug(parse): (found at 1)
debug(parse): eatCommentsAndSpace
debug(parse): (token 'new_line')
debug(parse): (token 'space')
debug(parse): (token 'literal')
debug(parse): next literal@4
debug(parse): eatToken('map_value_ind')
debug(parse): eatCommentsAndSpace
debug(parse): (token 'map_value_ind')
debug(parse): (found at 5)
debug(parse): (map) begin literal@4
debug(parse): eatCommentsAndSpace
debug(parse): (token 'literal')
debug(parse): (map) key time@4
debug(parse): expectToken('map_value_ind')
debug(parse): eatToken('map_value_ind')
debug(parse): eatCommentsAndSpace
debug(parse): (token 'map_value_ind')
debug(parse): (found at 5)
debug(parse): eatCommentsAndSpace
debug(parse): (token 'space')
debug(parse): (token 'literal')
debug(parse): next literal@7
debug(parse): eatToken('map_value_ind')
debug(parse): eatCommentsAndSpace
debug(parse): (token 'map_value_ind')
debug(parse): (found at 8)
debug(parse): (map) begin literal@7
debug(parse): eatCommentsAndSpace
debug(parse): (token 'literal')
debug(parse): (map) key 04@7
debug(parse): expectToken('map_value_ind')
debug(parse): eatToken('map_value_ind')
debug(parse): eatCommentsAndSpace
debug(parse): (token 'map_value_ind')
debug(parse): (found at 8)
debug(parse): eatCommentsAndSpace
debug(parse): (token 'literal')
debug(parse): next literal@9
debug(parse): eatToken('map_value_ind')
debug(parse): eatCommentsAndSpace
debug(parse): (token 'new_line')
debug(parse): (not found)
debug(parse): (leaf) 30
debug(parse): eatCommentsAndSpace
debug(parse): (token 'new_line')
debug(parse): (token 'eof')
debug(parse): (map) end new_line@10
debug(parse): eatCommentsAndSpace
debug(parse): (token 'eof')
debug(parse): (map) end new_line@10
debug(parse): eatCommentsAndSpace
debug(parse): (token 'eof')
debug(parse): (map) end new_line@10
debug(parse): eatToken('doc_end')
debug(parse): eatCommentsAndSpace
debug(parse): (token 'eof')
debug(parse): (not found)
debug(parse): eatToken('doc_start')
debug(parse): eatCommentsAndSpace
debug(parse): (token 'eof')
debug(parse): (not found)
debug(parse): eatToken('eof')
debug(parse): eatCommentsAndSpace
debug(parse): (token 'eof')
debug(parse): (found at 11)
debug(parse): (doc) end new_line@10
debug(parse): eatCommentsAndSpace
---
test:
time:
04: 30
...