1
0
mirror of https://github.com/alecthomas/chroma.git synced 2025-02-05 13:05:18 +02:00
chroma/lexers/testdata/stas.expected

2082 lines
75 KiB
Plaintext

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