--- &test-J3BT
Title: Spec Example 5.12. Tabs and Spaces
Tags: [ spec, upto-1.2, whitespace ]
# Tabs and spaces
quoted: "Quoted "
block: |
void main() {
printf("Hello, world!\n");
}
+STR
+DOC
+MAP
=VAL :quoted
=VAL "Quoted \t
=VAL :block
=VAL |void main() {\n\tprintf("Hello, world!\\n");\n}\n
-MAP
-DOC
-STR
{
"block": "void main() {\n\tprintf(\"Hello, world!\\n\");\n}\n",
"quoted": "Quoted \t"
}
json_diff
parse error: Invalid string: control characters from U+0000 through U+001F must be escaped at line 1, column 21
error
Syck parser (line 7, column -1): syntax error at /perl5/lib/perl5/x86_64-linux-thread-multi/YAML/Syck.pm line 60, <> line 1.
error
Syck parser (line 7, column -1): syntax error at /perl5/lib/perl5/x86_64-linux-thread-multi/YAML/Syck.pm line 60, <> line 1.
error
YAML Error: Invalid element in map
Code: YAML_LOAD_ERR_BAD_MAP_ELEMENT
Line: 3
Document: 1
at /perl5/lib/perl5/YAML/Loader.pm line 360.
error
YAML Error: Invalid element in map
Code: YAML_LOAD_ERR_BAD_MAP_ELEMENT
Line: 3
Document: 1
at /perl5/lib/perl5/YAML/Loader.pm line 360.
error
+STR
+DOC
+MAP
=VAL :quoted
=VAL "Quoted \t
=VAL :block
Traceback (most recent call last):
File "/yaml/bin/py-pyyaml-event", line 7, in <module>
for event in yaml.parse(sys.stdin.read()):
File "/python/lib/python3.12/site-packages/yaml/__init__.py", line 75, in parse
while loader.check_event():
^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/parser.py", line 98, in check_event
self.current_event = self.state()
^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/parser.py", line 449, in parse_block_mapping_value
if not self.check_token(KeyToken, ValueToken, BlockEndToken):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/scanner.py", line 116, in check_token
self.fetch_more_tokens()
File "/python/lib/python3.12/site-packages/yaml/scanner.py", line 258, in fetch_more_tokens
raise ScannerError("while scanning for the next token", None,
yaml.scanner.ScannerError: while scanning for the next token
found character '\t' that cannot start any token
in "<unicode string>", line 3, column 7:
block: |
^
error
Traceback (most recent call last):
File "/yaml/bin/py-pyyaml-json", line 19, in <module>
for doc in yaml.load_all(sys.stdin.read(), Loader=yaml.FullLoader):
File "/python/lib/python3.12/site-packages/yaml/__init__.py", line 130, in load_all
yield loader.get_data()
^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/constructor.py", line 45, in get_data
return self.construct_document(self.get_node())
^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/composer.py", line 27, in get_node
return self.compose_document()
^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/composer.py", line 55, in compose_document
node = self.compose_node(None, None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/composer.py", line 64, in compose_node
if self.check_event(AliasEvent):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/parser.py", line 98, in check_event
self.current_event = self.state()
^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/parser.py", line 449, in parse_block_mapping_value
if not self.check_token(KeyToken, ValueToken, BlockEndToken):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/scanner.py", line 116, in check_token
self.fetch_more_tokens()
File "/python/lib/python3.12/site-packages/yaml/scanner.py", line 258, in fetch_more_tokens
raise ScannerError("while scanning for the next token", None,
yaml.scanner.ScannerError: while scanning for the next token
found character '\t' that cannot start any token
in "<unicode string>", line 3, column 7:
block: |
^
error
Traceback (most recent call last):
File "/yaml/bin/py-pyyaml-py", line 36, in <module>
for doc in yaml.load_all(sys.stdin.read(), Loader=yaml.FullLoader):
File "/python/lib/python3.12/site-packages/yaml/__init__.py", line 130, in load_all
yield loader.get_data()
^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/constructor.py", line 45, in get_data
return self.construct_document(self.get_node())
^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/composer.py", line 27, in get_node
return self.compose_document()
^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/composer.py", line 55, in compose_document
node = self.compose_node(None, None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/composer.py", line 84, in compose_node
node = self.compose_mapping_node(anchor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/composer.py", line 133, in compose_mapping_node
item_value = self.compose_node(node, item_key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/composer.py", line 64, in compose_node
if self.check_event(AliasEvent):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/parser.py", line 98, in check_event
self.current_event = self.state()
^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/parser.py", line 449, in parse_block_mapping_value
if not self.check_token(KeyToken, ValueToken, BlockEndToken):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/yaml/scanner.py", line 116, in check_token
self.fetch_more_tokens()
File "/python/lib/python3.12/site-packages/yaml/scanner.py", line 258, in fetch_more_tokens
raise ScannerError("while scanning for the next token", None,
yaml.scanner.ScannerError: while scanning for the next token
found character '\t' that cannot start any token
in "<unicode string>", line 3, column 7:
block: |
^
error
+STR
+DOC
+MAP
=VAL :quoted
=VAL "Quoted \t
=VAL :block
Traceback (most recent call last):
File "/yaml/bin/py-ruamel-event", line 9, in <module>
for event in yaml.parse(sys.stdin.read()):
File "/python/lib/python3.12/site-packages/ruamel/yaml/main.py", line 371, in parse
while parser.check_event():
^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/parser.py", line 141, in check_event
self.current_event = self.state()
^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/parser.py", line 631, in parse_block_mapping_value
if self.scanner.check_token(ValueToken):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/scanner.py", line 170, in check_token
self.fetch_more_tokens()
File "/python/lib/python3.12/site-packages/ruamel/yaml/scanner.py", line 313, in fetch_more_tokens
raise ScannerError(
ruamel.yaml.scanner.ScannerError: while scanning for the next token
found character '\t' that cannot start any token
in "<unicode string>", line 3, column 7:
block: |
^ (line: 3)
error
Traceback (most recent call last):
File "/yaml/bin/py-ruamel-json", line 21, in <module>
for doc in yaml.load_all(sys.stdin.read()):
File "/python/lib/python3.12/site-packages/ruamel/yaml/main.py", line 476, in load_all
yield constructor.get_data()
^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 110, in get_data
return self.construct_document(self.composer.get_node())
^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/composer.py", line 63, in get_node
return self.compose_document()
^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/composer.py", line 94, in compose_document
node = self.compose_node(None, None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/composer.py", line 130, in compose_node
node = self.compose_mapping_node(anchor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/composer.py", line 211, in compose_mapping_node
item_value = self.compose_node(node, item_key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/composer.py", line 106, in compose_node
if self.parser.check_event(AliasEvent):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/parser.py", line 141, in check_event
self.current_event = self.state()
^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/parser.py", line 631, in parse_block_mapping_value
if self.scanner.check_token(ValueToken):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/scanner.py", line 170, in check_token
self.fetch_more_tokens()
File "/python/lib/python3.12/site-packages/ruamel/yaml/scanner.py", line 313, in fetch_more_tokens
raise ScannerError(
ruamel.yaml.scanner.ScannerError: while scanning for the next token
found character '\t' that cannot start any token
in "<unicode string>", line 3, column 7:
block: |
^ (line: 3)
error
Traceback (most recent call last):
File "/yaml/bin/py-ruamel-py", line 38, in <module>
for doc in yaml.load_all(sys.stdin.read()):
File "/python/lib/python3.12/site-packages/ruamel/yaml/main.py", line 476, in load_all
yield constructor.get_data()
^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/constructor.py", line 110, in get_data
return self.construct_document(self.composer.get_node())
^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/composer.py", line 63, in get_node
return self.compose_document()
^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/composer.py", line 94, in compose_document
node = self.compose_node(None, None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/composer.py", line 130, in compose_node
node = self.compose_mapping_node(anchor)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/composer.py", line 211, in compose_mapping_node
item_value = self.compose_node(node, item_key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/composer.py", line 106, in compose_node
if self.parser.check_event(AliasEvent):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/parser.py", line 141, in check_event
self.current_event = self.state()
^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/parser.py", line 631, in parse_block_mapping_value
if self.scanner.check_token(ValueToken):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/lib/python3.12/site-packages/ruamel/yaml/scanner.py", line 170, in check_token
self.fetch_more_tokens()
File "/python/lib/python3.12/site-packages/ruamel/yaml/scanner.py", line 313, in fetch_more_tokens
raise ScannerError(
ruamel.yaml.scanner.ScannerError: while scanning for the next token
found character '\t' that cannot start any token
in "<unicode string>", line 3, column 7:
block: |
^ (line: 3)
na
Line Col Char Byte Token|Content
1 0 0 0 +COMM|
1 0 0 0 =SYNX|#
1 1 1 1 =META|.Tabs.and.spaces
1 17 17 17 -COMM|
1 17 17 17 =EOL |\x0a
2 0 18 18 +DOC |
2 0 18 18 +NODE|
2 0 18 18 +MAP |
2 0 18 18 +PAIR|
2 0 18 18 +NODE|
2 0 18 18 +VAL |
2 0 18 18 =TEXT|quoted
2 6 24 24 -VAL |
2 6 24 24 -NODE|
2 6 24 24 =SYNX|:
2 7 25 25 =WSPC|.
2 8 26 26 +NODE|
2 8 26 26 +VAL |
2 8 26 26 =SYNX|"
2 9 27 27 =TEXT|Quoted.\x09
2 17 35 35 =SYNX|"
2 18 36 36 -VAL |
2 18 36 36 -NODE|
2 18 36 36 =EOL |\x0a
3 0 37 37 -PAIR|
3 0 37 37 +PAIR|
3 0 37 37 +NODE|
3 0 37 37 +VAL |
3 0 37 37 =TEXT|block
3 5 42 42 -VAL |
3 5 42 42 -NODE|
3 5 42 42 =SYNX|:
3 6 43 43 +NODE|
3 6 43 43 =WSPC|\x09
3 7 44 44 +VAL |
3 7 44 44 =SYNX||
3 8 45 45 =EOL |\x0a
4 0 46 46 =DENT|..
4 2 48 48 =TEXT|void.main().{
4 15 61 61 =NEWL|\x0a
5 0 62 62 =DENT|..
5 2 64 64 =TEXT|\x09printf("Hello,.world!\x5cn");
5 29 91 91 =NEWL|\x0a
6 0 92 92 =DENT|..
6 2 94 94 =TEXT|}
6 3 95 95 =NEWL|\x0a
7 0 96 96 -VAL |
7 0 96 96 -NODE|
7 0 96 96 -PAIR|
7 0 96 96 -MAP |
7 0 96 96 -NODE|
7 0 96 96 -DOC |
na
{
'block' => 'void main() {
printf("Hello, world!\\n");
}
',
'quoted' => 'Quoted '
}
na
{
'block' => 'void main() {
printf("Hello, world!\\n");
}
',
'quoted' => 'Quoted '
}
na
{
'block' => 'void main() {
printf("Hello, world!\\n");
}
',
'quoted' => 'Quoted '
}
na
{
'block' => 'void main() {
printf("Hello, world!\\n");
}
',
'quoted' => 'Quoted '
}