[
  {"type":"CommentMultiline","value":"/- {\n    a\n}"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameLabel","value":"\na"},
  {"type":"Operator","value":";"},
  {"type":"NameLabel","value":" b"},
  {"type":"Operator","value":";"},
  {"type":"NameLabel","value":" c"},
  {"type":"Operator","value":";"},
  {"type":"NameLabel","value":"\n\ncool"},
  {"type":"CommentSingle","value":" /-a=\"thing\" "},
  {"type":"NameAttribute","value":"plus="},
  {"type":"LiteralString","value":"\"something else\""},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"{"},
  {"type":"NameLabel","value":"\n    stuff"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"Operator","value":"}"},
  {"type":"TextWhitespace","value":"\n"},
  {"type":"NameLabel","value":"\na"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumberFloat","value":"12.42e8"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"CommentSingle","value":"// Nodes can be separated into multiple lines\n"},
  {"type":"NameLabel","value":"title"},
  {"type":"TextWhitespace","value":" "},
  {"type":"Operator","value":"\\"},
  {"type":"TextWhitespace","value":"\n  "},
  {"type":"LiteralString","value":"\"Some title\""},
  {"type":"TextWhitespace","value":"\n\n\n"},
  {"type":"CommentSingle","value":"// Files must be utf8 encoded!\n"},
  {"type":"NameLabel","value":"smile"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralString","value":"😁"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"CommentSingle","value":"// Node names and property keys are just strings, so you can write them like\n// quoted or raw strings, too!\n"},
  {"type":"LiteralString","value":"\"illegal(){}[]/"},
  {"type":"LiteralStringEscape","value":"\\\\"},
  {"type":"LiteralString","value":"=#;identifier\""},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralString","value":"#\"1.2.3\"#"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralString","value":"\"#false\""},
  {"type":"Operator","value":"="},
  {"type":"KeywordConstant","value":"#true"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"CommentSingle","value":"// Identifiers are very flexible. The following is a legal bare identifier:\n"},
  {"type":"NameLabel","value":"-\u003c123~!$@%^\u0026*,.:'`|?+\u003e"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"CommentSingle","value":"// And you can also use non-ASCII unicode!\n"},
  {"type":"NameLabel","value":"ノード　お名前"},
  {"type":"Operator","value":"="},
  {"type":"LiteralString","value":"ฅ^•ﻌ•^ฅ"},
  {"type":"TextWhitespace","value":"\n\n"},
  {"type":"CommentSingle","value":"// kdl specifically allows properties and values to be\n// interspersed with each other, much like CLI commands.\n"},
  {"type":"NameLabel","value":"foo"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameAttribute","value":"bar="},
  {"type":"KeywordConstant","value":"#true"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralString","value":"baz"},
  {"type":"TextWhitespace","value":" "},
  {"type":"NameAttribute","value":"quux="},
  {"type":"KeywordConstant","value":"#false"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"2"},
  {"type":"TextWhitespace","value":" "},
  {"type":"LiteralNumber","value":"3"},
  {"type":"TextWhitespace","value":"\n"}
]
