[
  {"type":"LiteralString","value":"\"this is a test\""},
  {"type":"Text","value":"\n"},
  {"type":"LiteralNumber","value":"5"},
  {"type":"Text","value":"\n"},
  {"type":"KeywordConstant","value":"false"},
  {"type":"Text","value":"\n\n"},
  {"type":"CommentSingle","value":"// This is a comment"},
  {"type":"Text","value":"\n"},
  {"type":"Name","value":"a"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n    "},
  {"type":"Name","value":"foo"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":"      "},
  {"type":"KeywordType","value":"string"},
  {"type":"Text","value":"  "},
  {"type":"CommentSingle","value":"// foo is a string"},
  {"type":"Text","value":"\n    "},
  {"type":"Operator","value":"[="},
  {"type":"Punctuation","value":"~"},
  {"type":"LiteralString","value":"\"^i\""},
  {"type":"Operator","value":"]:"},
  {"type":"Text","value":" "},
  {"type":"KeywordType","value":"int"},
  {"type":"Text","value":"     "},
  {"type":"CommentSingle","value":"// all other fields starting with i are integers"},
  {"type":"Text","value":"\n    "},
  {"type":"Operator","value":"[="},
  {"type":"Punctuation","value":"~"},
  {"type":"LiteralString","value":"\"^b\""},
  {"type":"Operator","value":"]:"},
  {"type":"Text","value":" "},
  {"type":"KeywordType","value":"bool"},
  {"type":"Text","value":"    "},
  {"type":"CommentSingle","value":"// all other fields starting with b are booleans"},
  {"type":"Text","value":"\n    "},
  {"type":"Operator","value":"[\u003e"},
  {"type":"LiteralString","value":"\"c\""},
  {"type":"Operator","value":"]:"},
  {"type":"Text","value":"   "},
  {"type":"KeywordType","value":"string"},
  {"type":"Text","value":"  "},
  {"type":"CommentSingle","value":"// all other fields lexically after c are strings"},
  {"type":"Text","value":"\n\n    "},
  {"type":"Operator","value":"..."},
  {"type":"KeywordType","value":"string"},
  {"type":"Text","value":"         "},
  {"type":"CommentSingle","value":"// all other fields must be a string. Note: default constraints are not yet implemented."},
  {"type":"Text","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n"},
  {"type":"Name","value":"x"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"#\"\"\"\n\n "},
  {"type":"LiteralStringInterpol","value":"\\#("},
  {"type":"Name","value":"test"},
  {"type":"LiteralStringInterpol","value":")"},
  {"type":"LiteralString","value":"\n\n\"\"\""},
  {"type":"Text","value":"\n\n"},
  {"type":"Name","value":"b"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"a"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u0026"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n    "},
  {"type":"Name","value":"i3"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":"    "},
  {"type":"LiteralNumber","value":"3"},
  {"type":"Text","value":"\n    "},
  {"type":"Name","value":"bar"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":"   "},
  {"type":"KeywordConstant","value":"true"},
  {"type":"Text","value":"\n    "},
  {"type":"Name","value":"other"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"a string\""},
  {"type":"Text","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n"},
  {"type":"Name","value":"A"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"close"},
  {"type":"Punctuation","value":"({"},
  {"type":"Text","value":"\n    "},
  {"type":"Name","value":"field1"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"KeywordType","value":"string"},
  {"type":"Text","value":"\n    "},
  {"type":"Name","value":"field2"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"KeywordType","value":"string"},
  {"type":"Text","value":"\n"},
  {"type":"Punctuation","value":"})"},
  {"type":"Text","value":"\n\n"},
  {"type":"CommentSingle","value":"// Verify that various field types work"},
  {"type":"Text","value":"\n"},
  {"type":"Name","value":"_hidden"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"KeywordType","value":"int"},
  {"type":"Text","value":"\n"},
  {"type":"Name","value":"regular"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"KeywordType","value":"int"},
  {"type":"Text","value":"\n"},
  {"type":"Name","value":"$id"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"KeywordType","value":"int"},
  {"type":"Text","value":"\n"},
  {"type":"Name","value":"#definition"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"KeywordType","value":"int"},
  {"type":"Text","value":"\n\n"},
  {"type":"Name","value":"@protobuf"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"proto3"},
  {"type":"Punctuation","value":")"},
  {"type":"Text","value":"\n\n"},
  {"type":"Name","value":"myStruct1"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n    "},
  {"type":"CommentSingle","value":"// Struct attribute:"},
  {"type":"Text","value":"\n    "},
  {"type":"Name","value":"@jsonschema"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"id"},
  {"type":"Operator","value":"="},
  {"type":"LiteralString","value":"\"https://example.org/mystruct1.json\""},
  {"type":"Punctuation","value":")"},
  {"type":"Text","value":"\n\n    "},
  {"type":"CommentSingle","value":"// Field attributes"},
  {"type":"Text","value":"\n    "},
  {"type":"Name","value":"field"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"KeywordType","value":"string"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"@go"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"Field"},
  {"type":"Punctuation","value":")"},
  {"type":"Text","value":"\n    "},
  {"type":"Name","value":"attr"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":"  "},
  {"type":"KeywordType","value":"int"},
  {"type":"Text","value":"    "},
  {"type":"Name","value":"@xml"},
  {"type":"Punctuation","value":"("},
  {"type":"Operator","value":","},
  {"type":"Name","value":"attr"},
  {"type":"Punctuation","value":")"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"@go"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"Attr"},
  {"type":"Punctuation","value":")"},
  {"type":"Text","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n"},
  {"type":"Name","value":"myStruct2"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n    "},
  {"type":"Name","value":"field"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"KeywordType","value":"string"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"@go"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"Field"},
  {"type":"Punctuation","value":")"},
  {"type":"Text","value":"\n    "},
  {"type":"Name","value":"attr"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":"  "},
  {"type":"KeywordType","value":"int"},
  {"type":"Text","value":"    "},
  {"type":"Name","value":"@xml"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"a1"},
  {"type":"Operator","value":","},
  {"type":"Name","value":"attr"},
  {"type":"Punctuation","value":")"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"@go"},
  {"type":"Punctuation","value":"("},
  {"type":"Name","value":"Attr"},
  {"type":"Punctuation","value":")"},
  {"type":"Text","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n"},
  {"type":"Name","value":"Combined"},
  {"type":"Operator","value":":"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"myStruct1"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u0026"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"myStruct2"},
  {"type":"Text","value":"\n"},
  {"type":"CommentSingle","value":"// field: string @go(Field)"},
  {"type":"Text","value":"\n"},
  {"type":"CommentSingle","value":"// attr:  int    @xml(,attr) @xml(a1,attr) @go(Attr)"},
  {"type":"Text","value":"\n"}
]