[ {"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"} ]