C_Intro/demo.str_cache.listing.txt
2025-05-13 23:17:25 -04:00

12020 lines
228 KiB
Plaintext

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): '<intrin.h>'
Line 77 - Chunks 3:
Visible(8): '#include'
Space(1): ' '
Visible(13): '<tmmintrin.h>'
Line 78 - Chunks 3:
Visible(8): '#include'
Space(1): ' '
Visible(13): '<wmmintrin.h>'
Line 79 - Chunks 0:
Line 80 - Chunks 3:
Visible(8): '#include'
Space(1): ' '
Visible(10): '<assert.h>'
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): '<locale.h>'
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): '<windows.h>'
Line 202 - Chunks 3:
Visible(8): '#include'
Space(1): ' '
Visible(12): '<windowsx.h>'
Line 203 - Chunks 3:
Visible(8): '#include'
Space(1): ' '
Visible(11): '<timeapi.h>'
Line 204 - Chunks 3:
Visible(8): '#include'
Space(1): ' '
Visible(12): '<tlhelp32.h>'
Line 205 - Chunks 3:
Visible(8): '#include'
Space(1): ' '
Visible(10): '<Shlobj.h>'
Line 206 - Chunks 3:
Visible(8): '#include'
Space(1): ' '
Visible(21): '<processthreadsapi.h>'
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_<size>KB'
Space(1): ' '
Visible(1): '['
Space(1): ' '
Visible(3): '<U8'
Space(1): ' '
Visible(7): 'amount>'
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): '<id>'
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): '<id>'
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): '<maybe_sub>",'
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): '<maybe_sub>!",'
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): '<line_num>'
Space(1): ' '
Visible(1): '-'
Space(1): ' '
Visible(6): 'Chunks'
Space(1): ' '
Visible(15): '<chunk_num>:\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<id>(<size>):'
Space(1): ' '
Visible(12): ''<chunk>'\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'