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