[
  {"type":"Keyword","value":"include"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"'std.stas'"},
  {"type":"Text","value":"\n\n"},
  {"type":"Keyword","value":"reserve"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"debug_symbols"},
  {"type":"Text","value":"  "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":"\n"},
  {"type":"Keyword","value":"reserve"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":"   "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":"\n"},
  {"type":"Keyword","value":"auto"},
  {"type":"Text","value":"    "},
  {"type":"Name","value":"backend_type"},
  {"type":"Text","value":"   "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":"\n\n"},
  {"type":"Keyword","value":"const"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"StasBackend.fasm"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n"},
  {"type":"Keyword","value":"const"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"StasBackend.nasm"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"2"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n"},
  {"type":"Comment","value":"; (StasBackend -- str len)\n"},
  {"type":"Keyword","value":"fn"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"StasBackend.to_str"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"2"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t"},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"StasBackend.fasm"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"fasm\""},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"elif"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"StasBackend.nasm"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"nasm\""},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"else"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"assert"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"-\u003e"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"'unreachable'"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t"},
  {"type":"Keyword","value":"rot"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"rot"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n"},
  {"type":"Keyword","value":"include"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"'src/stringbuffer.stas'"},
  {"type":"Text","value":" "},
  {"type":"Comment","value":"; handling strings\n"},
  {"type":"Keyword","value":"include"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"'src/tokens.stas'"},
  {"type":"Text","value":"       "},
  {"type":"Comment","value":"; stas token definitions\n"},
  {"type":"Keyword","value":"include"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"'src/util.stas'"},
  {"type":"Text","value":"         "},
  {"type":"Comment","value":"; utility functions, error handling\n"},
  {"type":"Keyword","value":"include"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"'src/scanner.stas'"},
  {"type":"Text","value":"      "},
  {"type":"Comment","value":"; lexer/scanner, creates tokens\n"},
  {"type":"Keyword","value":"include"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"'src/parserdefs.stas'"},
  {"type":"Text","value":"   "},
  {"type":"Comment","value":"; stas parser definitions, very large file\n"},
  {"type":"Keyword","value":"include"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"'src/eval.stas'"},
  {"type":"Text","value":"         "},
  {"type":"Comment","value":"; constant evaluation\n"},
  {"type":"Keyword","value":"include"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"'src/parser.stas'"},
  {"type":"Text","value":"       "},
  {"type":"Comment","value":"; stas parser, creates IR instructions\n"},
  {"type":"Keyword","value":"include"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"'src/write.stas'"},
  {"type":"Text","value":"        "},
  {"type":"Comment","value":"; buffers + writing to files\n"},
  {"type":"Keyword","value":"include"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"'src/dce.stas'"},
  {"type":"Text","value":"          "},
  {"type":"Comment","value":"; dead code elimination compiler pass\n"},
  {"type":"Keyword","value":"include"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"'src/x86.stas'"},
  {"type":"Text","value":"          "},
  {"type":"Comment","value":"; stas codegen definitions and reg allocator\n"},
  {"type":"Keyword","value":"include"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"'src/gen.stas'"},
  {"type":"Text","value":"          "},
  {"type":"Comment","value":"; stas code generator, creates x86_64 asm\n"},
  {"type":"Text","value":"\n"},
  {"type":"Keyword","value":"fn"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"usage"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"stas 0.1.1 Copyright (C) 2022  l-m.dev"},
  {"type":"LiteralStringEscape","value":"\\n\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":"                                   "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"USAGE: ./stas [OPTIONS] [FILE]"},
  {"type":"LiteralStringEscape","value":"\\n\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":"                                           "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"LiteralString","value":"\"\t-o \u003coutput\u003e       Specify '-o -' to dump assembly to stdout"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":"             "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"\t-g                Debug info. Most effective with the `nasm` backend"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":"    "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"\t-b \u003cbackend\u003e      Assemblers `nasm` or `fasm` as compiler backend"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":"       "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"\t-r                Execute file after compiling. Arguments after this"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":"    "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"\t                  switch will ignored and passed to the program"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":"         "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"\t-v, --verbose     Activate verbose mode"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":"                                 "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"\t--dump-tok        Dump token information after scanning stage"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":"           "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"\t--dump-ir         Dump intermediate representation after parsing stage"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":"  "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"\t-h, --help        Show this message"},
  {"type":"LiteralStringEscape","value":"\\n\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":"                                   "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n"},
  {"type":"Keyword","value":"fn"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"help_and_exit"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"usage"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"exit"},
  {"type":"Text","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n"},
  {"type":"Keyword","value":"fn"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"usage_and_exit"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"usage"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"exit"},
  {"type":"Text","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n"},
  {"type":"Keyword","value":"fn"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"usage_msg_and_exit"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"2"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"error.generic_fatal_noexit"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"usage_and_exit"},
  {"type":"Text","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n"},
  {"type":"Keyword","value":"fn"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"parse_backend_type"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"2"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t"},
  {"type":"Keyword","value":"over"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"over"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"fasm\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"StasBackend.fasm"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"backend_type"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"elif"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"over"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"over"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"nasm\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"StasBackend.nasm"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"backend_type"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"else"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"unknown backend\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"usage_msg_and_exit"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t"},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n"},
  {"type":"Keyword","value":"const"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"sizeof(fasm_arg_buf)"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"32"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"*"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n"},
  {"type":"Comment","value":"; (infile.str infile.len outfile.str outfile.len is_blocking)\n"},
  {"type":"Keyword","value":"fn"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"execute_backend"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"5"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t"},
  {"type":"Keyword","value":"auto"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"is_blocking"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"is_blocking"},
  {"type":"Text","value":"\n\t"},
  {"type":"Keyword","value":"auto"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"outfile"},
  {"type":"Text","value":"     "},
  {"type":"LiteralNumber","value":"2"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"outfile"},
  {"type":"Text","value":"\n\t"},
  {"type":"Keyword","value":"auto"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"infile"},
  {"type":"Text","value":"      "},
  {"type":"LiteralNumber","value":"2"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"infile"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Keyword","value":"reserve"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"arg_buf"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"sizeof(fasm_arg_buf)"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"backend_type"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"StasBackend.fasm"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"arg_buf"},
  {"type":"Text","value":"       "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"fasm\""},
  {"type":"Text","value":"    "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"infile"},
  {"type":"Text","value":"    "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"outfile"},
  {"type":"Text","value":"   "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-m\""},
  {"type":"Text","value":"      "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"1048576\""},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":"     "},
  {"type":"Name","value":"NULL"},
  {"type":"Text","value":"           "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\n\t\t"},
  {"type":"LiteralString","value":"\"/usr/bin/fasm\""},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"elif"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"backend_type"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"StasBackend.nasm"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"arg_buf"},
  {"type":"Text","value":"       "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"nasm\""},
  {"type":"Text","value":"    "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"infile"},
  {"type":"Text","value":"    "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-o\""},
  {"type":"Text","value":"      "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"outfile"},
  {"type":"Text","value":"   "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-O0\""},
  {"type":"Text","value":"     "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-felf64\""},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\n\t\t"},
  {"type":"Name","value":"debug_symbols"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-Fdwarf\""},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-g\""},
  {"type":"Text","value":"      "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t\t"},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":"     "},
  {"type":"Name","value":"NULL"},
  {"type":"Text","value":"           "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"/usr/bin/nasm\""},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"log.msg.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"`\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"arg_buf"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argp_print"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"`"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\t\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"arg_buf"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"is_blocking"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"child_execve_and_shut_up"},
  {"type":"Text","value":"\n"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n"},
  {"type":"Keyword","value":"const"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.none"},
  {"type":"Text","value":"    "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n"},
  {"type":"Keyword","value":"const"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.output"},
  {"type":"Text","value":"  "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n"},
  {"type":"Keyword","value":"const"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.backend"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"2"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n"},
  {"type":"Keyword","value":"fn"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"main"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t"},
  {"type":"Keyword","value":"argc"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"usage_and_exit"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Keyword","value":"reserve"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"dump_ir"},
  {"type":"Text","value":"   "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":"\n\t"},
  {"type":"Keyword","value":"reserve"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"dump_tok"},
  {"type":"Text","value":"  "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":"\n\t"},
  {"type":"Keyword","value":"reserve"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"to_stdout"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"to_stdout"},
  {"type":"Text","value":"      "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w8"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"dump_ir"},
  {"type":"Text","value":"        "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w8"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"dump_tok"},
  {"type":"Text","value":"       "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w8"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Keyword","value":"auto"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"run_exec_arg"},
  {"type":"Text","value":"  "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"run_exec_arg"},
  {"type":"Text","value":"\n\t\n\t"},
  {"type":"Name","value":"UINT64_MAX"},
  {"type":"Text","value":"       "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"fwrite_buffer.fd_loc"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"StasBackend.fasm"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"backend_type"},
  {"type":"Text","value":"            \n\n\t"},
  {"type":"Keyword","value":"auto"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":"\n\t"},
  {"type":"Keyword","value":"auto"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":"        "},
  {"type":"LiteralNumber","value":"2"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Keyword","value":"auto"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"out_file"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"2"},
  {"type":"Text","value":"\n\t"},
  {"type":"Keyword","value":"auto"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"in_file"},
  {"type":"Text","value":"  "},
  {"type":"LiteralNumber","value":"2"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"NULL"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"out_file"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"NULL"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"in_file"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"ArgParseMode.none"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"debug_symbols"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"false"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w8"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":"\n\t"},
  {"type":"Keyword","value":"while"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"argc"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003c"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"args[]"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":"\n\n\t\t"},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-o\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.none"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"!="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Name","value":"usage_and_exit"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"ArgParseMode.output"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"elif"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-b\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.none"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"!="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Name","value":"usage_and_exit"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"ArgParseMode.backend"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"elif"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-g\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.none"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"!="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Name","value":"usage_and_exit"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"debug_symbols"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Name","value":"usage_and_exit"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"debug_symbols"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"true"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w8"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"elif"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"--verbose\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-v\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"|"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.none"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"!="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Name","value":"usage_and_exit"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Name","value":"usage_and_exit"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"true"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w8"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"elif"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-r\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.none"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"!="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Name","value":"usage_and_exit"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"run_exec_arg"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Keyword","value":"argc"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"elif"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"--help\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-h\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"|"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"help_and_exit"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"elif"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"--dump-ir\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-h\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"|"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.none"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"!="},
  {"type":"Text","value":" "},
  {"type":"Name","value":"dump_ir"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"|"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"dump_tok"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"|"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Name","value":"usage_and_exit"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"dump_ir"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"true"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w8"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"elif"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"--dump-tok\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-h\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"|"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.none"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"!="},
  {"type":"Text","value":" "},
  {"type":"Name","value":"dump_ir"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"|"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"dump_tok"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"|"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Name","value":"usage_and_exit"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"dump_tok"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"true"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w8"},
  {"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":"Name","value":"argparse_mode"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.none"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Name","value":"in_file"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"NULL"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"!="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t\t"},
  {"type":"Name","value":"usage_and_exit"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"in_file"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"elif"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.output"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Name","value":"out_file"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"NULL"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"!="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t\t"},
  {"type":"Name","value":"usage_and_exit"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"out_file"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"elif"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.backend"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Name","value":"argstr"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"parse_backend_type"},
  {"type":"Text","value":"\n\t\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\t"},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"assert"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"ArgParseMode.none"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Operator","value":"++"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t"},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.none"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"!="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.output"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"LiteralString","value":"\"supply output file\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"usage_msg_and_exit"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"elif"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argparse_mode"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ArgParseMode.backend"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"LiteralString","value":"\"supply backend type\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"usage_msg_and_exit"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"in_file"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"NULL"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"supply stas file\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"usage_msg_and_exit"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"out_file"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"NULL"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"debug_symbols"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"backend_type"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"StasBackend.nasm"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"|"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"LiteralString","value":"\"a.o\""},
  {"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":"LiteralString","value":"\"a.out\""},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"out_file"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"else"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"out_file"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"-\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"streq"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"to_stdout"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"true"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w8"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"log.msg.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"scanning file `\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"in_file"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"`"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\n\t"},
  {"type":"Name","value":"log.time.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"in_file"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"stas.scan_file"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"scanning took \""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"log.time.end"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"dump_tok"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"token_stream.dump"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Keyword","value":"ret"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"log.msg.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"parsing \""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"token_stream.len"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputu"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\" tokens"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"log.time.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"stas.parse"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"parsing took \""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"log.time.end"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"log.msg.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"functions.len"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputu"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\" functions, \""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"label_c"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"++"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputu"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\" labels"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"log.msg.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"global_var_context.len"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputu"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\" global variables, \""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"toplevel_constants.len"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputu"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\" constants"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\n\t"},
  {"type":"Name","value":"dump_ir"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"ir_stream.dump"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Keyword","value":"ret"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"log.msg.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"dce pass started"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"log.time.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"stas.dce"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"dce took \""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"log.time.end"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"log.msg.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"used_functions"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputu"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\" used functions, of which \""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"inlined_functions"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputu"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\" are eligible for inline"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"log.msg.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"slits.len"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputu"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\" string literals"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\n\t"},
  {"type":"Keyword","value":"auto"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"out_file_asm_sv"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":" \n\n\t"},
  {"type":"Name","value":"to_stdout"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"!"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"out_file"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"new_string_view"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\".tmp\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"push_string_view"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"out_file_asm_sv"},
  {"type":"Text","value":"\n\n\t\t"},
  {"type":"Name","value":"string_view_to_str"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"fd_new_file_for_writing"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"fwrite_buffer.fd_loc"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"else"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"stdout"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"fwrite_buffer.fd_loc"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"log.msg.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"generating code from \""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"ir_stream.len"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputu"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\" IR instructions"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"log.time.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"in_file"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"stas.gen"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"gen took \""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"log.time.end"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"to_stdout"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Keyword","value":"ret"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"log.msg.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"generated \""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\n\t\t"},
  {"type":"Name","value":"fwrite_buffer.fd_loc"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"fd_stat_size"},
  {"type":"Text","value":"\n\n\t\t"},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"1024"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"/"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003e"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"eputu"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\" KiBs of code"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"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":"Name","value":"eputu"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\" bytes of code"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"fwrite_buffer.fd_loc"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"close"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003cs"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"FATAL: Failed to close file descriptor"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"exit"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t"},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"log.msg.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"wrote code to `\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"out_file_asm_sv"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"string_view_to_str"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"`"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"log.msg.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"executing assembler backend `\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"backend_type"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"StasBackend.to_str"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"`"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"log.time.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"out_file_asm_sv"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"string_view_to_str"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"out_file"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"run_exec_arg"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"!="},
  {"type":"Text","value":" "},
  {"type":"Name","value":"execute_backend"},
  {"type":"Text","value":"\n\t"},
  {"type":"LiteralString","value":"\"backend took \""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"log.time.end"},
  {"type":"Text","value":"\n\t\n\t"},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"log.msg.start"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"LiteralString","value":"\"created binary `\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"out_file"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":" "},
  {"type":"LiteralString","value":"\"`"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"debug_symbols"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"backend_type"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"StasBackend.nasm"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"="},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"|"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Keyword","value":"ret"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t"},
  {"type":"Name","value":"run_exec_arg"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"!="},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Keyword","value":"reserve"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"null_p"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"null_p"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"NULL"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"w64"},
  {"type":"Text","value":"\n\n\t\t"},
  {"type":"Keyword","value":"auto"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argp"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":"\n\n\t\t"},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"string_buffer"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"string_buffer.len"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"pop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"argp"},
  {"type":"Text","value":"\n\n\t\t\t"},
  {"type":"Name","value":"out_file"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"string_buffer.generic_append_u64"},
  {"type":"Text","value":"\n\n\t\t\t"},
  {"type":"Name","value":"run_exec_arg"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Keyword","value":"while"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"argc"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003c"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Keyword","value":"dup"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"sizeof(u64)"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"*"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"argv"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"+"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r64"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"string_buffer.generic_append_u64"},
  {"type":"Text","value":"\n\t\t\t\t"},
  {"type":"Operator","value":"++"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":"\n\n\t\t\t"},
  {"type":"Name","value":"NULL"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"string_buffer.generic_append_u64"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\n\t\t"},
  {"type":"Name","value":"out_file"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"drop"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"argp"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Name","value":"null_p"},
  {"type":"Text","value":"\n\n\t\t"},
  {"type":"Name","value":"verbose_mode"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"r8"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"log.msg.start"},
  {"type":"Text","value":"\n\t\t\t\n\t\t\t"},
  {"type":"LiteralString","value":"\"exceve binary `\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":" \n\n\t\t\t"},
  {"type":"Name","value":"argp"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"Name","value":"argp_print"},
  {"type":"Text","value":"\n\n\t\t\t"},
  {"type":"LiteralString","value":"\"`"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t\t\n\t\t"},
  {"type":"Name","value":"execve"},
  {"type":"Text","value":" "},
  {"type":"LiteralNumber","value":"0"},
  {"type":"Text","value":" "},
  {"type":"Operator","value":"\u003cs"},
  {"type":"Text","value":" "},
  {"type":"Keyword","value":"if"},
  {"type":"Text","value":" "},
  {"type":"Punctuation","value":"{"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"LiteralString","value":"\"FATAL: Could not execve file"},
  {"type":"LiteralStringEscape","value":"\\n"},
  {"type":"LiteralString","value":"\""},
  {"type":"Text","value":" "},
  {"type":"Name","value":"eputs"},
  {"type":"Text","value":"\n\t\t\t"},
  {"type":"LiteralNumber","value":"1"},
  {"type":"Text","value":" "},
  {"type":"Name","value":"exit"},
  {"type":"Text","value":"\n\t\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n\t"},
  {"type":"Punctuation","value":"}"},
  {"type":"Text","value":"\n"},
  {"type":"Punctuation","value":"}"}
]