chroma/lexers/testdata/v/v.expected
2025-03-22 20:46:00 +13:00

10363 lines
389 KiB
Text

[
{"type":"KeywordNamespace","value":"module"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"main"},
{"type":"Text","value":"\n\n"},
{"type":"LiteralStringDoc","value":"// main module\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordNamespace","value":"import"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"os"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"input"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"user_os"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"KeywordNamespace","value":"import"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"time"},
{"type":"Text","value":"\n"},
{"type":"KeywordNamespace","value":"import"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"math"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"MyTime"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"time"},
{"type":"Punctuation","value":"."},
{"type":"NameClass","value":"Time"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'hello world'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameFunction","value":"sub"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"100"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"50"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":"\n\n\t"},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"write_log"},
{"type":"Punctuation","value":"(."},
{"type":"NameVariable","value":"return_error"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"or"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Error: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"err"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t\t"},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"n"},
{"type":"LiteralStringSingle","value":" bytes written'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n\t"},
{"type":"CommentSingle","value":"// Functions can be passed to other functions\n"},
{"type":"Text","value":"\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameFunction","value":"run"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"5"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"sqr"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"25\"\n"},
{"type":"Text","value":"\t"},
{"type":"CommentSingle","value":"// Anonymous functions can be declared inside other functions:\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"double_fn"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameFunction","value":"run"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"5"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"double_fn"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"10\"\n"},
{"type":"Text","value":"\t"},
{"type":"CommentSingle","value":"// Functions can be passed around without assigning them to variables:\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"res"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"run"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"5"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"})"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"res"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"10\"\n"},
{"type":"Text","value":"\t"},
{"type":"CommentSingle","value":"// You can even have an array/map of functions:\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"fns"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"NameVariable","value":"sqr"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"cube"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"fns"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":"]("},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"100\"\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"fns_map"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"LiteralStringSingle","value":"'sqr'"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"sqr"},
{"type":"Text","value":"\n\t\t"},
{"type":"LiteralStringSingle","value":"'cube'"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"cube"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"fns_map"},
{"type":"Punctuation","value":"["},
{"type":"LiteralStringSingle","value":"'cube'"},
{"type":"Punctuation","value":"]("},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"8\"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"add"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"y"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"y"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"sub"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"y"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"y"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// This is a single line comment.\n"},
{"type":"CommentMultiline","value":"/*\nThis is a multiline comment.\n /* It can be nested. */\n*/"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"foo"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"foo"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 2\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 3\n"},
{"type":"NameVariable","value":"c"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"_"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"foo"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// ignore values using `_`\n"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Bob'"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"name"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"len"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"s"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralStringAffix","value":"r"},
{"type":"LiteralString","value":"'hello\\nworld'"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// all int literals are supported\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'0xc3'"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"int"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"195"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'0o10'"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"int"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"8"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'0b1111_0000_1010'"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"int"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3850"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'-0b1111_0000_1010'"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"int"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"Operator","value":"-"},
{"type":"LiteralNumberInteger","value":"3850"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Bob'"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Hello, "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"name"},
{"type":"LiteralStringSingle","value":"!'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// Hello, Bob!\n"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"123.4567"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'["},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":":."},
{"type":"LiteralNumber","value":"2"},
{"type":"Punctuation","value":"}"},
{"type":"LiteralStringSingle","value":"]'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'["},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":":"},
{"type":"LiteralNumber","value":"10"},
{"type":"Punctuation","value":"}"},
{"type":"LiteralStringSingle","value":"]'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'["},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"NameBuiltin","value":"int"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":"):"},
{"type":"Operator","value":"-"},
{"type":"LiteralNumber","value":"10"},
{"type":"Punctuation","value":"}"},
{"type":"LiteralStringSingle","value":"]'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'["},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"NameBuiltin","value":"int"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":"):"},
{"type":"Operator","value":"0"},
{"type":"LiteralNumber","value":"10"},
{"type":"Punctuation","value":"}"},
{"type":"LiteralStringSingle","value":"]'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'["},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"NameBuiltin","value":"int"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":"):"},
{"type":"LiteralStringAffix","value":"b"},
{"type":"Punctuation","value":"}"},
{"type":"LiteralStringSingle","value":"]'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'["},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"NameBuiltin","value":"int"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":"):"},
{"type":"LiteralStringAffix","value":"o"},
{"type":"Punctuation","value":"}"},
{"type":"LiteralStringSingle","value":"]'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'["},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"NameBuiltin","value":"int"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":"):"},
{"type":"LiteralStringAffix","value":"X"},
{"type":"Punctuation","value":"}"},
{"type":"LiteralStringSingle","value":"]'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'["},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberFloat","value":"10.0000"},
{"type":"Punctuation","value":":."},
{"type":"LiteralNumber","value":"2"},
{"type":"Punctuation","value":"}"},
{"type":"LiteralStringSingle","value":"]'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'["},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberFloat","value":"10.0000"},
{"type":"Punctuation","value":":."},
{"type":"LiteralNumber","value":"2"},
{"type":"LiteralStringAffix","value":"f"},
{"type":"Punctuation","value":"}"},
{"type":"LiteralStringSingle","value":"]'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"rocket"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`🚀`"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"rocket"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"bytes"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"NameBuiltin","value":"u8"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberHex","value":"0xf0"},
{"type":"Punctuation","value":"),"},
{"type":"Text","value":" "},
{"type":"LiteralNumberHex","value":"0x9f"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberHex","value":"0x9a"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberHex","value":"0x80"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`"},
{"type":"LiteralStringEscape","value":"\\x61"},
{"type":"LiteralStringChar","value":"`"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`a`"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`"},
{"type":"LiteralStringEscape","value":"\\141"},
{"type":"LiteralStringChar","value":"`"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`a`"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`"},
{"type":"LiteralStringEscape","value":"\\u0061"},
{"type":"LiteralStringChar","value":"`"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`a`"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// multibyte literals work too\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`"},
{"type":"LiteralStringEscape","value":"\\u2605"},
{"type":"LiteralStringChar","value":"`"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`★`"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`"},
{"type":"LiteralStringEscape","value":"\\u2605"},
{"type":"LiteralStringChar","value":"`"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"bytes"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"NameBuiltin","value":"u8"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberHex","value":"0xe2"},
{"type":"Punctuation","value":"),"},
{"type":"Text","value":" "},
{"type":"LiteralNumberHex","value":"0x98"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberHex","value":"0x85"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`"},
{"type":"LiteralStringEscape","value":"\\xe2\\x98\\x85"},
{"type":"LiteralStringChar","value":"`"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"bytes"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"NameBuiltin","value":"u8"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberHex","value":"0xe2"},
{"type":"Punctuation","value":"),"},
{"type":"Text","value":" "},
{"type":"LiteralNumberHex","value":"0x98"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberHex","value":"0x85"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`"},
{"type":"LiteralStringEscape","value":"\\342\\230\\205"},
{"type":"LiteralStringChar","value":"`"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"bytes"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"NameBuiltin","value":"u8"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberHex","value":"0xe2"},
{"type":"Punctuation","value":"),"},
{"type":"Text","value":" "},
{"type":"LiteralNumberHex","value":"0x98"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberHex","value":"0x85"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberHex","value":"0x7B"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberBin","value":"0b01111011"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberOct","value":"0o173"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"num"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1_000_000"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"three"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberBin","value":"0b0_11"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"float_num"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"3_122.55"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"hexa"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberHex","value":"0xF_F"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"oct"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberOct","value":"0o17_3"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"i64"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"123"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"u8"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"42"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"i16"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"12345"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"f"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"1.0"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"f1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"f64"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberFloat","value":"3.14"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"f2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"f32"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberFloat","value":"3.14"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"f0"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"42e1"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 420\n"},
{"type":"NameVariable","value":"f1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"123e-2"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 1.23\n"},
{"type":"NameVariable","value":"f2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"456e+2"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 45600\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"nums"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"nums"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c\u003c"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"nums"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c\u003c"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"5"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"6"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"7"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"names"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralStringSingle","value":"'John'"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"names"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c\u003c"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Peter'"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"names"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c\u003c"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Sam'"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"names"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralStringSingle","value":"'John'"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Peter'"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Sam'"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Alex'"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"names"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"false\"\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"nums"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"len"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"3\"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"cap"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"3\" or greater\n"},
{"type":"NameVariable","value":"nums"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// The array is now empty\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"len"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"0\"\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"len"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"10000"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"cap"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"30000"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"init"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"users"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"numbers"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"cap"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1000"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"numbers"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"len"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 0\n// Now appending elements won't reallocate\n"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":" "},
{"type":"Operator","value":".."},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1000"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"numbers"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c\u003c"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"square"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"len"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"6"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"init"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"NameVariableMagic","value":"it"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariableMagic","value":"it"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// square == [0, 1, 4, 9, 16, 25]\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Point"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"y"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Line"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"p1"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Point"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"p2"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Point"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"ObjectSumType"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Line"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Point"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"object_list"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"NameClass","value":"ObjectSumType"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"object_list"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c\u003c"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Point"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"object_list"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c\u003c"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Line"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"p1"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Point"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"p2"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Point"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"dump"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"object_list"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"CommentMultiline","value":"/*\nobject_list: [ObjectSumType(Point{\n\tx: 1\n\ty: 1\n}), ObjectSumType(Line{\n\tp1: Point{\n\t\tx: 3\n\t\ty: 3\n\t}\n\tp2: Point{\n\t\tx: 4\n\t\ty: 4\n\t}\n})]\n*/"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[][]"},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"len"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"init"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"len"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"}}"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":"]["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"nums"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"5"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"6"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"even"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"filter"},
{"type":"Punctuation","value":"("},
{"type":"NameVariableMagic","value":"it"},
{"type":"Text","value":" "},
{"type":"Operator","value":"%"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"even"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// [2, 4, 6]\n// filter can accept anonymous functions\n"},
{"type":"NameVariable","value":"even_fn"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"filter"},
{"type":"Punctuation","value":"("},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":"%"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"})"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"even_fn"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"nums"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"any"},
{"type":"Punctuation","value":"("},
{"type":"NameVariableMagic","value":"it"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// true\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"all"},
{"type":"Punctuation","value":"("},
{"type":"NameVariableMagic","value":"it"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003e="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// false\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"numbers"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"numbers"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"sort"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 1, 2, 3\n"},
{"type":"NameVariable","value":"numbers"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"sort"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 3, 2, 1\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"age"},
{"type":"Text","value":"\t "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"users"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberInteger","value":"21"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Bob'"},
{"type":"Punctuation","value":"},"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberInteger","value":"20"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Zarkon'"},
{"type":"Punctuation","value":"},"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberInteger","value":"25"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Alice'"},
{"type":"Punctuation","value":"}]"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"users"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"sort"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"age"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003c"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"age"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// sort by User.age int field\n"},
{"type":"NameVariable","value":"users"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"sort"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// reverse sort by User.name string field\n"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"custom_sort_fn"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// return -1 when a comes before b\n"},
{"type":"Text","value":"\t"},
{"type":"CommentSingle","value":"// return 0, when both are in same order\n"},
{"type":"Text","value":"\t"},
{"type":"CommentSingle","value":"// return 1 when b comes before a\n"},
{"type":"Text","value":"\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"age"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003c"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"age"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"age"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"age"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-"},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003c"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-"},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"users"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"sort_with_compare"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"custom_sort_fn"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"nums"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"20"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"30"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"40"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Operator","value":".."},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Punctuation","value":"])"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// [10, 20, 30]\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":"["},
{"type":"Operator","value":".."},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Punctuation","value":"])"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// [0, 10, 20, 30]\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Operator","value":".."},
{"type":"Punctuation","value":"])"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// [10, 20, 30, 40]\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"5"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Operator","value":".."},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Punctuation","value":"]."},
{"type":"NameBuiltin","value":"clone"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"5"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"6"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"7"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"8"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"9"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Operator","value":"#"},
{"type":"Punctuation","value":"["},
{"type":"Operator","value":"-"},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Operator","value":".."},
{"type":"Punctuation","value":"])"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// [7, 8, 9]\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Operator","value":"#"},
{"type":"Punctuation","value":"["},
{"type":"Operator","value":"-"},
{"type":"LiteralNumberInteger","value":"20"},
{"type":"Operator","value":".."},
{"type":"Punctuation","value":"])"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Operator","value":"#"},
{"type":"Punctuation","value":"["},
{"type":"Operator","value":"-"},
{"type":"LiteralNumberInteger","value":"20"},
{"type":"Operator","value":"..-"},
{"type":"LiteralNumberInteger","value":"8"},
{"type":"Punctuation","value":"])"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// [0, 1]\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Operator","value":"#"},
{"type":"Punctuation","value":"["},
{"type":"Operator","value":"..-"},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"])"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// [0, 1, 2, 3, 4, 5, 6]\n"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// empty arrays\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Operator","value":"#"},
{"type":"Punctuation","value":"["},
{"type":"Operator","value":"-"},
{"type":"LiteralNumberInteger","value":"20"},
{"type":"Operator","value":"..-"},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Punctuation","value":"])"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// []\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Operator","value":"#"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"20"},
{"type":"Operator","value":".."},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Punctuation","value":"])"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// []\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Operator","value":"#"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"20"},
{"type":"Operator","value":".."},
{"type":"LiteralNumberInteger","value":"30"},
{"type":"Punctuation","value":"])"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// []\n"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"files"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralStringSingle","value":"'pippo.jpg'"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'01.bmp'"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'_v.txt'"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'img_02.jpg'"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'img_01.JPG'"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"filtered"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"files"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"filter"},
{"type":"Punctuation","value":"("},
{"type":"NameVariableMagic","value":"it"},
{"type":"Operator","value":"#"},
{"type":"Punctuation","value":"["},
{"type":"Operator","value":"-"},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Operator","value":".."},
{"type":"Punctuation","value":"]."},
{"type":"NameBuiltin","value":"to_lower"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'.jpg'"},
{"type":"Punctuation","value":")."},
{"type":"KeywordDeclaration","value":"map"},
{"type":"Punctuation","value":"("},
{"type":"NameVariableMagic","value":"it"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"to_upper"},
{"type":"Punctuation","value":"())"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"fnums"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"]"},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// fnums is a fixed size array with 3 elements.\n"},
{"type":"NameVariable","value":"fnums"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"fnums"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"fnums"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"100"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"fnums"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// =\u003e [1, 10, 100]\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"Keyword","value":"typeof"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"fnums"},
{"type":"Punctuation","value":")."},
{"type":"NameVariable","value":"name"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// =\u003e [3]int\n"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"anums"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"fnums"},
{"type":"Punctuation","value":"["},
{"type":"Operator","value":".."},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"m"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"map"},
{"type":"Punctuation","value":"["},
{"type":"NameBuiltin","value":"string"},
{"type":"Punctuation","value":"]"},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// a map with `string` keys and `int` values\n"},
{"type":"NameVariable","value":"m"},
{"type":"Punctuation","value":"["},
{"type":"LiteralStringSingle","value":"'one'"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"m"},
{"type":"Punctuation","value":"["},
{"type":"LiteralStringSingle","value":"'two'"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"m"},
{"type":"Punctuation","value":"["},
{"type":"LiteralStringSingle","value":"'one'"},
{"type":"Punctuation","value":"])"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"1\"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"m"},
{"type":"Punctuation","value":"["},
{"type":"LiteralStringSingle","value":"'bad_key'"},
{"type":"Punctuation","value":"])"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"0\"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'bad_key'"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"m"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// Use `in` to detect whether such key exists\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"m"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"keys"},
{"type":"Punctuation","value":"())"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// ['one', 'two']\n"},
{"type":"NameVariable","value":"m"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"delete"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'two'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"numbers"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralStringSingle","value":"'one'"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralStringSingle","value":"'two'"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"numbers"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"arr"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"large_index"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"999"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"val"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"arr"},
{"type":"Punctuation","value":"["},
{"type":"NameVariable","value":"large_index"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"or"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"panic"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'out of bounds'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"val"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// you can also do this, if you want to *propagate* the access error:\n"},
{"type":"NameVariable","value":"val2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"arr"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"333"},
{"type":"Punctuation","value":"]"},
{"type":"KeywordDeclaration","value":"?"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"val2"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"os"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"input"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Enter your name: '"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Hello, "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"name"},
{"type":"LiteralStringSingle","value":"!'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"t"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"MyTime"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"century"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"int"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberFloat","value":"1.0"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"math"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"trunc"},
{"type":"Punctuation","value":"("},
{"type":"NameBuiltin","value":"f64"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"t"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"year"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"0.009999794661191"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"my_time"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"MyTime"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"year"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2020"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"month"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"12"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"day"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"25"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"time"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"new_time"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"my_time"},
{"type":"Punctuation","value":")."},
{"type":"NameFunction","value":"utc_string"},
{"type":"Punctuation","value":"())"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Century: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"my_time"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"century"},
{"type":"Punctuation","value":"()"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"20"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003c"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"a"},
{"type":"LiteralStringSingle","value":" \u003c "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"b"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"a"},
{"type":"LiteralStringSingle","value":" \u003e "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"b"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"a"},
{"type":"LiteralStringSingle","value":" == "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"b"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"num"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"777"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"s"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"num"},
{"type":"Text","value":" "},
{"type":"Operator","value":"%"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'even'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'odd'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"s"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// \"odd\"\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Abc"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"val"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Xyz"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"foo"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Alphabet"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Abc"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Xyz"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Alphabet"},
{"type":"Punctuation","value":"("},
{"type":"NameClass","value":"Abc"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralStringSingle","value":"'test'"},
{"type":"Punctuation","value":"})"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// sum type\n"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"is"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Abc"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// x is automatically casted to Abc and can be used here\n"},
{"type":"Text","value":"\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":"!"},
{"type":"Keyword","value":"is"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Abc"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Not Abc'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"match"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameClass","value":"Abc"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"CommentSingle","value":"// x is automatically casted to Abc and can be used here\n"},
{"type":"Text","value":"\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameClass","value":"Xyz"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"CommentSingle","value":"// x is automatically casted to Xyz and can be used here\n"},
{"type":"Text","value":"\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"nums"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// true\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Text","value":" "},
{"type":"Operator","value":"!"},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// true\n"},
{"type":"NameVariable","value":"m"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralStringSingle","value":"'one'"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralStringSingle","value":"'two'"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'one'"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"m"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// true\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'three'"},
{"type":"Text","value":" "},
{"type":"Operator","value":"!"},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"m"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// true\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"enum"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Token"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"plus"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"minus"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"div"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"mult"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Parser"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"token"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Token"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"parser"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Parser"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"parser"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"token"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"plus"},
{"type":"Text","value":" "},
{"type":"Operator","value":"||"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"parser"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"token"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"minus"},
{"type":"Text","value":" "},
{"type":"Operator","value":"||"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"parser"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"token"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"div"},
{"type":"Text","value":" "},
{"type":"Operator","value":"||"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"parser"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"token"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"mult"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// ...\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"parser"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"token"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[."},
{"type":"NameVariable","value":"plus"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"minus"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"div"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"mult"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// ...\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"numbers"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"num"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"numbers"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"num"},
{"type":"Operator","value":"++"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"SquareIterator"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"arr"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"idx"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"iter"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"SquareIterator"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"next"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"?"},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"iter"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"idx"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003e="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"iter"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"arr"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"len"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"error"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"''"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"defer"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"iter"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"idx"},
{"type":"Operator","value":"++"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"iter"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"arr"},
{"type":"Punctuation","value":"["},
{"type":"NameVariable","value":"iter"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"idx"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"iter"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"arr"},
{"type":"Punctuation","value":"["},
{"type":"NameVariable","value":"iter"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"idx"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"nums"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"5"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"iter"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"SquareIterator"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"arr"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"nums"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"squared"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"iter"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"squared"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"m"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralStringSingle","value":"'one'"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralStringSingle","value":"'two'"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"key"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"value"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"m"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"key"},
{"type":"LiteralStringSingle","value":" -\u003e "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"value"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// Output: one -\u003e 1\n"},
{"type":"Text","value":"\t"},
{"type":"CommentSingle","value":"//\t\t two -\u003e 2\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"sum"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"100"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"sum"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"i"},
{"type":"Operator","value":"++"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"num"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"num"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"num"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003e="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"break"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":";"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003c"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Punctuation","value":";"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// Don't print 6\n"},
{"type":"Text","value":"\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"6"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"continue"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"i"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameLabel","value":"outer"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Punctuation","value":";"},
{"type":"Text","value":" "},
{"type":"KeywordConstant","value":"true"},
{"type":"Punctuation","value":";"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Operator","value":"++"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"i"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003c"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"7"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"Keyword","value":"continue"},
{"type":"Text","value":" "},
{"type":"NameLabel","value":"outer"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"Keyword","value":"break"},
{"type":"Text","value":" "},
{"type":"NameLabel","value":"outer"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"match"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"os"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralStringSingle","value":"'darwin'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'macOS.'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralStringSingle","value":"'linux'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Linux.'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"os"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"s"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"match"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"number"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'one'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'two'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'many'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"match"},
{"type":"Text","value":" "},
{"type":"KeywordConstant","value":"true"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'if'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'else if'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'else if2'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'else'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"enum"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Color"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"red"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"blue"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"green"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"is_red_or_blue"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Color"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"match"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"red"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"blue"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"KeywordConstant","value":"true"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// comma can be used to test multiple values\n"},
{"type":"Text","value":"\t\t"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"green"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"KeywordConstant","value":"false"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`v`"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"typ"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"match"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralStringChar","value":"`0`"},
{"type":"Operator","value":"..."},
{"type":"LiteralStringChar","value":"`9`"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'digit'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralStringChar","value":"`A`"},
{"type":"Operator","value":"..."},
{"type":"LiteralStringChar","value":"`Z`"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'uppercase'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"LiteralStringChar","value":"`a`"},
{"type":"Operator","value":"..."},
{"type":"LiteralStringChar","value":"`z`"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'lowercase'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'other'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"enum"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"State"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"normal"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"write_log"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"return_error"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// write log file and return number of bytes written\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"write_log"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"s"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"State"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"?"},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"f"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"os"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"create"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'log.txt'"},
{"type":"Punctuation","value":")"},
{"type":"KeywordDeclaration","value":"?"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"defer"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"f"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"close"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"s"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"write_log"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"CommentSingle","value":"// `f.close()` will be called after `f.write()` has been\n"},
{"type":"Text","value":"\t\t"},
{"type":"CommentSingle","value":"// executed, but before `write_log()` finally returns the\n"},
{"type":"Text","value":"\t\t"},
{"type":"CommentSingle","value":"// number of bytes written to `main()`\n"},
{"type":"Text","value":"\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"f"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"writeln"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'This is a log file'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"s"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"return_error"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"CommentSingle","value":"// the file will be closed after the `error()` function\n"},
{"type":"Text","value":"\t\t"},
{"type":"CommentSingle","value":"// has returned - so the error message will still report\n"},
{"type":"Text","value":"\t\t"},
{"type":"CommentSingle","value":"// it as open\n"},
{"type":"Text","value":"\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"error"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'nothing written; file open: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"f"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"is_opened"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// the file will be closed here, too\n"},
{"type":"Text","value":"\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"params"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"ButtonConfig"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"text"},
{"type":"Text","value":"\t\t"},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"is_disabled"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"width"},
{"type":"Text","value":"\t\t"},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"70"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"height"},
{"type":"Text","value":"\t\t"},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"20"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Button"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"text"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"width"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"height"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"new_button"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"ButtonConfig"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"Button"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"Button"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"width"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"width"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"height"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"height"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"text"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"text"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"button"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"new_button"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"text"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Click me'"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"width"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"100"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// the height is unset, so it's the default value\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"button"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"height"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"20"},
{"type":"Text","value":"\n"},
{"type":"NameFunction","value":"new_button"},
{"type":"Punctuation","value":"("},
{"type":"NameClass","value":"ButtonConfig"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"text"},
{"type":"Punctuation","value":":"},
{"type":"LiteralStringSingle","value":"'Click me'"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"width"},
{"type":"Punctuation","value":":"},
{"type":"LiteralNumberInteger","value":"100"},
{"type":"Punctuation","value":"})"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Foo"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// private immutable (default)\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// private mutable\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// (you can list multiple fields with the same access modifier)\n"},
{"type":"KeywordDeclaration","value":"pub"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"d"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// public immutable (readonly)\n"},
{"type":"KeywordDeclaration","value":"pub"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"e"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// public, but mutable only in parent module\n"},
{"type":"KeywordDeclaration","value":"__global"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// (not recommended to use, that's why the 'global' keyword starts with __)\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"f"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// public and mutable both inside and outside parent module\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"age"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"u"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"can_register"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"u"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"age"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"16"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"user"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"age"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"user"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"can_register"},
{"type":"Punctuation","value":"())"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"false\"\n"},
{"type":"NameVariable","value":"user2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"age"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"20"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"user2"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"can_register"},
{"type":"Punctuation","value":"())"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"true\"\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Size"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"width"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"height"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"s"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"Size"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"area"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"s"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"width"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"s"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"height"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Button"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameClass","value":"Size"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"title"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"button"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Button"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"title"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Click me'"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"height"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"button"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"width"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"button"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"area"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"6"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"button"},
{"type":"Punctuation","value":"."},
{"type":"NameClass","value":"Size"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"area"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"6"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"button"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Button"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameClass","value":"Size"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Size"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"width"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"height"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Rgba32_Component"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"r"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"byte"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"g"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"byte"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"byte"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"byte"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"union"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Rgba32"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameClass","value":"Rgba32_Component"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"value"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"u32"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"clr1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Rgba32"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"value"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberHex","value":"0x008811FF"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"clr2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Rgba32"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameClass","value":"Rgba32_Component"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Rgba32_Component"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"128"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"sz"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"sizeof"},
{"type":"Punctuation","value":"("},
{"type":"NameClass","value":"Rgba32"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"unsafe"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Size: "},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"sz"},
{"type":"Punctuation","value":"}"},
{"type":"LiteralStringSingle","value":"B,clr1.b: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"clr1"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"b"},
{"type":"LiteralStringSingle","value":",clr2.b: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"clr2"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"b"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"multiply_by_2"},
{"type":"Punctuation","value":"("},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"arr"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":" "},
{"type":"Operator","value":".."},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"arr"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"len"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"arr"},
{"type":"Punctuation","value":"["},
{"type":"NameVariable","value":"i"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"nums"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameFunction","value":"multiply_by_2"},
{"type":"Punctuation","value":"("},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"nums"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// \"[2, 4, 6]\"\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":"\t\t "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"age"},
{"type":"Text","value":"\t\t\t "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"is_registered"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"register"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"u"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Operator","value":"..."},
{"type":"NameVariable","value":"u"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"is_registered"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"KeywordConstant","value":"true"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"user"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"name"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'abc'"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"age"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"23"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"user"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"register"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"user"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"user"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"sum"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"..."},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"total"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"total"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"total"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameFunction","value":"sum"},
{"type":"Punctuation","value":"())"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 0\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameFunction","value":"sum"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 1\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameFunction","value":"sum"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 5\n// using array decomposition\n"},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameFunction","value":"sum"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"..."},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \u003c-- using prefix ... here. output: 9\n"},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"5"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"6"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"7"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameFunction","value":"sum"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"..."},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// output: 18\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"sqr"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"cube"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"run"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"value"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"op"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"op"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"value"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"my_int"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"my_closure"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"NameVariable","value":"my_int"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"my_int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameFunction","value":"my_closure"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// prints 1\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"new_counter"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"i"},
{"type":"Operator","value":"++"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"new_counter"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameFunction","value":"c"},
{"type":"Punctuation","value":"())"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 1\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameFunction","value":"c"},
{"type":"Punctuation","value":"())"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 2\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameFunction","value":"c"},
{"type":"Punctuation","value":"())"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 3\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"ref"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"print_counter"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"NameVariable","value":"ref"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"*"},
{"type":"NameVariable","value":"ref"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameFunction","value":"print_counter"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 0\n"},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Text","value":"\n"},
{"type":"NameFunction","value":"print_counter"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 10\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Foo"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"abc"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"foo"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"Foo"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"bar"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"foo"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"abc"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Node"},
{"type":"Punctuation","value":"\u003c"},
{"type":"NameClass","value":"T"},
{"type":"Punctuation","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"val"},
{"type":"Text","value":"\t "},
{"type":"NameClass","value":"T"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"left"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"Node"},
{"type":"Punctuation","value":"\u003c"},
{"type":"NameClass","value":"T"},
{"type":"Punctuation","value":"\u003e"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"right"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"Node"},
{"type":"Punctuation","value":"\u003c"},
{"type":"NameClass","value":"T"},
{"type":"Punctuation","value":"\u003e"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"const"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"pi"},
{"type":"Text","value":"\t "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"3.14"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"world"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'世界'"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"const"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"e"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"2.71828"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Color"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"r"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"g"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"rgb"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"r"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"g"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Color"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Color"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"r"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"r"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"g"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"g"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"const"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"numbers"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"red"},
{"type":"Text","value":"\t\t"},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Color"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"r"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"255"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"g"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// evaluate function call at compile-time*\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"blue"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"rgb"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"255"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordNamespace","value":"module"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"mymodule"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"pub"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"const"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"golden_ratio"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"1.61803"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"calc"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"mymodule"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"golden_ratio"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"pub"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"say_hi"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'hello from mymodule!'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"factorial"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"u32"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"u32"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"dump"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"dump"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"dump"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"factorial"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"init"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// your setup code here ...\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Dog"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"breed"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"d"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Dog"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"speak"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'woof'"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Cat"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"breed"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Cat"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"speak"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'meow'"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// unlike Go and like TypeScript, V's interfaces can define fields, not just methods.\n"},
{"type":"KeywordDeclaration","value":"interface"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Speaker"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"breed"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n\t"},
{"type":"NameFunction","value":"speak"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"dog"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Dog"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralStringSingle","value":"'Leonberger'"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"cat"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Cat"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralStringSingle","value":"'Siamese'"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"arr"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"NameClass","value":"Speaker"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"arr"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c\u003c"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"dog"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"arr"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c\u003c"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"cat"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"item"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"arr"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'a "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"item"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"breed"},
{"type":"LiteralStringSingle","value":" says: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"item"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"speak"},
{"type":"Punctuation","value":"()"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"pub"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"interface"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Reader"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":"\n\t"},
{"type":"NameFunction","value":"read"},
{"type":"Punctuation","value":"("},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"buf"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"NameVariable","value":"byte"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"?"},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"pub"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"interface"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Writer"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":"\n\t"},
{"type":"NameFunction","value":"write"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"buf"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"NameVariable","value":"byte"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"?"},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"LiteralStringDoc","value":"// "},
{"type":"GenericEmph","value":"ReaderWriter"},
{"type":"LiteralStringDoc","value":" embeds both Reader and Writer.\n// The effect is the same as copy/pasting all of the\n// Reader and all of the Writer methods/fields into\n// ReaderWriter.\n"},
{"type":"KeywordDeclaration","value":"pub"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"interface"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"ReaderWriter"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameClass","value":"Reader"},
{"type":"Text","value":"\n\t"},
{"type":"NameClass","value":"Writer"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Filter"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameBuiltin","value":"string"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"filter"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"s"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"f"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Filter"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"f"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"s"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"my_filter"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Filter"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"uppercase"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"my_filter"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"uppercase"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"enum"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Color"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Operator","value":"@"},
{"type":"NameVariable","value":"none"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"red"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"green"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"blue"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"color"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Color"},
{"type":"Punctuation","value":"."},
{"type":"Operator","value":"@"},
{"type":"NameVariable","value":"none"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"enum"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Cycle"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"one"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"two"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"three"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Cycle"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"next"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Cycle"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"match"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"one"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"two"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"two"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"three"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"three"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"one"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Cycle"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"one"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"_"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":" "},
{"type":"Operator","value":".."},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"c"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"next"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Empty"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Node"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"value"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"left"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Tree"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"right"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Tree"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Tree"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Empty"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Node"},
{"type":"Text","value":"\n\n"},
{"type":"LiteralStringDoc","value":"// "},
{"type":"GenericEmph","value":"sum"},
{"type":"LiteralStringDoc","value":" up all node values\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"sum"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"tree"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Tree"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"match"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"tree"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameClass","value":"Empty"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameClass","value":"Node"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"tree"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"value"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"sum"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"tree"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"left"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"sum"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"tree"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"right"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"left"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Node"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberFloat","value":"0.2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Empty"},
{"type":"Punctuation","value":"{},"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Empty"},
{"type":"Punctuation","value":"{}}"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"right"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Node"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberFloat","value":"0.3"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Empty"},
{"type":"Punctuation","value":"{},"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Node"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberFloat","value":"0.4"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Empty"},
{"type":"Punctuation","value":"{},"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Empty"},
{"type":"Punctuation","value":"{}}}"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"tree"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Node"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberFloat","value":"0.5"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"left"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"right"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameFunction","value":"sum"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"tree"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 0.2 + 0.3 + 0.4 + 0.5 = 1.4\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Moon"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Mars"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Venus"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"World"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Mars"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Moon"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Venus"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"m"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Mars"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"dust_storm"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"KeywordConstant","value":"true"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"w"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"World"},
{"type":"Punctuation","value":"("},
{"type":"NameClass","value":"Moon"},
{"type":"Punctuation","value":"{})"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"w"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"is"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Moon"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"w"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Mars"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// use `as` to access the Mars instance\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"mars"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"w"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"as"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Mars"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"mars"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"dust_storm"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'bad weather!'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"w"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"is"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Mars"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"typeof"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"w"},
{"type":"Punctuation","value":")."},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Mars'"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"w"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"dust_storm"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'bad weather!'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"m"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Moon"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"moon_walk"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"m"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Mars"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"shiver"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"v"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Venus"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"sweat"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"pass_time"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"w"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"World"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"match"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"w"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"CommentSingle","value":"// using the shadowed match variable, in this case `w` (smart cast)\n"},
{"type":"Text","value":"\t\t"},
{"type":"NameClass","value":"Moon"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"w"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"moon_walk"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameClass","value":"Mars"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"w"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"shiver"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"id"},
{"type":"Text","value":"\t "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Repo"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"users"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"NameClass","value":"User"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"r"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Repo"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"find_user_by_id"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"id"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"!"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"user"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"r"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"users"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"user"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"id"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"id"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"CommentSingle","value":"// V automatically wraps this into an option type\n"},
{"type":"Text","value":"\t\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"user"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"error"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'User "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"id"},
{"type":"LiteralStringSingle","value":" not found'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"repo"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Repo"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"users"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Andrew'"},
{"type":"Punctuation","value":"},"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Bob'"},
{"type":"Punctuation","value":"},"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Charles'"},
{"type":"Punctuation","value":"}]"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"user"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"repo"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"find_user_by_id"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"or"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t "},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"err"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"User 10 not found\"\n"},
{"type":"Text","value":"\t\t "},
{"type":"Keyword","value":"return"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"user"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"id"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"10\"\n"},
{"type":"Text","value":"\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"user"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"Charles\"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordNamespace","value":"import"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"net"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"http"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"f"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"url"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"?"},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"resp"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"http"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"get"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"url"},
{"type":"Punctuation","value":")"},
{"type":"KeywordDeclaration","value":"?"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"resp"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"text"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"resp"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"http"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"get"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"url"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"or"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"err"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"resp"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"http"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"get"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'https://google.com'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"resp"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"text"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// resp is a http.Response, not an optional\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"err"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"do_something"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"s"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"!"},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"s"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'foo'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'foo'"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"error"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'invalid string'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// Could be `return none` as well\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"do_something"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'foo'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"or"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'default'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// a will be 'foo'\n"},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"do_something"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'bar'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"or"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'default'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// b will be 'default'\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Repo"},
{"type":"Punctuation","value":"\u003c"},
{"type":"NameClass","value":"T"},
{"type":"Punctuation","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"db"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"DB"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"id"},
{"type":"Text","value":"\t "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Post"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"id"},
{"type":"Text","value":"\t "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"user_id"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"title"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"body"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"new_repo"},
{"type":"Punctuation","value":"\u003c"},
{"type":"NameClass","value":"T"},
{"type":"Punctuation","value":"\u003e("},
{"type":"NameVariable","value":"db"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"DB"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Repo"},
{"type":"Punctuation","value":"\u003c"},
{"type":"NameClass","value":"T"},
{"type":"Punctuation","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Repo"},
{"type":"Punctuation","value":"\u003c"},
{"type":"NameClass","value":"T"},
{"type":"Punctuation","value":"\u003e{"},
{"type":"NameVariable","value":"db"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"db"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// This is a generic function. V will generate it for every type it's used with.\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"r"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Repo"},
{"type":"Punctuation","value":"\u003c"},
{"type":"NameClass","value":"T"},
{"type":"Punctuation","value":"\u003e)"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"find_by_id"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"id"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"?"},
{"type":"NameClass","value":"T"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"table_name"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"T"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// in this example getting the name of the type gives us the table name\n"},
{"type":"Text","value":"\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"r"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"db"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"query_one"},
{"type":"Punctuation","value":"\u003c"},
{"type":"NameClass","value":"T"},
{"type":"Punctuation","value":"\u003e("},
{"type":"LiteralStringSingle","value":"'select * from "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"table_name"},
{"type":"LiteralStringSingle","value":" where id = ?'"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"id"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"db"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"new_db"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"users_repo"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"new_repo"},
{"type":"Punctuation","value":"\u003c"},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":"\u003e("},
{"type":"NameVariable","value":"db"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// returns Repo\u003cUser\u003e\n"},
{"type":"NameVariable","value":"posts_repo"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"new_repo"},
{"type":"Punctuation","value":"\u003c"},
{"type":"NameClass","value":"Post"},
{"type":"Punctuation","value":"\u003e("},
{"type":"NameVariable","value":"db"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// returns Repo\u003cPost\u003e\n"},
{"type":"NameVariable","value":"user"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"users_repo"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"find_by_id"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":")"},
{"type":"KeywordDeclaration","value":"?"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// find_by_id\u003cUser\u003e\n"},
{"type":"NameVariable","value":"post"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"posts_repo"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"find_by_id"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":")"},
{"type":"KeywordDeclaration","value":"?"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// find_by_id\u003cPost\u003e\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"compare"},
{"type":"Punctuation","value":"\u003c"},
{"type":"NameClass","value":"T"},
{"type":"Punctuation","value":"\u003e("},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"T"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"T"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003c"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-"},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"\u003e"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"p"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// ordinary function without return value\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"math"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqrt"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"c"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"go"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"p"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// p will be run in parallel thread\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"get_hypot"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"sqrt"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"g"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"go"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"get_hypot"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberFloat","value":"54.06"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"2.08"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// spawn thread and get handle to it\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"h1"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"get_hypot"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberFloat","value":"2.32"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"16.74"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// do some other calculation here\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"h2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"g"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"wait"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\t\t\t\t "},
{"type":"CommentSingle","value":"// get result from spawned thread\n"},
{"type":"Text","value":"\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Results: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"h1"},
{"type":"LiteralStringSingle","value":", "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"h2"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// prints `Results: 16.9, 54.1`\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"task"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"id"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"duration"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'task "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"id"},
{"type":"LiteralStringSingle","value":" begin'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"time"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sleep"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"duration"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"time"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"millisecond"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'task "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"id"},
{"type":"LiteralStringSingle","value":" end'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"threads"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"NameVariable","value":"thread"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"threads"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c\u003c"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"go"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"task"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"500"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"threads"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c\u003c"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"go"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"task"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"900"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"threads"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c\u003c"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"go"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"task"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"100"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"threads"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"wait"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'done'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"expensive_computing"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"threads"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"[]"},
{"type":"NameVariable","value":"thread"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":" "},
{"type":"Operator","value":".."},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"threads"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c\u003c"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"go"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"expensive_computing"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"i"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// Join all tasks\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"r"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"threads"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"wait"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'All jobs finished: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"r"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"ch"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"chan"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// unbuffered - \"synchronous\"\n"},
{"type":"NameVariable","value":"ch2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"chan"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"cap"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"100"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// buffer length 100\n"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"ch"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"chan"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"ch2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"chan"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// ...\n"},
{"type":"NameVariable","value":"ch"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"close"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// ...\n"},
{"type":"NameVariable","value":"m"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c-"},
{"type":"NameVariable","value":"ch"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"or"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'channel has been closed'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// propagate error\n"},
{"type":"NameVariable","value":"y"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c-"},
{"type":"NameVariable","value":"ch2"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"?"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"ch"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"chan"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"ch2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"chan"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"ch3"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"chan"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"0.0"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"1.0"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// ... setup go threads that will send on ch/ch2\n"},
{"type":"Text","value":"\t"},
{"type":"Keyword","value":"go"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"the_channel"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"chan"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"time"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sleep"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"5"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"time"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"millisecond"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"the_channel"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c-"},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"1.0"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}("},
{"type":"NameVariable","value":"ch"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"go"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"the_channel"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"chan"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"time"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sleep"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"time"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"millisecond"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"the_channel"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c-"},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"1.0"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}("},
{"type":"NameVariable","value":"ch2"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"go"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"the_channel"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"chan"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"_"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c-"},
{"type":"NameVariable","value":"the_channel"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}("},
{"type":"NameVariable","value":"ch3"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n\t"},
{"type":"Keyword","value":"select"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c-"},
{"type":"NameVariable","value":"ch"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"CommentSingle","value":"// do something with `a`\n"},
{"type":"Text","value":"\t\t\t"},
{"type":"NameBuiltin","value":"eprintln"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'\u003e a: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"a"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c-"},
{"type":"NameVariable","value":"ch2"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"CommentSingle","value":"// do something with predeclared variable `b`\n"},
{"type":"Text","value":"\t\t\t"},
{"type":"NameBuiltin","value":"eprintln"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'\u003e b: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"b"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"ch3"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u003c-"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"CommentSingle","value":"// do something if `c` was sent\n"},
{"type":"Text","value":"\t\t\t"},
{"type":"NameVariable","value":"time"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sleep"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"5"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"time"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"millisecond"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"NameBuiltin","value":"eprintln"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'\u003e c: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"c"},
{"type":"LiteralStringSingle","value":" was send on channel ch3'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t\t"},
{"type":"LiteralNumberInteger","value":"500"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"time"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"millisecond"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"CommentSingle","value":"// do something if no channel has become ready within 0.5s\n"},
{"type":"Text","value":"\t\t\t"},
{"type":"NameBuiltin","value":"eprintln"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'\u003e more than 0.5s passed without a channel being ready'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"eprintln"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'\u003e done'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Abc"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberFloat","value":"2.13"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"ch"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"chan"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"f64"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"res"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"ch"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"try_push"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// try to perform `ch \u003c- a`\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"res"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"l"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"ch"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"len"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// number of elements in queue\n"},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"ch"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"cap"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// maximum queue length\n"},
{"type":"NameVariable","value":"is_closed"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"ch"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"closed"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// bool flag - has `ch` been closed\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"l"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"c"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Abc"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"ch2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"chan"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Abc"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"res2"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"ch2"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"try_pop"},
{"type":"Punctuation","value":"("},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// try to perform `b = \u003c-ch2`\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"St"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// data to be shared\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"KeywordDeclaration","value":"shared"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"St"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"g"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"lock"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"CommentSingle","value":"// read/modify/write b.x\n"},
{"type":"Text","value":"\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"shared"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"St"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"go"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"g"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// ...\n"},
{"type":"Text","value":"\t"},
{"type":"Keyword","value":"rlock"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"CommentSingle","value":"// read a.x\n"},
{"type":"Text","value":"\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordNamespace","value":"import"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"json"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Foo"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"required"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"age"},
{"type":"Text","value":"\t "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// Use the `skip` attribute to skip certain fields\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"foo"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Foo"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"skip"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// If the field name is different in JSON, it can be specified\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"last_name"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"json"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"lastName"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"data"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'{ \"name\": \"Frodo\", \"lastName\": \"Baggins\", \"age\": 25 }'"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"user"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"json"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"decode"},
{"type":"Punctuation","value":"("},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"data"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"or"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"eprintln"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Failed to decode json, error: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"err"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"user"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"user"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"last_name"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"user"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"age"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// You can also decode JSON arrays:\n"},
{"type":"NameVariable","value":"sfoos"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'[{\"x\":123},{\"x\":456}]'"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"foos"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"json"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"decode"},
{"type":"Punctuation","value":"([]"},
{"type":"NameClass","value":"Foo"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"sfoos"},
{"type":"Punctuation","value":")"},
{"type":"KeywordDeclaration","value":"?"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"foos"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":"]."},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"foos"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":"]."},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"score"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"i64"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"data"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"map"},
{"type":"Punctuation","value":"["},
{"type":"NameBuiltin","value":"string"},
{"type":"Punctuation","value":"]"},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"user"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"name"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Pierre'"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"score"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1024"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"data"},
{"type":"Punctuation","value":"["},
{"type":"LiteralStringSingle","value":"'x'"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"42"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"data"},
{"type":"Punctuation","value":"["},
{"type":"LiteralStringSingle","value":"'y'"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"360"},
{"type":"Text","value":"\n\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"json"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"encode"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"data"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// {\"x\":42,\"y\":360}\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"json"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"encode"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"user"},
{"type":"Punctuation","value":"))"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// {\"name\":\"Pierre\",\"score\":1024}\n"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"test_hello"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"hello"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Hello world'"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordNamespace","value":"import"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"strconv"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"test_atoi"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"?"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"strconv"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"atoi"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'1'"},
{"type":"Punctuation","value":")"},
{"type":"KeywordDeclaration","value":"?"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"strconv"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"atoi"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'one'"},
{"type":"Punctuation","value":")"},
{"type":"KeywordDeclaration","value":"?"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// test will fail\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"test_subtest"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"res"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"os"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"execute"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"os"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"quoted_path"},
{"type":"Punctuation","value":"("},
{"type":"NameVariableMagic","value":"@VEXE"},
{"type":"Punctuation","value":")}"},
{"type":"LiteralStringSingle","value":" other_test.v'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"res"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"exit_code"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"res"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"output"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"contains"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'other_test.v does not exist'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"os"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"execute"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"os"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"quoted_path"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringDouble","value":"\"{test}. "},
{"type":"LiteralStringEscape","value":"\\$"},
{"type":"LiteralStringDouble","value":"{another test}. \\{and another\\}\""},
{"type":"Punctuation","value":")}"},
{"type":"LiteralStringSingle","value":" other_test.v'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"RefStruct"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"r"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"MyStruct"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"heap"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"MyStruct"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"m"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"MyStruct"},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"r"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"RefStruct"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"r"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"m"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"r"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"g"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'r: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"r"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"r"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"RefStruct"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"g"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"s"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"MyStruct"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"n"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"7"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"r"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"f"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"s"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// reference to `s` inside `r` is passed back to `main() `\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"r"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"RefStruct"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"f"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"s"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"MyStruct"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"r"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"r"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"s"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// would trigger error without `[heap]`\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordNamespace","value":"import"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"sqlite"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// sets a custom table name. Default is struct name (case-sensitive)\n"},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"table"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"'"},
{"type":"LiteralStringSingle","value":"customers'"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Customer"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"id"},
{"type":"Text","value":"\t\t "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\t "},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"primary"},
{"type":"Punctuation","value":";"},
{"type":"Text","value":" "},
{"type":"NameAttribute","value":"sql"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralString","value":"serial"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// a field named `id` of integer type must be the first field\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":"\t "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"nonull"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"nr_orders"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"country"},
{"type":"Text","value":"\t "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"nonull"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"db"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"sqlite"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"connect"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'customers.db'"},
{"type":"Punctuation","value":")"},
{"type":"KeywordDeclaration","value":"?"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"sql"},
{"type":"Text","value":" "},
{"type":"Name","value":"db"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Keyword","value":"create"},
{"type":"TextWhitespace","value":" "},
{"type":"Keyword","value":"table"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"Customer"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// select count(*) from customers\n"},
{"type":"NameVariable","value":"nr_customers"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"sql"},
{"type":"Text","value":" "},
{"type":"Name","value":"db"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Keyword","value":"select"},
{"type":"TextWhitespace","value":" "},
{"type":"Keyword","value":"count"},
{"type":"TextWhitespace","value":" "},
{"type":"Keyword","value":"from"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"Customer"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'number of all customers: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"nr_customers"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// V syntax can be used to build queries\n"},
{"type":"NameVariable","value":"uk_customers"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"sql"},
{"type":"Text","value":" "},
{"type":"Name","value":"db"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Keyword","value":"select"},
{"type":"TextWhitespace","value":" "},
{"type":"Keyword","value":"from"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"Customer"},
{"type":"TextWhitespace","value":" "},
{"type":"Keyword","value":"where"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"country"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"=="},
{"type":"TextWhitespace","value":" "},
{"type":"LiteralStringSingle","value":"'uk'"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"\u0026\u0026"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"nr_orders"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"\u003e"},
{"type":"TextWhitespace","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"uk_customers"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"len"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"customer"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"uk_customers"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"customer"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"id"},
{"type":"LiteralStringSingle","value":" - "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"customer"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// by adding `limit 1` we tell V that there will be only one object\n"},
{"type":"NameVariable","value":"customer"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"sql"},
{"type":"Text","value":" "},
{"type":"Name","value":"db"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Keyword","value":"select"},
{"type":"TextWhitespace","value":" "},
{"type":"Keyword","value":"from"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"Customer"},
{"type":"TextWhitespace","value":" "},
{"type":"Keyword","value":"where"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"id"},
{"type":"TextWhitespace","value":" "},
{"type":"Operator","value":"=="},
{"type":"TextWhitespace","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"TextWhitespace","value":" "},
{"type":"Keyword","value":"limit"},
{"type":"TextWhitespace","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"customer"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"id"},
{"type":"LiteralStringSingle","value":" - "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"customer"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// insert a new customer\n"},
{"type":"NameVariable","value":"new_customer"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Customer"},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"name"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Bob'"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"nr_orders"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"10"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"sql"},
{"type":"Text","value":" "},
{"type":"Name","value":"db"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"TextWhitespace","value":"\n\t"},
{"type":"Keyword","value":"insert"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"new_customer"},
{"type":"TextWhitespace","value":" "},
{"type":"Keyword","value":"into"},
{"type":"TextWhitespace","value":" "},
{"type":"Name","value":"Customer"},
{"type":"TextWhitespace","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"LiteralStringDoc","value":"// "},
{"type":"GenericEmph","value":"clearall"},
{"type":"LiteralStringDoc","value":" clears all bits in the array\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"clearall"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"LiteralStringDoc","value":"// "},
{"type":"GenericEmph","value":"copy_all"},
{"type":"LiteralStringDoc","value":" recursively copies all elements of the array by their value,\n// "},
{"type":"GenericHeading","value":"# Some Heading"},
{"type":"Text","value":"\n"},
{"type":"LiteralStringDoc","value":"// if `dupes` is false all duplicate values are eliminated in the process.\n"},
{"type":"LiteralStringDelimiter","value":"// ----------------------------------------\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"copy_all"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"dupes"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// ...\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"sw"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"time"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"new_stopwatch"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Hello world'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Greeting the world took: "},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"sw"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"elapsed"},
{"type":"Punctuation","value":"()."},
{"type":"NameFunction","value":"nanoseconds"},
{"type":"Punctuation","value":"()}"},
{"type":"LiteralStringSingle","value":"ns'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// allocate 2 uninitialized bytes \u0026 return a reference to them\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"p"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"unsafe"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"malloc"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"p"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`h`"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// Error: pointer indexing is only allowed in `unsafe` blocks\n"},
{"type":"Keyword","value":"unsafe"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"p"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`h`"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// OK\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"p"},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`i`"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"p"},
{"type":"Operator","value":"++"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// Error: pointer arithmetic is only allowed in `unsafe` blocks\n"},
{"type":"Keyword","value":"unsafe"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"p"},
{"type":"Operator","value":"++"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// OK\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"Operator","value":"*"},
{"type":"NameVariable","value":"p"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralStringChar","value":"`i`"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Foo"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"sizeof"},
{"type":"Punctuation","value":"("},
{"type":"NameClass","value":"Foo"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"8"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"__offsetof"},
{"type":"Punctuation","value":"("},
{"type":"NameClass","value":"Foo"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"__offsetof"},
{"type":"Punctuation","value":"("},
{"type":"NameClass","value":"Foo"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Text","value":"\n\n"},
{"type":"CommentPreproc","value":"#flag -lsqlite3"},
{"type":"Text","value":"\n"},
{"type":"CommentPreproc","value":"#include"},
{"type":"Text","value":" "},
{"type":"CommentPreprocFile","value":"\"sqlite3.h\""},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// See also the example from https://www.sqlite.org/quickstart.html\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"sqlite3"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"sqlite3_stmt"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"type"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"FnSqlite3Callback"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"KeywordType","value":"voidptr"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026\u0026"},
{"type":"NameVariable","value":"char"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026\u0026"},
{"type":"NameVariable","value":"char"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_open"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"char"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026\u0026"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"sqlite3"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_close"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"sqlite3"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_column_int"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"stmt"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"sqlite3_stmt"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"n"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// ... you can also just define the type of parameter and leave out the C. prefix\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_prepare_v2"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"sqlite3"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"char"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026\u0026"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"sqlite3_stmt"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026\u0026"},
{"type":"NameVariable","value":"char"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_step"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"sqlite3_stmt"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_finalize"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"sqlite3_stmt"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_exec"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"db"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"sqlite3"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"sql"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"char"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"cb"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"FnSqlite3Callback"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"cb_arg"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"voidptr"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"emsg"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026\u0026"},
{"type":"NameVariable","value":"char"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_free"},
{"type":"Punctuation","value":"("},
{"type":"KeywordType","value":"voidptr"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"my_callback"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"arg"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"voidptr"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"howmany"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"cvalues"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026\u0026"},
{"type":"NameVariable","value":"char"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"cnames"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026\u0026"},
{"type":"NameVariable","value":"char"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"unsafe"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":" "},
{"type":"Operator","value":".."},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"howmany"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"NameBuiltin","value":"print"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'| "},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"NameBuiltin","value":"cstring_to_vstring"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"cnames"},
{"type":"Punctuation","value":"["},
{"type":"NameVariable","value":"i"},
{"type":"Punctuation","value":"])}"},
{"type":"LiteralStringSingle","value":": "},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"NameBuiltin","value":"cstring_to_vstring"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"cvalues"},
{"type":"Punctuation","value":"["},
{"type":"NameVariable","value":"i"},
{"type":"Punctuation","value":"]):"},
{"type":"LiteralNumber","value":"20"},
{"type":"Punctuation","value":"}"},
{"type":"LiteralStringSingle","value":" '"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'|'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"db"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// this means `sqlite3* db = 0`\n"},
{"type":"Text","value":"\t"},
{"type":"CommentSingle","value":"// passing a string literal to a C function call results in a C string, not a V string\n"},
{"type":"Text","value":"\t"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_open"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringAffix","value":"c"},
{"type":"LiteralStringSingle","value":"'users.db'"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"db"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// C.sqlite3_open(db_path.str, \u0026db)\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"query"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'select count(*) from users'"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"stmt"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_stmt"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// NB: you can also use the `.str` field of a V string,\n"},
{"type":"Text","value":"\t"},
{"type":"CommentSingle","value":"// to get its C style zero terminated representation\n"},
{"type":"Text","value":"\t"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_prepare_v2"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"db"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameFunction","value":"char"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"query"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"str"},
{"type":"Punctuation","value":"),"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-"},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"stmt"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_step"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"stmt"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"nr_users"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_column_int"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"stmt"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_finalize"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"stmt"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'There are "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"nr_users"},
{"type":"LiteralStringSingle","value":" users in the database.'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"//\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"error_msg"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameFunction","value":"char"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"query_all_users"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'select * from users'"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"rc"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_exec"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"db"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameFunction","value":"char"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"query_all_users"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"str"},
{"type":"Punctuation","value":"),"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"my_callback"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"voidptr"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"7"},
{"type":"Punctuation","value":"),"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"error_msg"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"rc"},
{"type":"Text","value":" "},
{"type":"Operator","value":"!="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameClass","value":"SQLITE_OK"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"eprintln"},
{"type":"Punctuation","value":"("},
{"type":"Keyword","value":"unsafe"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"cstring_to_vstring"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"error_msg"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"})"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_free"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"error_msg"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"sqlite3_close"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"db"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"export"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"'"},
{"type":"LiteralStringSingle","value":"my_custom_c_name'"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"foo"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"windows"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"CommentPreproc","value":"#include"},
{"type":"Text","value":" "},
{"type":"CommentPreprocFile","value":"\"@VEXEROOT/thirdparty/stdatomic/win/atomic.h\""},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"CommentPreproc","value":"#include"},
{"type":"Text","value":" "},
{"type":"CommentPreprocFile","value":"\"@VEXEROOT/thirdparty/stdatomic/nix/atomic.h\""},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// declare functions we want to use - V does not parse the C header\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"atomic_store_u32"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"KeywordType","value":"u32"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"u32"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"atomic_load_u32"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"KeywordType","value":"u32"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"u32"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"atomic_compare_exchange_weak_u32"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"KeywordType","value":"u32"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"KeywordType","value":"u32"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"u32"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"atomic_compare_exchange_strong_u32"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"KeywordType","value":"u32"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"KeywordType","value":"u32"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"u32"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"bool"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"const"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"num_iterations"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"10000000"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// see section \"Global Variables\" below\n"},
{"type":"KeywordDeclaration","value":"__global"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"atom"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"u32"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// ordinary variable but used as atomic\n"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"change"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"races_won_by_change"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"cmp"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"u32"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"17"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// addressable value to compare with and to store the found value\n"},
{"type":"Text","value":"\t\t"},
{"type":"CommentSingle","value":"// atomic version of `if atom == 17 { atom = 23 races_won_by_change++ } else { cmp = atom }`\n"},
{"type":"Text","value":"\t\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"atomic_compare_exchange_strong_u32"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"atom"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"cmp"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"23"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"NameVariable","value":"races_won_by_change"},
{"type":"Operator","value":"++"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"cmp"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"31"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t\t"},
{"type":"Keyword","value":"break"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"NameVariable","value":"cmp"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"17"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// re-assign because overwritten with value of atom\n"},
{"type":"Text","value":"\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"races_won_by_change"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"atomic_store_u32"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"atom"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"17"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"t"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"go"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"change"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"races_won_by_main"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"cmp17"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"u32"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"17"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"cmp23"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"u32"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"23"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":" "},
{"type":"Operator","value":".."},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"num_iterations"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"CommentSingle","value":"// atomic version of `if atom == 17 { atom = 23 races_won_by_main++ }`\n"},
{"type":"Text","value":"\t\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"atomic_compare_exchange_strong_u32"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"atom"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"cmp17"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"23"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"NameVariable","value":"races_won_by_main"},
{"type":"Operator","value":"++"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"NameVariable","value":"cmp17"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"17"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameVariable","value":"desir"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"i"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"num_iterations"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"u32"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"31"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"u32"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"17"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t\t"},
{"type":"CommentSingle","value":"// atomic version of `for atom != 23 {} atom = desir`\n"},
{"type":"Text","value":"\t\t"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"Operator","value":"!"},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"atomic_compare_exchange_weak_u32"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"atom"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"cmp23"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"desir"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"NameVariable","value":"cmp23"},
{"type":"Text","value":" "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"23"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"races_won_by_change"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"t"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"wait"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"atom_new"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"C"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"atomic_load_u32"},
{"type":"Punctuation","value":"("},
{"type":"Operator","value":"\u0026"},
{"type":"NameVariable","value":"atom"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'atom: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"atom_new"},
{"type":"LiteralStringSingle","value":", #exchanges: "},
{"type":"Operator","value":"$"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"races_won_by_main"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"races_won_by_change"},
{"type":"Punctuation","value":"}"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// prints `atom: 31, #exchanges: 10000000`)\n"},
{"type":"Text","value":"\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'races won by"},
{"type":"LiteralStringEscape","value":"\\n"},
{"type":"LiteralStringSingle","value":"- `main()`: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"races_won_by_main"},
{"type":"LiteralStringEscape","value":"\\n"},
{"type":"LiteralStringSingle","value":"- `change()`: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"races_won_by_change"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordNamespace","value":"import"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"sync"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"__global"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"sem"},
{"type":"Text","value":"\t "},
{"type":"NameVariable","value":"sync"},
{"type":"Punctuation","value":"."},
{"type":"NameClass","value":"Semaphore"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// needs initialization in `init()`\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"mtx"},
{"type":"Text","value":"\t "},
{"type":"NameVariable","value":"sync"},
{"type":"Punctuation","value":"."},
{"type":"NameClass","value":"RwMutex"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// needs initialization in `init()`\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"f1"},
{"type":"Text","value":"\t "},
{"type":"Operator","value":"="},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"f64"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberFloat","value":"34.0625"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// explicily initialized\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"shmap"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"shared"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"map"},
{"type":"Punctuation","value":"["},
{"type":"NameBuiltin","value":"string"},
{"type":"Punctuation","value":"]"},
{"type":"KeywordType","value":"f64"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// initialized as empty `shared` map\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"f2"},
{"type":"Text","value":"\t "},
{"type":"KeywordType","value":"f64"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// initialized to `0.0`\n"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"init"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"sem"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"init"},
{"type":"Punctuation","value":"("},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"mtx"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"init"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentPreproc","value":"#flag linux -lsdl2"},
{"type":"Text","value":"\n"},
{"type":"CommentPreproc","value":"#flag linux -Ivig"},
{"type":"Text","value":"\n"},
{"type":"CommentPreproc","value":"#flag linux -DCIMGUI_DEFINE_ENUMS_AND_STRUCTS=1"},
{"type":"Text","value":"\n"},
{"type":"CommentPreproc","value":"#flag linux -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1"},
{"type":"Text","value":"\n"},
{"type":"CommentPreproc","value":"#flag linux -DIMGUI_IMPL_API="},
{"type":"Text","value":"\n\n"},
{"type":"CommentPreproc","value":"#pkgconfig r_core"},
{"type":"Text","value":"\n"},
{"type":"CommentPreproc","value":"#pkgconfig --cflags --libs r_core"},
{"type":"Text","value":"\n\n"},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"NameBuiltin","value":"pkgconfig"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'mysqlclient'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"CommentPreproc","value":"#pkgconfig mysqlclient"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"NameBuiltin","value":"pkgconfig"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'mariadb'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"CommentPreproc","value":"#pkgconfig mariadb"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentPreproc","value":"#flag -I @VMODROOT/c"},
{"type":"Text","value":"\n"},
{"type":"CommentPreproc","value":"#flag @VMODROOT/c/implementation.o"},
{"type":"Text","value":"\n"},
{"type":"CommentPreproc","value":"#include"},
{"type":"Text","value":" "},
{"type":"CommentPreprocFile","value":"\"header.h\""},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// Support for multiple conditions in one branch\n"},
{"type":"Text","value":"\t"},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"ios"},
{"type":"Text","value":" "},
{"type":"Operator","value":"||"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"android"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Running on a mobile device!'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"linux"},
{"type":"Text","value":" "},
{"type":"Operator","value":"\u0026\u0026"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"x64"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'64-bit Linux.'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// Usage as expression\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"os"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"windows"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Windows'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'UNIX'"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Using "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"os"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// $else-$if branches\n"},
{"type":"Text","value":"\t"},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"tinyc"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'tinyc'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"clang"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'clang'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"gcc"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'gcc'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"else"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'different compiler'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"test"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'testing'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// v -cg ...\n"},
{"type":"Text","value":"\t"},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"debug"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'debugging'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// v -prod ...\n"},
{"type":"Text","value":"\t"},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"prod"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'production build'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// v -d option ...\n"},
{"type":"Text","value":"\t"},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"option"},
{"type":"Text","value":" "},
{"type":"KeywordDeclaration","value":"?"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'custom option'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"embedded_file"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"NameBuiltin","value":"embed_file"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'v.png'"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"zlib"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// compressed using zlib\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"os"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"write_file"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'exported.png'"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"embedded_file"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"to_string"},
{"type":"Punctuation","value":"())"},
{"type":"KeywordDeclaration","value":"?"},
{"type":"Text","value":"\n\n\t"},
{"type":"NameVariable","value":"compile_time_env"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"NameBuiltin","value":"env"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'ENV_VAR'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"compile_time_env"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"build"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"name"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'Peter'"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"age"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"25"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"numbers"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"["},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"Operator","value":"$"},
{"type":"NameBuiltin","value":"tmpl"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'1.txt'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"linux"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Operator","value":"$"},
{"type":"NameBuiltin","value":"compile_error"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'Linux is not supported'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameBuiltin","value":"eprintln"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'file: '"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameVariableMagic","value":"@FILE"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"' | line: '"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameVariableMagic","value":"@LINE"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"' | fn: '"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameVariableMagic","value":"@MOD"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'.'"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameVariableMagic","value":"@FN"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordNamespace","value":"import"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"v"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"vmod"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"vm"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"vmod"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"decode"},
{"type":"Punctuation","value":"("},
{"type":"Text","value":" "},
{"type":"NameVariableMagic","value":"@VMOD_FILE"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"or"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"panic"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"err"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"eprintln"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"vm"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"LiteralStringSingle","value":" "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"vm"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"version"},
{"type":"LiteralStringEscape","value":"\\n"},
{"type":"LiteralStringSingle","value":" "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"vm"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"description"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"for"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"field"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"in"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"User"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"fields"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Operator","value":"$"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"field"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"typ"},
{"type":"Text","value":" "},
{"type":"Keyword","value":"is"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"field"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"name"},
{"type":"LiteralStringSingle","value":" is of type string'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"struct"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Vec"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"y"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"int"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Vec"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"str"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"string"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"LiteralStringSingle","value":"'{"},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"x"},
{"type":"LiteralStringSingle","value":", "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"y"},
{"type":"LiteralStringSingle","value":"}'"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Vec"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Vec"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Vec"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Vec"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"y"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"y"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Vec"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Vec"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Vec"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"return"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Vec"},
{"type":"Punctuation","value":"{"},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"x"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"y"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"y"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Vec"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"3"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Vec"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberInteger","value":"4"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"5"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"Vec"},
{"type":"Punctuation","value":"{"},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"{6, 8}\"\n"},
{"type":"Text","value":"\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":"-"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"{-2, -2}\"\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":"+="},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":"\n\t"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"c"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// \"{3, 5}\"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"100"},
{"type":"Text","value":"\n"},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"20"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"0"},
{"type":"Text","value":"\n"},
{"type":"Keyword","value":"asm"},
{"type":"Text","value":" "},
{"type":"KeywordType","value":"amd64"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameFunction","value":"mov"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"eax"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"a"},
{"type":"Text","value":"\n\t"},
{"type":"NameFunction","value":"add"},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"eax"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":"\n\t"},
{"type":"NameFunction","value":"mov"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"c"},
{"type":"Punctuation","value":","},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"eax"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"; =r (c) as c // output"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"; r (a) as a // input"},
{"type":"Text","value":"\n\t "},
{"type":"NameFunction","value":"r"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"("},
{"type":"NameVariable","value":"b"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"as"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"b"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'a: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"a"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 100\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'b: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"b"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 20\n"},
{"type":"NameBuiltin","value":"println"},
{"type":"Punctuation","value":"("},
{"type":"LiteralStringSingle","value":"'c: "},
{"type":"Operator","value":"$"},
{"type":"NameVariable","value":"c"},
{"type":"LiteralStringSingle","value":"'"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// 120\n"},
{"type":"Text","value":"\n"},
{"type":"CommentSingle","value":"// [flag] enables Enum types to be used as bitfields\n"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"flag"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"enum"},
{"type":"Text","value":" "},
{"type":"NameClass","value":"BitField"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"read"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"write"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"other"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"main"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"1"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"int"},
{"type":"Punctuation","value":"("},
{"type":"NameClass","value":"BitField"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"read"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"LiteralNumberInteger","value":"2"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"NameBuiltin","value":"int"},
{"type":"Punctuation","value":"("},
{"type":"NameClass","value":"BitField"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"write"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"KeywordDeclaration","value":"mut"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"bf"},
{"type":"Text","value":" "},
{"type":"Operator","value":":="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"BitField"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"read"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"bf"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"has"},
{"type":"Punctuation","value":"(."},
{"type":"NameVariable","value":"read"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"other"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// test if *at least one* of the flags is set\n"},
{"type":"Text","value":"\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"Operator","value":"!"},
{"type":"NameVariable","value":"bf"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"all"},
{"type":"Punctuation","value":"(."},
{"type":"NameVariable","value":"read"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"other"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// test if *all* of the flags is set\n"},
{"type":"Text","value":"\t"},
{"type":"NameVariable","value":"bf"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"set"},
{"type":"Punctuation","value":"(."},
{"type":"NameVariable","value":"write"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"other"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"bf"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"has"},
{"type":"Punctuation","value":"(."},
{"type":"NameVariable","value":"read"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"write"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"other"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"bf"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"all"},
{"type":"Punctuation","value":"(."},
{"type":"NameVariable","value":"read"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"write"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"other"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"NameVariable","value":"bf"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"toggle"},
{"type":"Punctuation","value":"(."},
{"type":"NameVariable","value":"other"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"bf"},
{"type":"Text","value":" "},
{"type":"Operator","value":"=="},
{"type":"Text","value":" "},
{"type":"NameClass","value":"BitField"},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"read"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"write"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"bf"},
{"type":"Punctuation","value":"."},
{"type":"NameBuiltin","value":"all"},
{"type":"Punctuation","value":"(."},
{"type":"NameVariable","value":"read"},
{"type":"Text","value":" "},
{"type":"Operator","value":"|"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"."},
{"type":"NameVariable","value":"write"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n\t"},
{"type":"Keyword","value":"assert"},
{"type":"Text","value":" "},
{"type":"Operator","value":"!"},
{"type":"NameVariable","value":"bf"},
{"type":"Punctuation","value":"."},
{"type":"NameFunction","value":"has"},
{"type":"Punctuation","value":"(."},
{"type":"NameVariable","value":"other"},
{"type":"Punctuation","value":")"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// Calling this function will result in a deprecation warning\n"},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"deprecated"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"old_function"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// It can also display a custom deprecation message\n"},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"deprecated"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"'"},
{"type":"LiteralStringSingle","value":"use new_function() instead'"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"deprecated_after"},
{"type":"Punctuation","value":":"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"'"},
{"type":"LiteralStringSingle","value":"2021-05-27'"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"legacy_function"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// This function's calls will be inlined.\n"},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"inline"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"inlined_function"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"CommentSingle","value":"// This function's calls will NOT be inlined.\n"},
{"type":"Punctuation","value":"["},
{"type":"NameAttribute","value":"noinline"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"function"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Punctuation","value":"["},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameAttribute","value":"debug"},
{"type":"Punctuation","value":"]"},
{"type":"Text","value":"\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"foo"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"KeywordDeclaration","value":"fn"},
{"type":"Text","value":" "},
{"type":"NameFunction","value":"bar"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"NameFunction","value":"foo"},
{"type":"Punctuation","value":"()"},
{"type":"Text","value":" "},
{"type":"CommentSingle","value":"// will not be called if `-d debug` is not passed\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\n"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"x"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// ...\n"},
{"type":"Text","value":"\t"},
{"type":"Keyword","value":"if"},
{"type":"Text","value":" "},
{"type":"NameVariable","value":"y"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t"},
{"type":"Keyword","value":"unsafe"},
{"type":"Text","value":" "},
{"type":"Punctuation","value":"{"},
{"type":"Text","value":"\n\t\t\t"},
{"type":"Keyword","value":"goto"},
{"type":"Text","value":" "},
{"type":"NameLabel","value":"my_label"},
{"type":"Text","value":"\n\t\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n\t"},
{"type":"CommentSingle","value":"// ...\n"},
{"type":"Punctuation","value":"}"},
{"type":"Text","value":"\n"},
{"type":"NameLabel","value":"my_label"},
{"type":"Punctuation","value":":"}
]