diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ef579f..211e461 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,9 +10,6 @@ * Single line comments (`//`) can now be immediately followed by a newline. * All literal whitespace following a `\` in a string is now discarded. * Vertical tabs (`U+000B`) are now considered to be whitespace. -* Identifiers can't start with `r#`, so they're easy to distinguish from raw - strings. (They already similarly can't start with a digit, or a sign+digit, - so they're easy to distinguish from numbers.) * The grammar syntax itself has been described, and some confusing definitions in the grammar have been fixed accordingly (mostly related to escaped characters). diff --git a/tests/test_cases/expected_kdl/all_escapes.kdl b/tests/test_cases/expected_kdl/all_escapes.kdl index 024cda2..5c49748 100644 --- a/tests/test_cases/expected_kdl/all_escapes.kdl +++ b/tests/test_cases/expected_kdl/all_escapes.kdl @@ -1 +1 @@ -node "\"\\\b\f\n\r\t" +node "\"\\\b\f\n\r\t\s" diff --git a/tests/test_cases/expected_kdl/all_node_fields.kdl b/tests/test_cases/expected_kdl/all_node_fields.kdl index fc8a9e4..9f4ceb5 100644 --- a/tests/test_cases/expected_kdl/all_node_fields.kdl +++ b/tests/test_cases/expected_kdl/all_node_fields.kdl @@ -1,3 +1,3 @@ -node "arg" prop="val" { +node arg prop=val { inner_node } diff --git a/tests/test_cases/expected_kdl/arg_and_prop_same_name.kdl b/tests/test_cases/expected_kdl/arg_and_prop_same_name.kdl index 27d9739..ee5ace5 100644 --- a/tests/test_cases/expected_kdl/arg_and_prop_same_name.kdl +++ b/tests/test_cases/expected_kdl/arg_and_prop_same_name.kdl @@ -1 +1 @@ -node "arg" arg="val" +node arg arg=val diff --git a/tests/test_cases/input/bare_arg.kdl b/tests/test_cases/expected_kdl/arg_bare.kdl similarity index 100% rename from tests/test_cases/input/bare_arg.kdl rename to tests/test_cases/expected_kdl/arg_bare.kdl diff --git a/tests/test_cases/expected_kdl/arg_false_type.kdl b/tests/test_cases/expected_kdl/arg_false_type.kdl index 895945d..92003d9 100644 --- a/tests/test_cases/expected_kdl/arg_false_type.kdl +++ b/tests/test_cases/expected_kdl/arg_false_type.kdl @@ -1 +1 @@ -node (type)false +node (type)#false diff --git a/tests/test_cases/expected_kdl/arg_null_type.kdl b/tests/test_cases/expected_kdl/arg_null_type.kdl index 476c5cd..cd66101 100644 --- a/tests/test_cases/expected_kdl/arg_null_type.kdl +++ b/tests/test_cases/expected_kdl/arg_null_type.kdl @@ -1 +1 @@ -node (type)null +node (type)#null diff --git a/tests/test_cases/expected_kdl/arg_raw_string_type.kdl b/tests/test_cases/expected_kdl/arg_raw_string_type.kdl index 2808d53..a4859b6 100644 --- a/tests/test_cases/expected_kdl/arg_raw_string_type.kdl +++ b/tests/test_cases/expected_kdl/arg_raw_string_type.kdl @@ -1 +1 @@ -node (type)"str" +node (type)str diff --git a/tests/test_cases/expected_kdl/arg_string_type.kdl b/tests/test_cases/expected_kdl/arg_string_type.kdl index 2808d53..a4859b6 100644 --- a/tests/test_cases/expected_kdl/arg_string_type.kdl +++ b/tests/test_cases/expected_kdl/arg_string_type.kdl @@ -1 +1 @@ -node (type)"str" +node (type)str diff --git a/tests/test_cases/expected_kdl/arg_true_type.kdl b/tests/test_cases/expected_kdl/arg_true_type.kdl index 6d1f9bc..20243a3 100644 --- a/tests/test_cases/expected_kdl/arg_true_type.kdl +++ b/tests/test_cases/expected_kdl/arg_true_type.kdl @@ -1 +1 @@ -node (type)true +node (type)#true diff --git a/tests/test_cases/expected_kdl/arg_type.kdl b/tests/test_cases/expected_kdl/arg_type.kdl index a0b84cf..79a093d 100644 --- a/tests/test_cases/expected_kdl/arg_type.kdl +++ b/tests/test_cases/expected_kdl/arg_type.kdl @@ -1 +1 @@ -node (type)"arg" +node (type)arg diff --git a/tests/test_cases/expected_kdl/bare_emoji.kdl b/tests/test_cases/expected_kdl/bare_emoji.kdl index 60707c8..c67d0b9 100644 --- a/tests/test_cases/expected_kdl/bare_emoji.kdl +++ b/tests/test_cases/expected_kdl/bare_emoji.kdl @@ -1 +1 @@ -😁 "happy!" +😁 happy! diff --git a/tests/test_cases/expected_kdl/blank_prop_type.kdl b/tests/test_cases/expected_kdl/blank_prop_type.kdl index c7b0e31..e00c6d2 100644 --- a/tests/test_cases/expected_kdl/blank_prop_type.kdl +++ b/tests/test_cases/expected_kdl/blank_prop_type.kdl @@ -1 +1 @@ -node key=("")true +node key=("")#true diff --git a/tests/test_cases/expected_kdl/block_comment.kdl b/tests/test_cases/expected_kdl/block_comment.kdl index b3a0426..1b3db2c 100644 --- a/tests/test_cases/expected_kdl/block_comment.kdl +++ b/tests/test_cases/expected_kdl/block_comment.kdl @@ -1 +1 @@ -node "arg" +node arg diff --git a/tests/test_cases/expected_kdl/block_comment_after_node.kdl b/tests/test_cases/expected_kdl/block_comment_after_node.kdl index b3a0426..1b3db2c 100644 --- a/tests/test_cases/expected_kdl/block_comment_after_node.kdl +++ b/tests/test_cases/expected_kdl/block_comment_after_node.kdl @@ -1 +1 @@ -node "arg" +node arg diff --git a/tests/test_cases/expected_kdl/bom_initial.kdl b/tests/test_cases/expected_kdl/bom_initial.kdl new file mode 100644 index 0000000..1b3db2c --- /dev/null +++ b/tests/test_cases/expected_kdl/bom_initial.kdl @@ -0,0 +1 @@ +node arg diff --git a/tests/test_cases/expected_kdl/boolean_arg.kdl b/tests/test_cases/expected_kdl/boolean_arg.kdl index 9c7928e..e0cdf1a 100644 --- a/tests/test_cases/expected_kdl/boolean_arg.kdl +++ b/tests/test_cases/expected_kdl/boolean_arg.kdl @@ -1 +1 @@ -node false true +node #false #true diff --git a/tests/test_cases/expected_kdl/boolean_prop.kdl b/tests/test_cases/expected_kdl/boolean_prop.kdl index 712b60b..f89da9b 100644 --- a/tests/test_cases/expected_kdl/boolean_prop.kdl +++ b/tests/test_cases/expected_kdl/boolean_prop.kdl @@ -1 +1 @@ -node prop1=true prop2=false +node prop1=#true prop2=#false diff --git a/tests/test_cases/expected_kdl/chevrons_in_bare_id.kdl b/tests/test_cases/expected_kdl/chevrons_in_bare_id.kdl new file mode 100644 index 0000000..58b2436 --- /dev/null +++ b/tests/test_cases/expected_kdl/chevrons_in_bare_id.kdl @@ -0,0 +1 @@ +foo123foo weeee diff --git a/tests/test_cases/expected_kdl/comma_in_bare_id.kdl b/tests/test_cases/expected_kdl/comma_in_bare_id.kdl new file mode 100644 index 0000000..86c78fd --- /dev/null +++ b/tests/test_cases/expected_kdl/comma_in_bare_id.kdl @@ -0,0 +1 @@ +foo123,bar weeee diff --git a/tests/test_cases/expected_kdl/comment_and_newline.kdl b/tests/test_cases/expected_kdl/comment_and_newline.kdl new file mode 100644 index 0000000..1c5b5f3 --- /dev/null +++ b/tests/test_cases/expected_kdl/comment_and_newline.kdl @@ -0,0 +1,2 @@ +node1 +node2 diff --git a/tests/test_cases/expected_kdl/commented_arg.kdl b/tests/test_cases/expected_kdl/commented_arg.kdl index 226fd56..2e98005 100644 --- a/tests/test_cases/expected_kdl/commented_arg.kdl +++ b/tests/test_cases/expected_kdl/commented_arg.kdl @@ -1 +1 @@ -node "arg2" +node arg2 diff --git a/tests/test_cases/expected_kdl/commented_child.kdl b/tests/test_cases/expected_kdl/commented_child.kdl index b3a0426..1b3db2c 100644 --- a/tests/test_cases/expected_kdl/commented_child.kdl +++ b/tests/test_cases/expected_kdl/commented_child.kdl @@ -1 +1 @@ -node "arg" +node arg diff --git a/tests/test_cases/expected_kdl/commented_prop.kdl b/tests/test_cases/expected_kdl/commented_prop.kdl index b3a0426..1b3db2c 100644 --- a/tests/test_cases/expected_kdl/commented_prop.kdl +++ b/tests/test_cases/expected_kdl/commented_prop.kdl @@ -1 +1 @@ -node "arg" +node arg diff --git a/tests/test_cases/expected_kdl/dash_dash.kdl b/tests/test_cases/expected_kdl/dash_dash.kdl new file mode 100644 index 0000000..759ddc5 --- /dev/null +++ b/tests/test_cases/expected_kdl/dash_dash.kdl @@ -0,0 +1 @@ +node -- \ No newline at end of file diff --git a/tests/test_cases/expected_kdl/emoji.kdl b/tests/test_cases/expected_kdl/emoji.kdl index 3ed56e2..88df78a 100644 --- a/tests/test_cases/expected_kdl/emoji.kdl +++ b/tests/test_cases/expected_kdl/emoji.kdl @@ -1 +1 @@ -node "😀" +node 😀 diff --git a/tests/test_cases/expected_kdl/empty_quoted_node_id.kdl b/tests/test_cases/expected_kdl/empty_quoted_node_id.kdl index ebfa893..94694bc 100644 --- a/tests/test_cases/expected_kdl/empty_quoted_node_id.kdl +++ b/tests/test_cases/expected_kdl/empty_quoted_node_id.kdl @@ -1 +1 @@ -"" "arg" +"" arg diff --git a/tests/test_cases/expected_kdl/escline_line_comment.kdl b/tests/test_cases/expected_kdl/escline_line_comment.kdl index 8a5dc33..4d38bee 100644 --- a/tests/test_cases/expected_kdl/escline_line_comment.kdl +++ b/tests/test_cases/expected_kdl/escline_line_comment.kdl @@ -1 +1 @@ -node "arg" "arg2\n" +node arg arg2 diff --git a/tests/test_cases/expected_kdl/multiline_comment.kdl b/tests/test_cases/expected_kdl/multiline_comment.kdl index b3a0426..1b3db2c 100644 --- a/tests/test_cases/expected_kdl/multiline_comment.kdl +++ b/tests/test_cases/expected_kdl/multiline_comment.kdl @@ -1 +1 @@ -node "arg" +node arg diff --git a/tests/test_cases/expected_kdl/multiline_nodes.kdl b/tests/test_cases/expected_kdl/multiline_nodes.kdl index bec6d05..7c27fb0 100644 --- a/tests/test_cases/expected_kdl/multiline_nodes.kdl +++ b/tests/test_cases/expected_kdl/multiline_nodes.kdl @@ -1 +1 @@ -node "arg1" "arg2" +node arg1 arg2 diff --git a/tests/test_cases/expected_kdl/multiline_raw_string.kdl b/tests/test_cases/expected_kdl/multiline_raw_string.kdl new file mode 100644 index 0000000..2bafe90 --- /dev/null +++ b/tests/test_cases/expected_kdl/multiline_raw_string.kdl @@ -0,0 +1 @@ +node "\nhey\neveryone\nhow goes?\n" diff --git a/tests/test_cases/expected_kdl/multiline_string.kdl b/tests/test_cases/expected_kdl/multiline_string.kdl index 021493e..2bafe90 100644 --- a/tests/test_cases/expected_kdl/multiline_string.kdl +++ b/tests/test_cases/expected_kdl/multiline_string.kdl @@ -1 +1 @@ -node " hey\neveryone\nhow goes?\n" +node "\nhey\neveryone\nhow goes?\n" diff --git a/tests/test_cases/expected_kdl/nested_block_comment.kdl b/tests/test_cases/expected_kdl/nested_block_comment.kdl index b3a0426..1b3db2c 100644 --- a/tests/test_cases/expected_kdl/nested_block_comment.kdl +++ b/tests/test_cases/expected_kdl/nested_block_comment.kdl @@ -1 +1 @@ -node "arg" +node arg diff --git a/tests/test_cases/expected_kdl/nested_comments.kdl b/tests/test_cases/expected_kdl/nested_comments.kdl index b3a0426..1b3db2c 100644 --- a/tests/test_cases/expected_kdl/nested_comments.kdl +++ b/tests/test_cases/expected_kdl/nested_comments.kdl @@ -1 +1 @@ -node "arg" +node arg diff --git a/tests/test_cases/expected_kdl/nested_multiline_block_comment.kdl b/tests/test_cases/expected_kdl/nested_multiline_block_comment.kdl index b3a0426..1b3db2c 100644 --- a/tests/test_cases/expected_kdl/nested_multiline_block_comment.kdl +++ b/tests/test_cases/expected_kdl/nested_multiline_block_comment.kdl @@ -1 +1 @@ -node "arg" +node arg diff --git a/tests/test_cases/expected_kdl/newlines_in_block_comment.kdl b/tests/test_cases/expected_kdl/newlines_in_block_comment.kdl index b3a0426..1b3db2c 100644 --- a/tests/test_cases/expected_kdl/newlines_in_block_comment.kdl +++ b/tests/test_cases/expected_kdl/newlines_in_block_comment.kdl @@ -1 +1 @@ -node "arg" +node arg diff --git a/tests/test_cases/expected_kdl/node_false.kdl b/tests/test_cases/expected_kdl/node_false.kdl index ef60c44..3bab782 100644 --- a/tests/test_cases/expected_kdl/node_false.kdl +++ b/tests/test_cases/expected_kdl/node_false.kdl @@ -1 +1 @@ -node false +node #false diff --git a/tests/test_cases/expected_kdl/node_true.kdl b/tests/test_cases/expected_kdl/node_true.kdl index 4b02a06..de00dcd 100644 --- a/tests/test_cases/expected_kdl/node_true.kdl +++ b/tests/test_cases/expected_kdl/node_true.kdl @@ -1 +1 @@ -node true +node #true diff --git a/tests/test_cases/expected_kdl/null_prop.kdl b/tests/test_cases/expected_kdl/null_prop.kdl index 85ef005..c463e98 100644 --- a/tests/test_cases/expected_kdl/null_prop.kdl +++ b/tests/test_cases/expected_kdl/null_prop.kdl @@ -1 +1 @@ -node prop=null +node prop=#null diff --git a/tests/test_cases/expected_kdl/optional_child_semicolon.kdl b/tests/test_cases/expected_kdl/optional_child_semicolon.kdl new file mode 100644 index 0000000..25eaa7d --- /dev/null +++ b/tests/test_cases/expected_kdl/optional_child_semicolon.kdl @@ -0,0 +1,5 @@ +node { + foo + bar + baz +} diff --git a/tests/test_cases/expected_kdl/parse_all_arg_types.kdl b/tests/test_cases/expected_kdl/parse_all_arg_types.kdl index 2e8552c..773df95 100644 --- a/tests/test_cases/expected_kdl/parse_all_arg_types.kdl +++ b/tests/test_cases/expected_kdl/parse_all_arg_types.kdl @@ -1 +1 @@ -node 1 1.0 1.0E+10 1.0E-10 1 7 2 "arg" "arg\\\\" true false null +node 1 1.0 1.0E+10 1.0E-10 1 7 2 arg arg "arg\\" #true #false #null diff --git a/tests/test_cases/expected_kdl/prop_false_type.kdl b/tests/test_cases/expected_kdl/prop_false_type.kdl index 3377323..eb544ef 100644 --- a/tests/test_cases/expected_kdl/prop_false_type.kdl +++ b/tests/test_cases/expected_kdl/prop_false_type.kdl @@ -1 +1 @@ -node key=(type)false +node key=(type)#false diff --git a/tests/test_cases/expected_kdl/prop_identifier_type.kdl b/tests/test_cases/expected_kdl/prop_identifier_type.kdl new file mode 100644 index 0000000..bf1b9a7 --- /dev/null +++ b/tests/test_cases/expected_kdl/prop_identifier_type.kdl @@ -0,0 +1,2 @@ +node key=(type)str + diff --git a/tests/test_cases/expected_kdl/prop_null_type.kdl b/tests/test_cases/expected_kdl/prop_null_type.kdl index bafaddc..1c25b6f 100644 --- a/tests/test_cases/expected_kdl/prop_null_type.kdl +++ b/tests/test_cases/expected_kdl/prop_null_type.kdl @@ -1 +1 @@ -node key=(type)null +node key=(type)#null diff --git a/tests/test_cases/expected_kdl/prop_raw_string_type.kdl b/tests/test_cases/expected_kdl/prop_raw_string_type.kdl index 50e2d2c..7df052b 100644 --- a/tests/test_cases/expected_kdl/prop_raw_string_type.kdl +++ b/tests/test_cases/expected_kdl/prop_raw_string_type.kdl @@ -1 +1 @@ -node key=(type)"str" +node key=(type)str diff --git a/tests/test_cases/expected_kdl/prop_string_type.kdl b/tests/test_cases/expected_kdl/prop_string_type.kdl index 50e2d2c..7df052b 100644 --- a/tests/test_cases/expected_kdl/prop_string_type.kdl +++ b/tests/test_cases/expected_kdl/prop_string_type.kdl @@ -1 +1 @@ -node key=(type)"str" +node key=(type)str diff --git a/tests/test_cases/expected_kdl/prop_true_type.kdl b/tests/test_cases/expected_kdl/prop_true_type.kdl index c4eebb6..01404b8 100644 --- a/tests/test_cases/expected_kdl/prop_true_type.kdl +++ b/tests/test_cases/expected_kdl/prop_true_type.kdl @@ -1 +1 @@ -node key=(type)true +node key=(type)#true diff --git a/tests/test_cases/expected_kdl/prop_type.kdl b/tests/test_cases/expected_kdl/prop_type.kdl index c4eebb6..01404b8 100644 --- a/tests/test_cases/expected_kdl/prop_type.kdl +++ b/tests/test_cases/expected_kdl/prop_type.kdl @@ -1 +1 @@ -node key=(type)true +node key=(type)#true diff --git a/tests/test_cases/expected_kdl/question_mark_before_number.kdl b/tests/test_cases/expected_kdl/question_mark_before_number.kdl new file mode 100644 index 0000000..532ef22 --- /dev/null +++ b/tests/test_cases/expected_kdl/question_mark_before_number.kdl @@ -0,0 +1 @@ +node ?15 \ No newline at end of file diff --git a/tests/test_cases/expected_kdl/quoted_prop_name.kdl b/tests/test_cases/expected_kdl/quoted_prop_name.kdl index 170a05a..8ee5e08 100644 --- a/tests/test_cases/expected_kdl/quoted_prop_name.kdl +++ b/tests/test_cases/expected_kdl/quoted_prop_name.kdl @@ -1 +1 @@ -node "0prop"="val" +node "0prop"=val diff --git a/tests/test_cases/expected_kdl/quoted_prop_type.kdl b/tests/test_cases/expected_kdl/quoted_prop_type.kdl index 0e2b920..beca5f2 100644 --- a/tests/test_cases/expected_kdl/quoted_prop_type.kdl +++ b/tests/test_cases/expected_kdl/quoted_prop_type.kdl @@ -1 +1 @@ -node key=("type/")true +node key=("type/")#true diff --git a/tests/test_cases/expected_kdl/r_node.kdl b/tests/test_cases/expected_kdl/r_node.kdl index 4a98807..282cc04 100644 --- a/tests/test_cases/expected_kdl/r_node.kdl +++ b/tests/test_cases/expected_kdl/r_node.kdl @@ -1 +1 @@ -r "arg" +r arg diff --git a/tests/test_cases/expected_kdl/raw_arg_type.kdl b/tests/test_cases/expected_kdl/raw_arg_type.kdl index 6d1f9bc..20243a3 100644 --- a/tests/test_cases/expected_kdl/raw_arg_type.kdl +++ b/tests/test_cases/expected_kdl/raw_arg_type.kdl @@ -1 +1 @@ -node (type)true +node (type)#true diff --git a/tests/test_cases/expected_kdl/raw_prop_type.kdl b/tests/test_cases/expected_kdl/raw_prop_type.kdl index c4eebb6..01404b8 100644 --- a/tests/test_cases/expected_kdl/raw_prop_type.kdl +++ b/tests/test_cases/expected_kdl/raw_prop_type.kdl @@ -1 +1 @@ -node key=(type)true +node key=(type)#true diff --git a/tests/test_cases/expected_kdl/raw_string_arg.kdl b/tests/test_cases/expected_kdl/raw_string_arg.kdl index a909993..24f8d65 100644 --- a/tests/test_cases/expected_kdl/raw_string_arg.kdl +++ b/tests/test_cases/expected_kdl/raw_string_arg.kdl @@ -1,3 +1,2 @@ -node_1 "arg\\n" -node_2 "\"arg\\n\"and stuff" -node_3 "#\"arg\\n\"#and stuff" +node_1 "\"arg\\n\"and #stuff" +node_2 "#\"arg\\n\"#and #stuff" diff --git a/tests/test_cases/expected_kdl/raw_string_prop.kdl b/tests/test_cases/expected_kdl/raw_string_prop.kdl index 0762d88..6a1b5ee 100644 --- a/tests/test_cases/expected_kdl/raw_string_prop.kdl +++ b/tests/test_cases/expected_kdl/raw_string_prop.kdl @@ -1,3 +1,2 @@ -node_1 prop="arg\\n" -node_2 prop="\"arg\"\\n" -node_3 prop="#\"arg\"#\\n" +node_1 prop="\"arg#\"\\n" +node_2 prop="#\"arg#\"#\\n" diff --git a/tests/test_cases/expected_kdl/repeated_arg.kdl b/tests/test_cases/expected_kdl/repeated_arg.kdl index 849fee0..6525757 100644 --- a/tests/test_cases/expected_kdl/repeated_arg.kdl +++ b/tests/test_cases/expected_kdl/repeated_arg.kdl @@ -1 +1 @@ -node "arg" "arg" +node arg arg diff --git a/tests/test_cases/expected_kdl/same_args.kdl b/tests/test_cases/expected_kdl/same_args.kdl deleted file mode 100644 index 6b8ae13..0000000 --- a/tests/test_cases/expected_kdl/same_args.kdl +++ /dev/null @@ -1 +0,0 @@ -node "whee" "whee" diff --git a/tests/test_cases/expected_kdl/single_arg.kdl b/tests/test_cases/expected_kdl/single_arg.kdl index b3a0426..1b3db2c 100644 --- a/tests/test_cases/expected_kdl/single_arg.kdl +++ b/tests/test_cases/expected_kdl/single_arg.kdl @@ -1 +1 @@ -node "arg" +node arg diff --git a/tests/test_cases/expected_kdl/single_prop.kdl b/tests/test_cases/expected_kdl/single_prop.kdl index a0d0062..282aa3b 100644 --- a/tests/test_cases/expected_kdl/single_prop.kdl +++ b/tests/test_cases/expected_kdl/single_prop.kdl @@ -1 +1 @@ -node prop="val" +node prop=val diff --git a/tests/test_cases/expected_kdl/slashdash_arg_after_newline_esc.kdl b/tests/test_cases/expected_kdl/slashdash_arg_after_newline_esc.kdl index 226fd56..2e98005 100644 --- a/tests/test_cases/expected_kdl/slashdash_arg_after_newline_esc.kdl +++ b/tests/test_cases/expected_kdl/slashdash_arg_after_newline_esc.kdl @@ -1 +1 @@ -node "arg2" +node arg2 diff --git a/tests/test_cases/expected_kdl/slashdash_prop.kdl b/tests/test_cases/expected_kdl/slashdash_prop.kdl index b3a0426..1b3db2c 100644 --- a/tests/test_cases/expected_kdl/slashdash_prop.kdl +++ b/tests/test_cases/expected_kdl/slashdash_prop.kdl @@ -1 +1 @@ -node "arg" +node arg diff --git a/tests/test_cases/expected_kdl/slashdash_repeated_prop.kdl b/tests/test_cases/expected_kdl/slashdash_repeated_prop.kdl index 82c6972..dce25a7 100644 --- a/tests/test_cases/expected_kdl/slashdash_repeated_prop.kdl +++ b/tests/test_cases/expected_kdl/slashdash_repeated_prop.kdl @@ -1 +1 @@ -node arg="correct" +node arg=correct diff --git a/tests/test_cases/expected_kdl/space_after_arg_type.kdl b/tests/test_cases/expected_kdl/space_after_arg_type.kdl new file mode 100644 index 0000000..51dcb98 --- /dev/null +++ b/tests/test_cases/expected_kdl/space_after_arg_type.kdl @@ -0,0 +1 @@ +node (type)10 diff --git a/tests/test_cases/expected_kdl/space_after_node_type.kdl b/tests/test_cases/expected_kdl/space_after_node_type.kdl new file mode 100644 index 0000000..c790643 --- /dev/null +++ b/tests/test_cases/expected_kdl/space_after_node_type.kdl @@ -0,0 +1 @@ +(type)node diff --git a/tests/test_cases/expected_kdl/space_after_prop_type.kdl b/tests/test_cases/expected_kdl/space_after_prop_type.kdl new file mode 100644 index 0000000..eb544ef --- /dev/null +++ b/tests/test_cases/expected_kdl/space_after_prop_type.kdl @@ -0,0 +1 @@ +node key=(type)#false diff --git a/tests/test_cases/expected_kdl/space_around_prop_marker.kdl b/tests/test_cases/expected_kdl/space_around_prop_marker.kdl new file mode 100644 index 0000000..30a026f --- /dev/null +++ b/tests/test_cases/expected_kdl/space_around_prop_marker.kdl @@ -0,0 +1 @@ +node foo=bar diff --git a/tests/test_cases/expected_kdl/space_in_arg_type.kdl b/tests/test_cases/expected_kdl/space_in_arg_type.kdl new file mode 100644 index 0000000..92003d9 --- /dev/null +++ b/tests/test_cases/expected_kdl/space_in_arg_type.kdl @@ -0,0 +1 @@ +node (type)#false diff --git a/tests/test_cases/expected_kdl/space_in_node_type.kdl b/tests/test_cases/expected_kdl/space_in_node_type.kdl new file mode 100644 index 0000000..c790643 --- /dev/null +++ b/tests/test_cases/expected_kdl/space_in_node_type.kdl @@ -0,0 +1 @@ +(type)node diff --git a/tests/test_cases/expected_kdl/space_in_prop_type.kdl b/tests/test_cases/expected_kdl/space_in_prop_type.kdl new file mode 100644 index 0000000..eb544ef --- /dev/null +++ b/tests/test_cases/expected_kdl/space_in_prop_type.kdl @@ -0,0 +1 @@ +node key=(type)#false diff --git a/tests/test_cases/expected_kdl/string_arg.kdl b/tests/test_cases/expected_kdl/string_arg.kdl index b3a0426..1b3db2c 100644 --- a/tests/test_cases/expected_kdl/string_arg.kdl +++ b/tests/test_cases/expected_kdl/string_arg.kdl @@ -1 +1 @@ -node "arg" +node arg diff --git a/tests/test_cases/expected_kdl/string_escaped_literal_whitespace.kdl b/tests/test_cases/expected_kdl/string_escaped_literal_whitespace.kdl new file mode 100644 index 0000000..3169ad9 --- /dev/null +++ b/tests/test_cases/expected_kdl/string_escaped_literal_whitespace.kdl @@ -0,0 +1 @@ +node "Hello World Stuff" diff --git a/tests/test_cases/expected_kdl/string_prop.kdl b/tests/test_cases/expected_kdl/string_prop.kdl index a0d0062..282aa3b 100644 --- a/tests/test_cases/expected_kdl/string_prop.kdl +++ b/tests/test_cases/expected_kdl/string_prop.kdl @@ -1 +1 @@ -node prop="val" +node prop=val diff --git a/tests/test_cases/expected_kdl/underscore_before_number.kdl b/tests/test_cases/expected_kdl/underscore_before_number.kdl new file mode 100644 index 0000000..788656b --- /dev/null +++ b/tests/test_cases/expected_kdl/underscore_before_number.kdl @@ -0,0 +1 @@ +node _15 diff --git a/tests/test_cases/expected_kdl/unusual_bare_id_chars_in_quoted_id.kdl b/tests/test_cases/expected_kdl/unusual_bare_id_chars_in_quoted_id.kdl index d2dcd19..317e824 100644 --- a/tests/test_cases/expected_kdl/unusual_bare_id_chars_in_quoted_id.kdl +++ b/tests/test_cases/expected_kdl/unusual_bare_id_chars_in_quoted_id.kdl @@ -1 +1 @@ -foo123~!@#$%^&*.:'|?+ "weeee" +foo123~!@#$%^&*.:'|?+<>, weeee diff --git a/tests/test_cases/expected_kdl/unusual_chars_in_bare_id.kdl b/tests/test_cases/expected_kdl/unusual_chars_in_bare_id.kdl index d2dcd19..317e824 100644 --- a/tests/test_cases/expected_kdl/unusual_chars_in_bare_id.kdl +++ b/tests/test_cases/expected_kdl/unusual_chars_in_bare_id.kdl @@ -1 +1 @@ -foo123~!@#$%^&*.:'|?+ "weeee" +foo123~!@#$%^&*.:'|?+<>, weeee diff --git a/tests/test_cases/expected_kdl/vertical_tab_whitespace.kdl b/tests/test_cases/expected_kdl/vertical_tab_whitespace.kdl new file mode 100644 index 0000000..1b3db2c --- /dev/null +++ b/tests/test_cases/expected_kdl/vertical_tab_whitespace.kdl @@ -0,0 +1 @@ +node arg diff --git a/tests/test_cases/input/all_escapes.kdl b/tests/test_cases/input/all_escapes.kdl index 024cda2..5c49748 100644 --- a/tests/test_cases/input/all_escapes.kdl +++ b/tests/test_cases/input/all_escapes.kdl @@ -1 +1 @@ -node "\"\\\b\f\n\r\t" +node "\"\\\b\f\n\r\t\s" diff --git a/tests/test_cases/input/all_node_fields.kdl b/tests/test_cases/input/all_node_fields.kdl index 719a8d1..9f4ceb5 100644 --- a/tests/test_cases/input/all_node_fields.kdl +++ b/tests/test_cases/input/all_node_fields.kdl @@ -1,3 +1,3 @@ -node "arg" prop="val" { - inner_node -} \ No newline at end of file +node arg prop=val { + inner_node +} diff --git a/tests/test_cases/input/arg_and_prop_same_name.kdl b/tests/test_cases/input/arg_and_prop_same_name.kdl index b830f56..ee5ace5 100644 --- a/tests/test_cases/input/arg_and_prop_same_name.kdl +++ b/tests/test_cases/input/arg_and_prop_same_name.kdl @@ -1 +1 @@ -node "arg" arg="val" \ No newline at end of file +node arg arg=val diff --git a/tests/test_cases/input/arg_bare.kdl b/tests/test_cases/input/arg_bare.kdl new file mode 100644 index 0000000..ec2a21f --- /dev/null +++ b/tests/test_cases/input/arg_bare.kdl @@ -0,0 +1 @@ +node a \ No newline at end of file diff --git a/tests/test_cases/input/arg_false_type.kdl b/tests/test_cases/input/arg_false_type.kdl index 895945d..92003d9 100644 --- a/tests/test_cases/input/arg_false_type.kdl +++ b/tests/test_cases/input/arg_false_type.kdl @@ -1 +1 @@ -node (type)false +node (type)#false diff --git a/tests/test_cases/input/arg_null_type.kdl b/tests/test_cases/input/arg_null_type.kdl index 476c5cd..cd66101 100644 --- a/tests/test_cases/input/arg_null_type.kdl +++ b/tests/test_cases/input/arg_null_type.kdl @@ -1 +1 @@ -node (type)null +node (type)#null diff --git a/tests/test_cases/input/arg_raw_string_type.kdl b/tests/test_cases/input/arg_raw_string_type.kdl index 2808d53..c722312 100644 --- a/tests/test_cases/input/arg_raw_string_type.kdl +++ b/tests/test_cases/input/arg_raw_string_type.kdl @@ -1 +1 @@ -node (type)"str" +node (type)#"str"# diff --git a/tests/test_cases/input/arg_string_type.kdl b/tests/test_cases/input/arg_string_type.kdl index 1a141b2..2808d53 100644 --- a/tests/test_cases/input/arg_string_type.kdl +++ b/tests/test_cases/input/arg_string_type.kdl @@ -1 +1 @@ -node (type)"str" \ No newline at end of file +node (type)"str" diff --git a/tests/test_cases/input/arg_true_type.kdl b/tests/test_cases/input/arg_true_type.kdl index 6d1f9bc..20243a3 100644 --- a/tests/test_cases/input/arg_true_type.kdl +++ b/tests/test_cases/input/arg_true_type.kdl @@ -1 +1 @@ -node (type)true +node (type)#true diff --git a/tests/test_cases/input/arg_type.kdl b/tests/test_cases/input/arg_type.kdl index a0b84cf..79a093d 100644 --- a/tests/test_cases/input/arg_type.kdl +++ b/tests/test_cases/input/arg_type.kdl @@ -1 +1 @@ -node (type)"arg" +node (type)arg diff --git a/tests/test_cases/input/backslash_in_bare_id.kdl b/tests/test_cases/input/backslash_in_bare_id.kdl deleted file mode 100644 index 5615277..0000000 --- a/tests/test_cases/input/backslash_in_bare_id.kdl +++ /dev/null @@ -1 +0,0 @@ -foo123\bar "weeee" diff --git a/tests/test_cases/input/bare_emoji.kdl b/tests/test_cases/input/bare_emoji.kdl index 60707c8..c67d0b9 100644 --- a/tests/test_cases/input/bare_emoji.kdl +++ b/tests/test_cases/input/bare_emoji.kdl @@ -1 +1 @@ -😁 "happy!" +😁 happy! diff --git a/tests/test_cases/input/blank_prop_type.kdl b/tests/test_cases/input/blank_prop_type.kdl index 898f90d..e00c6d2 100644 --- a/tests/test_cases/input/blank_prop_type.kdl +++ b/tests/test_cases/input/blank_prop_type.kdl @@ -1 +1 @@ -node key=("")true \ No newline at end of file +node key=("")#true diff --git a/tests/test_cases/input/block_comment.kdl b/tests/test_cases/input/block_comment.kdl index e6eddb9..f6c39ac 100644 --- a/tests/test_cases/input/block_comment.kdl +++ b/tests/test_cases/input/block_comment.kdl @@ -1 +1 @@ -node /* comment */ "arg" \ No newline at end of file +node /* comment */ arg diff --git a/tests/test_cases/input/block_comment_after_node.kdl b/tests/test_cases/input/block_comment_after_node.kdl index e7777ed..071ff21 100644 --- a/tests/test_cases/input/block_comment_after_node.kdl +++ b/tests/test_cases/input/block_comment_after_node.kdl @@ -1 +1 @@ -node /* hey */ "arg" +node /* hey */ arg diff --git a/tests/test_cases/input/bom_initial.kdl b/tests/test_cases/input/bom_initial.kdl new file mode 100644 index 0000000..e52e8bf --- /dev/null +++ b/tests/test_cases/input/bom_initial.kdl @@ -0,0 +1 @@ +node arg diff --git a/tests/test_cases/input/bom_later.kdl b/tests/test_cases/input/bom_later.kdl new file mode 100644 index 0000000..6aeff8d --- /dev/null +++ b/tests/test_cases/input/bom_later.kdl @@ -0,0 +1 @@ +node arg diff --git a/tests/test_cases/input/boolean_arg.kdl b/tests/test_cases/input/boolean_arg.kdl index f099893..e0cdf1a 100644 --- a/tests/test_cases/input/boolean_arg.kdl +++ b/tests/test_cases/input/boolean_arg.kdl @@ -1 +1 @@ -node false true \ No newline at end of file +node #false #true diff --git a/tests/test_cases/input/boolean_prop.kdl b/tests/test_cases/input/boolean_prop.kdl index 61e3111..f89da9b 100644 --- a/tests/test_cases/input/boolean_prop.kdl +++ b/tests/test_cases/input/boolean_prop.kdl @@ -1 +1 @@ -node prop1=true prop2=false \ No newline at end of file +node prop1=#true prop2=#false diff --git a/tests/test_cases/input/brackets_in_bare_id.kdl b/tests/test_cases/input/brackets_in_bare_id.kdl index b0d39c5..ebb78d2 100644 --- a/tests/test_cases/input/brackets_in_bare_id.kdl +++ b/tests/test_cases/input/brackets_in_bare_id.kdl @@ -1 +1 @@ -foo123{bar}foo "weeee" +foo123{bar}foo weeee diff --git a/tests/test_cases/input/chevrons_in_bare_id.kdl b/tests/test_cases/input/chevrons_in_bare_id.kdl index 4b6610e..58b2436 100644 --- a/tests/test_cases/input/chevrons_in_bare_id.kdl +++ b/tests/test_cases/input/chevrons_in_bare_id.kdl @@ -1 +1 @@ -foo123foo "weeee" +foo123foo weeee diff --git a/tests/test_cases/input/comma_in_bare_id.kdl b/tests/test_cases/input/comma_in_bare_id.kdl index 656df91..86c78fd 100644 --- a/tests/test_cases/input/comma_in_bare_id.kdl +++ b/tests/test_cases/input/comma_in_bare_id.kdl @@ -1 +1 @@ -foo123,bar "weeee" +foo123,bar weeee diff --git a/tests/test_cases/input/comment_and_newline.kdl b/tests/test_cases/input/comment_and_newline.kdl new file mode 100644 index 0000000..d1bb77f --- /dev/null +++ b/tests/test_cases/input/comment_and_newline.kdl @@ -0,0 +1,2 @@ +node1 // +node2 diff --git a/tests/test_cases/input/commented_arg.kdl b/tests/test_cases/input/commented_arg.kdl index e389cd2..0e6157f 100644 --- a/tests/test_cases/input/commented_arg.kdl +++ b/tests/test_cases/input/commented_arg.kdl @@ -1 +1 @@ -node /- "arg1" "arg2" \ No newline at end of file +node /- arg1 arg2 diff --git a/tests/test_cases/input/commented_child.kdl b/tests/test_cases/input/commented_child.kdl index e13c479..8e873f7 100644 --- a/tests/test_cases/input/commented_child.kdl +++ b/tests/test_cases/input/commented_child.kdl @@ -1,3 +1,3 @@ -node "arg" /- { +node arg /- { inner_node -} \ No newline at end of file +} diff --git a/tests/test_cases/input/commented_prop.kdl b/tests/test_cases/input/commented_prop.kdl index acedc83..046fd9d 100644 --- a/tests/test_cases/input/commented_prop.kdl +++ b/tests/test_cases/input/commented_prop.kdl @@ -1 +1 @@ -node /- prop="val" "arg" \ No newline at end of file +node /- prop=val arg diff --git a/tests/test_cases/input/crlf_between_nodes.kdl b/tests/test_cases/input/crlf_between_nodes.kdl index 4d9cb21..148f7bc 100644 --- a/tests/test_cases/input/crlf_between_nodes.kdl +++ b/tests/test_cases/input/crlf_between_nodes.kdl @@ -1,2 +1,2 @@ -node1 -node2 \ No newline at end of file +node1 +node2 diff --git a/tests/test_cases/input/emoji.kdl b/tests/test_cases/input/emoji.kdl index 3ed56e2..88df78a 100644 --- a/tests/test_cases/input/emoji.kdl +++ b/tests/test_cases/input/emoji.kdl @@ -1 +1 @@ -node "😀" +node 😀 diff --git a/tests/test_cases/input/empty_prop_type.kdl b/tests/test_cases/input/empty_prop_type.kdl index 0515094..233480b 100644 --- a/tests/test_cases/input/empty_prop_type.kdl +++ b/tests/test_cases/input/empty_prop_type.kdl @@ -1 +1 @@ -node key=()false +node key=()#false diff --git a/tests/test_cases/input/empty_quoted_node_id.kdl b/tests/test_cases/input/empty_quoted_node_id.kdl index 2aeb594..94694bc 100644 --- a/tests/test_cases/input/empty_quoted_node_id.kdl +++ b/tests/test_cases/input/empty_quoted_node_id.kdl @@ -1 +1 @@ -"" "arg" \ No newline at end of file +"" arg diff --git a/tests/test_cases/input/empty_quoted_prop_key.kdl b/tests/test_cases/input/empty_quoted_prop_key.kdl index e6e1310..e541793 100644 --- a/tests/test_cases/input/empty_quoted_prop_key.kdl +++ b/tests/test_cases/input/empty_quoted_prop_key.kdl @@ -1 +1 @@ -node ""="empty" +node ""=empty diff --git a/tests/test_cases/input/eof_after_escape.kdl b/tests/test_cases/input/eof_after_escape.kdl new file mode 100644 index 0000000..eed8d72 --- /dev/null +++ b/tests/test_cases/input/eof_after_escape.kdl @@ -0,0 +1 @@ +node \ diff --git a/tests/test_cases/input/err_backslash_in_bare_id.kdl b/tests/test_cases/input/err_backslash_in_bare_id.kdl new file mode 100644 index 0000000..2ea1a4b --- /dev/null +++ b/tests/test_cases/input/err_backslash_in_bare_id.kdl @@ -0,0 +1 @@ +foo123\bar weeee diff --git a/tests/test_cases/input/escline.kdl b/tests/test_cases/input/escline.kdl index 9010e07..bcd1a1a 100644 --- a/tests/test_cases/input/escline.kdl +++ b/tests/test_cases/input/escline.kdl @@ -1,2 +1,2 @@ node \ - "arg" \ No newline at end of file + arg diff --git a/tests/test_cases/input/escline_comment_node.kdl b/tests/test_cases/input/escline_comment_node.kdl deleted file mode 100644 index 030c245..0000000 --- a/tests/test_cases/input/escline_comment_node.kdl +++ /dev/null @@ -1,3 +0,0 @@ -node1 - \// hey - node2 \ No newline at end of file diff --git a/tests/test_cases/input/escline_line_comment.kdl b/tests/test_cases/input/escline_line_comment.kdl index 31f19fd..dc81b72 100644 --- a/tests/test_cases/input/escline_line_comment.kdl +++ b/tests/test_cases/input/escline_line_comment.kdl @@ -1,4 +1,3 @@ node \ // comment - "arg" \// comment - "arg2 -" \ No newline at end of file + arg \// comment + arg2 diff --git a/tests/test_cases/input/hash_in_id.kdl b/tests/test_cases/input/hash_in_id.kdl new file mode 100644 index 0000000..e1119be --- /dev/null +++ b/tests/test_cases/input/hash_in_id.kdl @@ -0,0 +1 @@ +foo#bar weee diff --git a/tests/test_cases/input/just_space_in_prop_type.kdl b/tests/test_cases/input/just_space_in_prop_type.kdl index a00603c..e42645f 100644 --- a/tests/test_cases/input/just_space_in_prop_type.kdl +++ b/tests/test_cases/input/just_space_in_prop_type.kdl @@ -1 +1 @@ -node key=()0x10 +node key=( )0x10 diff --git a/tests/test_cases/input/multiline_comment.kdl b/tests/test_cases/input/multiline_comment.kdl index 26485bc..5fbb80b 100644 --- a/tests/test_cases/input/multiline_comment.kdl +++ b/tests/test_cases/input/multiline_comment.kdl @@ -1,4 +1,4 @@ node /* some comments -*/ "arg" \ No newline at end of file +*/ arg diff --git a/tests/test_cases/input/multiline_nodes.kdl b/tests/test_cases/input/multiline_nodes.kdl index 3dc907e..eae83d1 100644 --- a/tests/test_cases/input/multiline_nodes.kdl +++ b/tests/test_cases/input/multiline_nodes.kdl @@ -1,3 +1,3 @@ node \ - "arg1" \// comment - "arg2" \ No newline at end of file + arg1 \// comment + arg2 diff --git a/tests/test_cases/input/multiline_raw_string.kdl b/tests/test_cases/input/multiline_raw_string.kdl new file mode 100644 index 0000000..eaa212e --- /dev/null +++ b/tests/test_cases/input/multiline_raw_string.kdl @@ -0,0 +1,5 @@ +node #" +hey +everyone +how goes? +"# diff --git a/tests/test_cases/input/multiline_string.kdl b/tests/test_cases/input/multiline_string.kdl index 603cddd..e3a6cc1 100644 --- a/tests/test_cases/input/multiline_string.kdl +++ b/tests/test_cases/input/multiline_string.kdl @@ -1,4 +1,5 @@ -node " hey +node " +hey everyone how goes? -" \ No newline at end of file +" diff --git a/tests/test_cases/input/nested_block_comment.kdl b/tests/test_cases/input/nested_block_comment.kdl index d7f765c..d9966a9 100644 --- a/tests/test_cases/input/nested_block_comment.kdl +++ b/tests/test_cases/input/nested_block_comment.kdl @@ -1 +1 @@ -node /* hi /* there */ everyone */ "arg" \ No newline at end of file +node /* hi /* there */ everyone */ arg diff --git a/tests/test_cases/input/nested_comments.kdl b/tests/test_cases/input/nested_comments.kdl index 8b3aad6..7541c39 100644 --- a/tests/test_cases/input/nested_comments.kdl +++ b/tests/test_cases/input/nested_comments.kdl @@ -1 +1 @@ -node /*/* nested */*/ "arg" \ No newline at end of file +node /*/* nested */*/ arg diff --git a/tests/test_cases/input/nested_multiline_block_comment.kdl b/tests/test_cases/input/nested_multiline_block_comment.kdl index 9d8e0ca..f1087e1 100644 --- a/tests/test_cases/input/nested_multiline_block_comment.kdl +++ b/tests/test_cases/input/nested_multiline_block_comment.kdl @@ -3,5 +3,4 @@ hey /* how's */ it going - */ "arg" - \ No newline at end of file + */ arg diff --git a/tests/test_cases/input/newlines_in_block_comment.kdl b/tests/test_cases/input/newlines_in_block_comment.kdl index a5cd2b1..690461b 100644 --- a/tests/test_cases/input/newlines_in_block_comment.kdl +++ b/tests/test_cases/input/newlines_in_block_comment.kdl @@ -1,3 +1,3 @@ node /* hey so I was thinking -about newts */ "arg" \ No newline at end of file +about newts */ arg diff --git a/tests/test_cases/input/node_false.kdl b/tests/test_cases/input/node_false.kdl index ef60c44..3bab782 100644 --- a/tests/test_cases/input/node_false.kdl +++ b/tests/test_cases/input/node_false.kdl @@ -1 +1 @@ -node false +node #false diff --git a/tests/test_cases/input/node_true.kdl b/tests/test_cases/input/node_true.kdl index 4b02a06..de00dcd 100644 --- a/tests/test_cases/input/node_true.kdl +++ b/tests/test_cases/input/node_true.kdl @@ -1 +1 @@ -node true +node #true diff --git a/tests/test_cases/input/null_arg.kdl b/tests/test_cases/input/null_arg.kdl index a5ce001..bed8dbf 100644 --- a/tests/test_cases/input/null_arg.kdl +++ b/tests/test_cases/input/null_arg.kdl @@ -1 +1 @@ -node null \ No newline at end of file +node #null diff --git a/tests/test_cases/input/null_prop.kdl b/tests/test_cases/input/null_prop.kdl index 847256f..c463e98 100644 --- a/tests/test_cases/input/null_prop.kdl +++ b/tests/test_cases/input/null_prop.kdl @@ -1 +1 @@ -node prop=null \ No newline at end of file +node prop=#null diff --git a/tests/test_cases/input/only_line_comment_crlf.kdl b/tests/test_cases/input/only_line_comment_crlf.kdl index fef83a9..b1653b8 100644 --- a/tests/test_cases/input/only_line_comment_crlf.kdl +++ b/tests/test_cases/input/only_line_comment_crlf.kdl @@ -1 +1 @@ -// comment +// comment diff --git a/tests/test_cases/input/optional_child_semicolon.kdl b/tests/test_cases/input/optional_child_semicolon.kdl new file mode 100644 index 0000000..5381491 --- /dev/null +++ b/tests/test_cases/input/optional_child_semicolon.kdl @@ -0,0 +1 @@ +node {foo;bar;baz} diff --git a/tests/test_cases/input/parens_in_bare_id.kdl b/tests/test_cases/input/parens_in_bare_id.kdl index 92459d8..ff9b439 100644 --- a/tests/test_cases/input/parens_in_bare_id.kdl +++ b/tests/test_cases/input/parens_in_bare_id.kdl @@ -1 +1 @@ -foo123(bar)foo "weeee" +foo123(bar)foo weeee diff --git a/tests/test_cases/input/parse_all_arg_types.kdl b/tests/test_cases/input/parse_all_arg_types.kdl index 30b9072..92dffb1 100644 --- a/tests/test_cases/input/parse_all_arg_types.kdl +++ b/tests/test_cases/input/parse_all_arg_types.kdl @@ -1 +1 @@ -node 1 1.0 1.0e10 1.0e-10 0x01 0o07 0b10 "arg" r"arg\\" true false null \ No newline at end of file +node 1 1.0 1.0e10 1.0e-10 0x01 0o07 0b10 arg "arg" #"arg\"# #true #false #null diff --git a/tests/test_cases/input/prop_false_type.kdl b/tests/test_cases/input/prop_false_type.kdl index 3377323..eb544ef 100644 --- a/tests/test_cases/input/prop_false_type.kdl +++ b/tests/test_cases/input/prop_false_type.kdl @@ -1 +1 @@ -node key=(type)false +node key=(type)#false diff --git a/tests/test_cases/input/prop_identifier_type.kdl b/tests/test_cases/input/prop_identifier_type.kdl new file mode 100644 index 0000000..bf1b9a7 --- /dev/null +++ b/tests/test_cases/input/prop_identifier_type.kdl @@ -0,0 +1,2 @@ +node key=(type)str + diff --git a/tests/test_cases/input/prop_null_type.kdl b/tests/test_cases/input/prop_null_type.kdl index bafaddc..1c25b6f 100644 --- a/tests/test_cases/input/prop_null_type.kdl +++ b/tests/test_cases/input/prop_null_type.kdl @@ -1 +1 @@ -node key=(type)null +node key=(type)#null diff --git a/tests/test_cases/input/prop_raw_string_type.kdl b/tests/test_cases/input/prop_raw_string_type.kdl index a038cfa..6822ab3 100644 --- a/tests/test_cases/input/prop_raw_string_type.kdl +++ b/tests/test_cases/input/prop_raw_string_type.kdl @@ -1 +1 @@ -node key=(type)r"str" +node key=(type)#"str"# diff --git a/tests/test_cases/input/prop_true_type.kdl b/tests/test_cases/input/prop_true_type.kdl index c4eebb6..01404b8 100644 --- a/tests/test_cases/input/prop_true_type.kdl +++ b/tests/test_cases/input/prop_true_type.kdl @@ -1 +1 @@ -node key=(type)true +node key=(type)#true diff --git a/tests/test_cases/input/prop_type.kdl b/tests/test_cases/input/prop_type.kdl index d69294f..01404b8 100644 --- a/tests/test_cases/input/prop_type.kdl +++ b/tests/test_cases/input/prop_type.kdl @@ -1 +1 @@ -node key=(type)true \ No newline at end of file +node key=(type)#true diff --git a/tests/test_cases/input/question_mark_at_start_of_int.kdl b/tests/test_cases/input/question_mark_at_start_of_int.kdl deleted file mode 100644 index ba82916..0000000 --- a/tests/test_cases/input/question_mark_at_start_of_int.kdl +++ /dev/null @@ -1 +0,0 @@ -node ?10 \ No newline at end of file diff --git a/tests/test_cases/input/quote_in_bare_id.kdl b/tests/test_cases/input/quote_in_bare_id.kdl index 405f763..0d8a664 100644 --- a/tests/test_cases/input/quote_in_bare_id.kdl +++ b/tests/test_cases/input/quote_in_bare_id.kdl @@ -1 +1 @@ -foo123"bar "weeee" +foo123"bar weeee diff --git a/tests/test_cases/input/quoted_prop_name.kdl b/tests/test_cases/input/quoted_prop_name.kdl index 73ec6dd..8ee5e08 100644 --- a/tests/test_cases/input/quoted_prop_name.kdl +++ b/tests/test_cases/input/quoted_prop_name.kdl @@ -1 +1 @@ -node "0prop"="val" \ No newline at end of file +node "0prop"=val diff --git a/tests/test_cases/input/quoted_prop_type.kdl b/tests/test_cases/input/quoted_prop_type.kdl index 0e2b920..beca5f2 100644 --- a/tests/test_cases/input/quoted_prop_type.kdl +++ b/tests/test_cases/input/quoted_prop_type.kdl @@ -1 +1 @@ -node key=("type/")true +node key=("type/")#true diff --git a/tests/test_cases/input/raw_arg_type.kdl b/tests/test_cases/input/raw_arg_type.kdl index c5739b1..20243a3 100644 --- a/tests/test_cases/input/raw_arg_type.kdl +++ b/tests/test_cases/input/raw_arg_type.kdl @@ -1 +1 @@ -node (type)true \ No newline at end of file +node (type)#true diff --git a/tests/test_cases/input/raw_node_name.kdl b/tests/test_cases/input/raw_node_name.kdl index 0d38371..f2705c7 100644 --- a/tests/test_cases/input/raw_node_name.kdl +++ b/tests/test_cases/input/raw_node_name.kdl @@ -1 +1 @@ -r"\node" \ No newline at end of file +#"\node"# diff --git a/tests/test_cases/input/raw_prop_type.kdl b/tests/test_cases/input/raw_prop_type.kdl index d69294f..01404b8 100644 --- a/tests/test_cases/input/raw_prop_type.kdl +++ b/tests/test_cases/input/raw_prop_type.kdl @@ -1 +1 @@ -node key=(type)true \ No newline at end of file +node key=(type)#true diff --git a/tests/test_cases/input/raw_string_arg.kdl b/tests/test_cases/input/raw_string_arg.kdl index 6b7581f..cf4a86c 100644 --- a/tests/test_cases/input/raw_string_arg.kdl +++ b/tests/test_cases/input/raw_string_arg.kdl @@ -1,3 +1,2 @@ -node_1 r"arg\n" -node_2 r#""arg\n"and stuff"# -node_3 r##"#"arg\n"#and stuff"## \ No newline at end of file +node_1 r#""arg\n"and #stuff"# +node_2 r##"#"arg\n"#and #stuff"## diff --git a/tests/test_cases/input/raw_string_backslash.kdl b/tests/test_cases/input/raw_string_backslash.kdl index 0f7ca45..0405248 100644 --- a/tests/test_cases/input/raw_string_backslash.kdl +++ b/tests/test_cases/input/raw_string_backslash.kdl @@ -1 +1 @@ -node r"\n" +node #"\n"# diff --git a/tests/test_cases/input/raw_string_hash_no_esc.kdl b/tests/test_cases/input/raw_string_hash_no_esc.kdl index c8fa3c4..ce24c79 100644 --- a/tests/test_cases/input/raw_string_hash_no_esc.kdl +++ b/tests/test_cases/input/raw_string_hash_no_esc.kdl @@ -1 +1 @@ -node r"#" +node #"#"# diff --git a/tests/test_cases/input/raw_string_just_backslash.kdl b/tests/test_cases/input/raw_string_just_backslash.kdl index 9aefa73..f4e1cac 100644 --- a/tests/test_cases/input/raw_string_just_backslash.kdl +++ b/tests/test_cases/input/raw_string_just_backslash.kdl @@ -1 +1 @@ -node r"\" +node #"\"# diff --git a/tests/test_cases/input/raw_string_just_quote.kdl b/tests/test_cases/input/raw_string_just_quote.kdl index b8333ca..e81bf12 100644 --- a/tests/test_cases/input/raw_string_just_quote.kdl +++ b/tests/test_cases/input/raw_string_just_quote.kdl @@ -1 +1 @@ -node r#"""# +node #"""# diff --git a/tests/test_cases/input/raw_string_multiple_hash.kdl b/tests/test_cases/input/raw_string_multiple_hash.kdl index e6d054c..6317f36 100644 --- a/tests/test_cases/input/raw_string_multiple_hash.kdl +++ b/tests/test_cases/input/raw_string_multiple_hash.kdl @@ -1 +1 @@ -node r###""#"##"### +node ###""#"##"### diff --git a/tests/test_cases/input/raw_string_newline.kdl b/tests/test_cases/input/raw_string_newline.kdl index ef39d3c..0cc85c0 100644 --- a/tests/test_cases/input/raw_string_newline.kdl +++ b/tests/test_cases/input/raw_string_newline.kdl @@ -1,4 +1,4 @@ -node r" +node #" hello world -" +"# diff --git a/tests/test_cases/input/raw_string_prop.kdl b/tests/test_cases/input/raw_string_prop.kdl index a6c352a..cc59232 100644 --- a/tests/test_cases/input/raw_string_prop.kdl +++ b/tests/test_cases/input/raw_string_prop.kdl @@ -1,3 +1,2 @@ -node_1 prop=r"arg\n" -node_2 prop=r#""arg"\n"# -node_3 prop=r##"#"arg"#\n"## \ No newline at end of file +node_1 prop=#""arg#"\n"# +node_2 prop=##"#"arg#"#\n"## diff --git a/tests/test_cases/input/raw_string_quote.kdl b/tests/test_cases/input/raw_string_quote.kdl index cd7419c..004b62f 100644 --- a/tests/test_cases/input/raw_string_quote.kdl +++ b/tests/test_cases/input/raw_string_quote.kdl @@ -1 +1 @@ -node r#"a"b"# \ No newline at end of file +node #"a"b"# diff --git a/tests/test_cases/input/repeated_arg.kdl b/tests/test_cases/input/repeated_arg.kdl index beab120..6525757 100644 --- a/tests/test_cases/input/repeated_arg.kdl +++ b/tests/test_cases/input/repeated_arg.kdl @@ -1 +1 @@ -node "arg" "arg" \ No newline at end of file +node arg arg diff --git a/tests/test_cases/input/same_args.kdl b/tests/test_cases/input/same_args.kdl deleted file mode 100644 index c412de8..0000000 --- a/tests/test_cases/input/same_args.kdl +++ /dev/null @@ -1 +0,0 @@ -node "whee" "whee" \ No newline at end of file diff --git a/tests/test_cases/input/single_arg.kdl b/tests/test_cases/input/single_arg.kdl index e5161d1..1b3db2c 100644 --- a/tests/test_cases/input/single_arg.kdl +++ b/tests/test_cases/input/single_arg.kdl @@ -1 +1 @@ -node "arg" \ No newline at end of file +node arg diff --git a/tests/test_cases/input/single_prop.kdl b/tests/test_cases/input/single_prop.kdl index 4c29c14..282aa3b 100644 --- a/tests/test_cases/input/single_prop.kdl +++ b/tests/test_cases/input/single_prop.kdl @@ -1 +1 @@ -node prop="val" \ No newline at end of file +node prop=val diff --git a/tests/test_cases/input/slash_in_bare_id.kdl b/tests/test_cases/input/slash_in_bare_id.kdl index 1139c88..d26d325 100644 --- a/tests/test_cases/input/slash_in_bare_id.kdl +++ b/tests/test_cases/input/slash_in_bare_id.kdl @@ -1 +1 @@ -foo123/bar "weeee" +foo123/bar weeee diff --git a/tests/test_cases/input/slashdash_arg_after_newline_esc.kdl b/tests/test_cases/input/slashdash_arg_after_newline_esc.kdl index 059b3e1..5a4a9fd 100644 --- a/tests/test_cases/input/slashdash_arg_after_newline_esc.kdl +++ b/tests/test_cases/input/slashdash_arg_after_newline_esc.kdl @@ -1,2 +1,2 @@ node \ - /- "arg" "arg2" + /- arg arg2 diff --git a/tests/test_cases/input/slashdash_arg_before_newline_esc.kdl b/tests/test_cases/input/slashdash_arg_before_newline_esc.kdl index f58e4a7..70206aa 100644 --- a/tests/test_cases/input/slashdash_arg_before_newline_esc.kdl +++ b/tests/test_cases/input/slashdash_arg_before_newline_esc.kdl @@ -1,2 +1,2 @@ node /- \ - "arg" + arg diff --git a/tests/test_cases/input/slashdash_full_node.kdl b/tests/test_cases/input/slashdash_full_node.kdl index de2eb2a..f52f18b 100644 --- a/tests/test_cases/input/slashdash_full_node.kdl +++ b/tests/test_cases/input/slashdash_full_node.kdl @@ -1,2 +1,2 @@ -/- node 1.0 "a" b="b -" \ No newline at end of file +/- node 1.0 "a" b=" +b" diff --git a/tests/test_cases/input/slashdash_prop.kdl b/tests/test_cases/input/slashdash_prop.kdl index 3d7b806..2b81f5f 100644 --- a/tests/test_cases/input/slashdash_prop.kdl +++ b/tests/test_cases/input/slashdash_prop.kdl @@ -1 +1 @@ -node /- key="value" "arg" +node /- key=value arg diff --git a/tests/test_cases/input/slashdash_raw_prop_key.kdl b/tests/test_cases/input/slashdash_raw_prop_key.kdl index c9ad5ad..9b0978b 100644 --- a/tests/test_cases/input/slashdash_raw_prop_key.kdl +++ b/tests/test_cases/input/slashdash_raw_prop_key.kdl @@ -1 +1 @@ -node /- key="value" +node /- key=value diff --git a/tests/test_cases/input/slashdash_repeated_prop.kdl b/tests/test_cases/input/slashdash_repeated_prop.kdl index b427175..c94411a 100644 --- a/tests/test_cases/input/slashdash_repeated_prop.kdl +++ b/tests/test_cases/input/slashdash_repeated_prop.kdl @@ -1 +1 @@ -node arg="correct" /- arg="wrong" +node arg=correct /- arg=wrong diff --git a/tests/test_cases/input/space_after_prop_type.kdl b/tests/test_cases/input/space_after_prop_type.kdl index a891dfd..023a75c 100644 --- a/tests/test_cases/input/space_after_prop_type.kdl +++ b/tests/test_cases/input/space_after_prop_type.kdl @@ -1 +1 @@ -node key=(type) false +node key=(type) #false diff --git a/tests/test_cases/input/space_around_prop_marker.kdl b/tests/test_cases/input/space_around_prop_marker.kdl new file mode 100644 index 0000000..52150d8 --- /dev/null +++ b/tests/test_cases/input/space_around_prop_marker.kdl @@ -0,0 +1 @@ +node foo = bar diff --git a/tests/test_cases/input/space_in_arg_type.kdl b/tests/test_cases/input/space_in_arg_type.kdl index 2f9ca24..e2fb065 100644 --- a/tests/test_cases/input/space_in_arg_type.kdl +++ b/tests/test_cases/input/space_in_arg_type.kdl @@ -1 +1 @@ -node (type )false +node (type )#false diff --git a/tests/test_cases/input/space_in_prop_type.kdl b/tests/test_cases/input/space_in_prop_type.kdl index 4e9c750..0a18c97 100644 --- a/tests/test_cases/input/space_in_prop_type.kdl +++ b/tests/test_cases/input/space_in_prop_type.kdl @@ -1 +1 @@ -node key=(type )false +node key=(type )#false diff --git a/tests/test_cases/input/square_bracket_in_bare_id.kdl b/tests/test_cases/input/square_bracket_in_bare_id.kdl index 2dd54e9..62f34e2 100644 --- a/tests/test_cases/input/square_bracket_in_bare_id.kdl +++ b/tests/test_cases/input/square_bracket_in_bare_id.kdl @@ -1 +1 @@ -foo123[bar]foo "weeee" +foo123[bar]foo weeee diff --git a/tests/test_cases/input/string_escaped_literal_whitespace.kdl b/tests/test_cases/input/string_escaped_literal_whitespace.kdl new file mode 100644 index 0000000..1f12126 --- /dev/null +++ b/tests/test_cases/input/string_escaped_literal_whitespace.kdl @@ -0,0 +1,2 @@ +node "Hello \ +World \ Stuff" diff --git a/tests/test_cases/input/trailing_crlf.kdl b/tests/test_cases/input/trailing_crlf.kdl index 64f5a0a..aff78f7 100644 --- a/tests/test_cases/input/trailing_crlf.kdl +++ b/tests/test_cases/input/trailing_crlf.kdl @@ -1 +1 @@ -node +node diff --git a/tests/test_cases/input/unbalanced_raw_hashes.kdl b/tests/test_cases/input/unbalanced_raw_hashes.kdl index 7deb72f..d0213f2 100644 --- a/tests/test_cases/input/unbalanced_raw_hashes.kdl +++ b/tests/test_cases/input/unbalanced_raw_hashes.kdl @@ -1 +1 @@ -node r##"foo"# +node ##"foo"# diff --git a/tests/test_cases/input/underscore_at_start_of_int.kdl b/tests/test_cases/input/underscore_at_start_of_int.kdl deleted file mode 100644 index b854b60..0000000 --- a/tests/test_cases/input/underscore_at_start_of_int.kdl +++ /dev/null @@ -1 +0,0 @@ -node _15 \ No newline at end of file diff --git a/tests/test_cases/input/unicode_delete.kdl b/tests/test_cases/input/unicode_delete.kdl new file mode 100644 index 0000000..3fb52ed --- /dev/null +++ b/tests/test_cases/input/unicode_delete.kdl @@ -0,0 +1,2 @@ +// 0x007F (Delete) +node1 arg diff --git a/tests/test_cases/input/unicode_fsi.kdl b/tests/test_cases/input/unicode_fsi.kdl new file mode 100644 index 0000000..7aece14 --- /dev/null +++ b/tests/test_cases/input/unicode_fsi.kdl @@ -0,0 +1,2 @@ +// 0x2068 +node1 ⁨arg diff --git a/tests/test_cases/input/unicode_lre.kdl b/tests/test_cases/input/unicode_lre.kdl new file mode 100644 index 0000000..33342ae --- /dev/null +++ b/tests/test_cases/input/unicode_lre.kdl @@ -0,0 +1,2 @@ +// 0x202A +node1 ‪arg diff --git a/tests/test_cases/input/unicode_lri.kdl b/tests/test_cases/input/unicode_lri.kdl new file mode 100644 index 0000000..adec826 --- /dev/null +++ b/tests/test_cases/input/unicode_lri.kdl @@ -0,0 +1,2 @@ +// 0x2066 +node1⁦arg diff --git a/tests/test_cases/input/unicode_lrm.kdl b/tests/test_cases/input/unicode_lrm.kdl new file mode 100644 index 0000000..ff37cad --- /dev/null +++ b/tests/test_cases/input/unicode_lrm.kdl @@ -0,0 +1,2 @@ +// 0x200E +node ‎arg diff --git a/tests/test_cases/input/unicode_lro.kdl b/tests/test_cases/input/unicode_lro.kdl new file mode 100644 index 0000000..b084ded --- /dev/null +++ b/tests/test_cases/input/unicode_lro.kdl @@ -0,0 +1,2 @@ +// 0x202D +node ‭arg diff --git a/tests/test_cases/input/unicode_pdf.kdl b/tests/test_cases/input/unicode_pdf.kdl new file mode 100644 index 0000000..9b94fad --- /dev/null +++ b/tests/test_cases/input/unicode_pdf.kdl @@ -0,0 +1,2 @@ +// 0x202C +node ‬arg diff --git a/tests/test_cases/input/unicode_pdi.kdl b/tests/test_cases/input/unicode_pdi.kdl new file mode 100644 index 0000000..d92d2d7 --- /dev/null +++ b/tests/test_cases/input/unicode_pdi.kdl @@ -0,0 +1,2 @@ +// 0x2069 +node ⁩arg diff --git a/tests/test_cases/input/unicode_rle.kdl b/tests/test_cases/input/unicode_rle.kdl new file mode 100644 index 0000000..3b46610 --- /dev/null +++ b/tests/test_cases/input/unicode_rle.kdl @@ -0,0 +1,2 @@ +// 0x202B +node1 ‫arg diff --git a/tests/test_cases/input/unicode_rli.kdl b/tests/test_cases/input/unicode_rli.kdl new file mode 100644 index 0000000..92902ed --- /dev/null +++ b/tests/test_cases/input/unicode_rli.kdl @@ -0,0 +1,2 @@ +// 0x2067 +node1 ⁧arg diff --git a/tests/test_cases/input/unicode_rlm.kdl b/tests/test_cases/input/unicode_rlm.kdl new file mode 100644 index 0000000..bfa63c8 --- /dev/null +++ b/tests/test_cases/input/unicode_rlm.kdl @@ -0,0 +1,2 @@ +// 0x200F +node ‏arg diff --git a/tests/test_cases/input/unicode_rlo.kdl b/tests/test_cases/input/unicode_rlo.kdl new file mode 100644 index 0000000..98c848b --- /dev/null +++ b/tests/test_cases/input/unicode_rlo.kdl @@ -0,0 +1,2 @@ +// 0x202E +node ‮arg diff --git a/tests/test_cases/input/unicode_scalar_high.kdl b/tests/test_cases/input/unicode_scalar_high.kdl new file mode 100644 index 0000000..fb1abb4 --- /dev/null +++ b/tests/test_cases/input/unicode_scalar_high.kdl @@ -0,0 +1,2 @@ +// 0xDFFF (last code point before 0xE000) +node �arg diff --git a/tests/test_cases/input/unicode_scalar_low.kdl b/tests/test_cases/input/unicode_scalar_low.kdl new file mode 100644 index 0000000..010d0b1 --- /dev/null +++ b/tests/test_cases/input/unicode_scalar_low.kdl @@ -0,0 +1,2 @@ +// 0xD800 (first code point after 0xD7FF) +node �arg diff --git a/tests/test_cases/input/unicode_under_0x20.kdl b/tests/test_cases/input/unicode_under_0x20.kdl new file mode 100644 index 0000000..967a87a --- /dev/null +++ b/tests/test_cases/input/unicode_under_0x20.kdl @@ -0,0 +1,2 @@ +// 0x0019 +node1 arg diff --git a/tests/test_cases/input/unusual_bare_id_chars_in_quoted_id.kdl b/tests/test_cases/input/unusual_bare_id_chars_in_quoted_id.kdl index e37de20..9281f70 100644 --- a/tests/test_cases/input/unusual_bare_id_chars_in_quoted_id.kdl +++ b/tests/test_cases/input/unusual_bare_id_chars_in_quoted_id.kdl @@ -1 +1 @@ -"foo123~!@#$%^&*.:'|?+" "weeee" \ No newline at end of file +"foo123~!@#$%^&*.:'|?+<>," weeee diff --git a/tests/test_cases/input/unusual_chars_in_bare_id.kdl b/tests/test_cases/input/unusual_chars_in_bare_id.kdl index d2dcd19..317e824 100644 --- a/tests/test_cases/input/unusual_chars_in_bare_id.kdl +++ b/tests/test_cases/input/unusual_chars_in_bare_id.kdl @@ -1 +1 @@ -foo123~!@#$%^&*.:'|?+ "weeee" +foo123~!@#$%^&*.:'|?+<>, weeee diff --git a/tests/test_cases/input/vertical_tab_whitespace.kdl b/tests/test_cases/input/vertical_tab_whitespace.kdl new file mode 100644 index 0000000..507d3a0 --- /dev/null +++ b/tests/test_cases/input/vertical_tab_whitespace.kdl @@ -0,0 +1 @@ +node arg