Line 1 - Chunks 1: Visible(2): '/*' Line 2 - Chunks 17: Visible(1): 'A' Space(1): ' ' Visible(12): 'introduction' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(3): 'C11' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(3): 'str' Space(1): ' ' Visible(5): 'cache' Space(1): ' ' Visible(5): 'demo.' Line 3 - Chunks 37: Visible(10): 'Attempting' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(8): 'showcase' Space(1): ' ' Visible(6): 'better' Space(1): ' ' Visible(11): 'conventions' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(10): 'constructs' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(2): 'C;' Space(1): ' ' Visible(10): 'Discovered' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(2): 'me' Space(1): ' ' Visible(2): 'as' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(4): '2025' Space(1): ' ' Visible(4): 'from' Space(1): ' ' Visible(8): 'scouring' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(9): 'internet.' Line 4 - Chunks 1: Visible(2): '*/' Line 5 - Chunks 0: Line 6 - Chunks 1: Visible(2): '/*' Line 7 - Chunks 17: Visible(3): 'The' Space(1): ' ' Visible(5): 'below' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(11): 'implemented' Space(1): ' ' Visible(6): 'within' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(6): 'single' Space(1): ' ' Visible(5): 'file.' Line 8 - Chunks 37: Visible(7): 'Because' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(5): 'this,' Space(1): ' ' Visible(11): 'definitions' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(4): 'kept' Space(1): ' ' Visible(2): 'on' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(12): 'need-to-have' Space(1): ' ' Visible(5): 'basis' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(6): 'target' Space(1): ' ' Visible(4): 'only' Space(1): ' ' Visible(3): 'one' Space(1): ' ' Visible(6): 'vendor' Space(1): ' ' Visible(6): 'target' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(10): 'toolchain.' Line 9 - Chunks 33: Visible(2): 'We' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(3): 'not' Space(1): ' ' Visible(3): 'use' Space(1): ' ' Visible(6): 'nearly' Space(1): ' ' Visible(3): 'any' Space(1): ' ' Visible(9): 'libraries' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(9): 'targeting' Space(1): ' ' Visible(4): 'only' Space(1): ' ' Visible(7): 'Windows' Space(1): ' ' Visible(2): '11' Space(1): ' ' Visible(3): 'x64' Space(1): ' ' Visible(5): 'using' Space(1): ' ' Visible(5): 'MSVC.' Line 10 - Chunks 0: Line 11 - Chunks 47: Visible(4): 'Even' Space(1): ' ' Visible(2): 'so' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(10): 'constructs' Space(1): ' ' Visible(7): 'defined' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(5): 'their' Space(1): ' ' Visible(12): 'dependencies' Space(1): ' ' Visible(3): 'can' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(8): 'properly' Space(1): ' ' Visible(10): 'abstracted' Space(1): ' ' Visible(4): 'into' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(9): 'ergonomic' Space(1): ' ' Visible(7): 'library' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(8): 'multiple' Space(1): ' ' Visible(7): 'targets' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(6): 'enough' Space(1): ' ' Visible(4): 'time' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(5): 'pain.' Line 12 - Chunks 49: Visible(3): 'The' Space(1): ' ' Visible(10): 'difference' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(4): 'just' Space(1): ' ' Visible(4): 'more' Space(1): ' ' Visible(10): 'preprocess' Space(1): ' ' Visible(13): 'conditionals,' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(3): 'how' Space(1): ' ' Visible(3): 'far' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(7): 'library' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(6): 'trying' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(7): 'support' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(6): 'larger' Space(1): ' ' Visible(5): 'range' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(7): 'targets' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(5): 'their' Space(1): ' ' Visible(3): 'age' Space(1): ' ' Visible(11): 'discrpancy.' Line 13 - Chunks 11: Visible(3): 'The' Space(1): ' ' Visible(4): 'more' Space(1): ' ' Visible(7): 'minimal' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'less' Space(1): ' ' Visible(6): 'cruft.' Line 14 - Chunks 0: Line 15 - Chunks 35: Visible(11): 'Definitions' Space(1): ' ' Visible(3): 'are' Space(1): ' ' Visible(7): 'defined' Space(1): ' ' Visible(8): 'linearly' Space(1): ' ' Visible(2): 'on' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'file' Space(1): ' ' Visible(9): 'on-demand' Space(1): ' ' Visible(2): 'as' Space(1): ' ' Visible(7): 'needed.' Space(1): ' ' Visible(5): 'Since' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'file' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(4): 'read' Space(1): ' ' Visible(9): 'linearly.' Line 16 - Chunks 33: Visible(4): 'This' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(5): 'cause' Space(1): ' ' Visible(15): 'non-categorical' Space(1): ' ' Visible(12): 'organization' Space(1): ' ' Visible(2): 'so' Space(1): ' ' Visible(2): 'it' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(4): 'more' Space(1): ' ' Visible(9): 'difficult' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'sift' Space(1): ' ' Visible(7): 'through' Space(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(3): 'you' Space(1): ' ' Visible(6): 'wanted' Line 17 - Chunks 29: Visible(2): 'to' Space(1): ' ' Visible(3): 'see' Space(1): ' ' Visible(11): 'definitions' Space(1): ' ' Visible(7): 'related' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(9): 'sepecific' Space(1): ' ' Visible(4): 'kind' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(4): 'data' Space(1): ' ' Visible(2): 'or' Space(1): ' ' Visible(9): 'operation' Space(1): ' ' Visible(9): '(strings,' Space(1): ' ' Visible(7): 'memory,' Space(1): ' ' Visible(5): 'etc).' Line 18 - Chunks 1: Visible(2): '*/' Line 19 - Chunks 3: Visible(3): '#if' Space(1): ' ' Visible(1): '0' Line 20 - Chunks 3: Visible(3): 'int' Space(1): ' ' Visible(6): 'main()' Line 21 - Chunks 1: Visible(1): '{' Line 22 - Chunks 24: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(5): 'limit' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(2): 'V1' Space(1): ' ' Visible(4): 'read' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): '64kb' Space(1): ' ' Visible(2): 'at' Space(1): ' ' Visible(5): 'most.' Line 23 - Chunks 8: Tab(1): ' ' Visible(10): 'FMem_128KB' Space(3): ' ' Visible(8): 'read_mem' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(4): '{0};' Line 24 - Chunks 16: Tab(1): ' ' Visible(12): 'FileOpResult' Space(1): ' ' Visible(8): 'read_res' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(43): 'file_read_contents(lit("demo.str_cache.c"),' Space(1): ' ' Visible(8): '.backing' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(20): 'fmem_slice(read_mem)' Space(1): ' ' Visible(2): ');' Line 25 - Chunks 0: Line 26 - Chunks 36: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(5): 'limit' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(2): 'V1' Space(1): ' ' Visible(3): 'lex' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'only' Space(1): ' ' Visible(1): '8' Space(1): ' ' Visible(4): 'megs' Space(1): ' ' Visible(5): 'worth' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(5): 'token' Space(1): ' ' Visible(8): 'tracking' Space(1): ' ' Visible(2): 'on' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'file.' Line 27 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(4): ' ' Visible(8): 'mem_toks' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(30): 'slicemem_alloc(MEGABYTES(16));' Line 28 - Chunks 16: Tab(1): ' ' Visible(12): 'WATL_LexInfo' Space(1): ' ' Visible(7): 'lex_res' Space(2): ' ' Visible(1): '=' Space(1): ' ' Visible(20): 'watl_lex(pcast(Str8,' Space(1): ' ' Visible(18): 'read_res.content),' Space(1): ' ' Visible(10): '.pool_toks' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(10): 'mem_toks);' Line 29 - Chunks 0: Line 30 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(14): 'mem_cache_strs' Space(2): ' ' Visible(1): '=' Space(1): ' ' Visible(30): 'slicemem_alloc(MEGABYTES(64));' Line 31 - Chunks 20: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(15): 'mem_cache_slots' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(19): 'slicemem_alloc(1024' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(4): '1024' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(2): '16' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(30): 'size_of(Str8Cache_SliceSlot));' Line 32 - Chunks 16: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(15): 'mem_cache_table' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(19): 'slicemem_alloc(1024' Space(8): ' ' Visible(1): '*' Space(1): ' ' Visible(2): '16' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(30): 'size_of(Str8Cache_SliceSlot));' Line 33 - Chunks 12: Tab(1): ' ' Visible(9): 'Str8Cache' Space(1): ' ' Visible(9): 'str_cache' Space(7): ' ' Visible(1): '=' Space(1): ' ' Visible(30): 'str8cache_init(mem_cache_strs,' Space(1): ' ' Visible(16): 'mem_cache_slots,' Space(1): ' ' Visible(17): 'mem_cache_table);' Line 34 - Chunks 0: Line 35 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(15): 'mem_parse_nodes' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(29): 'slicemem_alloc(MEGABYTES(4));' Line 36 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(15): 'mem_parse_lines' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(29): 'slicemem_alloc(MEGABYTES(4));' Line 37 - Chunks 28: Tab(1): ' ' Visible(14): 'WATL_ParseInfo' Space(1): ' ' Visible(9): 'parse_res' Space(2): ' ' Visible(1): '=' Space(1): ' ' Visible(26): 'watl_parse(lex_res.tokens,' Space(1): ' ' Visible(14): '.backing_nodes' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(16): 'mem_parse_nodes,' Space(1): ' ' Visible(14): '.backing_lines' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(16): 'mem_parse_lines,' Space(1): ' ' Visible(10): '.str_cache' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(11): 'str_cache);' Line 38 - Chunks 0: Line 39 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(11): 'scratch_dmp' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(30): 'slicemem_alloc(MEGABYTES(16));' Line 40 - Chunks 10: Tab(1): ' ' Visible(4): 'Str8' Space(6): ' ' Visible(7): 'listing' Space(5): ' ' Visible(1): '=' Space(1): ' ' Visible(30): 'watl_dump_listing(scratch_dmp,' Space(1): ' ' Visible(17): 'parse_res.lines);' Line 41 - Chunks 4: Tab(1): ' ' Visible(50): 'file_write_str8(lit("demo.str_cache.listing.txt"),' Space(1): ' ' Visible(9): 'listing);' Line 42 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(2): '0;' Line 43 - Chunks 1: Visible(1): '}' Line 44 - Chunks 1: Visible(6): '#endif' Line 45 - Chunks 0: Line 46 - Chunks 5: Visible(2): '//' Space(1): ' ' Visible(4): 'Demo' Space(1): ' ' Visible(9): 'selection' Line 47 - Chunks 5: Visible(2): '//' Space(1): ' ' Visible(7): '#define' Space(1): ' ' Visible(15): 'DEMO__STR_SLICE' Line 48 - Chunks 5: Visible(2): '//' Space(1): ' ' Visible(7): '#define' Space(1): ' ' Visible(27): 'DEMO__FILE_READ_CONTENTS_V1' Line 49 - Chunks 5: Visible(2): '//' Space(1): ' ' Visible(7): '#define' Space(1): ' ' Visible(17): 'DEMO__WATL_LEX_V1' Line 50 - Chunks 5: Visible(2): '//' Space(1): ' ' Visible(7): '#define' Space(1): ' ' Visible(19): 'DEMO__WATL_PARSE_V1' Line 51 - Chunks 5: Visible(2): '//' Space(1): ' ' Visible(7): '#define' Space(1): ' ' Visible(25): 'DEMO__WATL_DUMP_PREREQ_V1' Line 52 - Chunks 3: Visible(7): '#define' Space(1): ' ' Visible(18): 'DEMO__WATL_DUMP_V1' Line 53 - Chunks 0: Line 54 - Chunks 1: Visible(2): '/*' Line 55 - Chunks 27: Visible(3): 'The' Space(1): ' ' Visible(5): 'above' Space(1): ' ' Visible(5): 'makes' Space(1): ' ' Visible(3): 'use' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(9): 'following' Space(1): ' ' Visible(4): 'core' Space(1): ' ' Visible(8): 'concepts' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(7): 'achieve' Space(1): ' ' Visible(3): 'its' Space(1): ' ' Visible(3): 'net' Space(1): ' ' Visible(7): 'result:' Line 56 - Chunks 3: Visible(1): '*' Space(1): ' ' Visible(6): 'Slices' Line 57 - Chunks 3: Visible(1): '*' Space(1): ' ' Visible(6): 'Arenas' Line 58 - Chunks 9: Visible(1): '*' Space(1): ' ' Visible(7): 'Generic' Space(1): ' ' Visible(7): 'Runtime' Space(1): ' ' Visible(9): 'Allocator' Space(1): ' ' Visible(9): 'Interface' Line 59 - Chunks 3: Visible(1): '*' Space(1): ' ' Visible(7): 'Hashing' Line 60 - Chunks 0: Line 61 - Chunks 27: Visible(11): 'Secondarily' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(8): 'purposes' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(5): 'using' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(5): 'above' Space(1): ' ' Visible(12): 'sufficiently' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(9): 'following' Space(1): ' ' Visible(3): 'are' Space(1): ' ' Visible(4): 'also' Space(1): ' ' Visible(9): 'utilized:' Line 62 - Chunks 7: Visible(1): '*' Space(1): ' ' Visible(7): 'Virtual' Space(1): ' ' Visible(7): 'Address' Space(1): ' ' Visible(5): 'Space' Line 63 - Chunks 5: Visible(1): '*' Space(1): ' ' Visible(10): 'Read/Write' Space(1): ' ' Visible(5): 'Files' Line 64 - Chunks 7: Visible(1): '*' Space(1): ' ' Visible(6): 'Lexing' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(7): 'Parsing' Line 65 - Chunks 5: Visible(1): '*' Space(1): ' ' Visible(5): 'Debug' Space(1): ' ' Visible(8): 'printing' Line 66 - Chunks 1: Visible(2): '*/' Line 67 - Chunks 0: Line 68 - Chunks 1: Visible(2): '/*' Line 69 - Chunks 25: Visible(5): 'First' Space(1): ' ' Visible(5): 'thing' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(9): 'problably' Space(1): ' ' Visible(4): 'want' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(3): 'way' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'deal' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(4): 'text' Space(1): ' ' Visible(12): 'effectively.' Line 70 - Chunks 25: Visible(2): 'So' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(5): 'setup' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(7): 'minimum' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(4): 'that' Space(1): ' ' Visible(4): 'when' Space(1): ' ' Visible(7): 'dealing' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(9): 'immutable' Space(1): ' ' Visible(11): 'constructs.' Line 71 - Chunks 1: Visible(2): '*/' Line 72 - Chunks 0: Line 73 - Chunks 25: Visible(2): '//' Space(1): ' ' Visible(5): 'We'll' Space(1): ' ' Visible(4): 'need' Space(1): ' ' Visible(4): 'some' Space(1): ' ' Visible(7): 'minimum' Space(1): ' ' Visible(3): 'set' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(12): 'dependencies' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(10): 'adequately' Space(1): ' ' Visible(6): 'define' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(11): 'constructs.' Line 74 - Chunks 9: Visible(2): '//' Space(1): ' ' Visible(8): 'ASSUMING' Space(1): ' ' Visible(6): 'MODERN' Space(1): ' ' Visible(4): 'MSVC' Space(1): ' ' Visible(10): 'TOOLCHAIN.' Line 75 - Chunks 0: Line 76 - Chunks 3: Visible(8): '#include' Space(1): ' ' Visible(10): '' Line 77 - Chunks 3: Visible(8): '#include' Space(1): ' ' Visible(13): '' Line 78 - Chunks 3: Visible(8): '#include' Space(1): ' ' Visible(13): '' Line 79 - Chunks 0: Line 80 - Chunks 3: Visible(8): '#include' Space(1): ' ' Visible(10): '' Line 81 - Chunks 0: Line 82 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(8): 'unsigned' Space(1): ' ' Visible(6): '__int8' Space(2): ' ' Visible(3): 'U8;' Line 83 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'signed' Space(3): ' ' Visible(6): '__int8' Space(2): ' ' Visible(3): 'S8;' Line 84 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(8): 'unsigned' Space(1): ' ' Visible(7): '__int16' Space(1): ' ' Visible(4): 'U16;' Line 85 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'signed' Space(3): ' ' Visible(7): '__int16' Space(1): ' ' Visible(4): 'S16;' Line 86 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(8): 'unsigned' Space(1): ' ' Visible(7): '__int32' Space(1): ' ' Visible(4): 'U32;' Line 87 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'signed' Space(3): ' ' Visible(7): '__int32' Space(1): ' ' Visible(4): 'S32;' Line 88 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(8): 'unsigned' Space(1): ' ' Visible(7): '__int64' Space(1): ' ' Visible(4): 'U64;' Line 89 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'signed' Space(3): ' ' Visible(7): '__int64' Space(1): ' ' Visible(4): 'S64;' Line 90 - Chunks 0: Line 91 - Chunks 5: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'size_t' Space(4): ' ' Visible(6): 'USIZE;' Line 92 - Chunks 5: Visible(7): 'typedef' Space(1): ' ' Visible(9): 'ptrdiff_t' Space(1): ' ' Visible(6): 'SSIZE;' Line 93 - Chunks 0: Line 94 - Chunks 3: Visible(4): 'enum' Space(1): ' ' Visible(1): '{' Line 95 - Chunks 2: Tab(1): ' ' Visible(6): 'false,' Line 96 - Chunks 2: Tab(1): ' ' Visible(5): 'true,' Line 97 - Chunks 2: Tab(1): ' ' Visible(14): 'true_overflow,' Line 98 - Chunks 1: Visible(2): '};' Line 99 - Chunks 5: Visible(7): 'typedef' Space(1): ' ' Visible(2): 'S8' Space(2): ' ' Visible(3): 'B8;' Line 100 - Chunks 5: Visible(7): 'typedef' Space(1): ' ' Visible(3): 'S16' Space(1): ' ' Visible(4): 'B16;' Line 101 - Chunks 5: Visible(7): 'typedef' Space(1): ' ' Visible(3): 'S32' Space(1): ' ' Visible(4): 'B32;' Line 102 - Chunks 0: Line 103 - Chunks 13: Visible(2): '//' Space(1): ' ' Visible(6): 'Common' Space(1): ' ' Visible(6): 'macros' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(3): 'use' Space(1): ' ' Visible(10): 'throughout' Space(1): ' ' Visible(5): 'this.' Line 104 - Chunks 0: Line 105 - Chunks 13: Visible(7): '#define' Space(1): ' ' Visible(20): 'assert_bounds(point,' Space(1): ' ' Visible(6): 'start,' Space(1): ' ' Visible(4): 'end)' Space(1): ' ' Visible(2): 'do' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(1): '\' Line 106 - Chunks 12: Tab(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(9): 'pos_point' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'cast(USIZE,' Space(1): ' ' Visible(7): 'point);' Space(5): ' ' Visible(1): '\' Line 107 - Chunks 12: Tab(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(9): 'pos_start' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'cast(USIZE,' Space(1): ' ' Visible(7): 'start);' Space(5): ' ' Visible(1): '\' Line 108 - Chunks 12: Tab(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(7): 'pos_end' Space(3): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'cast(USIZE,' Space(1): ' ' Visible(5): 'end);' Space(7): ' ' Visible(1): '\' Line 109 - Chunks 8: Tab(1): ' ' Visible(16): 'assert(pos_start' Space(1): ' ' Visible(2): '<=' Space(1): ' ' Visible(11): 'pos_point);' Space(11): ' ' Visible(1): '\' Line 110 - Chunks 8: Tab(1): ' ' Visible(16): 'assert(pos_point' Space(1): ' ' Visible(2): '<=' Space(1): ' ' Visible(9): 'pos_end);' Space(13): ' ' Visible(1): '\' Line 111 - Chunks 3: Visible(1): '}' Space(1): ' ' Visible(8): 'while(0)' Line 112 - Chunks 0: Line 113 - Chunks 7: Visible(2): '//' Space(1): ' ' Visible(10): 'Functional' Space(1): ' ' Visible(5): 'style' Space(1): ' ' Visible(4): 'cast' Line 114 - Chunks 7: Visible(7): '#define' Space(1): ' ' Visible(10): 'cast(type,' Space(1): ' ' Visible(5): 'data)' Space(2): ' ' Visible(14): '((type)(data))' Line 115 - Chunks 13: Visible(7): '#define' Space(1): ' ' Visible(11): 'pcast(type,' Space(1): ' ' Visible(5): 'data)' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(11): 'cast(type*,' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(7): '(data))' Line 116 - Chunks 0: Line 117 - Chunks 7: Visible(7): '#define' Space(1): ' ' Visible(7): 'nullptr' Space(1): ' ' Visible(11): 'cast(void*,' Space(1): ' ' Visible(2): '0)' Line 118 - Chunks 0: Line 119 - Chunks 11: Visible(7): '#define' Space(1): ' ' Visible(8): 'glue_(A,' Space(1): ' ' Visible(2): 'B)' Space(1): ' ' Visible(1): 'A' Space(1): ' ' Visible(2): '##' Space(1): ' ' Visible(1): 'B' Line 120 - Chunks 7: Visible(7): '#define' Space(1): ' ' Visible(7): 'glue(A,' Space(1): ' ' Visible(2): 'B)' Space(2): ' ' Visible(10): 'glue_(A,B)' Line 121 - Chunks 0: Line 122 - Chunks 13: Visible(2): '//' Space(1): ' ' Visible(8): 'Enforces' Space(1): ' ' Visible(4): 'size' Space(1): ' ' Visible(8): 'querying' Space(1): ' ' Visible(4): 'uses' Space(1): ' ' Visible(5): 'SSIZE' Space(1): ' ' Visible(5): 'type.' Line 123 - Chunks 9: Visible(7): '#define' Space(1): ' ' Visible(13): 'size_of(data)' Space(1): ' ' Visible(11): 'cast(SSIZE,' Space(1): ' ' Visible(12): 'sizeof(data)' Space(1): ' ' Visible(1): ')' Line 124 - Chunks 0: Line 125 - Chunks 5: Visible(7): '#define' Space(1): ' ' Visible(13): 'stringify_(S)' Space(1): ' ' Visible(2): '#S' Line 126 - Chunks 5: Visible(7): '#define' Space(1): ' ' Visible(12): 'stringify(S)' Space(2): ' ' Visible(13): 'stringify_(S)' Line 127 - Chunks 0: Line 128 - Chunks 1: Visible(2): '/*' Line 129 - Chunks 17: Visible(3): 'The' Space(1): ' ' Visible(5): 'first' Space(1): ' ' Visible(9): 'construct' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(7): 'utilize' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(6): 'String' Space(1): ' ' Visible(6): 'Slice.' Line 130 - Chunks 41: Visible(2): 'In' Space(1): ' ' Visible(6): 'modern' Space(1): ' ' Visible(11): 'programming' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(6): 'memory' Space(1): ' ' Visible(5): 'sizes' Space(1): ' ' Visible(9): 'utilized,' Space(1): ' ' Visible(2): 'it' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(4): 'more' Space(1): ' ' Visible(9): 'ergonomic' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(5): 'track' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(6): 'length' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(7): 'strings' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(5): 'their' Space(1): ' ' Visible(8): 'pointer.' Line 131 - Chunks 43: Visible(4): 'Most' Space(1): ' ' Visible(7): 'strings' Space(1): ' ' Visible(3): 'are' Space(1): ' ' Visible(3): 'not' Space(1): ' ' Visible(6): 'stored' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(4): 'some' Space(1): ' ' Visible(9): 'immutable' Space(1): ' ' Visible(5): 'table' Space(1): ' ' Visible(7): 'tracked' Space(1): ' ' Visible(11): 'statically,' Space(1): ' ' Visible(11): 'performance' Space(1): ' ' Visible(4): 'loss' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(5): 'doing' Space(1): ' ' Visible(2): 'so' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(9): 'negligble' Space(1): ' ' Visible(2): 'on' Space(1): ' ' Visible(6): 'modern' Space(1): ' ' Visible(8): 'hardware' Space(1): ' ' Visible(12): 'constraints.' Line 132 - Chunks 1: Visible(2): '*/' Line 133 - Chunks 0: Line 134 - Chunks 9: Visible(2): '//' Space(1): ' ' Visible(5): 'UTF-8' Space(1): ' ' Visible(9): 'character' Space(1): ' ' Visible(8): 'encoding' Space(1): ' ' Visible(4): 'unit' Line 135 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(8): 'unsigned' Space(1): ' ' Visible(4): 'char' Space(1): ' ' Visible(5): 'UTF8;' Line 136 - Chunks 0: Line 137 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(5): 'Str8;' Line 138 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(1): '{' Line 139 - Chunks 4: Tab(1): ' ' Visible(5): 'UTF8*' Space(1): ' ' Visible(4): 'ptr;' Line 140 - Chunks 4: Tab(1): ' ' Visible(5): 'SSIZE' Space(1): ' ' Visible(4): 'len;' Line 141 - Chunks 1: Visible(2): '};' Line 142 - Chunks 0: Line 143 - Chunks 25: Visible(2): '//' Space(1): ' ' Visible(6): 'String' Space(1): ' ' Visible(7): 'iterals' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(1): 'C' Space(1): ' ' Visible(7): 'include' Space(1): ' ' Visible(17): 'null-terminators,' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(6): 'aren't' Space(1): ' ' Visible(10): 'interested' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(10): 'preserving' Space(1): ' ' Visible(5): 'that.' Line 144 - Chunks 15: Visible(7): '#define' Space(1): ' ' Visible(19): 'lit(string_literal)' Space(1): ' ' Visible(7): '(Str8){' Space(1): ' ' Visible(15): 'string_literal,' Space(1): ' ' Visible(23): 'size_of(string_literal)' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(1): '1' Space(1): ' ' Visible(1): '}' Line 145 - Chunks 0: Line 146 - Chunks 1: Visible(2): '/*' Line 147 - Chunks 25: Visible(5): 'We'll' Space(1): ' ' Visible(4): 'want' Space(1): ' ' Visible(3): 'all' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(7): 'textual' Space(1): ' ' Visible(7): 'process' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(7): 'operate' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(5): 'UTF-8' Space(1): ' ' Visible(4): 'code' Space(1): ' ' Visible(6): 'pages:' Line 148 - Chunks 1: Visible(2): '*/' Line 149 - Chunks 3: Visible(8): '#include' Space(1): ' ' Visible(10): '' Line 150 - Chunks 13: Visible(6): 'inline' Space(1): ' ' Visible(4): 'void' Space(1): ' ' Visible(19): 'set_utf8_codepage()' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(17): 'setlocale(LC_ALL,' Space(1): ' ' Visible(10): '".UTF-8");' Space(1): ' ' Visible(1): '}' Line 151 - Chunks 0: Line 152 - Chunks 19: Visible(2): '//' Space(1): ' ' Visible(3): 'For' Space(1): ' ' Visible(3): 'now' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(6): 'string' Space(1): ' ' Visible(3): 'can' Space(1): ' ' Visible(10): 'visualized' Space(1): ' ' Visible(5): 'using' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(9): 'debugger.' Line 153 - Chunks 3: Visible(6): '#ifdef' Space(1): ' ' Visible(15): 'DEMO__STR_SLICE' Line 154 - Chunks 3: Visible(3): 'int' Space(1): ' ' Visible(6): 'main()' Line 155 - Chunks 1: Visible(1): '{' Line 156 - Chunks 18: Tab(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(5): 'first' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(8): 'lit("Our' Space(1): ' ' Visible(5): 'first' Space(1): ' ' Visible(6): 'string' Space(1): ' ' Visible(2): 'as' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(8): 'slice");' Line 157 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(2): '0;' Line 158 - Chunks 1: Visible(1): '}' Line 159 - Chunks 3: Visible(6): '#endif' Space(1): ' ' Visible(15): 'DEMO__STR_SLICE' Line 160 - Chunks 0: Line 161 - Chunks 1: Visible(2): '/*' Line 162 - Chunks 49: Visible(2): 'We' Space(1): ' ' Visible(3): 'now' Space(1): ' ' Visible(4): 'want' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(4): 'able' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'read' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'file.' Space(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'heavy' Space(1): ' ' Visible(11): 'rabbit-hole' Space(1): ' ' Visible(2): 'as' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(4): 'need' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(5): 'setup' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'basic' Space(1): ' ' Visible(4): 'file' Space(1): ' ' Visible(9): 'interface' Line 163 - Chunks 13: Visible(3): 'and' Space(1): ' ' Visible(7): 'related' Space(1): ' ' Visible(11): 'definitions' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(8): 'handling' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(7): 'memory.' Line 164 - Chunks 0: Line 165 - Chunks 33: Visible(3): 'For' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(8): 'purposes' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(7): 'initial' Space(1): ' ' Visible(10): 'definition' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(10): 'introduced' Space(1): ' ' Visible(11): 'fixed-sized' Space(1): ' ' Visible(6): 'memory' Space(1): ' ' Visible(8): 'handling' Space(1): ' ' Visible(10): 'statically' Space(1): ' ' Visible(9): 'allocated' Space(1): ' ' Visible(4): 'onto' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(6): 'stack.' Line 166 - Chunks 1: Visible(2): '*/' Line 167 - Chunks 0: Line 168 - Chunks 1: Visible(2): '/*' Line 169 - Chunks 33: Visible(5): 'First' Space(1): ' ' Visible(3): 'off' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(4): 'need' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'find' Space(1): ' ' Visible(3): 'out' Space(1): ' ' Visible(3): 'how' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(6): 'aquire' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(8): 'contents' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): 'file' Space(1): ' ' Visible(2): 'on' Space(1): ' ' Visible(8): 'Windows.' Line 170 - Chunks 0: Line 171 - Chunks 39: Visible(5): 'We'll' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(8): 'wrapping' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(9): 'operation' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(9): 'procedure' Space(1): ' ' Visible(6): 'called' Space(1): ' ' Visible(19): 'file_read_contents.' Space(1): ' ' Visible(5): 'We'll' Space(1): ' ' Visible(4): 'have' Space(1): ' ' Visible(2): 'it' Space(1): ' ' Visible(4): 'take' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): 'path' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(8): 'optional' Space(1): ' ' Visible(9): 'arguments' Space(1): ' ' Visible(27): '(Opts__read_file_contents).' Line 172 - Chunks 37: Visible(2): 'It' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(6): 'result' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(9): 'composite' Space(1): ' ' Visible(7): 'struct:' Space(1): ' ' Visible(13): 'FileOpResult;' Space(1): ' ' Visible(5): 'which' Space(1): ' ' Visible(3): 'may' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(8): 'expanded' Space(1): ' ' Visible(2): 'as' Space(1): ' ' Visible(6): 'needed' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(7): 'future.' Line 173 - Chunks 1: Visible(2): '*/' Line 174 - Chunks 0: Line 175 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(12): 'FileOpResult' Space(13): ' ' Visible(13): 'FileOpResult;' Line 176 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(24): 'Opts__read_file_contents' Space(1): ' ' Visible(25): 'Opts__read_file_contents;' Line 177 - Chunks 13: Visible(4): 'void' Space(9): ' ' Visible(36): 'file_read_contents_api(FileOpResult*' Space(1): ' ' Visible(7): 'result,' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(5): 'path,' Space(1): ' ' Visible(25): 'Opts__read_file_contents*' Space(1): ' ' Visible(6): 'opts);' Line 178 - Chunks 13: Visible(12): 'FileOpResult' Space(1): ' ' Visible(19): 'file__read_contents' Space(3): ' ' Visible(1): '(' Space(22): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(5): 'path,' Space(1): ' ' Visible(25): 'Opts__read_file_contents*' Space(1): ' ' Visible(6): 'opts);' Line 179 - Chunks 13: Visible(7): '#define' Space(1): ' ' Visible(24): 'file_read_contents(path,' Space(1): ' ' Visible(4): '...)' Space(1): ' ' Visible(25): 'file__read_contents(path,' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(39): '(Opts__read_file_contents){__VA_ARGS__}' Space(1): ' ' Visible(1): ')' Line 180 - Chunks 0: Line 181 - Chunks 1: Visible(2): '/*' Line 182 - Chunks 15: Visible(3): 'The' Space(1): ' ' Visible(4): 'file' Space(1): ' ' Visible(8): 'contents' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(8): 'returned' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(6): 'bytes.' Line 183 - Chunks 27: Visible(2): 'To' Space(1): ' ' Visible(4): 'view' Space(1): ' ' Visible(2): 'or' Space(1): ' ' Visible(6): 'manage' Space(1): ' ' Visible(3): 'any' Space(1): ' ' Visible(5): 'slice' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(5): 'bytes' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(9): 'utilizing' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): 'byte' Space(1): ' ' Visible(6): 'slice.' Line 184 - Chunks 1: Visible(2): '*/' Line 185 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(10): 'SliceByte;' Line 186 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(1): '{' Line 187 - Chunks 4: Tab(1): ' ' Visible(3): 'U8*' Space(3): ' ' Visible(4): 'ptr;' Line 188 - Chunks 4: Tab(1): ' ' Visible(5): 'SSIZE' Space(1): ' ' Visible(4): 'len;' Line 189 - Chunks 1: Visible(2): '};' Line 190 - Chunks 0: Line 191 - Chunks 1: Visible(2): '/*' Line 192 - Chunks 57: Visible(3): 'The' Space(1): ' ' Visible(5): 'above' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(7): 'pattern' Space(1): ' ' Visible(4): 'that' Space(1): ' ' Visible(3): 'can' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(8): 'provided' Space(1): ' ' Visible(2): 'so' Space(1): ' ' Visible(4): 'that' Space(1): ' ' Visible(7): 'whether' Space(1): ' ' Visible(2): 'or' Space(1): ' ' Visible(3): 'not' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(6): 'result' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(9): 'formatted' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(8): 'provided' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'user' Space(1): ' ' Visible(3): 'via' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(5): 'stack' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(8): 'entirely' Space(1): ' ' Visible(9): 'optional.' Line 193 - Chunks 19: Visible(2): 'It' Space(1): ' ' Visible(4): 'also' Space(1): ' ' Visible(6): 'allows' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(7): 'default' Space(1): ' ' Visible(10): 'parameters' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(7): 'defined' Space(1): ' ' Visible(11): 'conviently.' Line 194 - Chunks 1: Visible(2): '*/' Line 195 - Chunks 0: Line 196 - Chunks 19: Visible(2): '//' Space(1): ' ' Visible(5): 'We'll' Space(1): ' ' Visible(7): 'utilize' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(8): 'ReadFile' Space(1): ' ' Visible(9): 'procedure' Space(1): ' ' Visible(6): 'within' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(7): 'WinAPI:' Space(1): ' ' Visible(79): 'https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-readfile' Line 197 - Chunks 3: Visible(7): '#define' Space(1): ' ' Visible(8): 'NOMINMAX' Line 198 - Chunks 3: Visible(7): '#define' Space(1): ' ' Visible(19): 'WIN32_LEAN_AND_MEAN' Line 199 - Chunks 3: Visible(7): '#define' Space(1): ' ' Visible(19): 'WIN32_MEAN_AND_LEAN' Line 200 - Chunks 3: Visible(7): '#define' Space(1): ' ' Visible(12): 'VC_EXTRALEAN' Line 201 - Chunks 3: Visible(8): '#include' Space(1): ' ' Visible(11): '' Line 202 - Chunks 3: Visible(8): '#include' Space(1): ' ' Visible(12): '' Line 203 - Chunks 3: Visible(8): '#include' Space(1): ' ' Visible(11): '' Line 204 - Chunks 3: Visible(8): '#include' Space(1): ' ' Visible(12): '' Line 205 - Chunks 3: Visible(8): '#include' Space(1): ' ' Visible(10): '' Line 206 - Chunks 3: Visible(8): '#include' Space(1): ' ' Visible(21): '' Line 207 - Chunks 5: Visible(7): '#pragma' Space(1): ' ' Visible(12): 'comment(lib,' Space(1): ' ' Visible(9): '"user32")' Line 208 - Chunks 5: Visible(7): '#pragma' Space(1): ' ' Visible(12): 'comment(lib,' Space(1): ' ' Visible(8): '"winmm")' Line 209 - Chunks 5: Visible(7): '#pragma' Space(1): ' ' Visible(12): 'comment(lib,' Space(1): ' ' Visible(10): '"shell32")' Line 210 - Chunks 5: Visible(7): '#pragma' Space(1): ' ' Visible(12): 'comment(lib,' Space(1): ' ' Visible(11): '"advapi32")' Line 211 - Chunks 5: Visible(7): '#pragma' Space(1): ' ' Visible(12): 'comment(lib,' Space(1): ' ' Visible(9): '"rpcrt4")' Line 212 - Chunks 5: Visible(7): '#pragma' Space(1): ' ' Visible(12): 'comment(lib,' Space(1): ' ' Visible(10): '"shlwapi")' Line 213 - Chunks 5: Visible(7): '#pragma' Space(1): ' ' Visible(12): 'comment(lib,' Space(1): ' ' Visible(11): '"comctl32")' Line 214 - Chunks 33: Visible(7): '#pragma' Space(1): ' ' Visible(50): 'comment(linker,"\"/manifestdependency:type='win32'' Space(1): ' ' Visible(40): 'name='Microsoft.Windows.Common-Controls'' Space(1): ' ' Visible(17): 'version='6.0.0.0'' Space(1): ' ' Visible(25): 'processorArchitecture='*'' Space(1): ' ' Visible(33): 'publicKeyToken='6595b64144ccf1df'' Space(1): ' ' Visible(16): 'language='*'\"")' Space(1): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(8): 'required' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(7): 'loading' Space(1): ' ' Visible(7): 'correct' Space(1): ' ' Visible(8): 'comctl32' Space(1): ' ' Visible(3): 'dll' Space(1): ' ' Visible(4): 'file' Line 215 - Chunks 3: Visible(6): '#undef' Space(1): ' ' Visible(8): 'NOMINMAX' Line 216 - Chunks 3: Visible(6): '#undef' Space(1): ' ' Visible(19): 'WIN32_LEAN_AND_MEAN' Line 217 - Chunks 3: Visible(6): '#undef' Space(1): ' ' Visible(19): 'WIN32_MEAN_AND_LEAN' Line 218 - Chunks 3: Visible(6): '#undef' Space(1): ' ' Visible(12): 'VC_EXTRALEAN' Line 219 - Chunks 3: Visible(3): '#if' Space(1): ' ' Visible(1): '0' Line 220 - Chunks 3: Visible(4): 'BOOL' Space(1): ' ' Visible(9): 'ReadFile(' Line 221 - Chunks 6: Space(2): ' ' Visible(4): '[in]' Space(16): ' ' Visible(6): 'HANDLE' Space(7): ' ' Visible(6): 'hFile,' Line 222 - Chunks 6: Space(2): ' ' Visible(5): '[out]' Space(15): ' ' Visible(6): 'LPVOID' Space(7): ' ' Visible(9): 'lpBuffer,' Line 223 - Chunks 6: Space(2): ' ' Visible(4): '[in]' Space(16): ' ' Visible(5): 'DWORD' Space(8): ' ' Visible(21): 'nNumberOfBytesToRead,' Line 224 - Chunks 8: Space(2): ' ' Visible(5): '[out,' Space(1): ' ' Visible(9): 'optional]' Space(5): ' ' Visible(7): 'LPDWORD' Space(6): ' ' Visible(20): 'lpNumberOfBytesRead,' Line 225 - Chunks 10: Space(2): ' ' Visible(4): '[in,' Space(1): ' ' Visible(4): 'out,' Space(1): ' ' Visible(9): 'optional]' Space(1): ' ' Visible(12): 'LPOVERLAPPED' Space(1): ' ' Visible(12): 'lpOverlapped' Line 226 - Chunks 1: Visible(2): ');' Line 227 - Chunks 0: Line 228 - Chunks 39: Visible(2): '//' Space(1): ' ' Visible(2): 'In' Space(1): ' ' Visible(5): 'order' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'read' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): 'file' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(4): 'need' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(6): 'handle' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'valid' Space(1): ' ' Visible(10): 'filesystem' Space(1): ' ' Visible(6): 'entity' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'read' Space(1): ' ' Visible(5): 'from:' Space(1): ' ' Visible(82): 'https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilea' Line 229 - Chunks 3: Visible(6): 'HANDLE' Space(1): ' ' Visible(12): 'CreateFileA(' Line 230 - Chunks 6: Space(2): ' ' Visible(4): '[in]' Space(11): ' ' Visible(6): 'LPCSTR' Space(16): ' ' Visible(11): 'lpFileName,' Line 231 - Chunks 6: Space(2): ' ' Visible(4): '[in]' Space(11): ' ' Visible(5): 'DWORD' Space(17): ' ' Visible(16): 'dwDesiredAccess,' Line 232 - Chunks 6: Space(2): ' ' Visible(4): '[in]' Space(11): ' ' Visible(5): 'DWORD' Space(17): ' ' Visible(12): 'dwShareMode,' Line 233 - Chunks 8: Space(2): ' ' Visible(4): '[in,' Space(1): ' ' Visible(9): 'optional]' Space(1): ' ' Visible(21): 'LPSECURITY_ATTRIBUTES' Space(1): ' ' Visible(21): 'lpSecurityAttributes,' Line 234 - Chunks 6: Space(2): ' ' Visible(4): '[in]' Space(11): ' ' Visible(5): 'DWORD' Space(17): ' ' Visible(22): 'dwCreationDisposition,' Line 235 - Chunks 6: Space(2): ' ' Visible(4): '[in]' Space(11): ' ' Visible(5): 'DWORD' Space(17): ' ' Visible(21): 'dwFlagsAndAttributes,' Line 236 - Chunks 8: Space(2): ' ' Visible(4): '[in,' Space(1): ' ' Visible(9): 'optional]' Space(1): ' ' Visible(6): 'HANDLE' Space(16): ' ' Visible(13): 'hTemplateFile' Line 237 - Chunks 1: Visible(2): ');' Line 238 - Chunks 1: Visible(6): '#endif' Line 239 - Chunks 0: Line 240 - Chunks 29: Visible(2): '//' Space(1): ' ' Visible(2): 'We' Space(1): ' ' Visible(4): 'need' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(6): 'covert' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(6): 'string' Space(1): ' ' Visible(5): 'slice' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(8): 'c-string' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(13): 'CreateFileA's' Space(1): ' ' Visible(4): 'path' Space(1): ' ' Visible(6): 'input.' Line 241 - Chunks 0: Line 242 - Chunks 11: Visible(7): '#define' Space(1): ' ' Visible(12): 'KILOBTYES(n)' Space(1): ' ' Visible(12): '(cast(USIZE,' Space(1): ' ' Visible(2): 'n)' Space(1): ' ' Visible(2): '<<' Space(1): ' ' Visible(3): '10)' Line 243 - Chunks 11: Visible(7): '#define' Space(1): ' ' Visible(12): 'MEGABYTES(n)' Space(1): ' ' Visible(12): '(cast(USIZE,' Space(1): ' ' Visible(2): 'n)' Space(1): ' ' Visible(2): '<<' Space(1): ' ' Visible(3): '20)' Line 244 - Chunks 11: Visible(7): '#define' Space(1): ' ' Visible(12): 'GIGABYTES(n)' Space(1): ' ' Visible(12): '(cast(USIZE,' Space(1): ' ' Visible(2): 'n)' Space(1): ' ' Visible(2): '<<' Space(1): ' ' Visible(3): '30)' Line 245 - Chunks 11: Visible(7): '#define' Space(1): ' ' Visible(12): 'TERABYTES(n)' Space(1): ' ' Visible(12): '(cast(USIZE,' Space(1): ' ' Visible(2): 'n)' Space(1): ' ' Visible(2): '<<' Space(1): ' ' Visible(3): '40)' Line 246 - Chunks 0: Line 247 - Chunks 1: Visible(2): '/*' Line 248 - Chunks 19: Visible(5): 'We'll' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(8): 'defining' Space(1): ' ' Visible(4): 'here' Space(1): ' ' Visible(11): 'Fixed-sized' Space(1): ' ' Visible(6): 'memory' Space(1): ' ' Visible(6): 'blocks' Space(1): ' ' Visible(5): 'using' Space(1): ' ' Visible(8): 'typedefs' Space(1): ' ' Visible(9): 'on-demand' Line 249 - Chunks 0: Line 250 - Chunks 11: Visible(4): 'They' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(6): 'having' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(9): 'following' Space(1): ' ' Visible(7): 'format:' Line 251 - Chunks 13: Visible(7): 'typedef' Space(1): ' ' Visible(2): 'U8' Space(1): ' ' Visible(13): 'FMem_KB' Space(1): ' ' Visible(1): '[' Space(1): ' ' Visible(3): '' Space(1): ' ' Visible(2): '];' Line 252 - Chunks 1: Visible(2): '*/' Line 253 - Chunks 0: Line 254 - Chunks 11: Visible(7): 'typedef' Space(1): ' ' Visible(2): 'U8' Space(1): ' ' Visible(9): 'FMem_16KB' Space(2): ' ' Visible(1): '[' Space(1): ' ' Visible(13): 'KILOBTYES(16)' Space(2): ' ' Visible(2): '];' Line 255 - Chunks 11: Visible(7): 'typedef' Space(1): ' ' Visible(2): 'U8' Space(1): ' ' Visible(9): 'FMem_64KB' Space(2): ' ' Visible(1): '[' Space(1): ' ' Visible(13): 'KILOBTYES(64)' Space(2): ' ' Visible(2): '];' Line 256 - Chunks 11: Visible(7): 'typedef' Space(1): ' ' Visible(2): 'U8' Space(1): ' ' Visible(10): 'FMem_128KB' Space(1): ' ' Visible(1): '[' Space(1): ' ' Visible(14): 'KILOBTYES(128)' Space(1): ' ' Visible(2): '];' Line 257 - Chunks 0: Line 258 - Chunks 5: Visible(7): '#define' Space(1): ' ' Visible(6): 'typeof' Space(10): ' ' Visible(10): '__typeof__' Line 259 - Chunks 13: Visible(7): '#define' Space(1): ' ' Visible(15): 'fmem_slice(mem)' Space(1): ' ' Visible(11): '(SliceByte)' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(4): 'mem,' Space(1): ' ' Visible(12): 'size_of(mem)' Space(1): ' ' Visible(1): '}' Line 260 - Chunks 0: Line 261 - Chunks 17: Visible(2): '//' Space(1): ' ' Visible(5): 'We'll' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(5): 'using' Space(1): ' ' Visible(2): 'an' Space(1): ' ' Visible(9): 'intrinsic' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(7): 'copying' Space(1): ' ' Visible(7): 'memory:' Line 262 - Chunks 19: Visible(5): 'void*' Space(1): ' ' Visible(17): 'memory_copy(void*' Space(1): ' ' Visible(8): 'restrict' Space(1): ' ' Visible(5): 'dest,' Space(1): ' ' Visible(4): 'void' Space(1): ' ' Visible(6): 'const*' Space(1): ' ' Visible(8): 'restrict' Space(1): ' ' Visible(4): 'src,' Space(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(7): 'length)' Line 263 - Chunks 1: Visible(1): '{' Line 264 - Chunks 26: Tab(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(5): '(dest' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(7): 'nullptr' Space(1): ' ' Visible(2): '||' Space(1): ' ' Visible(3): 'src' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(7): 'nullptr' Space(1): ' ' Visible(2): '||' Space(1): ' ' Visible(6): 'length' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(2): '0)' Space(1): ' ' Visible(1): '{' Line 265 - Chunks 4: Tab(2): ' ' Visible(6): 'return' Space(1): ' ' Visible(8): 'nullptr;' Line 266 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 267 - Chunks 4: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(68): 'https://learn.microsoft.com/en-us/cpp/intrinsics/movsb?view=msvc-170' Line 268 - Chunks 12: Tab(1): ' ' Visible(17): '__movsb((unsigned' Space(1): ' ' Visible(11): 'char*)dest,' Space(1): ' ' Visible(6): '(const' Space(1): ' ' Visible(8): 'unsigned' Space(1): ' ' Visible(10): 'char*)src,' Space(1): ' ' Visible(8): 'length);' Line 269 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(5): 'dest;' Line 270 - Chunks 1: Visible(1): '}' Line 271 - Chunks 0: Line 272 - Chunks 19: Visible(2): '//' Space(1): ' ' Visible(5): 'Often' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(4): 'want' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(5): 'check' Space(1): ' ' Visible(8): 'validity' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(6): 'slice:' Line 273 - Chunks 9: Visible(7): '#define' Space(1): ' ' Visible(19): 'slice_assert(slice)' Space(1): ' ' Visible(2): 'do' Space(1): ' ' Visible(1): '{' Space(2): ' ' Visible(1): '\' Line 274 - Chunks 8: Tab(1): ' ' Visible(16): 'assert(slice.ptr' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(9): 'nullptr);' Space(1): ' ' Visible(1): '\' Line 275 - Chunks 8: Tab(1): ' ' Visible(16): 'assert(slice.len' Space(1): ' ' Visible(1): '>' Space(1): ' ' Visible(3): '0);' Space(8): ' ' Visible(1): '\' Line 276 - Chunks 3: Visible(1): '}' Space(1): ' ' Visible(8): 'while(0)' Line 277 - Chunks 0: Line 278 - Chunks 19: Visible(4): 'void' Space(1): ' ' Visible(21): 'slice__copy(SliceByte' Space(1): ' ' Visible(5): 'dest,' Space(1): ' ' Visible(5): 'SSIZE' Space(1): ' ' Visible(15): 'dest_typewidth,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(4): 'src,' Space(1): ' ' Visible(5): 'SSIZE' Space(1): ' ' Visible(14): 'src_typewidth)' Space(1): ' ' Visible(1): '{' Line 279 - Chunks 6: Tab(1): ' ' Visible(15): 'assert(dest.len' Space(1): ' ' Visible(2): '>=' Space(1): ' ' Visible(9): 'src.len);' Line 280 - Chunks 2: Tab(1): ' ' Visible(19): 'slice_assert(dest);' Line 281 - Chunks 2: Tab(1): ' ' Visible(18): 'slice_assert(src);' Line 282 - Chunks 6: Tab(1): ' ' Visible(21): 'memory_copy(dest.ptr,' Space(1): ' ' Visible(8): 'src.ptr,' Space(1): ' ' Visible(9): 'src.len);' Line 283 - Chunks 1: Visible(1): '}' Line 284 - Chunks 7: Visible(7): '#define' Space(1): ' ' Visible(20): 'slice_copy(dest,src)' Space(1): ' ' Visible(12): 'slice__copy(' Space(44): ' ' Visible(1): '\' Line 285 - Chunks 12: Tab(1): ' ' Visible(23): '(SliceByte){(dest).ptr,' Space(1): ' ' Visible(10): '(dest).len' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(22): 'size_of(*(dest).ptr)},' Space(1): ' ' Visible(20): 'size_of(*(dest).ptr)' Space(1): ' ' Visible(1): '\' Line 286 - Chunks 21: Visible(1): ',' Tab(1): ' ' Visible(16): '(SliceByte){(src' Space(1): ' ' Visible(6): ').ptr,' Space(1): ' ' Visible(4): '(src' Space(1): ' ' Visible(5): ').len' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(13): 'size_of(*(src' Space(1): ' ' Visible(8): ').ptr)},' Space(1): ' ' Visible(13): 'size_of(*(src' Space(1): ' ' Visible(6): ').ptr)' Space(1): ' ' Visible(1): '\' Line 287 - Chunks 1: Visible(1): ')' Line 288 - Chunks 0: Line 289 - Chunks 9: Visible(2): '//' Space(1): ' ' Visible(7): 'Assumes' Space(1): ' ' Visible(6): 'memory' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(7): 'zeroed.' Line 290 - Chunks 11: Visible(5): 'char*' Space(1): ' ' Visible(24): 'str8_to_cstr_capped(Str8' Space(1): ' ' Visible(8): 'content,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(4): 'mem)' Space(1): ' ' Visible(1): '{' Line 291 - Chunks 6: Tab(1): ' ' Visible(14): 'assert(mem.len' Space(1): ' ' Visible(2): '>=' Space(1): ' ' Visible(13): 'content.len);' Line 292 - Chunks 6: Tab(1): ' ' Visible(20): 'memory_copy(mem.ptr,' Space(1): ' ' Visible(12): 'content.ptr,' Space(1): ' ' Visible(13): 'content.len);' Line 293 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(8): 'mem.ptr;' Line 294 - Chunks 1: Visible(1): '}' Line 295 - Chunks 0: Line 296 - Chunks 17: Visible(2): '//' Space(1): ' ' Visible(2): 'To' Space(1): ' ' Visible(7): 'support' Space(1): ' ' Visible(7): 'zeroing' Space(1): ' ' Visible(6): 'slices' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(7): 'utilize' Space(1): ' ' Visible(2): 'an' Space(1): ' ' Visible(10): 'intrinisc.' Line 297 - Chunks 11: Visible(3): 'B32' Space(1): ' ' Visible(17): 'memory_zero(void*' Space(1): ' ' Visible(5): 'dest,' Space(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(7): 'length)' Space(1): ' ' Visible(1): '{' Line 298 - Chunks 18: Tab(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(5): '(dest' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(7): 'nullptr' Space(1): ' ' Visible(2): '||' Space(1): ' ' Visible(6): 'length' Space(1): ' ' Visible(2): '<=' Space(1): ' ' Visible(2): '0)' Space(1): ' ' Visible(1): '{' Line 299 - Chunks 4: Tab(2): ' ' Visible(6): 'return' Space(1): ' ' Visible(6): 'false;' Line 300 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 301 - Chunks 8: Tab(1): ' ' Visible(17): '__stosb((unsigned' Space(1): ' ' Visible(11): 'char*)dest,' Space(1): ' ' Visible(2): '0,' Space(1): ' ' Visible(8): 'length);' Line 302 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(5): 'true;' Line 303 - Chunks 1: Visible(1): '}' Line 304 - Chunks 0: Line 305 - Chunks 11: Visible(4): 'void' Space(1): ' ' Visible(21): 'slice__zero(SliceByte' Space(1): ' ' Visible(4): 'mem,' Space(1): ' ' Visible(5): 'SSIZE' Space(1): ' ' Visible(10): 'typewidth)' Space(1): ' ' Visible(1): '{' Line 306 - Chunks 2: Tab(1): ' ' Visible(18): 'slice_assert(mem);' Line 307 - Chunks 4: Tab(1): ' ' Visible(20): 'memory_zero(mem.ptr,' Space(1): ' ' Visible(9): 'mem.len);' Line 308 - Chunks 1: Visible(1): '}' Line 309 - Chunks 17: Visible(7): '#define' Space(1): ' ' Visible(17): 'slice_zero(slice)' Space(1): ' ' Visible(24): 'slice__zero((SliceByte){' Space(1): ' ' Visible(11): 'cast(void*,' Space(1): ' ' Visible(13): '(slice).ptr),' Space(1): ' ' Visible(11): '(slice).len' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(23): 'size_of(*(slice).ptr)},' Space(1): ' ' Visible(22): 'size_of(*(slice).ptr))' Line 310 - Chunks 0: Line 311 - Chunks 11: Visible(2): '//' Space(1): ' ' Visible(3): 'Now' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(8): '"Version' Space(1): ' ' Visible(2): '1"' Line 312 - Chunks 0: Line 313 - Chunks 7: Visible(3): '#if' Tab(1): ' ' Visible(36): 'defined(DEMO__FILE_READ_CONTENTS_V1)' Space(1): ' ' Visible(2): '||' Space(1): ' ' Visible(1): '\' Line 314 - Chunks 6: Tab(1): ' ' Visible(26): 'defined(DEMO__WATL_LEX_V1)' Space(11): ' ' Visible(2): '||' Space(1): ' ' Visible(1): '\' Line 315 - Chunks 6: Tab(1): ' ' Visible(28): 'defined(DEMO__WATL_PARSE_V1)' Space(9): ' ' Visible(2): '||' Space(1): ' ' Visible(1): '\' Line 316 - Chunks 6: Tab(1): ' ' Visible(34): 'defined(DEMO__WATL_DUMP_PREREQ_V1)' Space(3): ' ' Visible(2): '||' Space(1): ' ' Visible(1): '\' Line 317 - Chunks 2: Tab(1): ' ' Visible(27): 'defined(DEMO__WATL_DUMP_V1)' Line 318 - Chunks 0: Line 319 - Chunks 3: Visible(6): 'struct' Space(1): ' ' Visible(12): 'FileOpResult' Line 320 - Chunks 1: Visible(1): '{' Line 321 - Chunks 16: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(3): 'For' Space(1): ' ' Visible(3): 'now' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(4): 'just' Space(1): ' ' Visible(4): 'have' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(7): 'content' Line 322 - Chunks 4: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(8): 'content;' Line 323 - Chunks 1: Visible(2): '};' Line 324 - Chunks 0: Line 325 - Chunks 3: Visible(6): 'struct' Space(1): ' ' Visible(24): 'Opts__read_file_contents' Line 326 - Chunks 1: Visible(1): '{' Line 327 - Chunks 26: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(3): 'For' Space(1): ' ' Visible(3): 'now' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(4): 'just' Space(1): ' ' Visible(4): 'have' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(7): 'backing' Space(1): ' ' Visible(6): 'memory' Space(1): ' ' Visible(8): 'provided' Space(1): ' ' Visible(2): 'as' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(6): 'slice.' Line 328 - Chunks 4: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(8): 'backing;' Line 329 - Chunks 16: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(3): 'And' Space(1): ' ' Visible(7): 'whether' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(6): 'should' Space(1): ' ' Visible(4): 'zero' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(8): 'backing.' Line 330 - Chunks 4: Tab(1): ' ' Visible(3): 'B32' Space(1): ' ' Visible(13): 'zero_backing;' Line 331 - Chunks 1: Visible(2): '};' Line 332 - Chunks 0: Line 333 - Chunks 13: Visible(4): 'void' Space(1): ' ' Visible(36): 'file_read_contents_api(FileOpResult*' Space(1): ' ' Visible(7): 'result,' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(5): 'path,' Space(1): ' ' Visible(25): 'Opts__read_file_contents*' Space(1): ' ' Visible(5): 'opts)' Line 334 - Chunks 1: Visible(1): '{' Line 335 - Chunks 6: Tab(1): ' ' Visible(13): 'assert(result' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(9): 'nullptr);' Line 336 - Chunks 6: Tab(1): ' ' Visible(11): 'assert(opts' Space(3): ' ' Visible(2): '!=' Space(1): ' ' Visible(9): 'nullptr);' Line 337 - Chunks 2: Tab(1): ' ' Visible(19): 'slice_assert(path);' Line 338 - Chunks 14: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(7): 'Backing' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(8): 'required' Space(1): ' ' Visible(2): 'at' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(5): 'point' Line 339 - Chunks 2: Tab(1): ' ' Visible(28): 'slice_assert(opts->backing);' Line 340 - Chunks 0: Line 341 - Chunks 28: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(5): 'limit' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): 'path' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(2): 'V1' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(4): '16kb' Space(1): ' ' Visible(5): 'worth' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(11): 'codepoints.' Line 342 - Chunks 8: Tab(1): ' ' Visible(9): 'FMem_16KB' Space(3): ' ' Visible(7): 'scratch' Space(3): ' ' Visible(1): '=' Space(1): ' ' Visible(4): '{0};' Line 343 - Chunks 14: Tab(1): ' ' Visible(4): 'char' Space(1): ' ' Visible(6): 'const*' Space(1): ' ' Visible(9): 'path_cstr' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(25): 'str8_to_cstr_capped(path,' Space(1): ' ' Visible(19): 'fmem_slice(scratch)' Space(1): ' ' Visible(2): ');' Line 344 - Chunks 0: Line 345 - Chunks 8: Tab(1): ' ' Visible(6): 'HANDLE' Space(1): ' ' Visible(7): 'id_file' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(12): 'CreateFileA(' Line 346 - Chunks 2: Tab(2): ' ' Visible(10): 'path_cstr,' Line 347 - Chunks 2: Tab(2): ' ' Visible(13): 'GENERIC_READ,' Line 348 - Chunks 2: Tab(2): ' ' Visible(16): 'FILE_SHARE_READ,' Line 349 - Chunks 2: Tab(2): ' ' Visible(5): 'NULL,' Line 350 - Chunks 2: Tab(2): ' ' Visible(14): 'OPEN_EXISTING,' Line 351 - Chunks 2: Tab(2): ' ' Visible(22): 'FILE_ATTRIBUTE_NORMAL,' Line 352 - Chunks 2: Tab(2): ' ' Visible(4): 'NULL' Line 353 - Chunks 2: Tab(1): ' ' Visible(2): ');' Line 354 - Chunks 12: Tab(1): ' ' Visible(3): 'B32' Space(1): ' ' Visible(11): 'open_failed' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(7): 'id_file' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(21): 'INVALID_HANDLE_VALUE;' Line 355 - Chunks 6: Tab(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(13): '(open_failed)' Space(1): ' ' Visible(1): '{' Line 356 - Chunks 8: Tab(2): ' ' Visible(5): 'DWORD' Space(2): ' ' Visible(10): 'error_code' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(15): 'GetLastError();' Line 357 - Chunks 6: Tab(2): ' ' Visible(17): 'assert(error_code' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(3): '0);' Line 358 - Chunks 2: Tab(2): ' ' Visible(7): 'return;' Line 359 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 360 - Chunks 0: Line 361 - Chunks 8: Tab(1): ' ' Visible(13): 'LARGE_INTEGER' Space(1): ' ' Visible(9): 'file_size' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(4): '{0};' Line 362 - Chunks 14: Tab(1): ' ' Visible(5): 'DWORD' Space(1): ' ' Visible(15): 'get_size_failed' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '!' Space(1): ' ' Visible(22): 'GetFileSizeEx(id_file,' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(11): 'file_size);' Line 363 - Chunks 6: Tab(1): ' ' Visible(2): 'if' Space(3): ' ' Visible(17): '(get_size_failed)' Space(1): ' ' Visible(1): '{' Line 364 - Chunks 6: Tab(2): ' ' Visible(22): 'assert(get_size_failed' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(19): 'INVALID_FILE_SIZE);' Line 365 - Chunks 2: Tab(2): ' ' Visible(7): 'return;' Line 366 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 367 - Chunks 0: Line 368 - Chunks 38: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(7): 'Because' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(3): 'are' Space(1): ' ' Visible(9): 'currently' Space(1): ' ' Visible(5): 'using' Space(1): ' ' Visible(5): 'fixed' Space(1): ' ' Visible(4): 'size' Space(1): ' ' Visible(7): 'memory,' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(4): 'need' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(7): 'confirm' Space(1): ' ' Visible(4): 'that' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(3): 'can' Space(1): ' ' Visible(4): 'hold' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(8): 'content.' Line 369 - Chunks 12: Tab(1): ' ' Visible(3): 'B32' Space(1): ' ' Visible(18): 'not_enough_backing' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(17): 'opts->backing.len' Space(1): ' ' Visible(1): '<' Space(1): ' ' Visible(19): 'file_size.QuadPart;' Line 370 - Chunks 6: Tab(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(20): '(not_enough_backing)' Space(1): ' ' Visible(1): '{' Line 371 - Chunks 2: Tab(2): ' ' Visible(27): 'assert(not_enough_backing);' Line 372 - Chunks 14: Tab(2): ' ' Visible(2): '//' Space(1): ' ' Visible(9): 'Otherwise' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(5): 'don't' Space(1): ' ' Visible(7): 'provide' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(7): 'result.' Line 373 - Chunks 6: Tab(2): ' ' Visible(15): 'result->content' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(15): '(SliceByte){0};' Line 374 - Chunks 2: Tab(2): ' ' Visible(7): 'return;' Line 375 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 376 - Chunks 0: Line 377 - Chunks 6: Tab(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(20): '(opts->zero_backing)' Space(1): ' ' Visible(1): '{' Line 378 - Chunks 4: Space(10): ' ' Visible(27): 'slice_zero(pcast(SliceByte,' Space(1): ' ' Visible(16): 'opts->backing));' Line 379 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 380 - Chunks 0: Line 381 - Chunks 8: Tab(1): ' ' Visible(5): 'DWORD' Space(1): ' ' Visible(11): 'amount_read' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Line 382 - Chunks 8: Tab(1): ' ' Visible(4): 'BOOL' Space(2): ' ' Visible(11): 'read_result' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(9): 'ReadFile(' Line 383 - Chunks 2: Tab(2): ' ' Visible(8): 'id_file,' Line 384 - Chunks 2: Tab(2): ' ' Visible(18): 'opts->backing.ptr,' Line 385 - Chunks 2: Tab(2): ' ' Visible(19): 'file_size.QuadPart,' Line 386 - Chunks 4: Tab(2): ' ' Visible(1): '&' Space(1): ' ' Visible(12): 'amount_read,' Line 387 - Chunks 2: Tab(2): ' ' Visible(7): 'nullptr' Line 388 - Chunks 2: Tab(1): ' ' Visible(2): ');' Line 389 - Chunks 2: Tab(1): ' ' Visible(21): 'CloseHandle(id_file);' Line 390 - Chunks 1: Tab(1): ' ' Line 391 - Chunks 10: Tab(1): ' ' Visible(3): 'B32' Space(1): ' ' Visible(11): 'read_failed' Space(2): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '!' Space(1): ' ' Visible(12): 'read_result;' Line 392 - Chunks 11: Tab(1): ' ' Space(4): ' ' Visible(11): 'read_failed' Space(1): ' ' Visible(2): '|=' Space(1): ' ' Visible(11): 'amount_read' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(19): 'file_size.QuadPart;' Line 393 - Chunks 6: Tab(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(13): '(read_failed)' Space(1): ' ' Visible(1): '{' Line 394 - Chunks 2: Tab(2): ' ' Visible(20): 'assert(read_failed);' Line 395 - Chunks 2: Tab(2): ' ' Visible(7): 'return;' Line 396 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 397 - Chunks 0: Line 398 - Chunks 6: Tab(1): ' ' Visible(19): 'result->content.ptr' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(18): 'opts->backing.ptr;' Line 399 - Chunks 6: Tab(1): ' ' Visible(19): 'result->content.len' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(19): 'file_size.QuadPart;' Line 400 - Chunks 2: Tab(1): ' ' Visible(7): 'return;' Line 401 - Chunks 1: Visible(1): '}' Line 402 - Chunks 0: Line 403 - Chunks 3: Visible(6): '#endif' Space(1): ' ' Visible(27): 'DEMO__FILE_READ_CONTENTS_V1' Line 404 - Chunks 0: Line 405 - Chunks 7: Visible(2): '//' Space(1): ' ' Visible(7): 'Version' Space(1): ' ' Visible(8): 'agnostic' Space(1): ' ' Visible(5): 'code:' Line 406 - Chunks 1: Visible(6): 'inline' Line 407 - Chunks 11: Visible(12): 'FileOpResult' Space(1): ' ' Visible(24): 'file__read_contents(Str8' Space(1): ' ' Visible(5): 'path,' Space(1): ' ' Visible(25): 'Opts__read_file_contents*' Space(1): ' ' Visible(5): 'opts)' Space(1): ' ' Visible(1): '{' Line 408 - Chunks 4: Tab(1): ' ' Visible(12): 'FileOpResult' Space(1): ' ' Visible(7): 'result;' Line 409 - Chunks 8: Tab(1): ' ' Visible(24): 'file_read_contents_api(&' Space(1): ' ' Visible(7): 'result,' Space(1): ' ' Visible(5): 'path,' Space(1): ' ' Visible(6): 'opts);' Line 410 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(7): 'result;' Line 411 - Chunks 1: Visible(1): '}' Line 412 - Chunks 0: Line 413 - Chunks 49: Visible(2): '//' Space(1): ' ' Visible(3): 'And' Space(1): ' ' Visible(3): 'now' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(3): 'put' Space(1): ' ' Visible(2): 'it' Space(1): ' ' Visible(3): 'all' Space(1): ' ' Visible(8): 'together' Space(1): ' ' Visible(4): 'into' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): 'test' Space(1): ' ' Visible(3): 'run' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(9): 'debugger.' Space(1): ' ' Visible(7): 'Content' Space(1): ' ' Visible(6): 'should' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(8): 'properly' Space(1): ' ' Visible(9): 'formatted' Space(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'code' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(8): 'correct.' Line 414 - Chunks 3: Visible(6): '#ifdef' Space(1): ' ' Visible(27): 'DEMO__FILE_READ_CONTENTS_V1' Line 415 - Chunks 3: Visible(3): 'int' Space(1): ' ' Visible(6): 'main()' Line 416 - Chunks 1: Visible(1): '{' Line 417 - Chunks 24: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(5): 'limit' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(2): 'V1' Space(1): ' ' Visible(4): 'read' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): '64kb' Space(1): ' ' Visible(2): 'at' Space(1): ' ' Visible(5): 'most.' Line 418 - Chunks 8: Tab(1): ' ' Visible(9): 'FMem_64KB' Space(4): ' ' Visible(8): 'read_mem' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(4): '{0};' Line 419 - Chunks 16: Tab(1): ' ' Visible(12): 'FileOpResult' Space(1): ' ' Visible(3): 'res' Space(6): ' ' Visible(1): '=' Space(1): ' ' Visible(43): 'file_read_contents(lit("demo.str_cache.c"),' Space(1): ' ' Visible(8): '.backing' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(20): 'fmem_slice(read_mem)' Space(1): ' ' Visible(2): ');' Line 420 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(2): '0;' Line 421 - Chunks 1: Visible(1): '}' Line 422 - Chunks 3: Visible(6): '#endif' Space(1): ' ' Visible(27): 'DEMO__FILE_READ_CONTENTS_V1' Line 423 - Chunks 0: Line 424 - Chunks 1: Visible(2): '/*' Line 425 - Chunks 31: Visible(3): 'Now' Space(1): ' ' Visible(4): 'that' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(4): 'have' Space(1): ' ' Visible(4): 'file' Space(1): ' ' Visible(7): 'reading' Space(1): ' ' Visible(4): 'done' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(4): 'need' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(4): 'able' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(7): 'process' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(8): 'content.' Line 426 - Chunks 0: Line 427 - Chunks 43: Visible(5): 'First' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(4): 'want' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(2): 'do' Space(1): ' ' Visible(7): 'lexical' Space(1): ' ' Visible(9): 'analysis.' Space(1): ' ' Visible(2): 'So' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(6): 'create' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'token' Space(1): ' ' Visible(7): 'listing' Space(1): ' ' Visible(10): 'delimiting' Space(1): ' ' Visible(7): 'aspects' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'text' Space(1): ' ' Visible(4): 'file' Space(1): ' ' Visible(8): 'relevant' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(3): 'us.' Line 428 - Chunks 41: Visible(3): 'For' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(4): 'data' Space(1): ' ' Visible(10): 'structure,' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(3): 'are' Space(1): ' ' Visible(5): 'going' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(16): 'Whitespace-Aware' Space(1): ' ' Visible(4): 'Text' Space(1): ' ' Visible(7): 'Layout;' Space(1): ' ' Visible(5): 'where' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(5): 'track' Space(1): ' ' Visible(4): 'text' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(10): 'formatting' Space(1): ' ' Visible(6): 'around' Space(1): ' ' Visible(5): 'them.' Line 429 - Chunks 0: Line 430 - Chunks 31: Visible(4): 'Just' Space(1): ' ' Visible(4): 'like' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'read' Space(1): ' ' Visible(4): 'file' Space(1): ' ' Visible(8): 'contents' Space(1): ' ' Visible(10): 'operation,' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(6): 'define' Space(1): ' ' Visible(2): 'an' Space(1): ' ' Visible(9): 'interface' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(10): 'performing' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(9): 'analysis.' Line 431 - Chunks 38: Visible(2): 'It' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(6): 'called' Space(1): ' ' Visible(8): 'watl_lex' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(4): 'take' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(4): 'from' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'file' Space(1): ' ' Visible(2): 'as' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(5): 'slice' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(4): 'some' Space(1): ' ' Visible(15): 'Opts__watl_lex;' Space(1): ' ' Line 432 - Chunks 23: Visible(9): 'returning' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(12): 'WATL_LexInfo' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(9): 'providing' Space(1): ' ' Visible(4): 'user' Space(1): ' ' Visible(4): 'info' Space(1): ' ' Visible(2): 'on' Space(1): ' ' Visible(3): 'how' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(9): 'operation' Space(1): ' ' Visible(5): 'went.' Line 433 - Chunks 1: Visible(2): '*/' Line 434 - Chunks 0: Line 435 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(12): 'WATL_LexInfo' Space(1): ' ' Visible(13): 'WATL_LexInfo;' Line 436 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(14): 'Opts__watl_lex' Space(1): ' ' Visible(15): 'Opts__watl_lex;' Line 437 - Chunks 0: Line 438 - Chunks 13: Visible(4): 'void' Space(9): ' ' Visible(26): 'watl_lex_api(WATL_LexInfo*' Space(1): ' ' Visible(5): 'info,' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(7): 'source,' Space(1): ' ' Visible(15): 'Opts__watl_lex*' Space(1): ' ' Visible(6): 'opts);' Line 439 - Chunks 13: Visible(12): 'WATL_LexInfo' Space(1): ' ' Visible(9): 'watl__lex' Space(3): ' ' Visible(1): '(' Space(20): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(7): 'source,' Space(1): ' ' Visible(15): 'Opts__watl_lex*' Space(1): ' ' Visible(6): 'opts);' Line 440 - Chunks 9: Visible(7): '#define' Space(1): ' ' Visible(16): 'watl_lex(source,' Space(1): ' ' Visible(4): '...)' Space(1): ' ' Visible(17): 'watl__lex(source,' Space(1): ' ' Visible(31): '&(Opts__watl_lex){__VA_ARGS__})' Line 441 - Chunks 0: Line 442 - Chunks 1: Visible(2): '/*' Line 443 - Chunks 17: Visible(5): 'Token' Space(1): ' ' Visible(14): 'identification' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(4): 'done' Space(1): ' ' Visible(5): 'using' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(12): 'WATL_TokKind' Space(1): ' ' Visible(12): 'enumeration.' Line 444 - Chunks 65: Visible(3): 'The' Space(1): ' ' Visible(5): 'token' Space(1): ' ' Visible(4): 'type' Space(1): ' ' Visible(6): 'itself' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(2): 'id' Space(1): ' ' Visible(5): 'along' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(3): 'ptr' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(3): 'its' Space(1): ' ' Visible(5): 'start' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(6): 'slice.' Space(1): ' ' Visible(2): 'We' Space(1): ' ' Visible(3): 'can' Space(1): ' ' Visible(7): 'resolve' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(5): 'width' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(5): 'token' Space(1): ' ' Visible(2): 'by' Space(1): ' ' Visible(3): 'its' Space(1): ' ' Visible(5): 'delta' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'next' Space(1): ' ' Visible(6): 'token.' Line 445 - Chunks 39: Visible(2): 'If' Space(1): ' ' Visible(3): 'its' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'last' Space(1): ' ' Visible(6): 'token,' Space(1): ' ' Visible(4): 'then' Space(1): ' ' Visible(3): 'its' Space(1): ' ' Visible(5): 'delta' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(10): 'determined' Space(1): ' ' Visible(2): 'by' Space(1): ' ' Visible(3): 'its' Space(1): ' ' Visible(6): 'offset' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(3): 'end' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(6): 'slice.' Line 446 - Chunks 1: Visible(2): '*/' Line 447 - Chunks 0: Line 448 - Chunks 5: Visible(7): 'typedef' Space(1): ' ' Visible(3): 'U32' Space(1): ' ' Visible(13): 'WATL_TokKind;' Line 449 - Chunks 5: Visible(4): 'enum' Space(1): ' ' Visible(12): 'WATL_TokKind' Space(1): ' ' Visible(1): '{' Line 450 - Chunks 8: Tab(1): ' ' Visible(14): 'WATL_Tok_Space' Space(10): ' ' Visible(1): '=' Space(1): ' ' Visible(1): ''' Space(1): ' ' Visible(2): '',' Line 451 - Chunks 6: Tab(1): ' ' Visible(12): 'WATL_Tok_Tab' Space(12): ' ' Visible(1): '=' Space(1): ' ' Visible(5): ''\t',' Line 452 - Chunks 6: Tab(1): ' ' Visible(23): 'WATL_Tok_CarriageReturn' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(5): ''\r',' Line 453 - Chunks 6: Tab(1): ' ' Visible(17): 'WATL_Tok_LineFeed' Space(7): ' ' Visible(1): '=' Space(1): ' ' Visible(5): ''\n',' Line 454 - Chunks 6: Tab(1): ' ' Visible(13): 'WATL_Tok_Text' Space(11): ' ' Visible(1): '=' Space(1): ' ' Visible(11): '0xFFFFFFFF,' Line 455 - Chunks 1: Visible(2): '};' Line 456 - Chunks 0: Line 457 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(8): 'WATL_Tok' Space(1): ' ' Visible(9): 'WATL_Tok;' Line 458 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(8): 'WATL_Tok' Space(1): ' ' Visible(1): '{' Line 459 - Chunks 4: Tab(1): ' ' Visible(5): 'UTF8*' Space(1): ' ' Visible(5): 'code;' Line 460 - Chunks 1: Visible(2): '};' Line 461 - Chunks 0: Line 462 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(13): 'WATL_SliceTok' Space(1): ' ' Visible(14): 'WATL_SliceTok;' Line 463 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(13): 'WATL_SliceTok' Space(1): ' ' Visible(1): '{' Line 464 - Chunks 4: Tab(1): ' ' Visible(9): 'WATL_Tok*' Space(1): ' ' Visible(4): 'ptr;' Line 465 - Chunks 4: Tab(1): ' ' Visible(5): 'SSIZE' Space(5): ' ' Visible(4): 'len;' Line 466 - Chunks 1: Visible(2): '};' Line 467 - Chunks 0: Line 468 - Chunks 11: Visible(4): 'Str8' Space(1): ' ' Visible(27): 'watl_tok_str8(WATL_SliceTok' Space(1): ' ' Visible(5): 'toks,' Space(1): ' ' Visible(9): 'WATL_Tok*' Space(1): ' ' Visible(4): 'tok)' Space(1): ' ' Visible(1): '{' Line 469 - Chunks 12: Tab(1): ' ' Visible(9): 'WATL_Tok*' Space(1): ' ' Visible(4): 'next' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(3): 'tok' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(2): '1;' Line 470 - Chunks 10: Tab(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(5): 'start' Space(4): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'cast(USIZE,' Space(1): ' ' Visible(16): 'toks.ptr->code);' Line 471 - Chunks 10: Tab(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(4): 'curr' Space(5): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'cast(USIZE,' Space(1): ' ' Visible(11): 'tok->code);' Line 472 - Chunks 12: Tab(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(6): 'offset' Space(3): ' ' Visible(1): '=' Space(1): ' ' Visible(4): 'curr' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(6): 'start;' Line 473 - Chunks 12: Tab(1): ' ' Visible(5): 'SSIZE' Space(1): ' ' Visible(4): 'left' Space(5): ' ' Visible(1): '=' Space(1): ' ' Visible(8): 'toks.len' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(7): 'offset;' Line 474 - Chunks 20: Tab(1): ' ' Visible(3): 'B32' Space(3): ' ' Visible(8): 'last_tok' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(6): '(start' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(9): 'toks.len)' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(5): '(curr' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(6): 'left);' Line 475 - Chunks 8: Tab(1): ' ' Visible(4): 'Str8' Space(2): ' ' Visible(4): 'text' Space(5): ' ' Visible(1): '=' Space(1): ' ' Visible(4): '{0};' Line 476 - Chunks 6: Tab(1): ' ' Visible(8): 'text.ptr' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(10): 'tok->code;' Line 477 - Chunks 17: Tab(1): ' ' Visible(8): 'text.len' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(4): 'next' Space(1): ' ' Visible(1): '>' Space(1): ' ' Visible(9): '(toks.ptr' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(9): 'toks.len)' Space(1): ' ' Visible(1): '?' Space(1): ' ' Line 478 - Chunks 2: Tab(2): ' ' Visible(4): 'left' Line 479 - Chunks 16: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(9): 'Othwerise' Space(1): ' ' Visible(3): 'its' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'last' Space(1): ' ' Visible(5): 'minus' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(5): 'curr.' Line 480 - Chunks 10: Tab(1): ' ' Visible(1): ':' Tab(1): ' ' Visible(11): 'cast(SSIZE,' Space(1): ' ' Visible(10): 'next->code' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(11): 'tok->code);' Line 481 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(5): 'text;' Line 482 - Chunks 1: Visible(1): '}' Line 483 - Chunks 0: Line 484 - Chunks 1: Visible(2): '/*' Line 485 - Chunks 57: Visible(6): 'Tokens' Space(1): ' ' Visible(3): 'are' Space(1): ' ' Visible(9): 'allocated' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(7): 'backing' Space(1): ' ' Visible(5): 'slice' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(6): 'memory' Space(1): ' ' Visible(7): 'defined' Space(1): ' ' Visible(2): 'by' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(5): 'user.' Space(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(4): 'pool' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(6): 'memory' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(7): 'ideally' Space(1): ' ' Visible(3): 'not' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(11): 'constrained' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'fixed' Space(1): ' ' Visible(4): 'size' Space(1): ' ' Visible(2): 'on' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(6): 'stack.' Line 486 - Chunks 69: Visible(2): 'So' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(2): 'V1' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(8): 'allocate' Space(1): ' ' Visible(2): '10' Space(1): ' ' Visible(4): 'megs' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(4): 'heap' Space(1): ' ' Visible(6): 'memory' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(3): 'act' Space(1): ' ' Visible(2): 'as' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): 'pool' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(7): 'tokens.' Space(1): ' ' Visible(5): 'We'll' Space(1): ' ' Visible(4): 'keep' Space(1): ' ' Visible(5): 'track' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(3): 'how' Space(1): ' ' Visible(4): 'much' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'pool' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(4): 'used' Space(1): ' ' Visible(3): 'via' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(3): 'new' Space(1): ' ' Visible(6): 'memory' Space(1): ' ' Visible(8): 'tracking' Space(1): ' ' Visible(10): 'construct:' Line 487 - Chunks 5: Visible(3): 'The' Space(1): ' ' Visible(11): 'fixed-sized' Space(1): ' ' Visible(6): 'arena.' Line 488 - Chunks 0: Line 489 - Chunks 37: Visible(1): 'A' Space(1): ' ' Visible(5): 'basic' Space(1): ' ' Visible(5): 'fixed' Space(1): ' ' Visible(4): 'size' Space(1): ' ' Visible(5): 'arena' Space(1): ' ' Visible(4): 'only' Space(1): ' ' Visible(3): 'has' Space(1): ' ' Visible(5): 'three' Space(1): ' ' Visible(10): 'components' Space(1): ' ' Visible(5): 'which' Space(1): ' ' Visible(3): 'can' Space(1): ' ' Visible(4): 'vary' Space(1): ' ' Visible(9): 'depending' Space(1): ' ' Visible(2): 'on' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(10): 'convention' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'user' Space(1): ' ' Visible(8): 'perfers.' Line 490 - Chunks 31: Visible(2): 'In' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(4): 'case' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(5): 'track' Space(1): ' ' Visible(3): 'its' Space(1): ' ' Visible(9): 'capacity,' Space(1): ' ' Visible(3): 'its' Space(1): ' ' Visible(8): 'starting' Space(1): ' ' Visible(8): 'address,' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(3): 'how' Space(1): ' ' Visible(4): 'much' Space(1): ' ' Visible(3): 'has' Space(1): ' ' Visible(4): 'been' Space(1): ' ' Visible(10): 'comitted..' Line 491 - Chunks 1: Visible(2): '*/' Line 492 - Chunks 0: Line 493 - Chunks 37: Visible(2): '//' Space(1): ' ' Visible(2): 'We' Space(1): ' ' Visible(3): 'use' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(14): 'in-conjunction' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(6): 'Areans' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'save' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'point' Space(1): ' ' Visible(5): 'thats' Space(1): ' ' Visible(4): 'safe' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(6): 'rewind' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(2): 'by' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(5): 'user.' Line 494 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(7): 'ArenaSP' Space(1): ' ' Visible(8): 'ArenaSP;' Line 495 - Chunks 11: Visible(6): 'struct' Space(1): ' ' Visible(7): 'ArenaSP' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(5): 'void*' Space(1): ' ' Visible(4): 'ptr;' Space(1): ' ' Visible(2): '};' Line 496 - Chunks 0: Line 497 - Chunks 5: Visible(7): '#pragma' Space(1): ' ' Visible(6): 'region' Space(1): ' ' Visible(6): 'FArena' Line 498 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(6): 'FArena' Space(1): ' ' Visible(7): 'FArena;' Line 499 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(6): 'FArena' Space(1): ' ' Visible(1): '{' Line 500 - Chunks 4: Tab(1): ' ' Visible(5): 'void*' Space(1): ' ' Visible(6): 'start;' Line 501 - Chunks 4: Tab(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(9): 'capacity;' Line 502 - Chunks 4: Tab(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(5): 'used;' Line 503 - Chunks 1: Visible(2): '};' Line 504 - Chunks 9: Visible(4): 'void' Space(5): ' ' Visible(23): 'api_farena_init(FArena*' Space(1): ' ' Visible(6): 'arena,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(5): 'mem);' Line 505 - Chunks 7: Visible(6): 'FArena' Space(3): ' ' Visible(11): 'farena_init' Space(4): ' ' Visible(10): '(SliceByte' Space(1): ' ' Visible(5): 'mem);' Line 506 - Chunks 19: Visible(5): 'void*' Space(4): ' ' Visible(12): 'farena__push' Space(3): ' ' Visible(8): '(FArena*' Space(1): ' ' Visible(6): 'arena,' Space(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(10): 'type_size,' Space(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(7): 'amount,' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(14): 'dbg_typename);' Line 507 - Chunks 7: Visible(4): 'void' Space(5): ' ' Visible(12): 'farena_reset' Space(3): ' ' Visible(8): '(FArena*' Space(1): ' ' Visible(7): 'arena);' Line 508 - Chunks 11: Visible(4): 'void' Space(5): ' ' Visible(13): 'farena_rewind' Space(2): ' ' Visible(8): '(FArena*' Space(1): ' ' Visible(6): 'arena,' Space(1): ' ' Visible(7): 'ArenaSP' Space(1): ' ' Visible(11): 'savepoint);' Line 509 - Chunks 7: Visible(7): 'ArenaSP' Space(2): ' ' Visible(11): 'farena_save' Space(4): ' ' Visible(7): '(FArena' Space(2): ' ' Visible(7): 'arena);' Line 510 - Chunks 0: Line 511 - Chunks 19: Visible(7): '#define' Space(2): ' ' Visible(18): 'farena_push(arena,' Space(1): ' ' Visible(5): 'type)' Space(15): ' ' Visible(11): 'cast(type*,' Space(6): ' ' Visible(14): 'farena__push(&' Space(1): ' ' Visible(6): 'arena,' Space(1): ' ' Visible(14): 'size_of(type),' Space(1): ' ' Visible(2): '1,' Space(6): ' ' Visible(21): 'lit(stringify(type)))' Space(9): ' ' Visible(1): ')' Line 512 - Chunks 27: Visible(7): '#define' Space(2): ' ' Visible(24): 'farena_push_array(arena,' Space(1): ' ' Visible(5): 'type,' Space(1): ' ' Visible(7): 'amount)' Space(1): ' ' Visible(6): '(Slice' Space(1): ' ' Visible(2): '##' Space(1): ' ' Visible(6): 'type){' Space(1): ' ' Visible(14): 'farena__push(&' Space(1): ' ' Visible(6): 'arena,' Space(1): ' ' Visible(14): 'size_of(type),' Space(1): ' ' Visible(7): 'amount,' Space(1): ' ' Visible(22): 'lit(stringify(type))),' Space(1): ' ' Visible(6): 'amount' Space(1): ' ' Visible(1): '}' Line 513 - Chunks 0: Line 514 - Chunks 1: Visible(6): 'inline' Line 515 - Chunks 11: Visible(4): 'void' Space(1): ' ' Visible(23): 'api_farena_init(FArena*' Space(1): ' ' Visible(6): 'arena,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(4): 'mem)' Space(1): ' ' Visible(1): '{' Line 516 - Chunks 6: Tab(1): ' ' Visible(12): 'arena->start' Space(4): ' ' Visible(1): '=' Space(1): ' ' Visible(8): 'mem.ptr;' Line 517 - Chunks 6: Tab(1): ' ' Visible(15): 'arena->capacity' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(8): 'mem.len;' Line 518 - Chunks 6: Tab(1): ' ' Visible(11): 'arena->used' Space(5): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Line 519 - Chunks 1: Visible(1): '}' Line 520 - Chunks 25: Visible(6): 'inline' Space(1): ' ' Visible(6): 'FArena' Space(1): ' ' Visible(21): 'farena_init(SliceByte' Space(1): ' ' Visible(4): 'mem)' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(6): 'FArena' Space(1): ' ' Visible(6): 'arena;' Space(1): ' ' Visible(17): 'api_farena_init(&' Space(1): ' ' Visible(6): 'arena,' Space(1): ' ' Visible(5): 'mem);' Space(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(6): 'arena;' Space(1): ' ' Visible(1): '}' Line 521 - Chunks 0: Line 522 - Chunks 1: Visible(6): 'inline' Line 523 - Chunks 19: Visible(5): 'void*' Space(1): ' ' Visible(20): 'farena__push(FArena*' Space(1): ' ' Visible(6): 'arena,' Space(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(10): 'type_size,' Space(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(7): 'amount,' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(13): 'dbg_typename)' Space(1): ' ' Visible(1): '{' Line 524 - Chunks 12: Tab(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(9): 'to_commit' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(9): 'type_size' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(7): 'amount;' Line 525 - Chunks 12: Tab(1): ' ' Visible(5): 'USIZE' Space(1): ' ' Visible(6): 'unused' Space(4): ' ' Visible(1): '=' Space(1): ' ' Visible(15): 'arena->capacity' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(12): 'arena->used;' Line 526 - Chunks 6: Tab(1): ' ' Visible(16): 'assert(to_commit' Space(1): ' ' Visible(2): '<=' Space(1): ' ' Visible(8): 'unused);' Line 527 - Chunks 16: Tab(1): ' ' Visible(5): 'void*' Space(2): ' ' Visible(3): 'ptr' Space(3): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'cast(void*,' Space(1): ' ' Visible(11): 'cast(USIZE,' Space(1): ' ' Visible(13): 'arena->start)' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(13): 'arena->used);' Line 528 - Chunks 6: Tab(1): ' ' Visible(11): 'arena->used' Space(1): ' ' Visible(2): '+=' Space(1): ' ' Visible(10): 'to_commit;' Line 529 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(4): 'ptr;' Line 530 - Chunks 1: Visible(1): '}' Line 531 - Chunks 0: Line 532 - Chunks 1: Visible(6): 'inline' Line 533 - Chunks 11: Visible(4): 'void' Space(1): ' ' Visible(21): 'farena_rewind(FArena*' Space(1): ' ' Visible(6): 'arena,' Space(1): ' ' Visible(7): 'ArenaSP' Space(1): ' ' Visible(10): 'savepoint)' Space(1): ' ' Visible(1): '{' Line 534 - Chunks 16: Tab(1): ' ' Visible(5): 'void*' Space(1): ' ' Visible(3): 'end' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'cast(void*,' Space(1): ' ' Visible(11): 'cast(USIZE,' Space(1): ' ' Visible(13): 'arena->start)' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(13): 'arena->used);' Line 535 - Chunks 6: Tab(1): ' ' Visible(28): 'assert_bounds(savepoint.ptr,' Space(1): ' ' Visible(13): 'arena->start,' Space(1): ' ' Visible(5): 'end);' Line 536 - Chunks 14: Tab(1): ' ' Visible(11): 'arena->used' Space(1): ' ' Visible(2): '-=' Space(1): ' ' Visible(11): 'cast(USIZE,' Space(1): ' ' Visible(14): 'savepoint.ptr)' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(11): 'cast(USIZE,' Space(1): ' ' Visible(14): 'arena->start);' Line 537 - Chunks 1: Visible(1): '}' Line 538 - Chunks 0: Line 539 - Chunks 17: Visible(6): 'inline' Space(1): ' ' Visible(4): 'void' Space(4): ' ' Visible(20): 'farena_reset(FArena*' Space(1): ' ' Visible(6): 'arena)' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(11): 'arena->used' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Space(1): ' ' Visible(1): '}' Line 540 - Chunks 28: Visible(6): 'inline' Space(1): ' ' Visible(7): 'ArenaSP' Space(1): ' ' Visible(11): 'farena_save' Space(1): ' ' Visible(7): '(FArena' Space(2): ' ' Visible(6): 'arena)' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(7): 'ArenaSP' Space(1): ' ' Visible(10): 'savepoint;' Space(1): ' ' Visible(13): 'savepoint.ptr' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(12): 'arena.start;' Space(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(10): 'savepoint;' Space(1): ' ' Visible(1): '}' Space(1): ' ' Line 541 - Chunks 5: Visible(7): '#pragma' Space(1): ' ' Visible(9): 'endregion' Space(1): ' ' Visible(6): 'FArena' Line 542 - Chunks 0: Line 543 - Chunks 7: Visible(3): '#if' Space(1): ' ' Visible(26): 'defined(DEMO__WATL_LEX_V1)' Space(9): ' ' Visible(2): '||' Space(1): ' ' Visible(1): '\' Line 544 - Chunks 6: Tab(1): ' ' Visible(28): 'defined(DEMO__WATL_PARSE_V1)' Space(7): ' ' Visible(2): '||' Space(1): ' ' Visible(1): '\' Line 545 - Chunks 6: Tab(1): ' ' Visible(34): 'defined(DEMO__WATL_DUMP_PREREQ_V1)' Space(1): ' ' Visible(2): '||' Space(1): ' ' Visible(1): '\' Line 546 - Chunks 2: Tab(1): ' ' Visible(27): 'defined(DEMO__WATL_DUMP_V1)' Line 547 - Chunks 0: Line 548 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(12): 'WATL_LexInfo' Space(1): ' ' Visible(1): '{' Line 549 - Chunks 12: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(3): 'For' Space(1): ' ' Visible(3): 'now' Space(1): ' ' Visible(4): 'just' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(6): 'tokens' Line 550 - Chunks 4: Tab(1): ' ' Visible(13): 'WATL_SliceTok' Space(1): ' ' Visible(7): 'tokens;' Line 551 - Chunks 1: Visible(2): '};' Line 552 - Chunks 0: Line 553 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(14): 'Opts__watl_lex' Space(1): ' ' Visible(1): '{' Line 554 - Chunks 1: Visible(2): '/*' Line 555 - Chunks 46: Tab(1): ' ' Visible(3): 'For' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(9): 'operation' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(7): 'enforce' Space(1): ' ' Visible(4): 'that' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(5): 'arena' Space(1): ' ' Visible(4): 'must' Space(1): ' ' Visible(8): 'linearly' Space(1): ' ' Visible(8): 'allocate' Space(1): ' ' Visible(4): 'each' Space(1): ' ' Visible(6): 'token,' Space(1): ' ' Visible(7): 'forming' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(8): 'strictly' Space(1): ' ' Visible(8): 'adjacent' Space(1): ' ' Visible(4): 'sent' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(8): 'elements' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(2): 'an' Space(1): ' ' Visible(6): 'array.' Line 556 - Chunks 51: Tab(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(3): 'not' Space(1): ' ' Visible(9): 'necessary' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(2): 'an' Space(1): ' ' Visible(10): 'equivalent' Space(1): ' ' Visible(7): 'process' Space(1): ' ' Visible(5): 'could' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(4): 'done' Space(1): ' ' Visible(5): 'where' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(6): 'tokens' Space(1): ' ' Visible(7): 'instead' Space(1): ' ' Visible(3): 'are' Space(1): ' ' Visible(16): 'semi-contigously' Space(1): ' ' Visible(9): 'organized' Space(1): ' ' Visible(4): 'into' Space(1): ' ' Visible(6): 'linked' Space(1): ' ' Visible(4): 'list' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(7): 'chained' Space(1): ' ' Visible(6): 'arena,' Space(1): ' ' Line 557 - Chunks 12: Tab(1): ' ' Visible(2): 'or' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(6): 'tokens' Space(1): ' ' Visible(3): 'are' Space(1): ' ' Visible(7): 'sparely' Space(1): ' ' Visible(7): 'cached.' Line 558 - Chunks 34: Tab(1): ' ' Visible(5): 'Where' Space(1): ' ' Visible(5): 'their' Space(1): ' ' Visible(8): 'position' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(5): 'their' Space(1): ' ' Visible(11): 'originating' Space(1): ' ' Visible(6): 'string' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(3): 'not' Space(1): ' ' Visible(10): 'preserved.' Space(1): ' ' Visible(2): 'In' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(4): 'case' Space(1): ' ' Visible(5): 'we're' Space(1): ' ' Visible(7): 'keeping' Space(1): ' ' Visible(2): 'it' Space(1): ' ' Visible(7): 'simple.' Line 559 - Chunks 30: Tab(1): ' ' Visible(6): 'Tokens' Space(1): ' ' Visible(3): 'are' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'same' Space(1): ' ' Visible(5): 'block' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(6): 'memory' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(4): 'they' Space(1): ' ' Visible(5): 'don't' Space(1): ' ' Visible(3): 'use' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(6): 'string' Space(1): ' ' Visible(6): 'cache.' Line 560 - Chunks 1: Visible(2): '*/' Line 561 - Chunks 4: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(10): 'pool_toks;' Line 562 - Chunks 1: Visible(2): '};' Line 563 - Chunks 0: Line 564 - Chunks 13: Visible(2): '//' Space(1): ' ' Visible(2): 'We' Space(1): ' ' Visible(3): 'are' Space(1): ' ' Visible(8): 'assuming' Space(1): ' ' Visible(10): 'everything' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(11): 'utf8-ascii.' Line 565 - Chunks 13: Visible(4): 'void' Space(1): ' ' Visible(26): 'watl_lex_api(WATL_LexInfo*' Space(1): ' ' Visible(5): 'info,' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(7): 'source,' Space(1): ' ' Visible(15): 'Opts__watl_lex*' Space(1): ' ' Visible(5): 'opts)' Line 566 - Chunks 1: Visible(1): '{' Line 567 - Chunks 6: Tab(1): ' ' Visible(11): 'assert(info' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(9): 'nullptr);' Line 568 - Chunks 2: Tab(1): ' ' Visible(21): 'slice_assert(source);' Line 569 - Chunks 6: Tab(1): ' ' Visible(11): 'assert(opts' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(9): 'nullptr);' Line 570 - Chunks 0: Line 571 - Chunks 8: Tab(1): ' ' Visible(6): 'FArena' Space(1): ' ' Visible(5): 'arena' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(29): 'farena_init(opts->pool_toks);' Line 572 - Chunks 0: Line 573 - Chunks 12: Tab(1): ' ' Visible(5): 'UTF8*' Space(1): ' ' Visible(3): 'end' Space(4): ' ' Visible(1): '=' Space(1): ' ' Visible(10): 'source.ptr' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(11): 'source.len;' Line 574 - Chunks 8: Tab(1): ' ' Visible(5): 'UTF8*' Space(1): ' ' Visible(6): 'cursor' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'source.ptr;' Line 575 - Chunks 8: Tab(1): ' ' Visible(5): 'UTF8*' Space(1): ' ' Visible(4): 'prev' Space(3): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'source.ptr;' Line 576 - Chunks 10: Tab(1): ' ' Visible(4): 'UTF8' Space(2): ' ' Visible(4): 'code' Space(3): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(7): 'cursor;' Line 577 - Chunks 0: Line 578 - Chunks 8: Tab(1): ' ' Visible(3): 'B32' Space(7): ' ' Visible(14): 'was_formatting' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(5): 'true;' Line 579 - Chunks 8: Tab(1): ' ' Visible(9): 'WATL_Tok*' Space(1): ' ' Visible(3): 'tok' Space(12): ' ' Visible(1): '=' Space(1): ' ' Visible(8): 'nullptr;' Line 580 - Chunks 10: Tab(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(2): '(;' Space(1): ' ' Visible(6): 'cursor' Space(1): ' ' Visible(1): '<' Space(1): ' ' Visible(5): 'end;)' Line 581 - Chunks 2: Tab(1): ' ' Visible(1): '{' Line 582 - Chunks 4: Tab(2): ' ' Visible(6): 'switch' Space(1): ' ' Visible(6): '(code)' Line 583 - Chunks 2: Tab(2): ' ' Visible(1): '{' Line 584 - Chunks 4: Tab(3): ' ' Visible(4): 'case' Space(1): ' ' Visible(15): 'WATL_Tok_Space:' Line 585 - Chunks 4: Tab(3): ' ' Visible(4): 'case' Space(1): ' ' Visible(13): 'WATL_Tok_Tab:' Line 586 - Chunks 2: Tab(3): ' ' Visible(1): '{' Line 587 - Chunks 14: Tab(4): ' ' Visible(2): 'if' Space(1): ' ' Visible(2): '(*' Space(1): ' ' Visible(4): 'prev' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(7): 'cursor)' Space(1): ' ' Visible(1): '{' Line 588 - Chunks 8: Tab(5): ' ' Visible(3): 'tok' Space(12): ' ' Visible(1): '=' Space(1): ' ' Visible(18): 'farena_push(arena,' Space(1): ' ' Visible(10): 'WATL_Tok);' Line 589 - Chunks 6: Tab(5): ' ' Visible(9): 'tok->code' Space(6): ' ' Visible(1): '=' Space(1): ' ' Visible(7): 'cursor;' Line 590 - Chunks 6: Tab(5): ' ' Visible(14): 'was_formatting' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(5): 'true;' Line 591 - Chunks 2: Tab(4): ' ' Visible(1): '}' Line 592 - Chunks 6: Tab(4): ' ' Visible(6): 'cursor' Space(1): ' ' Visible(2): '+=' Space(1): ' ' Visible(2): '1;' Line 593 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 594 - Chunks 2: Tab(3): ' ' Visible(6): 'break;' Line 595 - Chunks 0: Line 596 - Chunks 6: Tab(3): ' ' Visible(4): 'case' Space(1): ' ' Visible(18): 'WATL_Tok_LineFeed:' Space(1): ' ' Visible(1): '{' Line 597 - Chunks 8: Tab(5): ' ' Visible(3): 'tok' Space(12): ' ' Visible(1): '=' Space(1): ' ' Visible(18): 'farena_push(arena,' Space(1): ' ' Visible(10): 'WATL_Tok);' Line 598 - Chunks 6: Tab(5): ' ' Visible(9): 'tok->code' Space(6): ' ' Visible(1): '=' Space(1): ' ' Visible(7): 'cursor;' Line 599 - Chunks 6: Tab(5): ' ' Visible(6): 'cursor' Space(8): ' ' Visible(2): '+=' Space(1): ' ' Visible(2): '1;' Line 600 - Chunks 7: Tab(5): ' ' Visible(14): 'was_formatting' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(5): 'true;' Space(1): ' ' Line 601 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 602 - Chunks 2: Tab(3): ' ' Visible(6): 'break;' Line 603 - Chunks 0: Line 604 - Chunks 16: Tab(3): ' ' Visible(2): '//' Space(1): ' ' Visible(8): 'Assuming' Space(1): ' ' Visible(4): 'what' Space(1): ' ' Visible(5): 'comes' Space(1): ' ' Visible(5): 'after' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(4): 'line' Space(1): ' ' Visible(5): 'feed.' Line 605 - Chunks 6: Tab(3): ' ' Visible(4): 'case' Space(1): ' ' Visible(24): 'WATL_Tok_CarriageReturn:' Space(1): ' ' Visible(1): '{' Line 606 - Chunks 8: Tab(5): ' ' Visible(3): 'tok' Space(12): ' ' Visible(1): '=' Space(1): ' ' Visible(18): 'farena_push(arena,' Space(1): ' ' Visible(10): 'WATL_Tok);' Line 607 - Chunks 6: Tab(5): ' ' Visible(9): 'tok->code' Space(6): ' ' Visible(1): '=' Space(1): ' ' Visible(7): 'cursor;' Line 608 - Chunks 6: Tab(5): ' ' Visible(6): 'cursor' Space(8): ' ' Visible(2): '+=' Space(1): ' ' Visible(2): '2;' Line 609 - Chunks 7: Tab(5): ' ' Visible(14): 'was_formatting' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(5): 'true;' Space(1): ' ' Line 610 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 611 - Chunks 2: Tab(3): ' ' Visible(6): 'break;' Line 612 - Chunks 0: Line 613 - Chunks 2: Tab(3): ' ' Visible(8): 'default:' Line 614 - Chunks 2: Tab(3): ' ' Visible(1): '{' Line 615 - Chunks 6: Tab(4): ' ' Visible(2): 'if' Space(1): ' ' Visible(16): '(was_formatting)' Space(1): ' ' Visible(1): '{' Line 616 - Chunks 8: Tab(5): ' ' Visible(3): 'tok' Space(12): ' ' Visible(1): '=' Space(1): ' ' Visible(18): 'farena_push(arena,' Space(1): ' ' Visible(10): 'WATL_Tok);' Line 617 - Chunks 6: Tab(5): ' ' Visible(9): 'tok->code' Space(6): ' ' Visible(1): '=' Space(1): ' ' Visible(7): 'cursor;' Line 618 - Chunks 6: Tab(5): ' ' Visible(14): 'was_formatting' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(6): 'false;' Line 619 - Chunks 2: Tab(4): ' ' Visible(1): '}' Line 620 - Chunks 6: Tab(4): ' ' Visible(6): 'cursor' Space(1): ' ' Visible(2): '+=' Space(1): ' ' Visible(2): '1;' Line 621 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 622 - Chunks 2: Tab(3): ' ' Visible(6): 'break;' Line 623 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 624 - Chunks 10: Tab(2): ' ' Visible(4): 'prev' Space(1): ' ' Visible(1): '=' Space(2): ' ' Visible(6): 'cursor' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(2): '1;' Line 625 - Chunks 8: Tab(2): ' ' Visible(4): 'code' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(7): 'cursor;' Line 626 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 627 - Chunks 6: Tab(1): ' ' Visible(16): 'info->tokens.ptr' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(12): 'arena.start;' Line 628 - Chunks 10: Tab(1): ' ' Visible(16): 'info->tokens.len' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(10): 'arena.used' Space(1): ' ' Visible(1): '/' Space(1): ' ' Visible(19): 'size_of(WATL_Tok*);' Line 629 - Chunks 1: Visible(1): '}' Line 630 - Chunks 0: Line 631 - Chunks 3: Visible(6): '#endif' Space(1): ' ' Visible(17): 'DEMO__WATL_LEX_V1' Line 632 - Chunks 0: Line 633 - Chunks 1: Visible(6): 'inline' Line 634 - Chunks 11: Visible(12): 'WATL_LexInfo' Space(1): ' ' Visible(14): 'watl__lex(Str8' Space(1): ' ' Visible(7): 'source,' Space(1): ' ' Visible(15): 'Opts__watl_lex*' Space(1): ' ' Visible(5): 'opts)' Space(1): ' ' Visible(1): '{' Line 635 - Chunks 8: Tab(1): ' ' Visible(12): 'WATL_LexInfo' Space(1): ' ' Visible(6): 'result' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(4): '{0};' Line 636 - Chunks 8: Tab(1): ' ' Visible(14): 'watl_lex_api(&' Space(1): ' ' Visible(7): 'result,' Space(1): ' ' Visible(7): 'source,' Space(1): ' ' Visible(6): 'opts);' Line 637 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(7): 'result;' Line 638 - Chunks 1: Visible(1): '}' Line 639 - Chunks 0: Line 640 - Chunks 1: Visible(2): '/*' Line 641 - Chunks 35: Visible(2): 'To' Space(1): ' ' Visible(8): 'allocate' Space(1): ' ' Visible(4): 'onto' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'heap' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(4): 'make' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'basic' Space(1): ' ' Visible(15): 'slicemem_malloc' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(9): 'allocate,' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(4): 'make' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(13): 'corresponding' Space(1): ' ' Visible(13): 'slicemem_free' Space(1): ' ' Visible(7): 'aswell.' Line 642 - Chunks 47: Visible(7): 'However' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(5): 'don't' Space(1): ' ' Visible(4): 'need' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(3): 'use' Space(1): ' ' Visible(2): 'it' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(2): 'V1' Space(1): ' ' Visible(8): 'example.' Space(1): ' ' Visible(3): 'The' Space(1): ' ' Visible(2): 'OS' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(7): 'cleanup' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(5): 'pages' Space(1): ' ' Visible(4): 'used' Space(1): ' ' Visible(2): 'by' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(7): 'process' Space(1): ' ' Visible(6): 'during' Space(1): ' ' Visible(3): 'its' Space(1): ' ' Visible(12): 'termination.' Line 643 - Chunks 1: Visible(2): '*/' Line 644 - Chunks 0: Line 645 - Chunks 5: Visible(9): 'SliceByte' Space(1): ' ' Visible(20): 'slicemem_alloc(USIZE' Space(1): ' ' Visible(7): 'amount)' Line 646 - Chunks 1: Visible(1): '{' Line 647 - Chunks 6: Tab(1): ' ' Visible(13): 'assert(amount' Space(1): ' ' Visible(1): '>' Space(1): ' ' Visible(14): 'KILOBTYES(4));' Line 648 - Chunks 8: Tab(1): ' ' Visible(5): 'void*' Space(1): ' ' Visible(6): 'result' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(15): 'malloc(amount);' Line 649 - Chunks 6: Tab(1): ' ' Visible(13): 'assert(result' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(9): 'nullptr);' Line 650 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(3): 'mem' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '{' Line 651 - Chunks 6: Tab(2): ' ' Visible(4): '.ptr' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(7): 'result,' Line 652 - Chunks 6: Tab(2): ' ' Visible(4): '.len' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(6): 'amount' Line 653 - Chunks 2: Tab(1): ' ' Visible(2): '};' Line 654 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(4): 'mem;' Line 655 - Chunks 1: Visible(1): '}' Line 656 - Chunks 7: Visible(4): 'void' Space(1): ' ' Visible(23): 'slicemem_free(SliceByte' Space(1): ' ' Visible(4): 'mem)' Space(1): ' ' Visible(1): '{' Line 657 - Chunks 2: Tab(1): ' ' Visible(14): 'free(mem.ptr);' Line 658 - Chunks 1: Visible(1): '}' Line 659 - Chunks 0: Line 660 - Chunks 3: Visible(6): '#ifdef' Space(1): ' ' Visible(17): 'DEMO__WATL_LEX_V1' Line 661 - Chunks 3: Visible(3): 'int' Space(1): ' ' Visible(6): 'main()' Line 662 - Chunks 1: Visible(1): '{' Line 663 - Chunks 24: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(5): 'limit' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(2): 'V1' Space(1): ' ' Visible(4): 'read' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): '64kb' Space(1): ' ' Visible(2): 'at' Space(1): ' ' Visible(5): 'most.' Line 664 - Chunks 8: Tab(1): ' ' Visible(9): 'FMem_64KB' Space(4): ' ' Visible(8): 'read_mem' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(4): '{0};' Line 665 - Chunks 16: Tab(1): ' ' Visible(12): 'FileOpResult' Space(1): ' ' Visible(8): 'read_res' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(43): 'file_read_contents(lit("demo.str_cache.c"),' Space(1): ' ' Visible(8): '.backing' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(20): 'fmem_slice(read_mem)' Space(1): ' ' Visible(2): ');' Line 666 - Chunks 0: Line 667 - Chunks 36: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(5): 'limit' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(2): 'V1' Space(1): ' ' Visible(3): 'lex' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'only' Space(1): ' ' Visible(1): '8' Space(1): ' ' Visible(4): 'megs' Space(1): ' ' Visible(5): 'worth' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(5): 'token' Space(1): ' ' Visible(8): 'tracking' Space(1): ' ' Visible(2): 'on' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'file.' Line 668 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(5): ' ' Visible(8): 'mem_toks' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(29): 'slicemem_alloc(MEGABYTES(8));' Line 669 - Chunks 16: Tab(1): ' ' Visible(12): 'WATL_LexInfo' Space(1): ' ' Visible(7): 'lex_res' Space(2): ' ' Visible(1): '=' Space(1): ' ' Visible(20): 'watl_lex(pcast(Str8,' Space(1): ' ' Visible(18): 'read_res.content),' Space(1): ' ' Visible(10): '.pool_toks' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(10): 'mem_toks);' Line 670 - Chunks 22: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(11): 'unnecessary' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(4): 'case' Space(1): ' ' Visible(3): 'but' Space(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(3): 'you' Space(1): ' ' Visible(4): 'want' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(11): 'explicitly:' Line 671 - Chunks 2: Tab(1): ' ' Visible(24): 'slicemem_free(mem_toks);' Line 672 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(2): '0;' Line 673 - Chunks 1: Visible(1): '}' Line 674 - Chunks 1: Visible(6): '#endif' Line 675 - Chunks 0: Line 676 - Chunks 1: Visible(2): '/*' Line 677 - Chunks 23: Visible(4): 'Next' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(5): 'parse' Space(1): ' ' Visible(5): 'these' Space(1): ' ' Visible(6): 'tokens' Space(1): ' ' Visible(4): 'into' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(11): 'rudimentary' Space(1): ' ' Visible(4): 'WATL' Space(1): ' ' Visible(8): 'Abstract' Space(1): ' ' Visible(6): 'Syntax' Space(1): ' ' Visible(5): 'Tree.' Line 678 - Chunks 35: Visible(1): '*' Space(1): ' ' Visible(3): 'The' Space(1): ' ' Visible(4): 'tree' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(9): 'top-level' Space(1): ' ' Visible(9): 'organized' Space(1): ' ' Visible(2): 'by' Space(1): ' ' Visible(5): 'lines' Space(1): ' ' Visible(10): 'consisting' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(6): 'linked' Space(1): ' ' Visible(6): 'slices' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(6): 'visble' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(11): 'non-visible' Space(1): ' ' Visible(7): 'tokens.' Line 679 - Chunks 51: Visible(1): '*' Space(1): ' ' Visible(4): 'Just' Space(1): ' ' Visible(2): 'as' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(7): 'lexical' Space(1): ' ' Visible(9): 'analysis,' Space(1): ' ' Visible(5): 'lines' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(5): 'nodes' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(8): 'linearly' Space(1): ' ' Visible(9): 'allocated' Space(1): ' ' Visible(8): 'adjacent' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'each' Space(1): ' ' Visible(6): 'other.' Space(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(6): 'allows' Space(1): ' ' Visible(2): 'us' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(7): 'utilize' Space(1): ' ' Visible(5): 'array' Space(1): ' ' Visible(11): 'operations.' Line 680 - Chunks 1: Visible(2): '*/' Line 681 - Chunks 0: Line 682 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(14): 'WATL_ParseInfo' Space(1): ' ' Visible(15): 'WATL_ParseInfo;' Line 683 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(16): 'Opts__watl_parse' Space(1): ' ' Visible(17): 'Opts__watl_parse;' Line 684 - Chunks 13: Visible(4): 'void' Space(11): ' ' Visible(30): 'watl_parse_api(WATL_ParseInfo*' Space(1): ' ' Visible(5): 'info,' Space(1): ' ' Visible(13): 'WATL_SliceTok' Space(1): ' ' Visible(7): 'tokens,' Space(1): ' ' Visible(17): 'Opts__watl_parse*' Space(1): ' ' Visible(6): 'opts);' Line 685 - Chunks 13: Visible(14): 'WATL_ParseInfo' Space(1): ' ' Visible(11): 'watl__parse' Space(3): ' ' Visible(1): '(' Space(22): ' ' Visible(13): 'WATL_SliceTok' Space(1): ' ' Visible(7): 'tokens,' Space(1): ' ' Visible(17): 'Opts__watl_parse*' Space(1): ' ' Visible(6): 'opts);' Line 686 - Chunks 13: Visible(7): '#define' Space(1): ' ' Visible(18): 'watl_parse(tokens,' Space(1): ' ' Visible(4): '...)' Space(1): ' ' Visible(19): 'watl__parse(tokens,' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(18): '(Opts__watl_parse)' Space(1): ' ' Visible(14): '{__VA_ARGS__})' Line 687 - Chunks 0: Line 688 - Chunks 1: Visible(2): '/*' Line 689 - Chunks 43: Visible(3): 'For' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'sake' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(9): 'exercise,' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(11): 'eliminating' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(11): 'association' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(6): 'file's' Space(1): ' ' Visible(7): 'strings' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(4): 'need' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(7): 'instead' Space(1): ' ' Visible(5): 'cache' Space(1): ' ' Visible(5): 'them.' Line 690 - Chunks 1: Visible(2): '*/' Line 691 - Chunks 5: Visible(7): '#pragma' Space(1): ' ' Visible(6): 'region' Space(1): ' ' Visible(9): 'Str8Cache' Line 692 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(9): 'Str8Cache' Space(1): ' ' Visible(10): 'Str8Cache;' Line 693 - Chunks 17: Visible(4): 'void' Space(6): ' ' Visible(29): 'str8cache_init_api(Str8Cache*' Space(1): ' ' Visible(6): 'cache,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(9): 'mem_strs,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(10): 'mem_slots,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(11): 'mem_table);' Line 694 - Chunks 17: Visible(9): 'Str8Cache' Space(1): ' ' Visible(14): 'str8cache_init' Space(4): ' ' Visible(1): '(' Space(18): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(9): 'mem_strs,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(10): 'mem_slots,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(11): 'mem_table);' Line 695 - Chunks 0: Line 696 - Chunks 35: Visible(2): '//' Space(1): ' ' Visible(1): 'A' Space(1): ' ' Visible(5): 'cache' Space(1): ' ' Visible(4): 'like' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(6): 'relies' Space(1): ' ' Visible(2): 'on' Space(1): ' ' Visible(7): 'tabling' Space(1): ' ' Visible(6): 'string' Space(1): ' ' Visible(7): 'entires' Space(1): ' ' Visible(10): 'utiliszing' Space(1): ' ' Visible(2): 'an' Space(1): ' ' Visible(5): 'index' Space(1): ' ' Visible(7): 'derived' Space(1): ' ' Visible(4): 'from' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(6): 'hashed' Space(1): ' ' Visible(3): 'ID.' Line 697 - Chunks 21: Visible(2): '//' Space(1): ' ' Visible(3): 'For' Space(1): ' ' Visible(5): 'these' Space(1): ' ' Visible(7): 'strings' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(5): 'using' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): 'hash' Space(1): ' ' Visible(6): 'called' Space(1): ' ' Visible(5): 'djb8:' Line 698 - Chunks 0: Line 699 - Chunks 9: Visible(2): '//' Space(1): ' ' Visible(11): 'Introducing' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'slice' Space(1): ' ' Visible(9): 'iterator:' Line 700 - Chunks 27: Visible(7): '#define' Space(1): ' ' Visible(21): 'slice_iter(container,' Space(1): ' ' Visible(5): 'iter)' Space(1): ' ' Visible(23): 'typeof((container).ptr)' Space(1): ' ' Visible(4): 'iter' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(16): '(container).ptr;' Space(1): ' ' Visible(4): 'iter' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(16): '((container).ptr' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(17): '(container).len);' Space(1): ' ' Visible(2): '++' Space(1): ' ' Visible(4): 'iter' Line 701 - Chunks 0: Line 702 - Chunks 1: Visible(6): 'inline' Line 703 - Chunks 11: Visible(4): 'void' Space(1): ' ' Visible(16): 'hash64_djb8(U64*' Space(1): ' ' Visible(5): 'hash,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(6): 'bytes)' Space(1): ' ' Visible(1): '{' Line 704 - Chunks 28: Tab(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(3): '(U8' Space(1): ' ' Visible(6): 'const*' Space(1): ' ' Visible(4): 'elem' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(10): 'bytes.ptr;' Space(1): ' ' Visible(4): 'elem' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(10): '(bytes.ptr' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(11): 'bytes.len);' Space(1): ' ' Visible(2): '++' Space(1): ' ' Visible(5): 'elem)' Space(1): ' ' Visible(1): '{' Line 705 - Chunks 18: Tab(2): ' ' Visible(5): '*hash' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(9): '(((*hash)' Space(1): ' ' Visible(2): '<<' Space(1): ' ' Visible(2): '8)' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(8): '(*hash))' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(8): '(*elem);' Line 706 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 707 - Chunks 1: Visible(1): '}' Line 708 - Chunks 0: Line 709 - Chunks 33: Visible(2): '//' Space(1): ' ' Visible(3): 'For' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(7): 'library' Space(1): ' ' Visible(2): 'or' Space(1): ' ' Visible(8): 'codebase' Space(1): ' ' Visible(3): 'its' Space(1): ' ' Visible(11): 'recommended' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(5): 'setup' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(11): 'metaprogram' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(8): 'generate' Space(1): ' ' Visible(4): 'hash' Space(1): ' ' Visible(9): 'utilizing' Space(1): ' ' Visible(10): 'containers' Line 710 - Chunks 43: Visible(2): '//' Space(1): ' ' Visible(2): 'Or' Space(1): ' ' Visible(5): 'other' Space(1): ' ' Visible(10): 'containers' Space(1): ' ' Visible(4): 'that' Space(1): ' ' Visible(6): 'cannot' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(12): 'sufficiently' Space(1): ' ' Visible(6): 'lifted' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(7): 'general' Space(1): ' ' Visible(7): 'runtime' Space(1): ' ' Visible(5): 'paths' Space(1): ' ' Visible(7): 'without' Space(1): ' ' Visible(6): 'losing' Space(1): ' ' Visible(9): 'ergonomic' Space(1): ' ' Visible(5): 'debug' Space(1): ' ' Visible(4): 'type' Space(1): ' ' Visible(4): 'info' Space(1): ' ' Visible(2): 'or' Space(1): ' ' Visible(15): 'type-constraint' Space(1): ' ' Visible(13): 'enforcements.' Line 711 - Chunks 55: Visible(2): '//' Space(1): ' ' Visible(6): 'Unlike' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(8): 'template' Space(1): ' ' Visible(6): 'markup' Space(1): ' ' Visible(3): 'C++' Space(1): ' ' Visible(5): 'uses,' Space(1): ' ' Visible(3): 'you' Space(1): ' ' Visible(3): 'can' Space(1): ' ' Visible(6): 'strike' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(7): 'balance' Space(1): ' ' Visible(7): 'between' Space(1): ' ' Visible(3): 'how' Space(1): ' ' Visible(4): 'many' Space(1): ' ' Visible(11): 'definitions' Space(1): ' ' Visible(3): 'are' Space(1): ' ' Visible(11): 'redundantly' Space(1): ' ' Visible(4): 'made' Space(1): ' ' Visible(2): 'or' Space(1): ' ' Visible(9): 'optimized' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(10): 'collapsing' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(7): 'general' Space(1): ' ' Visible(4): 'path' Line 712 - Chunks 13: Visible(2): '//' Space(1): ' ' Visible(5): 'based' Space(1): ' ' Visible(2): 'on' Space(1): ' ' Visible(6): 'target' Space(1): ' ' Visible(12): 'optimization' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(13): 'debugability.' Line 713 - Chunks 0: Line 714 - Chunks 37: Visible(2): '//' Space(1): ' ' Visible(3): 'For' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(2): 'V1' Space(1): ' ' Visible(8): 'example,' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(12): 'hand-rolling' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'fixed' Space(1): ' ' Visible(5): 'sized' Space(1): ' ' Visible(5): 'table' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(6): 'excess' Space(1): ' ' Visible(4): 'slot' Space(1): ' ' Visible(8): 'chaining' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(9): 'colliding' Space(1): ' ' Visible(6): 'slots.' Line 715 - Chunks 35: Visible(2): '//' Space(1): ' ' Visible(3): 'Its' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(10): 'relatively' Space(1): ' ' Visible(6): 'simple' Space(1): ' ' Visible(14): 'implementation' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(10): 'hand-roll.' Space(1): ' ' Visible(5): 'These' Space(1): ' ' Visible(6): 'things' Space(1): ' ' Visible(4): 'tend' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(6): 'become' Space(1): ' ' Visible(10): 'unyeilding' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(4): 'more' Space(1): ' ' Visible(8): 'advanced' Space(1): ' ' Visible(9): 'variants.' Line 716 - Chunks 0: Line 717 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(14): 'Str8Cache_Slot' Space(1): ' ' Visible(15): 'Str8Cache_Slot;' Line 718 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(14): 'Str8Cache_Slot' Space(1): ' ' Visible(1): '{' Line 719 - Chunks 4: Tab(1): ' ' Visible(15): 'Str8Cache_Slot*' Space(1): ' ' Visible(5): 'prev;' Line 720 - Chunks 4: Tab(1): ' ' Visible(15): 'Str8Cache_Slot*' Space(1): ' ' Visible(5): 'next;' Line 721 - Chunks 4: Tab(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(6): 'value;' Line 722 - Chunks 4: Tab(1): ' ' Visible(3): 'U64' Space(2): ' ' Visible(4): 'key;' Line 723 - Chunks 4: Tab(1): ' ' Visible(3): 'B32' Space(2): ' ' Visible(9): 'occupied;' Line 724 - Chunks 1: Visible(2): '};' Line 725 - Chunks 0: Line 726 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(19): 'Str8Cache_SliceSlot' Space(1): ' ' Visible(20): 'Str8Cache_SliceSlot;' Line 727 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(19): 'Str8Cache_SliceSlot' Space(1): ' ' Visible(1): '{' Line 728 - Chunks 4: Tab(1): ' ' Visible(15): 'Str8Cache_Slot*' Space(1): ' ' Visible(4): 'ptr;' Line 729 - Chunks 4: Tab(1): ' ' Visible(5): 'SSIZE' Space(11): ' ' Visible(4): 'len;' Line 730 - Chunks 1: Visible(2): '};' Line 731 - Chunks 0: Line 732 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(9): 'Str8Cache' Space(1): ' ' Visible(1): '{' Line 733 - Chunks 4: Tab(1): ' ' Visible(6): 'FArena' Space(15): ' ' Visible(6): 'a_str;' Line 734 - Chunks 4: Tab(1): ' ' Visible(19): 'Str8Cache_SliceSlot' Space(2): ' ' Visible(5): 'pool;' Line 735 - Chunks 4: Tab(1): ' ' Visible(15): 'Str8Cache_Slot*' Space(6): ' ' Visible(7): 'vacant;' Line 736 - Chunks 4: Tab(1): ' ' Visible(19): 'Str8Cache_SliceSlot' Space(2): ' ' Visible(6): 'table;' Line 737 - Chunks 1: Visible(2): '};' Line 738 - Chunks 0: Line 739 - Chunks 35: Visible(9): 'Str8Cache' Space(1): ' ' Visible(24): 'str8cache_init(SliceByte' Space(1): ' ' Visible(9): 'mem_strs,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(10): 'mem_slots,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(10): 'mem_table)' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(9): 'Str8Cache' Space(1): ' ' Visible(6): 'cache;' Space(1): ' ' Visible(20): 'str8cache_init_api(&' Space(1): ' ' Visible(6): 'cache,' Space(1): ' ' Visible(9): 'mem_strs,' Space(1): ' ' Visible(10): 'mem_slots,' Space(1): ' ' Visible(11): 'mem_table);' Space(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(6): 'cache;' Space(1): ' ' Visible(1): '}' Line 740 - Chunks 1: Visible(6): 'inline' Line 741 - Chunks 19: Visible(4): 'void' Space(1): ' ' Visible(29): 'str8cache_init_api(Str8Cache*' Space(1): ' ' Visible(6): 'cache,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(9): 'mem_strs,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(10): 'mem_slots,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(10): 'mem_table)' Space(1): ' ' Visible(1): '{' Line 742 - Chunks 6: Tab(1): ' ' Visible(12): 'assert(cache' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(9): 'nullptr);' Line 743 - Chunks 2: Tab(1): ' ' Visible(23): 'slice_assert(mem_strs);' Line 744 - Chunks 2: Tab(1): ' ' Visible(24): 'slice_assert(mem_slots);' Line 745 - Chunks 2: Tab(1): ' ' Visible(24): 'slice_assert(mem_table);' Line 746 - Chunks 6: Tab(1): ' ' Visible(12): 'cache->a_str' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(22): 'farena_init(mem_strs);' Line 747 - Chunks 16: Tab(1): ' ' Visible(11): 'cache->pool' Space(2): ' ' Visible(1): '=' Space(1): ' ' Visible(22): '(Str8Cache_SliceSlot){' Space(1): ' ' Visible(11): 'cast(void*,' Space(1): ' ' Visible(15): 'mem_slots.ptr),' Space(1): ' ' Visible(13): 'mem_slots.len' Space(1): ' ' Visible(1): '/' Space(1): ' ' Visible(25): 'size_of(Str8Cache_Slot)};' Line 748 - Chunks 16: Tab(1): ' ' Visible(12): 'cache->table' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(22): '(Str8Cache_SliceSlot){' Space(1): ' ' Visible(11): 'cast(void*,' Space(1): ' ' Visible(15): 'mem_table.ptr),' Space(1): ' ' Visible(13): 'mem_table.len' Space(1): ' ' Visible(1): '/' Space(1): ' ' Visible(25): 'size_of(Str8Cache_Slot)};' Line 749 - Chunks 2: Tab(1): ' ' Visible(24): 'slice_zero(cache->pool);' Line 750 - Chunks 2: Tab(1): ' ' Visible(25): 'slice_zero(cache->table);' Line 751 - Chunks 1: Visible(1): '}' Line 752 - Chunks 0: Line 753 - Chunks 5: Visible(4): 'void' Space(1): ' ' Visible(26): 'str8cache_clear(Str8Cache*' Space(1): ' ' Visible(6): 'cache)' Line 754 - Chunks 1: Visible(1): '{' Line 755 - Chunks 6: Tab(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(25): '(slice_iter(cache->table,' Space(1): ' ' Visible(6): 'slot))' Line 756 - Chunks 2: Tab(1): ' ' Visible(1): '{' Line 757 - Chunks 10: Tab(2): ' ' Visible(2): 'if' Space(1): ' ' Visible(5): '(slot' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(8): 'nullptr)' Space(1): ' ' Visible(1): '{' Line 758 - Chunks 2: Tab(3): ' ' Visible(9): 'continue;' Line 759 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 760 - Chunks 24: Tab(2): ' ' Visible(3): 'for' Space(1): ' ' Visible(16): '(Str8Cache_Slot*' Space(1): ' ' Visible(10): 'probe_slot' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'slot->next;' Space(1): ' ' Visible(10): 'probe_slot' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(8): 'nullptr;' Space(1): ' ' Visible(10): 'probe_slot' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(17): 'probe_slot->next)' Space(1): ' ' Visible(1): '{' Line 761 - Chunks 6: Tab(3): ' ' Visible(14): 'slot->occupied' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(6): 'false;' Line 762 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 763 - Chunks 6: Tab(2): ' ' Visible(14): 'slot->occupied' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(6): 'false;' Line 764 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 765 - Chunks 1: Visible(1): '}' Line 766 - Chunks 0: Line 767 - Chunks 27: Visible(2): '//' Space(1): ' ' Visible(2): 'We' Space(1): ' ' Visible(5): 'don't' Space(1): ' ' Visible(9): 'introduce' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(6): 'remove' Space(1): ' ' Visible(6): 'option' Space(1): ' ' Visible(7): 'because' Space(1): ' ' Visible(5): 'we're' Space(1): ' ' Visible(3): 'not' Space(1): ' ' Visible(8): 'tracking' Space(1): ' ' Visible(5): 'fixed' Space(1): ' ' Visible(5): 'sized' Space(1): ' ' Visible(9): 'entities.' Line 768 - Chunks 55: Visible(2): '//' Space(1): ' ' Visible(7): 'Strings' Space(1): ' ' Visible(4): 'take' Space(1): ' ' Visible(2): 'up' Space(1): ' ' Visible(15): 'non-determistic' Space(1): ' ' Visible(5): 'sizes' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(5): 'their' Space(1): ' ' Visible(7): 'backing' Space(1): ' ' Visible(6): 'arena.' Space(1): ' ' Visible(2): 'So' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'only' Space(1): ' ' Visible(5): 'thing' Space(1): ' ' Visible(4): 'that' Space(1): ' ' Visible(3): 'can' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(4): 'done' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(5): 'cache' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(6): 'wiping' Space(1): ' ' Visible(2): 'it' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(9): 'recaching' Space(1): ' ' Visible(3): 'all' Space(1): ' ' Visible(8): 'strings.' Line 769 - Chunks 0: Line 770 - Chunks 1: Visible(2): '/*' Line 771 - Chunks 35: Visible(4): 'When' Space(1): ' ' Visible(7): 'storing' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): 'hash' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'slot,' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(3): 'can' Space(1): ' ' Visible(6): 'almost' Space(1): ' ' Visible(5): 'never' Space(1): ' ' Visible(7): 'utilize' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'full' Space(1): ' ' Visible(5): 'width' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): 'key,' Line 772 - Chunks 39: Visible(2): 'so' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(4): 'must' Space(1): ' ' Visible(8): 'truncate' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(3): 'key' Space(1): ' ' Visible(3): 'via' Space(1): ' ' Visible(6): 'module' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(3): 'get' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): '"good' Space(1): ' ' Visible(7): 'enough"' Space(1): ' ' Visible(6): 'unique' Space(1): ' ' Visible(2): 'ID' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(5): 'place' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(6): 'table.' Line 773 - Chunks 1: Visible(2): '*/' Line 774 - Chunks 1: Visible(6): 'inline' Line 775 - Chunks 11: Visible(3): 'U64' Space(1): ' ' Visible(27): 'str8cache_slot_id(Str8Cache' Space(1): ' ' Visible(6): 'cache,' Space(1): ' ' Visible(3): 'U64' Space(1): ' ' Visible(4): 'key)' Space(1): ' ' Visible(1): '{' Line 776 - Chunks 14: Tab(1): ' ' Visible(3): 'U64' Space(1): ' ' Visible(10): 'hash_index' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(3): 'key' Space(1): ' ' Visible(1): '%' Space(1): ' ' Visible(9): 'cast(U64,' Space(1): ' ' Visible(17): 'cache.table.len);' Line 777 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(11): 'hash_index;' Line 778 - Chunks 1: Visible(1): '}' Line 779 - Chunks 0: Line 780 - Chunks 9: Visible(5): 'Str8*' Space(1): ' ' Visible(23): 'str8cache_get(Str8Cache' Space(1): ' ' Visible(6): 'cache,' Space(1): ' ' Visible(3): 'U64' Space(1): ' ' Visible(4): 'key)' Line 781 - Chunks 1: Visible(1): '{' Line 782 - Chunks 10: Tab(1): ' ' Visible(3): 'U64' Space(13): ' ' Visible(10): 'hash_index' Space(3): ' ' Visible(1): '=' Space(1): ' ' Visible(24): 'str8cache_slot_id(cache,' Space(1): ' ' Visible(5): 'key);' Line 783 - Chunks 10: Tab(1): ' ' Visible(15): 'Str8Cache_Slot*' Space(1): ' ' Visible(12): 'surface_slot' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(28): 'cache.table.ptr[hash_index];' Line 784 - Chunks 11: Tab(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(13): '(surface_slot' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(8): 'nullptr)' Space(1): ' ' Visible(1): '{' Space(1): ' ' Line 785 - Chunks 4: Tab(2): ' ' Visible(6): 'return' Space(1): ' ' Visible(8): 'nullptr;' Line 786 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 787 - Chunks 14: Tab(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(23): '(surface_slot->occupied' Space(1): ' ' Visible(2): '&&' Space(1): ' ' Visible(17): 'surface_slot->key' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(4): 'key)' Space(1): ' ' Visible(1): '{' Line 788 - Chunks 6: Tab(2): ' ' Visible(6): 'return' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(20): 'surface_slot->value;' Line 789 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 790 - Chunks 22: Tab(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(16): '(Str8Cache_Slot*' Space(1): ' ' Visible(4): 'slot' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(19): 'surface_slot->next;' Space(1): ' ' Visible(4): 'slot' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(8): 'nullptr;' Space(1): ' ' Visible(4): 'slot' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'slot->next)' Line 791 - Chunks 2: Tab(1): ' ' Visible(1): '{' Line 792 - Chunks 14: Tab(2): ' ' Visible(2): 'if' Space(1): ' ' Visible(15): '(slot->occupied' Space(1): ' ' Visible(2): '&&' Space(1): ' ' Visible(9): 'slot->key' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(4): 'key)' Space(1): ' ' Visible(1): '{' Line 793 - Chunks 6: Tab(3): ' ' Visible(6): 'return' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(12): 'slot->value;' Line 794 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 795 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 796 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(8): 'nullptr;' Line 797 - Chunks 1: Visible(1): '}' Line 798 - Chunks 0: Line 799 - Chunks 13: Visible(5): 'Str8*' Space(1): ' ' Visible(24): 'str8cache_set(Str8Cache*' Space(1): ' ' Visible(6): 'cache,' Space(1): ' ' Visible(3): 'U64' Space(1): ' ' Visible(4): 'key,' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(6): 'value)' Line 800 - Chunks 1: Visible(1): '{' Line 801 - Chunks 10: Tab(1): ' ' Visible(3): 'U64' Space(13): ' ' Visible(10): 'hash_index' Space(3): ' ' Visible(1): '=' Space(1): ' ' Visible(25): 'str8cache_slot_id(*cache,' Space(1): ' ' Visible(5): 'key);' Line 802 - Chunks 10: Tab(1): ' ' Visible(15): 'Str8Cache_Slot*' Space(1): ' ' Visible(12): 'surface_slot' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(29): 'cache->table.ptr[hash_index];' Line 803 - Chunks 14: Tab(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(2): '(!' Space(1): ' ' Visible(22): 'surface_slot->occupied' Space(1): ' ' Visible(2): '||' Space(1): ' ' Visible(17): 'surface_slot->key' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(4): 'key)' Line 804 - Chunks 2: Tab(1): ' ' Visible(1): '{' Line 805 - Chunks 10: Tab(2): ' ' Visible(2): 'if' Space(1): ' ' Visible(10): '(value.ptr' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(24): 'surface_slot->value.ptr)' Space(1): ' ' Visible(1): '{' Line 806 - Chunks 22: Tab(3): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(3): 'mem' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(14): 'farena__push(&' Space(1): ' ' Visible(13): 'cache->a_str,' Space(1): ' ' Visible(12): 'size_of(U8),' Space(1): ' ' Visible(10): 'value.len,' Space(1): ' ' Visible(13): 'lit("Str8")),' Space(1): ' ' Visible(9): 'value.len' Space(1): ' ' Visible(2): '};' Line 807 - Chunks 4: Tab(3): ' ' Visible(15): 'slice_copy(mem,' Space(1): ' ' Visible(7): 'value);' Line 808 - Chunks 8: Tab(3): ' ' Visible(19): 'surface_slot->value' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'pcast(Str8,' Space(1): ' ' Visible(5): 'mem);' Line 809 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 810 - Chunks 6: Tab(2): ' ' Visible(17): 'surface_slot->key' Space(6): ' ' Visible(1): '=' Space(1): ' ' Visible(4): 'key;' Line 811 - Chunks 6: Tab(2): ' ' Visible(22): 'surface_slot->occupied' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(5): 'true;' Line 812 - Chunks 6: Tab(2): ' ' Visible(6): 'return' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(20): 'surface_slot->value;' Line 813 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 814 - Chunks 8: Tab(1): ' ' Visible(15): 'Str8Cache_Slot*' Space(1): ' ' Visible(4): 'slot' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(13): 'surface_slot;' Line 815 - Chunks 10: Tab(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(3): '(;;' Space(1): ' ' Visible(4): 'slot' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'slot->next)' Line 816 - Chunks 2: Tab(1): ' ' Visible(1): '{' Line 817 - Chunks 8: Tab(2): ' ' Visible(2): 'if' Space(1): ' ' Visible(11): '(slot->next' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(8): 'nullptr)' Line 818 - Chunks 2: Tab(2): ' ' Visible(1): '{' Line 819 - Chunks 38: Tab(3): ' ' Visible(2): '//' Space(1): ' ' Visible(2): 'We' Space(1): ' ' Visible(3): 'had' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(10): 'collision,' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(4): 'need' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'grab' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(6): 'vacant' Space(1): ' ' Visible(4): 'slot' Space(1): ' ' Visible(4): 'from' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'pool' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(7): 'utilize' Space(1): ' ' Visible(2): 'it' Space(1): ' ' Visible(8): 'instead.' Line 820 - Chunks 6: Tab(3): ' ' Visible(10): 'slot->next' Space(7): ' ' Visible(1): '=' Space(1): ' ' Visible(14): 'cache->vacant;' Line 821 - Chunks 8: Tab(3): ' ' Visible(1): '*' Space(1): ' ' Visible(10): 'slot->next' Space(5): ' ' Visible(1): '=' Space(1): ' ' Visible(20): '(Str8Cache_Slot){0};' Line 822 - Chunks 6: Tab(3): ' ' Visible(16): 'slot->next->prev' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(5): 'slot;' Line 823 - Chunks 0: Line 824 - Chunks 12: Tab(3): ' ' Visible(15): 'Str8Cache_Slot*' Space(1): ' ' Visible(11): 'next_vacant' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(13): 'cache->vacant' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(2): '1;' Line 825 - Chunks 12: Tab(3): ' ' Visible(18): 'assert(next_vacant' Space(1): ' ' Visible(1): '<' Space(1): ' ' Visible(15): 'cache->pool.ptr' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(15): 'cache->pool.len' Space(1): ' ' Visible(2): ');' Line 826 - Chunks 22: Tab(3): ' ' Visible(2): '//' Space(1): ' ' Visible(2): 'If' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(5): 'above' Space(1): ' ' Visible(5): 'fails' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(3): 'ran' Space(1): ' ' Visible(3): 'out' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(5): 'extra' Space(1): ' ' Visible(6): 'slots.' Line 827 - Chunks 10: Tab(3): ' ' Visible(13): 'cache->vacant' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(13): 'cache->vacant' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(2): '1;' Line 828 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 829 - Chunks 16: Tab(2): ' ' Visible(2): 'if' Space(1): ' ' Visible(1): '(' Space(1): ' ' Visible(1): '!' Space(1): ' ' Visible(20): 'slot->next->occupied' Space(1): ' ' Visible(2): '||' Space(1): ' ' Visible(15): 'slot->next->key' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(4): 'key)' Line 830 - Chunks 2: Tab(2): ' ' Visible(1): '{' Line 831 - Chunks 10: Tab(3): ' ' Visible(2): 'if' Space(1): ' ' Visible(10): '(value.ptr' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(22): 'slot->next->value.ptr)' Space(1): ' ' Visible(1): '{' Line 832 - Chunks 22: Tab(4): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(3): 'mem' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(14): 'farena__push(&' Space(1): ' ' Visible(13): 'cache->a_str,' Space(1): ' ' Visible(12): 'size_of(U8),' Space(1): ' ' Visible(10): 'value.len,' Space(1): ' ' Visible(13): 'lit("Str8")),' Space(1): ' ' Visible(9): 'value.len' Space(1): ' ' Visible(2): '};' Line 833 - Chunks 4: Tab(4): ' ' Visible(15): 'slice_copy(mem,' Space(1): ' ' Visible(7): 'value);' Line 834 - Chunks 12: Tab(4): ' ' Visible(17): 'slot->next->value' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(15): '(Str8){mem.ptr,' Space(1): ' ' Visible(7): 'mem.len' Space(1): ' ' Visible(1): '/' Space(1): ' ' Visible(15): 'size_of(char)};' Line 835 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 836 - Chunks 6: Tab(3): ' ' Visible(17): 'slot->next->value' Space(4): ' ' Visible(1): '=' Space(1): ' ' Visible(6): 'value;' Line 837 - Chunks 6: Tab(3): ' ' Visible(15): 'slot->next->key' Space(6): ' ' Visible(1): '=' Space(1): ' ' Visible(4): 'key;' Line 838 - Chunks 6: Tab(3): ' ' Visible(20): 'slot->next->occupied' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(5): 'true;' Line 839 - Chunks 6: Tab(3): ' ' Visible(6): 'return' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(18): 'slot->next->value;' Line 840 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 841 - Chunks 40: Tab(2): ' ' Visible(2): '//' Space(1): ' ' Visible(2): 'We' Space(1): ' ' Visible(4): 'keep' Space(1): ' ' Visible(10): 'traversing' Space(1): ' ' Visible(4): 'till' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(4): 'find' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'match' Space(1): ' ' Visible(2): 'or' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(4): 'find' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(7): 'vacancy' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(4): 'list' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(6): 'table.' Line 842 - Chunks 31: Tab(2): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'Make' Space(1): ' ' Visible(4): 'sure' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'tune' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'size' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(5): 'table' Space(1): ' ' Visible(2): 'so' Space(1): ' ' Visible(2): 'it' Space(1): ' ' Visible(4): 'does' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(5): 'less!' Space(1): ' ' Line 843 - Chunks 21: Tab(2): ' ' Visible(2): '//' Space(1): ' ' Visible(5): 'Note:' Space(1): ' ' Visible(6): 'Tables' Space(1): ' ' Visible(5): 'sized' Space(1): ' ' Visible(2): 'by' Space(1): ' ' Visible(5): 'prime' Space(1): ' ' Visible(6): 'values' Space(1): ' ' Visible(7): 'collide' Space(1): ' ' Visible(4): 'less' Space(1): ' ' Visible(7): 'aswell.' Space(1): ' ' Line 844 - Chunks 48: Tab(2): ' ' Visible(2): '//' Space(1): ' ' Visible(3): 'You' Space(1): ' ' Visible(3): 'can' Space(1): ' ' Visible(3): 'use' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(7): 'closest' Space(1): ' ' Visible(5): 'prime' Space(1): ' ' Visible(6): 'number' Space(1): ' ' Visible(6): 'lookup' Space(1): ' ' Visible(5): 'table' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(6): 'derive' Space(1): ' ' Visible(4): 'what' Space(1): ' ' Visible(6): 'length' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(6): 'expose' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(7): 'cache's' Space(1): ' ' Visible(5): 'table' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(4): 'hash' Space(1): ' ' Visible(2): 'ID' Space(1): ' ' Visible(11): 'resolution.' Line 845 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 846 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(8): 'nullptr;' Line 847 - Chunks 1: Visible(1): '}' Line 848 - Chunks 5: Visible(7): '#pragma' Space(1): ' ' Visible(9): 'endregion' Space(1): ' ' Visible(9): 'Str8Cache' Line 849 - Chunks 0: Line 850 - Chunks 11: Visible(2): '//' Space(1): ' ' Visible(7): 'Finally' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(10): 'abstracted' Space(1): ' ' Visible(5): 'cache' Space(1): ' ' Visible(10): 'interface:' Line 851 - Chunks 9: Visible(4): 'Str8' Space(1): ' ' Visible(21): 'cache_str8(Str8Cache*' Space(1): ' ' Visible(6): 'cache,' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(4): 'str)' Line 852 - Chunks 1: Visible(1): '{' Line 853 - Chunks 16: Tab(1): ' ' Visible(3): 'U64' Space(1): ' ' Visible(3): 'key' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Space(1): ' ' Visible(13): 'hash64_djb8(&' Space(1): ' ' Visible(4): 'key,' Space(1): ' ' Visible(16): 'pcast(SliceByte,' Space(1): ' ' Visible(6): 'str));' Line 854 - Chunks 12: Tab(1): ' ' Visible(5): 'Str8*' Space(1): ' ' Visible(6): 'result' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(20): 'str8cache_set(cache,' Space(1): ' ' Visible(4): 'key,' Space(1): ' ' Visible(5): 'str);' Line 855 - Chunks 6: Tab(1): ' ' Visible(13): 'assert(result' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(9): 'nullptr);' Line 856 - Chunks 6: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(7): 'result;' Line 857 - Chunks 1: Visible(1): '}' Line 858 - Chunks 0: Line 859 - Chunks 5: Visible(7): 'typedef' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(10): 'WATL_Node;' Line 860 - Chunks 3: Visible(3): '#if' Space(1): ' ' Visible(1): '0' Line 861 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(9): 'WATL_Node' Space(1): ' ' Visible(10): 'WATL_Node;' Line 862 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(9): 'WATL_Node' Space(1): ' ' Visible(1): '{' Line 863 - Chunks 4: Tab(1): ' ' Visible(13): 'WATL_NodeKind' Space(1): ' ' Visible(5): 'kind;' Line 864 - Chunks 4: Tab(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(6): 'entry;' Line 865 - Chunks 1: Visible(2): '};' Line 866 - Chunks 1: Visible(6): '#endif' Line 867 - Chunks 0: Line 868 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(9): 'WATL_Line' Space(1): ' ' Visible(10): 'WATL_Line;' Line 869 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(9): 'WATL_Line' Space(1): ' ' Visible(1): '{' Line 870 - Chunks 4: Tab(1): ' ' Visible(10): 'WATL_Node*' Space(1): ' ' Visible(4): 'ptr;' Line 871 - Chunks 4: Tab(1): ' ' Visible(5): 'SSIZE' Space(6): ' ' Visible(4): 'len;' Line 872 - Chunks 1: Visible(2): '};' Line 873 - Chunks 0: Line 874 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(14): 'WATL_SliceLine' Space(1): ' ' Visible(15): 'WATL_SliceLine;' Line 875 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(14): 'WATL_SliceLine' Space(1): ' ' Visible(1): '{' Line 876 - Chunks 4: Tab(1): ' ' Visible(10): 'WATL_Line*' Space(1): ' ' Visible(4): 'ptr;' Line 877 - Chunks 4: Tab(1): ' ' Visible(5): 'SSIZE' Space(6): ' ' Visible(4): 'len;' Line 878 - Chunks 1: Visible(2): '};' Line 879 - Chunks 0: Line 880 - Chunks 11: Visible(3): '#if' Space(1): ' ' Visible(28): 'defined(DEMO__WATL_PARSE_V1)' Space(1): ' ' Visible(2): '||' Space(1): ' ' Visible(34): 'defined(DEMO__WATL_DUMP_PREREQ_V1)' Space(1): ' ' Visible(2): '||' Space(1): ' ' Visible(27): 'defined(DEMO__WATL_DUMP_V1)' Line 881 - Chunks 0: Line 882 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(16): 'Opts__watl_parse' Space(1): ' ' Visible(1): '{' Line 883 - Chunks 4: Tab(1): ' ' Visible(9): 'SliceByte' Space(2): ' ' Visible(14): 'backing_nodes;' Line 884 - Chunks 4: Tab(1): ' ' Visible(9): 'SliceByte' Space(2): ' ' Visible(14): 'backing_lines;' Line 885 - Chunks 4: Tab(1): ' ' Visible(10): 'Str8Cache*' Space(1): ' ' Visible(10): 'str_cache;' Line 886 - Chunks 1: Visible(2): '};' Line 887 - Chunks 0: Line 888 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(14): 'WATL_ParseInfo' Space(1): ' ' Visible(1): '{' Line 889 - Chunks 4: Tab(1): ' ' Visible(14): 'WATL_SliceLine' Space(1): ' ' Visible(6): 'lines;' Line 890 - Chunks 1: Visible(2): '};' Line 891 - Chunks 0: Line 892 - Chunks 13: Visible(4): 'void' Space(1): ' ' Visible(30): 'watl_parse_api(WATL_ParseInfo*' Space(1): ' ' Visible(5): 'info,' Space(1): ' ' Visible(13): 'WATL_SliceTok' Space(1): ' ' Visible(7): 'tokens,' Space(1): ' ' Visible(17): 'Opts__watl_parse*' Space(1): ' ' Visible(5): 'opts)' Line 893 - Chunks 1: Visible(1): '{' Line 894 - Chunks 6: Tab(1): ' ' Visible(11): 'assert(info' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(9): 'nullptr);' Line 895 - Chunks 2: Tab(1): ' ' Visible(21): 'slice_assert(tokens);' Line 896 - Chunks 6: Tab(1): ' ' Visible(11): 'assert(opts' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(9): 'nullptr);' Line 897 - Chunks 0: Line 898 - Chunks 8: Tab(1): ' ' Visible(6): 'FArena' Space(1): ' ' Visible(7): 'a_lines' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(33): 'farena_init(opts->backing_lines);' Line 899 - Chunks 8: Tab(1): ' ' Visible(6): 'FArena' Space(1): ' ' Visible(7): 'a_nodes' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(33): 'farena_init(opts->backing_nodes);' Line 900 - Chunks 0: Line 901 - Chunks 10: Tab(1): ' ' Visible(10): 'WATL_Line*' Space(1): ' ' Visible(4): 'line' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(20): 'farena_push(a_lines,' Space(1): ' ' Visible(11): 'WATL_Line);' Line 902 - Chunks 34: Tab(1): ' ' Visible(10): 'WATL_Node*' Space(1): ' ' Visible(4): 'curr' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(20): 'farena_push(a_nodes,' Space(1): ' ' Visible(11): 'WATL_Node);' Space(1): ' ' Visible(2): '//' Space(1): ' ' Visible(11): 'Preemtively' Space(1): ' ' Visible(8): 'allocate' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): 'node' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'line' Space(1): ' ' Visible(4): '(may' Space(1): ' ' Visible(3): 'not' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(5): 'used)' Line 903 - Chunks 8: Tab(1): ' ' Visible(1): '*' Space(1): ' ' Visible(4): 'curr' Space(4): ' ' Visible(1): '=' Space(1): ' ' Visible(15): '(WATL_Node){0};' Line 904 - Chunks 6: Tab(1): ' ' Visible(9): 'line->ptr' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(5): 'curr;' Line 905 - Chunks 6: Tab(1): ' ' Visible(9): 'line->len' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Line 906 - Chunks 6: Tab(1): ' ' Visible(15): 'info->lines.ptr' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(5): 'line;' Line 907 - Chunks 6: Tab(1): ' ' Visible(15): 'info->lines.len' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Line 908 - Chunks 6: Tab(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(19): '(slice_iter(tokens,' Space(1): ' ' Visible(7): 'token))' Line 909 - Chunks 2: Tab(1): ' ' Visible(1): '{' Line 910 - Chunks 6: Tab(2): ' ' Visible(6): 'switch' Space(1): ' ' Visible(2): '(*' Space(1): ' ' Visible(12): 'token->code)' Line 911 - Chunks 2: Tab(2): ' ' Visible(1): '{' Line 912 - Chunks 4: Tab(3): ' ' Visible(4): 'case' Space(1): ' ' Visible(24): 'WATL_Tok_CarriageReturn:' Line 913 - Chunks 6: Tab(3): ' ' Visible(4): 'case' Space(1): ' ' Visible(18): 'WATL_Tok_LineFeed:' Space(1): ' ' Visible(1): '{' Line 914 - Chunks 10: Tab(4): ' ' Visible(10): 'WATL_Line*' Space(1): ' ' Visible(8): 'new_line' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(20): 'farena_push(a_lines,' Space(1): ' ' Visible(11): 'WATL_Line);' Line 915 - Chunks 6: Tab(4): ' ' Visible(4): 'line' Space(13): ' ' Visible(1): '=' Space(1): ' ' Visible(9): 'new_line;' Line 916 - Chunks 6: Tab(4): ' ' Visible(9): 'line->ptr' Space(8): ' ' Visible(1): '=' Space(1): ' ' Visible(5): 'curr;' Line 917 - Chunks 6: Tab(4): ' ' Visible(9): 'line->len' Space(8): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Line 918 - Chunks 6: Tab(4): ' ' Visible(15): 'info->lines.len' Space(1): ' ' Visible(2): '+=' Space(1): ' ' Visible(2): '1;' Line 919 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 920 - Chunks 2: Tab(3): ' ' Visible(9): 'continue;' Line 921 - Chunks 0: Line 922 - Chunks 2: Tab(3): ' ' Visible(8): 'default:' Line 923 - Chunks 2: Tab(3): ' ' Visible(6): 'break;' Line 924 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 925 - Chunks 0: Line 926 - Chunks 10: Tab(2): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(7): 'tok_str' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(21): 'watl_tok_str8(tokens,' Space(1): ' ' Visible(7): 'token);' Line 927 - Chunks 14: Tab(2): ' ' Visible(1): '*' Space(1): ' ' Visible(4): 'curr' Space(7): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'cache_str8(' Space(1): ' ' Visible(16): 'opts->str_cache,' Space(1): ' ' Visible(7): 'tok_str' Space(1): ' ' Visible(2): ');' Line 928 - Chunks 8: Tab(2): ' ' Visible(4): 'curr' Space(9): ' ' Visible(1): '=' Space(1): ' ' Visible(20): 'farena_push(a_nodes,' Space(1): ' ' Visible(11): 'WATL_Node);' Line 929 - Chunks 8: Tab(2): ' ' Visible(1): '*' Space(1): ' ' Visible(4): 'curr' Space(7): ' ' Visible(1): '=' Space(1): ' ' Visible(15): '(WATL_Node){0};' Line 930 - Chunks 6: Tab(2): ' ' Visible(9): 'line->len' Space(3): ' ' Visible(2): '+=' Space(1): ' ' Visible(2): '1;' Line 931 - Chunks 2: Tab(2): ' ' Visible(9): 'continue;' Line 932 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 933 - Chunks 1: Visible(1): '}' Line 934 - Chunks 0: Line 935 - Chunks 3: Visible(6): '#endif' Space(1): ' ' Visible(19): 'DEMO__WATL_PARSE_V1' Line 936 - Chunks 0: Line 937 - Chunks 29: Visible(14): 'WATL_ParseInfo' Space(1): ' ' Visible(25): 'watl__parse(WATL_SliceTok' Space(1): ' ' Visible(7): 'tokens,' Space(1): ' ' Visible(17): 'Opts__watl_parse*' Space(1): ' ' Visible(5): 'opts)' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(14): 'WATL_ParseInfo' Space(1): ' ' Visible(5): 'info;' Space(1): ' ' Visible(16): 'watl_parse_api(&' Space(1): ' ' Visible(5): 'info,' Space(1): ' ' Visible(7): 'tokens,' Space(1): ' ' Visible(6): 'opts);' Space(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(5): 'info;' Space(1): ' ' Visible(1): '}' Line 938 - Chunks 0: Line 939 - Chunks 3: Visible(6): '#ifdef' Space(1): ' ' Visible(19): 'DEMO__WATL_PARSE_V1' Line 940 - Chunks 3: Visible(3): 'int' Space(1): ' ' Visible(6): 'main()' Line 941 - Chunks 1: Visible(1): '{' Line 942 - Chunks 24: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(5): 'limit' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(2): 'V1' Space(1): ' ' Visible(4): 'read' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): '64kb' Space(1): ' ' Visible(2): 'at' Space(1): ' ' Visible(5): 'most.' Line 943 - Chunks 8: Tab(1): ' ' Visible(9): 'FMem_64KB' Space(4): ' ' Visible(8): 'read_mem' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(4): '{0};' Line 944 - Chunks 16: Tab(1): ' ' Visible(12): 'FileOpResult' Space(1): ' ' Visible(8): 'read_res' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(43): 'file_read_contents(lit("demo.str_cache.c"),' Space(1): ' ' Visible(8): '.backing' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(20): 'fmem_slice(read_mem)' Space(1): ' ' Visible(2): ');' Line 945 - Chunks 0: Line 946 - Chunks 36: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(5): 'limit' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(2): 'V1' Space(1): ' ' Visible(3): 'lex' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'only' Space(1): ' ' Visible(1): '8' Space(1): ' ' Visible(4): 'megs' Space(1): ' ' Visible(5): 'worth' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(5): 'token' Space(1): ' ' Visible(8): 'tracking' Space(1): ' ' Visible(2): 'on' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'file.' Line 947 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(4): ' ' Visible(8): 'mem_toks' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(29): 'slicemem_alloc(MEGABYTES(8));' Line 948 - Chunks 16: Tab(1): ' ' Visible(12): 'WATL_LexInfo' Space(1): ' ' Visible(7): 'lex_res' Space(2): ' ' Visible(1): '=' Space(1): ' ' Visible(20): 'watl_lex(pcast(Str8,' Space(1): ' ' Visible(18): 'read_res.content),' Space(1): ' ' Visible(10): '.pool_toks' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(10): 'mem_toks);' Line 949 - Chunks 0: Line 950 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(14): 'mem_cache_strs' Space(2): ' ' Visible(1): '=' Space(1): ' ' Visible(30): 'slicemem_alloc(MEGABYTES(64));' Line 951 - Chunks 20: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(15): 'mem_cache_slots' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(19): 'slicemem_alloc(1024' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(4): '1024' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(2): '16' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(30): 'size_of(Str8Cache_SliceSlot));' Line 952 - Chunks 16: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(15): 'mem_cache_table' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(19): 'slicemem_alloc(1024' Space(8): ' ' Visible(1): '*' Space(1): ' ' Visible(2): '16' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(30): 'size_of(Str8Cache_SliceSlot));' Line 953 - Chunks 12: Tab(1): ' ' Visible(9): 'Str8Cache' Space(1): ' ' Visible(9): 'str_cache' Space(7): ' ' Visible(1): '=' Space(1): ' ' Visible(30): 'str8cache_init(mem_cache_strs,' Space(1): ' ' Visible(16): 'mem_cache_slots,' Space(1): ' ' Visible(17): 'mem_cache_table);' Line 954 - Chunks 0: Line 955 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(15): 'mem_parse_nodes' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(29): 'slicemem_alloc(MEGABYTES(4));' Line 956 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(15): 'mem_parse_lines' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(29): 'slicemem_alloc(MEGABYTES(4));' Line 957 - Chunks 28: Tab(1): ' ' Visible(14): 'WATL_ParseInfo' Space(1): ' ' Visible(9): 'parse_res' Space(2): ' ' Visible(1): '=' Space(1): ' ' Visible(26): 'watl_parse(lex_res.tokens,' Space(1): ' ' Visible(14): '.backing_nodes' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(16): 'mem_parse_nodes,' Space(1): ' ' Visible(14): '.backing_lines' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(16): 'mem_parse_lines,' Space(1): ' ' Visible(10): '.str_cache' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(11): 'str_cache);' Line 958 - Chunks 0: Line 959 - Chunks 22: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(11): 'unnecessary' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(4): 'case' Space(1): ' ' Visible(3): 'but' Space(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(3): 'you' Space(1): ' ' Visible(4): 'want' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(11): 'explicitly:' Line 960 - Chunks 2: Tab(1): ' ' Visible(24): 'slicemem_free(mem_toks);' Line 961 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(2): '0;' Line 962 - Chunks 1: Visible(1): '}' Line 963 - Chunks 1: Visible(6): '#endif' Line 964 - Chunks 0: Line 965 - Chunks 1: Visible(2): '/*' Line 966 - Chunks 21: Visible(3): 'Now' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(4): 'like' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'dump' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(4): 'WATL' Space(1): ' ' Visible(9): 'structure' Space(1): ' ' Visible(4): 'into' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'file.' Line 967 - Chunks 37: Visible(2): 'To' Space(1): ' ' Visible(2): 'do' Space(1): ' ' Visible(2): 'so' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(4): 'need' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(8): 'generate' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(7): 'content' Space(1): ' ' Visible(6): 'string' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'file' Space(1): ' ' Visible(11): 'dynamically' Space(1): ' ' Visible(5): 'based' Space(1): ' ' Visible(2): 'on' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(6): 'WATL's' Space(1): ' ' Visible(8): 'content.' Line 968 - Chunks 0: Line 969 - Chunks 37: Visible(5): 'We'll' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(9): 'utilizing' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(3): 'new' Space(1): ' ' Visible(9): 'construct' Space(1): ' ' Visible(6): 'called' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(6): 'string' Space(1): ' ' Visible(9): 'generator' Space(1): ' ' Visible(5): 'which' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(4): 'tied' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(3): 'all' Space(1): ' ' Visible(13): 'functionality' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(12): 'constructing' Space(1): ' ' Visible(8): 'strings.' Line 970 - Chunks 1: Visible(2): '*/' Line 971 - Chunks 0: Line 972 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(7): 'Str8Gen' Space(1): ' ' Visible(8): 'Str8Gen;' Line 973 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(7): 'Str8Gen' Space(1): ' ' Visible(1): '{' Line 974 - Chunks 22: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(8): 'backing;' Space(1): ' ' Visible(2): '//' Space(1): ' ' Visible(3): 'For' Space(1): ' ' Visible(2): 'V1' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(7): 'backing' Space(1): ' ' Visible(6): 'buffer' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(5): 'fixed' Space(1): ' ' Visible(5): 'size.' Line 975 - Chunks 4: Tab(1): ' ' Visible(5): 'UTF8*' Space(1): ' ' Visible(4): 'ptr;' Line 976 - Chunks 4: Tab(1): ' ' Visible(5): 'SSIZE' Space(1): ' ' Visible(4): 'len;' Line 977 - Chunks 1: Visible(2): '};' Line 978 - Chunks 0: Line 979 - Chunks 9: Visible(4): 'void' Space(4): ' ' Visible(21): 'str8gen_init(Str8Gen*' Space(1): ' ' Visible(4): 'gen,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(9): 'backing);' Line 980 - Chunks 7: Visible(7): 'Str8Gen' Space(1): ' ' Visible(13): 'str8gen_make(' Space(14): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(9): 'backing);' Line 981 - Chunks 0: Line 982 - Chunks 9: Visible(4): 'void' Space(1): ' ' Visible(28): 'str8gen_append_str8(Str8Gen*' Space(1): ' ' Visible(4): 'gen,' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(5): 'str);' Line 983 - Chunks 0: Line 984 - Chunks 11: Visible(4): 'void' Space(1): ' ' Visible(21): 'str8gen_init(Str8Gen*' Space(1): ' ' Visible(4): 'gen,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(8): 'backing)' Space(1): ' ' Visible(1): '{' Line 985 - Chunks 6: Tab(1): ' ' Visible(10): 'assert(gen' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(9): 'nullptr);' Line 986 - Chunks 6: Tab(1): ' ' Visible(12): 'gen->backing' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(8): 'backing;' Line 987 - Chunks 6: Tab(1): ' ' Visible(8): 'gen->ptr' Space(5): ' ' Visible(1): '=' Space(1): ' ' Visible(12): 'backing.ptr;' Line 988 - Chunks 6: Tab(1): ' ' Visible(8): 'gen->len' Space(5): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Line 989 - Chunks 1: Visible(1): '}' Line 990 - Chunks 23: Visible(7): 'Str8Gen' Space(1): ' ' Visible(22): 'str8gen_make(SliceByte' Space(1): ' ' Visible(8): 'backing)' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(7): 'Str8Gen' Space(1): ' ' Visible(4): 'gen;' Space(1): ' ' Visible(14): 'str8gen_init(&' Space(1): ' ' Visible(4): 'gen,' Space(1): ' ' Visible(9): 'backing);' Space(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(4): 'gen;' Space(1): ' ' Visible(1): '}' Line 991 - Chunks 0: Line 992 - Chunks 11: Visible(4): 'void' Space(1): ' ' Visible(28): 'str8gen_append_str8(Str8Gen*' Space(1): ' ' Visible(4): 'gen,' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(4): 'str)' Space(1): ' ' Visible(1): '{' Line 993 - Chunks 12: Tab(1): ' ' Visible(5): 'SSIZE' Space(2): ' ' Visible(4): 'left' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(16): 'gen->backing.len' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(9): 'gen->len;' Line 994 - Chunks 6: Tab(1): ' ' Visible(11): 'assert(left' Space(1): ' ' Visible(2): '>=' Space(1): ' ' Visible(9): 'str.len);' Line 995 - Chunks 14: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(4): 'dest' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(9): '{gen->ptr' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(9): 'gen->len,' Space(1): ' ' Visible(9): 'str.len};' Line 996 - Chunks 4: Tab(1): ' ' Visible(16): 'slice_copy(dest,' Space(1): ' ' Visible(5): 'str);' Line 997 - Chunks 2: Tab(1): ' ' Visible(7): 'return;' Line 998 - Chunks 1: Visible(1): '}' Line 999 - Chunks 0: Line 1000 - Chunks 1: Visible(2): '/*' Line 1001 - Chunks 39: Visible(2): 'In' Space(1): ' ' Visible(5): 'order' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(7): 'support' Space(1): ' ' Visible(9): 'appending' Space(1): ' ' Visible(9): 'formatted' Space(1): ' ' Visible(7): 'content' Space(1): ' ' Visible(3): 'via' Space(1): ' ' Visible(20): 'str8gen_apppend_fmt,' Space(1): ' ' Visible(5): 'we'll' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(5): 'using' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(11): 'substiution' Space(1): ' ' Visible(9): 'formatter' Space(1): ' ' Visible(9): 'utilizing' Space(1): ' ' Visible(6): 'string' Space(1): ' ' Visible(13): 'identifiation' Space(1): ' ' Visible(5): 'token' Space(1): ' ' Visible(8): 'pattern.' Line 1002 - Chunks 0: Line 1003 - Chunks 39: Visible(5): 'Where' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(6): 'format' Space(1): ' ' Visible(8): 'template' Space(1): ' ' Visible(6): 'string' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(8): 'provided' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): ''id'' Space(1): ' ' Visible(7): 'wrapped' Space(1): ' ' Visible(2): 'in' Space(1): ' ' Visible(10): 'delimiters' Space(1): ' ' Visible(5): 'which' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(5): 'angle' Space(1): ' ' Visible(9): 'brackets:' Space(1): ' ' Visible(4): '' Line 1004 - Chunks 19: Visible(8): 'Example:' Space(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(9): 'formatted' Space(1): ' ' Visible(6): 'string' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(4): 'have' Space(1): ' ' Visible(4): '' Space(1): ' ' Visible(10): 'subsituted' Space(1): ' ' Visible(4): 'into' Space(1): ' ' Visible(3): 'it.' Line 1005 - Chunks 1: Visible(2): '*/' Line 1006 - Chunks 5: Visible(7): '#pragma' Space(1): ' ' Visible(6): 'region' Space(1): ' ' Visible(10): 'fmt_vtoken' Line 1007 - Chunks 0: Line 1008 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(11): 'FmtTokEntry' Space(1): ' ' Visible(12): 'FmtTokEntry;' Line 1009 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(11): 'FmtTokEntry' Space(1): ' ' Visible(1): '{' Line 1010 - Chunks 4: Tab(1): ' ' Visible(3): 'U64' Space(2): ' ' Visible(4): 'key;' Line 1011 - Chunks 4: Tab(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(6): 'value;' Line 1012 - Chunks 1: Visible(2): '};' Line 1013 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(16): 'SliceFmtTokEntry' Space(1): ' ' Visible(17): 'SliceFmtTokEntry;' Line 1014 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(16): 'SliceFmtTokEntry' Space(1): ' ' Visible(1): '{' Line 1015 - Chunks 4: Tab(1): ' ' Visible(12): 'FmtTokEntry*' Space(1): ' ' Visible(4): 'ptr;' Line 1016 - Chunks 4: Tab(1): ' ' Visible(5): 'SSIZE' Space(8): ' ' Visible(4): 'len;' Line 1017 - Chunks 1: Visible(2): '};' Line 1018 - Chunks 0: Line 1019 - Chunks 9: Visible(7): '#define' Space(1): ' ' Visible(16): 'slice_end(slice)' Space(1): ' ' Visible(10): '(slice.ptr' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(10): 'slice.len)' Line 1020 - Chunks 0: Line 1021 - Chunks 1: Visible(2): '/*' Line 1022 - Chunks 29: Visible(4): 'This' Space(1): ' ' Visible(2): 'is' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'token' Space(1): ' ' Visible(11): 'substiuting' Space(1): ' ' Visible(9): 'formatter' Space(1): ' ' Visible(5): 'using' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'array' Space(1): ' ' Visible(5): 'table' Space(1): ' ' Visible(6): 'lookup' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(6): 'tokens' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(11): 'substitute.' Line 1023 - Chunks 1: Visible(2): '*/' Line 1024 - Chunks 13: Visible(4): 'Str8' Space(1): ' ' Visible(26): 'fmt_vtoken_slice(SliceByte' Space(1): ' ' Visible(7): 'buffer,' Space(1): ' ' Visible(16): 'SliceFmtTokEntry' Space(1): ' ' Visible(7): 'tokens,' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(13): 'fmt_template)' Line 1025 - Chunks 1: Visible(1): '{' Line 1026 - Chunks 2: Tab(1): ' ' Visible(21): 'slice_assert(buffer);' Line 1027 - Chunks 2: Tab(1): ' ' Visible(21): 'slice_assert(tokens);' Line 1028 - Chunks 2: Tab(1): ' ' Visible(27): 'slice_assert(fmt_template);' Line 1029 - Chunks 0: Line 1030 - Chunks 8: Tab(1): ' ' Visible(5): 'UTF8*' Space(1): ' ' Visible(13): 'cursor_buffer' Space(4): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'buffer.ptr;' Line 1031 - Chunks 8: Tab(1): ' ' Visible(5): 'SSIZE' Space(1): ' ' Visible(16): 'buffer_remaining' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'buffer.len;' Line 1032 - Chunks 0: Line 1033 - Chunks 10: Tab(1): ' ' Visible(4): 'char' Space(1): ' ' Visible(9): 'curr_code' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(17): 'fmt_template.ptr;' Line 1034 - Chunks 0: Line 1035 - Chunks 8: Tab(1): ' ' Visible(5): 'UTF8*' Space(1): ' ' Visible(10): 'cursor_fmt' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(17): 'fmt_template.ptr;' Line 1036 - Chunks 8: Tab(1): ' ' Visible(5): 'SSIZE' Space(1): ' ' Visible(8): 'left_fmt' Space(3): ' ' Visible(1): '=' Space(1): ' ' Visible(17): 'fmt_template.len;' Line 1037 - Chunks 8: Tab(1): ' ' Visible(5): 'while' Space(1): ' ' Visible(9): '(left_fmt' Space(1): ' ' Visible(2): '&&' Space(1): ' ' Visible(17): 'buffer_remaining)' Line 1038 - Chunks 2: Tab(1): ' ' Visible(1): '{' Line 1039 - Chunks 28: Tab(2): ' ' Visible(2): '//' Space(1): ' ' Visible(7): 'Forward' Space(1): ' ' Visible(5): 'until' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(3): 'hit' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(9): 'delimiter' Space(1): ' ' Visible(3): ''<'' Space(1): ' ' Visible(2): 'or' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(10): 'template's' Space(1): ' ' Visible(8): 'contents' Space(1): ' ' Visible(3): 'are' Space(1): ' ' Visible(10): 'exhausted.' Line 1040 - Chunks 20: Tab(2): ' ' Visible(5): 'while' Space(1): ' ' Visible(10): '(curr_code' Space(1): ' ' Visible(2): '&&' Space(1): ' ' Visible(9): 'curr_code' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(3): ''<'' Space(1): ' ' Visible(2): '&&' Space(1): ' ' Visible(10): 'cursor_fmt' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(24): 'slice_end(fmt_template))' Line 1041 - Chunks 2: Tab(2): ' ' Visible(1): '{' Line 1042 - Chunks 10: Tab(3): ' ' Visible(1): '*' Space(1): ' ' Visible(13): 'cursor_buffer' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(11): 'cursor_fmt;' Line 1043 - Chunks 4: Tab(3): ' ' Visible(2): '++' Space(1): ' ' Visible(14): 'cursor_buffer;' Line 1044 - Chunks 4: Tab(3): ' ' Visible(2): '++' Space(1): ' ' Visible(11): 'cursor_fmt;' Line 1045 - Chunks 4: Tab(3): ' ' Visible(2): '--' Space(1): ' ' Visible(17): 'buffer_remaining;' Line 1046 - Chunks 4: Tab(3): ' ' Visible(2): '--' Space(1): ' ' Visible(9): 'left_fmt;' Line 1047 - Chunks 0: Line 1048 - Chunks 8: Tab(3): ' ' Visible(9): 'curr_code' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(11): 'cursor_fmt;' Line 1049 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 1050 - Chunks 0: Line 1051 - Chunks 8: Tab(2): ' ' Visible(2): 'if' Space(1): ' ' Visible(10): '(curr_code' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(4): ''<')' Line 1052 - Chunks 2: Tab(2): ' ' Visible(1): '{' Line 1053 - Chunks 12: Tab(3): ' ' Visible(5): 'UTF8*' Space(1): ' ' Visible(22): 'cursor_potential_token' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(10): 'cursor_fmt' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(2): '1;' Line 1054 - Chunks 8: Tab(3): ' ' Visible(5): 'SSIZE' Space(1): ' ' Visible(22): 'potential_token_length' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Line 1055 - Chunks 0: Line 1056 - Chunks 16: Tab(3): ' ' Visible(5): 'while' Space(1): ' ' Visible(2): '(*' Space(1): ' ' Visible(23): '(cursor_potential_token' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(23): 'potential_token_length)' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(4): ''>')' Space(1): ' ' Visible(1): '{' Line 1057 - Chunks 4: Tab(4): ' ' Visible(2): '++' Space(1): ' ' Visible(23): 'potential_token_length;' Line 1058 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 1059 - Chunks 0: Line 1060 - Chunks 26: Tab(3): ' ' Visible(2): '//' Space(1): ' ' Visible(7): 'Hashing' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(9): 'potential' Space(1): ' ' Visible(5): 'token' Space(1): ' ' Visible(3): 'and' Space(1): ' ' Visible(5): 'cross' Space(1): ' ' Visible(8): 'checking' Space(1): ' ' Visible(2): 'it' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(5): 'token' Space(1): ' ' Visible(5): 'table' Line 1061 - Chunks 24: Tab(3): ' ' Visible(3): 'U64' Space(3): ' ' Visible(3): 'key' Space(3): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Space(1): ' ' Visible(13): 'hash64_djb8(&' Space(1): ' ' Visible(4): 'key,' Space(1): ' ' Visible(12): '(SliceByte){' Space(1): ' ' Visible(11): 'cast(void*,' Space(1): ' ' Visible(10): 'cursor_fmt' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(3): '1),' Space(1): ' ' Visible(25): 'potential_token_length});' Line 1062 - Chunks 8: Tab(3): ' ' Visible(5): 'Str8*' Space(1): ' ' Visible(5): 'value' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(8): 'nullptr;' Line 1063 - Chunks 6: Tab(3): ' ' Visible(3): 'for' Space(1): ' ' Visible(19): '(slice_iter(tokens,' Space(1): ' ' Visible(7): 'token))' Line 1064 - Chunks 2: Tab(3): ' ' Visible(1): '{' Line 1065 - Chunks 50: Tab(4): ' ' Visible(2): '//' Space(1): ' ' Visible(2): 'We' Space(1): ' ' Visible(2): 'do' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(6): 'linear' Space(1): ' ' Visible(9): 'iteration' Space(1): ' ' Visible(7): 'instead' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): 'hash' Space(1): ' ' Visible(5): 'table' Space(1): ' ' Visible(6): 'lookup' Space(1): ' ' Visible(7): 'because' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(4): 'user' Space(1): ' ' Visible(6): 'should' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(5): 'never' Space(1): ' ' Visible(11): 'substiuting' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(4): 'more' Space(1): ' ' Visible(4): 'than' Space(1): ' ' Visible(3): '100' Space(1): ' ' Visible(6): 'unqiue' Space(1): ' ' Visible(8): 'tokens..' Line 1066 - Chunks 10: Tab(4): ' ' Visible(2): 'if' Space(1): ' ' Visible(11): '(token->key' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(4): 'key)' Space(1): ' ' Visible(1): '{' Line 1067 - Chunks 8: Tab(5): ' ' Visible(5): 'value' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(13): 'token->value;' Line 1068 - Chunks 2: Tab(5): ' ' Visible(6): 'break;' Line 1069 - Chunks 2: Tab(4): ' ' Visible(1): '}' Line 1070 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 1071 - Chunks 0: Line 1072 - Chunks 4: Tab(3): ' ' Visible(2): 'if' Space(1): ' ' Visible(7): '(value)' Line 1073 - Chunks 2: Tab(3): ' ' Visible(1): '{' Line 1074 - Chunks 8: Tab(4): ' ' Visible(5): 'SSIZE' Space(7): ' ' Visible(4): 'left' Space(9): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'value->len;' Line 1075 - Chunks 10: Tab(4): ' ' Visible(4): 'char' Space(1): ' ' Visible(6): 'const*' Space(1): ' ' Visible(12): 'cursor_value' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'value->ptr;' Line 1076 - Chunks 0: Line 1077 - Chunks 6: Tab(4): ' ' Visible(5): 'while' Space(1): ' ' Visible(5): '(left' Space(1): ' ' Visible(3): '--)' Line 1078 - Chunks 2: Tab(4): ' ' Visible(1): '{' Line 1079 - Chunks 10: Tab(5): ' ' Visible(1): '*' Space(1): ' ' Visible(13): 'cursor_buffer' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(13): 'cursor_value;' Line 1080 - Chunks 4: Tab(5): ' ' Visible(2): '++' Space(1): ' ' Visible(14): 'cursor_buffer;' Line 1081 - Chunks 4: Tab(5): ' ' Visible(2): '++' Space(1): ' ' Visible(13): 'cursor_value;' Line 1082 - Chunks 4: Tab(5): ' ' Visible(2): '--' Space(1): ' ' Visible(17): 'buffer_remaining;' Line 1083 - Chunks 2: Tab(4): ' ' Visible(1): '}' Line 1084 - Chunks 0: Line 1085 - Chunks 18: Tab(4): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'Sync' Space(1): ' ' Visible(6): 'cursor' Space(1): ' ' Visible(6): 'format' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(5): 'after' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(9): 'processed' Space(1): ' ' Visible(5): 'token' Line 1086 - Chunks 14: Tab(4): ' ' Visible(10): 'cursor_fmt' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(22): 'cursor_potential_token' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(22): 'potential_token_length' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(2): '1;' Line 1087 - Chunks 8: Tab(4): ' ' Visible(9): 'curr_code' Space(2): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(11): 'cursor_fmt;' Line 1088 - Chunks 34: Tab(4): ' ' Visible(8): 'left_fmt' Space(2): ' ' Visible(2): '-=' Space(1): ' ' Visible(22): 'potential_token_length' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(2): '2;' Space(1): ' ' Visible(2): '//' Space(1): ' ' Visible(3): 'The' Space(1): ' ' Visible(1): '2' Space(1): ' ' Visible(4): 'here' Space(1): ' ' Visible(3): 'are' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(3): ''<'' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(3): ''>'' Space(1): ' ' Visible(10): 'delimiters' Space(1): ' ' Visible(5): 'being' Space(1): ' ' Visible(8): 'omitted.' Line 1089 - Chunks 2: Tab(4): ' ' Visible(9): 'continue;' Line 1090 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 1091 - Chunks 0: Line 1092 - Chunks 10: Tab(3): ' ' Visible(1): '*' Space(1): ' ' Visible(13): 'cursor_buffer' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(11): 'cursor_fmt;' Line 1093 - Chunks 4: Tab(3): ' ' Visible(2): '++' Space(1): ' ' Visible(14): 'cursor_buffer;' Line 1094 - Chunks 4: Tab(3): ' ' Visible(2): '++' Space(1): ' ' Visible(11): 'cursor_fmt;' Line 1095 - Chunks 4: Tab(3): ' ' Visible(2): '--' Space(1): ' ' Visible(17): 'buffer_remaining;' Line 1096 - Chunks 4: Tab(3): ' ' Visible(2): '--' Space(1): ' ' Visible(9): 'left_fmt;' Line 1097 - Chunks 0: Line 1098 - Chunks 8: Tab(3): ' ' Visible(9): 'curr_code' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(11): 'cursor_fmt;' Line 1099 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 1100 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 1101 - Chunks 14: Tab(1): ' ' Visible(4): 'Str8' Space(3): ' ' Visible(6): 'result' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(12): '{buffer.ptr,' Space(1): ' ' Visible(10): 'buffer.len' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(18): 'buffer_remaining};' Line 1102 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(7): 'result;' Line 1103 - Chunks 1: Visible(1): '}' Line 1104 - Chunks 0: Line 1105 - Chunks 7: Visible(7): 'typedef' Space(1): ' ' Visible(6): 'struct' Space(1): ' ' Visible(9): 'SliceStr8' Space(1): ' ' Visible(10): 'SliceStr8;' Line 1106 - Chunks 5: Visible(6): 'struct' Space(1): ' ' Visible(9): 'SliceStr8' Space(1): ' ' Visible(1): '{' Line 1107 - Chunks 4: Tab(1): ' ' Visible(5): 'Str8*' Space(1): ' ' Visible(4): 'ptr;' Line 1108 - Chunks 4: Tab(1): ' ' Visible(5): 'SSIZE' Space(1): ' ' Visible(4): 'len;' Line 1109 - Chunks 1: Visible(2): '};' Line 1110 - Chunks 0: Line 1111 - Chunks 5: Visible(7): '#define' Space(1): ' ' Visible(13): 'local_persist' Space(1): ' ' Visible(6): 'static' Line 1112 - Chunks 0: Line 1113 - Chunks 17: Visible(4): 'Str8' Space(1): ' ' Visible(21): 'fmt__vtoken(SliceByte' Space(1): ' ' Visible(12): 'backing_tbl,' Space(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(12): 'backing_buf,' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(13): 'fmt_template,' Space(1): ' ' Visible(10): 'SliceStr8*' Space(1): ' ' Visible(7): 'tokens)' Line 1114 - Chunks 1: Visible(1): '{' Line 1115 - Chunks 6: Tab(1): ' ' Visible(13): 'assert(tokens' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(9): 'nullptr);' Line 1116 - Chunks 8: Tab(1): ' ' Visible(6): 'FArena' Space(11): ' ' Visible(9): 'a_backing' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(25): 'farena_init(backing_tbl);' Line 1117 - Chunks 10: Tab(1): ' ' Visible(16): 'SliceFmtTokEntry' Space(1): ' ' Visible(5): 'table' Space(5): ' ' Visible(1): '=' Space(1): ' ' Visible(17): '{a_backing.start,' Space(1): ' ' Visible(3): '0};' Line 1118 - Chunks 8: Tab(1): ' ' Visible(3): 'S32' Space(1): ' ' Visible(4): 'left' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(12): 'tokens->len;' Line 1119 - Chunks 8: Tab(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(20): '(slice_iter(*tokens,' Space(1): ' ' Visible(7): 'token))' Space(1): ' ' Visible(1): '{' Line 1120 - Chunks 11: Tab(2): ' ' Visible(12): 'FmtTokEntry*' Space(1): ' ' Visible(5): 'entry' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(22): 'farena_push(a_backing,' Space(1): ' ' Visible(13): 'FmtTokEntry);' Space(1): ' ' Line 1121 - Chunks 8: Tab(2): ' ' Visible(1): '*' Space(1): ' ' Visible(5): 'entry' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(17): '(FmtTokEntry){0};' Line 1122 - Chunks 10: Tab(2): ' ' Visible(13): 'hash64_djb8(&' Space(1): ' ' Visible(11): 'entry->key,' Space(1): ' ' Visible(23): '(SliceByte){cast(void*,' Space(1): ' ' Visible(12): 'token->ptr),' Space(1): ' ' Visible(13): 'token->len});' Line 1123 - Chunks 4: Tab(2): ' ' Visible(2): '++' Space(1): ' ' Visible(6): 'token;' Line 1124 - Chunks 8: Tab(2): ' ' Visible(12): 'entry->value' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(6): 'token;' Line 1125 - Chunks 4: Tab(2): ' ' Visible(2): '++' Space(1): ' ' Visible(10): 'table.len;' Line 1126 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 1127 - Chunks 12: Tab(1): ' ' Visible(4): 'Str8' Space(3): ' ' Visible(6): 'result' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(29): 'fmt_vtoken_slice(backing_buf,' Space(1): ' ' Visible(6): 'table,' Space(1): ' ' Visible(14): 'fmt_template);' Line 1128 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(7): 'result;' Line 1129 - Chunks 1: Visible(1): '}' Line 1130 - Chunks 0: Line 1131 - Chunks 35: Visible(2): '//' Space(1): ' ' Visible(8): 'Expected' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'take' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(5): 'array' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(7): 'entries' Space(1): ' ' Visible(9): 'formatted' Space(1): ' ' Visible(2): 'as' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(2): '2D' Space(1): ' ' Visible(5): 'array' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(9): 'key-value' Space(1): ' ' Visible(5): 'pairs' Space(1): ' ' Visible(17): '(Str8[length][2])' Line 1132 - Chunks 19: Visible(2): '//' Space(1): ' ' Visible(3): 'The' Space(1): ' ' Visible(5): 'array' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(2): 'be' Space(1): ' ' Visible(7): 'tracked' Space(1): ' ' Visible(5): 'using' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(9): 'SliceStr8' Space(1): ' ' Visible(10): 'structure.' Line 1133 - Chunks 11: Visible(7): '#define' Space(1): ' ' Visible(23): 'fmt_vtoken(backing_tbl,' Space(1): ' ' Visible(12): 'backing_buf,' Space(1): ' ' Visible(13): 'fmt_template,' Space(1): ' ' Visible(4): '...)' Space(9): ' ' Visible(1): '\' Line 1134 - Chunks 7: Visible(24): 'fmt__vtoken(backing_tbl,' Space(1): ' ' Visible(12): 'backing_buf,' Space(1): ' ' Visible(18): 'lit(fmt_template),' Space(16): ' ' Visible(1): '\' Line 1135 - Chunks 4: Tab(1): ' ' Visible(13): '&(SliceStr8){' Space(55): ' ' Visible(1): '\' Line 1136 - Chunks 12: Tab(2): ' ' Visible(4): '.ptr' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(9): '(Str8[]){' Space(1): ' ' Visible(11): '__VA_ARGS__' Space(1): ' ' Visible(2): '},' Space(33): ' ' Visible(1): '\' Line 1137 - Chunks 20: Tab(2): ' ' Visible(4): '.len' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(14): '(SSIZE)sizeof(' Space(1): ' ' Visible(9): '(Str8[]){' Space(1): ' ' Visible(11): '__VA_ARGS__' Space(1): ' ' Visible(1): '}' Space(1): ' ' Visible(1): ')' Space(1): ' ' Visible(1): '/' Space(1): ' ' Visible(13): 'size_of(Str8)' Space(1): ' ' Visible(1): '\' Line 1138 - Chunks 4: Tab(1): ' ' Visible(1): '}' Space(67): ' ' Visible(1): '\' Line 1139 - Chunks 1: Visible(1): ')' Line 1140 - Chunks 5: Visible(7): '#pragma' Space(1): ' ' Visible(9): 'endregion' Space(1): ' ' Visible(10): 'fmt_vtoken' Line 1141 - Chunks 0: Line 1142 - Chunks 1: Visible(6): 'inline' Line 1143 - Chunks 13: Visible(4): 'void' Space(1): ' ' Visible(28): 'str8gen__append_fmt(Str8Gen*' Space(1): ' ' Visible(4): 'gen,' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(13): 'fmt_template,' Space(1): ' ' Visible(10): 'SliceStr8*' Space(1): ' ' Visible(7): 'tokens)' Line 1144 - Chunks 1: Visible(1): '{' Line 1145 - Chunks 10: Tab(1): ' ' Visible(13): 'local_persist' Space(1): ' ' Visible(9): 'FMem_64KB' Space(1): ' ' Visible(11): 'tbl_backing' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(4): '{0};' Line 1146 - Chunks 18: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(11): 'fmt_backing' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(9): '{gen->ptr' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(9): 'gen->len,' Space(1): ' ' Visible(16): 'gen->backing.len' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(10): 'gen->len};' Line 1147 - Chunks 14: Tab(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(8): 'appended' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(36): 'fmt__vtoken(fmem_slice(tbl_backing),' Space(1): ' ' Visible(12): 'fmt_backing,' Space(1): ' ' Visible(13): 'fmt_template,' Space(1): ' ' Visible(8): 'tokens);' Line 1148 - Chunks 6: Tab(1): ' ' Visible(8): 'gen->len' Space(1): ' ' Visible(2): '+=' Space(1): ' ' Visible(13): 'appended.len;' Line 1149 - Chunks 2: Tab(1): ' ' Visible(7): 'return;' Line 1150 - Chunks 1: Visible(1): '}' Line 1151 - Chunks 9: Visible(7): '#define' Space(1): ' ' Visible(23): 'str8gen_append_fmt(gen,' Space(1): ' ' Visible(13): 'fmt_template,' Space(1): ' ' Visible(4): '...)' Space(22): ' ' Visible(1): '\' Line 1152 - Chunks 7: Visible(21): 'str8gen__append_fmt(&' Space(1): ' ' Visible(4): 'gen,' Space(1): ' ' Visible(18): 'lit(fmt_template),' Space(27): ' ' Visible(1): '\' Line 1153 - Chunks 4: Tab(1): ' ' Visible(13): '&(SliceStr8){' Space(55): ' ' Visible(1): '\' Line 1154 - Chunks 12: Tab(2): ' ' Visible(4): '.ptr' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(9): '(Str8[]){' Space(1): ' ' Visible(11): '__VA_ARGS__' Space(1): ' ' Visible(2): '},' Space(33): ' ' Visible(1): '\' Line 1155 - Chunks 20: Tab(2): ' ' Visible(4): '.len' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(14): '(SSIZE)sizeof(' Space(1): ' ' Visible(9): '(Str8[]){' Space(1): ' ' Visible(11): '__VA_ARGS__' Space(1): ' ' Visible(1): '}' Space(1): ' ' Visible(1): ')' Space(1): ' ' Visible(1): '/' Space(1): ' ' Visible(13): 'size_of(Str8)' Space(1): ' ' Visible(1): '\' Line 1156 - Chunks 4: Tab(1): ' ' Visible(1): '}' Space(67): ' ' Visible(1): '\' Line 1157 - Chunks 1: Visible(1): ')' Line 1158 - Chunks 0: Line 1159 - Chunks 1: Visible(2): '/*' Line 1160 - Chunks 7: Visible(6): 'Define' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(7): 'mapping' Space(1): ' ' Visible(6): 'array:' Line 1161 - Chunks 9: Visible(4): 'Str8' Space(1): ' ' Visible(8): 'mappings' Space(1): ' ' Visible(5): '[][2]' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '{' Line 1162 - Chunks 4: Tab(1): ' ' Visible(23): 'fmt_vtoken_entry("key",' Space(1): ' ' Visible(9): '"value"),' Line 1163 - Chunks 12: Tab(1): ' ' Visible(2): '^^' Space(1): ' ' Visible(3): 'Add' Space(1): ' ' Visible(7): 'entries' Space(1): ' ' Visible(2): 'as' Space(1): ' ' Visible(5): 'above' Space(1): ' ' Visible(2): '^^' Line 1164 - Chunks 1: Visible(1): '}' Line 1165 - Chunks 1: Visible(2): '*/' Line 1166 - Chunks 9: Visible(7): '#define' Space(1): ' ' Visible(14): 'fmt_entry(key,' Space(1): ' ' Visible(6): 'value)' Space(1): ' ' Visible(9): 'lit(key),' Space(1): ' ' Visible(5): 'value' Line 1167 - Chunks 0: Line 1168 - Chunks 3: Visible(6): '#ifdef' Space(1): ' ' Visible(25): 'DEMO__WATL_DUMP_PREREQ_V1' Line 1169 - Chunks 3: Visible(3): 'int' Space(1): ' ' Visible(6): 'main()' Line 1170 - Chunks 1: Visible(1): '{' Line 1171 - Chunks 6: Tab(1): ' ' Visible(13): 'local_persist' Space(1): ' ' Visible(9): 'FMem_64KB' Space(1): ' ' Visible(12): 'tbl_scratch;' Line 1172 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(11): 'fmt_scratch' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(29): 'slicemem_alloc(MEGABYTES(8));' Line 1173 - Chunks 18: Tab(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(8): 'test_str' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(35): 'fmt_vtoken(fmem_slice(tbl_scratch),' Space(1): ' ' Visible(12): 'fmt_scratch,' Space(1): ' ' Visible(5): '"Will' Space(1): ' ' Visible(4): 'this' Space(1): ' ' Visible(5): 'work?' Space(1): ' ' Visible(13): '",' Line 1174 - Chunks 6: Tab(2): ' ' Visible(22): 'fmt_entry("maybe_sub",' Space(1): ' ' Visible(7): 'lit("IT' Space(1): ' ' Visible(11): 'SUBST!!!"))' Line 1175 - Chunks 2: Tab(1): ' ' Visible(2): ');' Line 1176 - Chunks 0: Line 1177 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(10): 'scratchgen' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(30): 'slicemem_alloc(MEGABYTES(16));' Line 1178 - Chunks 8: Tab(1): ' ' Visible(7): 'Str8Gen' Space(1): ' ' Visible(3): 'gen' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(25): 'str8gen_make(scratchgen);' Line 1179 - Chunks 12: Tab(1): ' ' Visible(23): 'str8gen_append_fmt(gen,' Space(1): ' ' Visible(8): '"Testing' Space(1): ' ' Visible(3): 'now' Space(1): ' ' Visible(4): 'with' Space(1): ' ' Visible(9): 'Str8Gen!!' Space(1): ' ' Visible(14): '!",' Line 1180 - Chunks 8: Tab(2): ' ' Visible(22): 'fmt_entry("maybe_sub",' Space(1): ' ' Visible(9): 'lit("lets' Space(1): ' ' Visible(7): 'fucking' Space(1): ' ' Visible(8): 'go!!!"))' Line 1181 - Chunks 2: Tab(1): ' ' Visible(2): ');' Line 1182 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(2): '0;' Line 1183 - Chunks 1: Visible(1): '}' Line 1184 - Chunks 1: Visible(6): '#endif' Line 1185 - Chunks 0: Line 1186 - Chunks 1: Visible(2): '/*' Line 1187 - Chunks 23: Visible(5): 'We'll' Space(1): ' ' Visible(4): 'need' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(2): 'do' Space(1): ' ' Visible(4): 'some' Space(1): ' ' Visible(7): 'integer' Space(1): ' ' Visible(13): 'serialization' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(4): 'dump' Space(1): ' ' Visible(9): 'listing's' Space(1): ' ' Visible(8): 'metrics.' Line 1188 - Chunks 1: Visible(2): '*/' Line 1189 - Chunks 0: Line 1190 - Chunks 25: Visible(6): 'inline' Space(1): ' ' Visible(3): 'B32' Space(1): ' ' Visible(16): 'char_is_upper(U8' Space(1): ' ' Visible(2): 'c)' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(10): 'return('A'' Space(1): ' ' Visible(2): '<=' Space(1): ' ' Visible(1): 'c' Space(1): ' ' Visible(2): '&&' Space(1): ' ' Visible(1): 'c' Space(1): ' ' Visible(2): '<=' Space(1): ' ' Visible(5): ''Z');' Space(1): ' ' Visible(1): '}' Line 1191 - Chunks 31: Visible(6): 'inline' Space(1): ' ' Visible(2): 'U8' Space(2): ' ' Visible(16): 'char_to_lower(U8' Space(1): ' ' Visible(2): 'c)' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(18): '(char_is_upper(c))' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(1): 'c' Space(1): ' ' Visible(2): '+=' Space(1): ' ' Visible(4): '('a'' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(5): ''A');' Space(1): ' ' Visible(1): '}' Space(1): ' ' Visible(10): 'return(c);' Space(1): ' ' Visible(1): '}' Line 1192 - Chunks 0: Line 1193 - Chunks 1: Visible(6): 'inline' Line 1194 - Chunks 7: Visible(2): 'U8' Space(1): ' ' Visible(18): 'integer_symbols(U8' Space(1): ' ' Visible(6): 'value)' Space(1): ' ' Visible(1): '{' Line 1195 - Chunks 2: Tab(1): ' ' Visible(13): 'local_persist' Line 1196 - Chunks 8: Tab(1): ' ' Visible(2): 'U8' Space(1): ' ' Visible(16): 'lookup_table[16]' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '{' Line 1197 - Chunks 2: Tab(2): ' ' Visible(64): ''0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F',' Line 1198 - Chunks 2: Tab(1): ' ' Visible(2): '};' Line 1199 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(20): 'lookup_table[value];' Line 1200 - Chunks 1: Visible(1): '}' Line 1201 - Chunks 0: Line 1202 - Chunks 21: Visible(4): 'Str8' Space(1): ' ' Visible(23): 'str8_from_u32(SliceByte' Space(1): ' ' Visible(4): 'mem,' Space(1): ' ' Visible(3): 'U32' Space(1): ' ' Visible(4): 'num,' Space(1): ' ' Visible(3): 'U32' Space(1): ' ' Visible(6): 'radix,' Space(1): ' ' Visible(2): 'U8' Space(1): ' ' Visible(11): 'min_digits,' Space(1): ' ' Visible(2): 'U8' Space(1): ' ' Visible(22): 'digit_group_separator)' Line 1203 - Chunks 1: Visible(1): '{' Line 1204 - Chunks 18: Tab(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(6): 'result' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(5): '{.ptr' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(8): 'mem.ptr,' Space(1): ' ' Visible(4): '.len' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(3): '0};' Line 1205 - Chunks 8: Tab(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(6): 'prefix' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(4): '{0};' Line 1206 - Chunks 4: Tab(1): ' ' Visible(6): 'switch' Space(1): ' ' Visible(7): '(radix)' Line 1207 - Chunks 2: Tab(1): ' ' Visible(1): '{' Line 1208 - Chunks 16: Tab(2): ' ' Visible(4): 'case' Space(1): ' ' Visible(3): '16:' Space(1): ' ' Visible(1): '{' Space(1): ' ' Visible(6): 'prefix' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(10): 'lit("0x");' Space(1): ' ' Visible(1): '}' Space(1): ' ' Visible(6): 'break;' Line 1209 - Chunks 16: Tab(2): ' ' Visible(4): 'case' Space(1): ' ' Visible(2): '8:' Space(2): ' ' Visible(1): '{' Space(1): ' ' Visible(6): 'prefix' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(10): 'lit("0o");' Space(1): ' ' Visible(1): '}' Space(1): ' ' Visible(6): 'break;' Line 1210 - Chunks 16: Tab(2): ' ' Visible(4): 'case' Space(1): ' ' Visible(2): '2:' Space(2): ' ' Visible(1): '{' Space(1): ' ' Visible(6): 'prefix' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(10): 'lit("0b");' Space(1): ' ' Visible(1): '}' Space(1): ' ' Visible(6): 'break;' Line 1211 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 1212 - Chunks 1: Tab(1): ' ' Line 1213 - Chunks 8: Tab(1): ' ' Visible(2): 'U8' Space(1): ' ' Visible(16): 'digit_group_size' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '3;' Line 1214 - Chunks 4: Tab(1): ' ' Visible(6): 'switch' Space(1): ' ' Visible(7): '(radix)' Line 1215 - Chunks 2: Tab(1): ' ' Visible(1): '{' Line 1216 - Chunks 4: Tab(2): ' ' Visible(8): 'default:' Space(1): ' ' Visible(6): 'break;' Line 1217 - Chunks 4: Tab(2): ' ' Visible(4): 'case' Space(1): ' ' Visible(2): '2:' Line 1218 - Chunks 4: Tab(2): ' ' Visible(4): 'case' Space(1): ' ' Visible(2): '8:' Line 1219 - Chunks 7: Tab(2): ' ' Visible(4): 'case' Space(1): ' ' Visible(3): '16:' Space(1): ' ' Visible(1): '{' Space(1): ' ' Line 1220 - Chunks 6: Tab(3): ' ' Visible(16): 'digit_group_size' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '4;' Line 1221 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 1222 - Chunks 2: Tab(2): ' ' Visible(6): 'break;' Line 1223 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 1224 - Chunks 0: Line 1225 - Chunks 8: Tab(1): ' ' Visible(3): 'U32' Space(1): ' ' Visible(20): 'needed_leading_zeros' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Line 1226 - Chunks 2: Tab(1): ' ' Visible(1): '{' Line 1227 - Chunks 8: Tab(2): ' ' Visible(3): 'U32' Space(1): ' ' Visible(13): 'needed_digits' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '1;' Line 1228 - Chunks 2: Tab(2): ' ' Visible(1): '{' Line 1229 - Chunks 8: Tab(3): ' ' Visible(3): 'U32' Space(1): ' ' Visible(10): 'u32_reduce' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(4): 'num;' Line 1230 - Chunks 2: Tab(3): ' ' Visible(7): 'for(;;)' Line 1231 - Chunks 2: Tab(3): ' ' Visible(1): '{' Line 1232 - Chunks 6: Tab(4): ' ' Visible(10): 'u32_reduce' Space(1): ' ' Visible(2): '/=' Space(1): ' ' Visible(6): 'radix;' Line 1233 - Chunks 10: Tab(4): ' ' Visible(2): 'if' Space(1): ' ' Visible(11): '(u32_reduce' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(2): '0)' Space(1): ' ' Visible(1): '{' Line 1234 - Chunks 2: Tab(5): ' ' Visible(6): 'break;' Line 1235 - Chunks 2: Tab(4): ' ' Visible(1): '}' Line 1236 - Chunks 6: Tab(4): ' ' Visible(13): 'needed_digits' Space(1): ' ' Visible(2): '+=' Space(1): ' ' Visible(2): '1;' Line 1237 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 1238 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 1239 - Chunks 0: Line 1240 - Chunks 23: Tab(2): ' ' Space(4): ' ' Visible(20): 'needed_leading_zeros' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(11): '(min_digits' Space(1): ' ' Visible(1): '>' Space(1): ' ' Visible(14): 'needed_digits)' Space(1): ' ' Visible(1): '?' Space(1): ' ' Visible(10): 'min_digits' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(13): 'needed_digits' Space(1): ' ' Visible(1): ':' Space(1): ' ' Visible(2): '0;' Line 1241 - Chunks 8: Tab(2): ' ' Visible(3): 'U32' Space(1): ' ' Visible(17): 'needed_separators' Space(4): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Line 1242 - Chunks 8: Tab(2): ' ' Visible(2): 'if' Space(1): ' ' Visible(22): '(digit_group_separator' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(2): '0)' Line 1243 - Chunks 2: Tab(2): ' ' Visible(1): '{' Line 1244 - Chunks 14: Tab(3): ' ' Visible(17): 'needed_separators' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(14): '(needed_digits' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(21): 'needed_leading_zeros)' Space(1): ' ' Visible(1): '/' Space(1): ' ' Visible(17): 'digit_group_size;' Line 1245 - Chunks 26: Tab(3): ' ' Visible(2): 'if' Space(1): ' ' Visible(18): '(needed_separators' Space(1): ' ' Visible(1): '>' Space(1): ' ' Visible(1): '0' Space(1): ' ' Visible(2): '&&' Space(1): ' ' Visible(14): '(needed_digits' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(21): 'needed_leading_zeros)' Space(1): ' ' Visible(1): '%' Space(1): ' ' Visible(16): 'digit_group_size' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(2): '0)' Space(1): ' ' Visible(1): '{' Line 1246 - Chunks 6: Tab(4): ' ' Visible(17): 'needed_separators' Space(1): ' ' Visible(2): '-=' Space(1): ' ' Visible(2): '1;' Line 1247 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 1248 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 1249 - Chunks 1: Tab(2): ' ' Line 1250 - Chunks 18: Tab(2): ' ' Visible(10): 'result.len' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(10): 'prefix.len' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(20): 'needed_leading_zeros' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(17): 'needed_separators' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(14): 'needed_digits;' Line 1251 - Chunks 6: Tab(2): ' ' Visible(17): 'assert(result.len' Space(1): ' ' Visible(2): '<=' Space(1): ' ' Visible(9): 'mem.len);' Line 1252 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 1253 - Chunks 1: Tab(1): ' ' Line 1254 - Chunks 6: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'Fill' Space(1): ' ' Visible(7): 'Content' Line 1255 - Chunks 2: Tab(1): ' ' Visible(1): '{' Line 1256 - Chunks 8: Tab(2): ' ' Visible(3): 'U32' Space(1): ' ' Visible(10): 'num_reduce' Space(13): ' ' Visible(1): '=' Space(1): ' ' Visible(4): 'num;' Line 1257 - Chunks 8: Tab(2): ' ' Visible(3): 'U32' Space(1): ' ' Visible(22): 'digits_until_separator' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(17): 'digit_group_size;' Line 1258 - Chunks 22: Tab(2): ' ' Visible(3): 'for' Space(1): ' ' Visible(4): '(U32' Space(1): ' ' Visible(3): 'idx' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Space(1): ' ' Visible(3): 'idx' Space(1): ' ' Visible(1): '<' Space(1): ' ' Visible(11): 'result.len;' Space(1): ' ' Visible(3): 'idx' Space(1): ' ' Visible(2): '+=' Space(1): ' ' Visible(2): '1)' Line 1259 - Chunks 2: Tab(2): ' ' Visible(1): '{' Line 1260 - Chunks 16: Tab(3): ' ' Visible(5): 'SSIZE' Space(1): ' ' Visible(13): 'separator_pos' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(10): 'result.len' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(3): 'idx' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(2): '1;' Line 1261 - Chunks 18: Tab(3): ' ' Visible(2): 'if' Space(1): ' ' Visible(23): '(digits_until_separator' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(1): '0' Space(1): ' ' Visible(2): '&&' Space(1): ' ' Visible(21): 'digit_group_separator' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(2): '0)' Space(1): ' ' Visible(1): '{' Line 1262 - Chunks 6: Tab(4): ' ' Visible(25): 'result.ptr[separator_pos]' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(22): 'digit_group_separator;' Line 1263 - Chunks 10: Tab(4): ' ' Visible(22): 'digits_until_separator' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(16): 'digit_group_size' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(2): '1;' Line 1264 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 1265 - Chunks 4: Tab(3): ' ' Visible(4): 'else' Space(1): ' ' Visible(1): '{' Line 1266 - Chunks 10: Tab(4): ' ' Visible(25): 'result.ptr[separator_pos]' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(40): 'char_to_lower(integer_symbols(num_reduce' Space(1): ' ' Visible(1): '%' Space(1): ' ' Visible(8): 'radix));' Line 1267 - Chunks 6: Tab(4): ' ' Visible(10): 'num_reduce' Space(1): ' ' Visible(2): '/=' Space(1): ' ' Visible(6): 'radix;' Line 1268 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 1269 - Chunks 6: Tab(3): ' ' Visible(22): 'digits_until_separator' Space(1): ' ' Visible(2): '-=' Space(1): ' ' Visible(2): '1;' Line 1270 - Chunks 10: Tab(3): ' ' Visible(2): 'if' Space(1): ' ' Visible(11): '(num_reduce' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(2): '0)' Space(1): ' ' Visible(1): '{' Line 1271 - Chunks 2: Tab(4): ' ' Visible(6): 'break;' Line 1272 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 1273 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 1274 - Chunks 24: Tab(2): ' ' Visible(3): 'for' Space(1): ' ' Visible(4): '(U32' Space(1): ' ' Visible(13): 'leading_0_idx' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Space(1): ' ' Visible(13): 'leading_0_idx' Space(1): ' ' Visible(1): '<' Space(1): ' ' Visible(21): 'needed_leading_zeros;' Space(1): ' ' Visible(13): 'leading_0_idx' Space(1): ' ' Visible(2): '+=' Space(1): ' ' Visible(2): '1)' Space(1): ' ' Visible(1): '{' Line 1275 - Chunks 10: Tab(3): ' ' Visible(21): 'result.ptr[prefix.len' Space(1): ' ' Visible(1): '+' Space(1): ' ' Visible(14): 'leading_0_idx]' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(4): ''0';' Line 1276 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 1277 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 1278 - Chunks 6: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'Fill' Space(1): ' ' Visible(6): 'Prefix' Line 1279 - Chunks 10: Tab(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(11): '(prefix.len' Space(1): ' ' Visible(1): '>' Space(1): ' ' Visible(2): '0)' Space(1): ' ' Visible(1): '{' Line 1280 - Chunks 4: Tab(2): ' ' Visible(18): 'slice_copy(result,' Space(1): ' ' Visible(8): 'prefix);' Line 1281 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 1282 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(7): 'result;' Line 1283 - Chunks 1: Visible(1): '}' Line 1284 - Chunks 0: Line 1285 - Chunks 7: Visible(2): '//' Space(1): ' ' Visible(8): 'Utilized' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(16): 'file_write_str8:' Line 1286 - Chunks 3: Visible(3): '#if' Space(1): ' ' Visible(1): '0' Line 1287 - Chunks 3: Visible(4): 'BOOL' Space(1): ' ' Visible(10): 'WriteFile(' Line 1288 - Chunks 6: Space(2): ' ' Visible(4): '[in]' Space(16): ' ' Visible(6): 'HANDLE' Space(7): ' ' Visible(6): 'hFile,' Line 1289 - Chunks 6: Space(2): ' ' Visible(4): '[in]' Space(16): ' ' Visible(7): 'LPCVOID' Space(6): ' ' Visible(9): 'lpBuffer,' Line 1290 - Chunks 6: Space(2): ' ' Visible(4): '[in]' Space(16): ' ' Visible(5): 'DWORD' Space(8): ' ' Visible(22): 'nNumberOfBytesToWrite,' Line 1291 - Chunks 8: Space(2): ' ' Visible(5): '[out,' Space(1): ' ' Visible(9): 'optional]' Space(5): ' ' Visible(7): 'LPDWORD' Space(6): ' ' Visible(23): 'lpNumberOfBytesWritten,' Line 1292 - Chunks 10: Space(2): ' ' Visible(4): '[in,' Space(1): ' ' Visible(4): 'out,' Space(1): ' ' Visible(9): 'optional]' Space(1): ' ' Visible(12): 'LPOVERLAPPED' Space(1): ' ' Visible(12): 'lpOverlapped' Line 1293 - Chunks 1: Visible(2): ');' Line 1294 - Chunks 1: Visible(6): '#endif' Line 1295 - Chunks 1: Visible(2): '/*' Line 1296 - Chunks 15: Visible(7): 'Lastly:' Space(1): ' ' Visible(8): 'Writting' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'file' Space(1): ' ' Visible(5): 'using' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(3): 'Win' Space(1): ' ' Visible(4): 'API.' Line 1297 - Chunks 1: Visible(2): '*/' Line 1298 - Chunks 9: Visible(4): 'void' Space(1): ' ' Visible(20): 'file_write_str8(Str8' Space(1): ' ' Visible(5): 'path,' Space(1): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(8): 'content)' Line 1299 - Chunks 1: Visible(1): '{' Line 1300 - Chunks 2: Tab(1): ' ' Visible(19): 'slice_assert(path);' Line 1301 - Chunks 2: Tab(1): ' ' Visible(22): 'slice_assert(content);' Line 1302 - Chunks 0: Line 1303 - Chunks 8: Tab(1): ' ' Visible(9): 'FMem_16KB' Space(1): ' ' Visible(7): 'scratch' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(4): '{0};' Line 1304 - Chunks 12: Tab(1): ' ' Visible(4): 'char' Space(1): ' ' Visible(6): 'const*' Space(1): ' ' Visible(9): 'path_cstr' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(25): 'str8_to_cstr_capped(path,' Space(1): ' ' Visible(21): 'fmem_slice(scratch));' Line 1305 - Chunks 0: Line 1306 - Chunks 8: Tab(1): ' ' Visible(6): 'HANDLE' Space(1): ' ' Visible(7): 'id_file' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(12): 'CreateFileA(' Line 1307 - Chunks 2: Tab(2): ' ' Visible(10): 'path_cstr,' Line 1308 - Chunks 2: Tab(2): ' ' Visible(14): 'GENERIC_WRITE,' Line 1309 - Chunks 2: Tab(2): ' ' Visible(16): 'FILE_SHARE_READ,' Line 1310 - Chunks 2: Tab(2): ' ' Visible(5): 'NULL,' Line 1311 - Chunks 2: Tab(2): ' ' Visible(14): 'CREATE_ALWAYS,' Line 1312 - Chunks 2: Tab(2): ' ' Visible(22): 'FILE_ATTRIBUTE_NORMAL,' Line 1313 - Chunks 2: Tab(2): ' ' Visible(4): 'NULL' Line 1314 - Chunks 2: Tab(1): ' ' Visible(2): ');' Line 1315 - Chunks 0: Line 1316 - Chunks 12: Tab(1): ' ' Visible(3): 'B32' Space(1): ' ' Visible(11): 'open_failed' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(7): 'id_file' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(21): 'INVALID_HANDLE_VALUE;' Line 1317 - Chunks 6: Tab(1): ' ' Visible(2): 'if' Space(1): ' ' Visible(13): '(open_failed)' Space(1): ' ' Visible(1): '{' Line 1318 - Chunks 8: Tab(2): ' ' Visible(5): 'DWORD' Space(2): ' ' Visible(10): 'error_code' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(15): 'GetLastError();' Line 1319 - Chunks 6: Tab(2): ' ' Visible(17): 'assert(error_code' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(3): '0);' Line 1320 - Chunks 2: Tab(2): ' ' Visible(7): 'return;' Line 1321 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 1322 - Chunks 0: Line 1323 - Chunks 8: Tab(1): ' ' Visible(5): 'DWORD' Space(1): ' ' Visible(13): 'bytes_written' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Line 1324 - Chunks 8: Tab(1): ' ' Visible(3): 'B32' Space(1): ' ' Visible(6): 'status' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(17): 'WriteFile(id_file' Line 1325 - Chunks 6: Tab(2): ' ' Visible(1): ',' Space(1): ' ' Visible(11): 'cast(void*,' Space(1): ' ' Visible(12): 'content.ptr)' Line 1326 - Chunks 6: Tab(2): ' ' Visible(1): ',' Space(1): ' ' Visible(11): 'cast(USIZE,' Space(1): ' ' Visible(12): 'content.len)' Line 1327 - Chunks 6: Tab(2): ' ' Visible(1): ',' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(13): 'bytes_written' Line 1328 - Chunks 4: Tab(2): ' ' Visible(1): ',' Space(1): ' ' Visible(4): 'NULL' Line 1329 - Chunks 2: Tab(1): ' ' Visible(2): ');' Line 1330 - Chunks 6: Tab(1): ' ' Visible(13): 'assert(status' Space(1): ' ' Visible(2): '!=' Space(1): ' ' Visible(3): '0);' Line 1331 - Chunks 6: Tab(1): ' ' Visible(20): 'assert(bytes_written' Space(1): ' ' Visible(2): '==' Space(1): ' ' Visible(13): 'content.len);' Line 1332 - Chunks 1: Visible(1): '}' Line 1333 - Chunks 0: Line 1334 - Chunks 1: Visible(2): '/*' Line 1335 - Chunks 31: Visible(2): 'We' Space(1): ' ' Visible(3): 'now' Space(1): ' ' Visible(4): 'have' Space(1): ' ' Visible(4): 'what' Space(1): ' ' Visible(2): 'we' Space(1): ' ' Visible(4): 'need' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(6): 'create' Space(1): ' ' Visible(3): 'the' Space(1): ' ' Visible(10): 'structural' Space(1): ' ' Visible(7): 'listing' Space(1): ' ' Visible(4): 'dump' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(6): 'WATL's' Space(1): ' ' Visible(4): 'data' Space(1): ' ' Visible(11): 'structures.' Line 1336 - Chunks 1: Visible(2): '*/' Line 1337 - Chunks 0: Line 1338 - Chunks 9: Visible(4): 'Str8' Space(1): ' ' Visible(27): 'watl_dump_listing(SliceByte' Space(1): ' ' Visible(7): 'buffer,' Space(1): ' ' Visible(14): 'WATL_SliceLine' Space(1): ' ' Visible(6): 'lines)' Line 1339 - Chunks 1: Visible(1): '{' Line 1340 - Chunks 10: Tab(1): ' ' Visible(13): 'local_persist' Space(1): ' ' Visible(9): 'FMem_64KB' Space(1): ' ' Visible(7): 'scratch' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(4): '{0};' Line 1341 - Chunks 8: Tab(1): ' ' Visible(6): 'FArena' Space(1): ' ' Visible(6): 'sarena' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(33): 'farena_init(fmem_slice(scratch));' Line 1342 - Chunks 0: Line 1343 - Chunks 8: Tab(1): ' ' Visible(7): 'Str8Gen' Space(1): ' ' Visible(6): 'result' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(21): 'str8gen_make(buffer);' Line 1344 - Chunks 8: Tab(1): ' ' Visible(3): 'U32' Space(1): ' ' Visible(8): 'line_num' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(2): '0;' Line 1345 - Chunks 6: Tab(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(18): '(slice_iter(lines,' Space(1): ' ' Visible(6): 'line))' Line 1346 - Chunks 2: Tab(1): ' ' Visible(1): '{' Line 1347 - Chunks 20: Tab(1): ' ' Visible(7): '#define' Space(1): ' ' Visible(15): 'push_str8_u32()' Space(11): ' ' Visible(12): '(SliceByte){' Space(1): ' ' Visible(14): 'farena__push(&' Space(1): ' ' Visible(7): 'sarena,' Space(1): ' ' Visible(14): 'size_of(UTF8),' Space(1): ' ' Visible(3): '64,' Space(1): ' ' Visible(13): 'lit("UTF8")),' Space(1): ' ' Visible(2): '64' Space(1): ' ' Visible(1): '}' Line 1348 - Chunks 18: Tab(1): ' ' Visible(7): '#define' Space(1): ' ' Visible(20): 'fmt_entry_u32(label,' Space(1): ' ' Visible(4): 'num)' Space(1): ' ' Visible(11): 'lit(label),' Space(1): ' ' Visible(30): 'str8_from_u32(push_str8_u32(),' Space(1): ' ' Visible(4): 'num,' Space(1): ' ' Visible(3): '10,' Space(1): ' ' Visible(2): '0,' Space(1): ' ' Visible(2): '0)' Line 1349 - Chunks 4: Tab(2): ' ' Visible(2): '++' Space(1): ' ' Visible(9): 'line_num;' Line 1350 - Chunks 12: Tab(2): ' ' Visible(26): 'str8gen_append_fmt(result,' Space(1): ' ' Visible(5): '"Line' Space(1): ' ' Visible(10): '' Space(1): ' ' Visible(1): '-' Space(1): ' ' Visible(6): 'Chunks' Space(1): ' ' Visible(15): ':\n"' Line 1351 - Chunks 14: Tab(2): ' ' Visible(1): ',' Tab(1): ' ' Visible(21): 'fmt_entry("line_num",' Space(2): ' ' Visible(30): 'str8_from_u32(push_str8_u32(),' Space(1): ' ' Visible(9): 'line_num,' Space(1): ' ' Visible(3): '10,' Space(1): ' ' Visible(2): '0,' Space(1): ' ' Visible(3): '0))' Line 1352 - Chunks 14: Tab(2): ' ' Visible(1): ',' Tab(1): ' ' Visible(22): 'fmt_entry("chunk_num",' Space(1): ' ' Visible(30): 'str8_from_u32(push_str8_u32(),' Space(1): ' ' Visible(10): 'line->len,' Space(1): ' ' Visible(3): '10,' Space(1): ' ' Visible(2): '0,' Space(1): ' ' Visible(3): '0))' Line 1353 - Chunks 2: Tab(2): ' ' Visible(2): ');' Line 1354 - Chunks 9: Tab(2): ' ' Visible(3): 'for' Space(1): ' ' Visible(13): '(slice_iter(*' Space(1): ' ' Visible(5): 'line,' Space(1): ' ' Visible(7): 'chunk))' Space(1): ' ' Line 1355 - Chunks 2: Tab(2): ' ' Visible(1): '{' Line 1356 - Chunks 4: Tab(3): ' ' Visible(4): 'Str8' Space(1): ' ' Visible(3): 'id;' Line 1357 - Chunks 6: Tab(3): ' ' Visible(6): 'switch' Space(1): ' ' Visible(2): '(*' Space(1): ' ' Visible(11): 'chunk->ptr)' Line 1358 - Chunks 2: Tab(3): ' ' Visible(1): '{' Line 1359 - Chunks 12: Tab(4): ' ' Visible(4): 'case' Space(1): ' ' Visible(15): 'WATL_Tok_Space:' Space(1): ' ' Visible(2): 'id' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(13): 'lit("Space");' Space(3): ' ' Visible(6): 'break;' Line 1360 - Chunks 12: Tab(4): ' ' Visible(4): 'case' Space(1): ' ' Visible(13): 'WATL_Tok_Tab:' Space(3): ' ' Visible(2): 'id' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(11): 'lit("Tab");' Space(5): ' ' Visible(6): 'break;' Line 1361 - Chunks 10: Tab(4): ' ' Visible(8): 'default:' Space(13): ' ' Visible(2): 'id' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(15): 'lit("Visible");' Space(1): ' ' Visible(6): 'break;' Line 1362 - Chunks 2: Tab(3): ' ' Visible(1): '}' Line 1363 - Chunks 6: Tab(3): ' ' Visible(26): 'str8gen_append_fmt(result,' Space(1): ' ' Visible(16): '"\t():' Space(1): ' ' Visible(12): '''\n"' Line 1364 - Chunks 6: Tab(3): ' ' Visible(1): ',' Tab(1): ' ' Visible(15): 'fmt_entry("id",' Space(1): ' ' Visible(3): 'id)' Line 1365 - Chunks 6: Tab(3): ' ' Visible(1): ',' Tab(1): ' ' Visible(21): 'fmt_entry_u32("size",' Space(1): ' ' Visible(11): 'chunk->len)' Line 1366 - Chunks 8: Tab(3): ' ' Visible(1): ',' Tab(1): ' ' Visible(18): 'fmt_entry("chunk",' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(6): 'chunk)' Line 1367 - Chunks 2: Tab(3): ' ' Visible(2): ');' Line 1368 - Chunks 2: Tab(2): ' ' Visible(1): '}' Line 1369 - Chunks 4: Tab(2): ' ' Visible(14): 'farena_reset(&' Space(1): ' ' Visible(8): 'sarena);' Line 1370 - Chunks 4: Tab(1): ' ' Visible(6): '#undef' Space(1): ' ' Visible(13): 'push_str8_u32' Line 1371 - Chunks 4: Tab(1): ' ' Visible(6): '#undef' Space(1): ' ' Visible(13): 'fmt_entry_u32' Line 1372 - Chunks 2: Tab(1): ' ' Visible(1): '}' Line 1373 - Chunks 10: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(7): '(Str8){' Space(1): ' ' Visible(11): 'result.ptr,' Space(1): ' ' Visible(10): 'result.len' Space(1): ' ' Visible(2): '};' Line 1374 - Chunks 1: Visible(1): '}' Line 1375 - Chunks 0: Line 1376 - Chunks 3: Visible(6): '#ifdef' Space(1): ' ' Visible(18): 'DEMO__WATL_DUMP_V1' Line 1377 - Chunks 3: Visible(3): 'int' Space(1): ' ' Visible(6): 'main()' Line 1378 - Chunks 1: Visible(1): '{' Line 1379 - Chunks 24: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(5): 'limit' Space(1): ' ' Visible(3): 'for' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(2): 'V1' Space(1): ' ' Visible(4): 'read' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): '64kb' Space(1): ' ' Visible(2): 'at' Space(1): ' ' Visible(5): 'most.' Line 1380 - Chunks 8: Tab(1): ' ' Visible(10): 'FMem_128KB' Space(3): ' ' Visible(8): 'read_mem' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(4): '{0};' Line 1381 - Chunks 16: Tab(1): ' ' Visible(12): 'FileOpResult' Space(1): ' ' Visible(8): 'read_res' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(43): 'file_read_contents(lit("demo.str_cache.c"),' Space(1): ' ' Visible(8): '.backing' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(20): 'fmem_slice(read_mem)' Space(1): ' ' Visible(2): ');' Line 1382 - Chunks 0: Line 1383 - Chunks 36: Tab(1): ' ' Visible(2): '//' Space(1): ' ' Visible(4): 'This' Space(1): ' ' Visible(4): 'will' Space(1): ' ' Visible(5): 'limit' Space(1): ' ' Visible(3): 'our' Space(1): ' ' Visible(2): 'V1' Space(1): ' ' Visible(3): 'lex' Space(1): ' ' Visible(2): 'to' Space(1): ' ' Visible(4): 'only' Space(1): ' ' Visible(1): '8' Space(1): ' ' Visible(4): 'megs' Space(1): ' ' Visible(5): 'worth' Space(1): ' ' Visible(2): 'of' Space(1): ' ' Visible(5): 'token' Space(1): ' ' Visible(8): 'tracking' Space(1): ' ' Visible(2): 'on' Space(1): ' ' Visible(1): 'a' Space(1): ' ' Visible(5): 'file.' Line 1384 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(4): ' ' Visible(8): 'mem_toks' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(30): 'slicemem_alloc(MEGABYTES(16));' Line 1385 - Chunks 16: Tab(1): ' ' Visible(12): 'WATL_LexInfo' Space(1): ' ' Visible(7): 'lex_res' Space(2): ' ' Visible(1): '=' Space(1): ' ' Visible(20): 'watl_lex(pcast(Str8,' Space(1): ' ' Visible(18): 'read_res.content),' Space(1): ' ' Visible(10): '.pool_toks' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(10): 'mem_toks);' Line 1386 - Chunks 0: Line 1387 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(14): 'mem_cache_strs' Space(2): ' ' Visible(1): '=' Space(1): ' ' Visible(30): 'slicemem_alloc(MEGABYTES(64));' Line 1388 - Chunks 20: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(15): 'mem_cache_slots' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(19): 'slicemem_alloc(1024' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(4): '1024' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(2): '16' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(30): 'size_of(Str8Cache_SliceSlot));' Line 1389 - Chunks 16: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(15): 'mem_cache_table' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(19): 'slicemem_alloc(1024' Space(8): ' ' Visible(1): '*' Space(1): ' ' Visible(2): '16' Space(1): ' ' Visible(1): '*' Space(1): ' ' Visible(30): 'size_of(Str8Cache_SliceSlot));' Line 1390 - Chunks 12: Tab(1): ' ' Visible(9): 'Str8Cache' Space(1): ' ' Visible(9): 'str_cache' Space(7): ' ' Visible(1): '=' Space(1): ' ' Visible(30): 'str8cache_init(mem_cache_strs,' Space(1): ' ' Visible(16): 'mem_cache_slots,' Space(1): ' ' Visible(17): 'mem_cache_table);' Line 1391 - Chunks 0: Line 1392 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(15): 'mem_parse_nodes' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(29): 'slicemem_alloc(MEGABYTES(4));' Line 1393 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(15): 'mem_parse_lines' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(29): 'slicemem_alloc(MEGABYTES(4));' Line 1394 - Chunks 28: Tab(1): ' ' Visible(14): 'WATL_ParseInfo' Space(1): ' ' Visible(9): 'parse_res' Space(2): ' ' Visible(1): '=' Space(1): ' ' Visible(26): 'watl_parse(lex_res.tokens,' Space(1): ' ' Visible(14): '.backing_nodes' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(16): 'mem_parse_nodes,' Space(1): ' ' Visible(14): '.backing_lines' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(16): 'mem_parse_lines,' Space(1): ' ' Visible(10): '.str_cache' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(1): '&' Space(1): ' ' Visible(11): 'str_cache);' Line 1395 - Chunks 0: Line 1396 - Chunks 8: Tab(1): ' ' Visible(9): 'SliceByte' Space(1): ' ' Visible(11): 'scratch_dmp' Space(1): ' ' Visible(1): '=' Space(1): ' ' Visible(30): 'slicemem_alloc(MEGABYTES(16));' Line 1397 - Chunks 10: Tab(1): ' ' Visible(4): 'Str8' Space(6): ' ' Visible(7): 'listing' Space(5): ' ' Visible(1): '=' Space(1): ' ' Visible(30): 'watl_dump_listing(scratch_dmp,' Space(1): ' ' Visible(17): 'parse_res.lines);' Line 1398 - Chunks 4: Tab(1): ' ' Visible(50): 'file_write_str8(lit("demo.str_cache.listing.txt"),' Space(1): ' ' Visible(9): 'listing);' Line 1399 - Chunks 4: Tab(1): ' ' Visible(6): 'return' Space(1): ' ' Visible(2): '0;' Line 1400 - Chunks 1: Visible(1): '}' Line 1401 - Chunks 1: Visible(6): '#endif'