Open e-ivkov opened 6 days ago
The following example from YAML 1.2.x docs does not parse:
# ASCII Art --- | \//||\/|| // || ||__
Debug info
debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.comment, .start = 0, .end = 11 } debug(tokenizer): | # ASCII Art debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.new_line, .start = 11, .end = 12 } debug(tokenizer): | debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.doc_start, .start = 12, .end = 15 } debug(tokenizer): | --- debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.space, .start = 15, .end = 16 } debug(tokenizer): | debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.literal, .start = 16, .end = 17 } debug(tokenizer): | | debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.new_line, .start = 17, .end = 18 } debug(tokenizer): | debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.space, .start = 18, .end = 20 } debug(tokenizer): | debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.literal, .start = 20, .end = 29 } debug(tokenizer): | \//||\/|| debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.new_line, .start = 29, .end = 30 } debug(tokenizer): | debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.space, .start = 30, .end = 32 } debug(tokenizer): | debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.literal, .start = 32, .end = 34 } debug(tokenizer): | // debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.space, .start = 34, .end = 35 } debug(tokenizer): | debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.literal, .start = 35, .end = 37 } debug(tokenizer): | || debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.space, .start = 37, .end = 39 } debug(tokenizer): | debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.literal, .start = 39, .end = 43 } debug(tokenizer): | ||__ debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.new_line, .start = 43, .end = 44 } debug(tokenizer): | debug(tokenizer): Tokenizer.Token{ .id = Tokenizer.Token.Id.eof, .start = 44, .end = 44 } debug(tokenizer): | debug(parse): eatCommentsAndSpace debug(parse): (token 'comment') debug(parse): (token 'new_line') debug(parse): (token 'doc_start') debug(parse): eatCommentsAndSpace debug(parse): (token 'doc_start') debug(parse): (main) next doc_start@2 debug(parse): (doc) begin doc_start@2 debug(parse): eatToken('doc_start') debug(parse): eatCommentsAndSpace debug(parse): (token 'doc_start') debug(parse): (found at 2) debug(parse): eatToken('tag') debug(parse): eatCommentsAndSpace debug(parse): (token 'space') debug(parse): (token 'literal') debug(parse): (not found) debug(parse): eatCommentsAndSpace debug(parse): (token 'literal') debug(parse): next literal@4 debug(parse): eatToken('map_value_ind') debug(parse): eatCommentsAndSpace debug(parse): (token 'new_line') debug(parse): (not found) debug(parse): (leaf) | debug(parse): eatToken('doc_end') debug(parse): eatCommentsAndSpace debug(parse): (token 'new_line') debug(parse): (token 'space') debug(parse): (token 'literal') debug(parse): (not found) debug(parse): eatToken('doc_start') debug(parse): eatCommentsAndSpace debug(parse): (token 'literal') debug(parse): (not found) debug(parse): eatToken('eof') debug(parse): eatCommentsAndSpace debug(parse): (token 'literal') debug(parse): (not found) error: UnexpectedToken
I can help fixing this, though any pointers to the exact places that need fixing are appreciated.
The following example from YAML 1.2.x docs does not parse:
Debug info