'# This file is a part of Julia. License is MIT: https://julialang.org/license' Comment '\n' Text.Whitespace '\n' Text.Whitespace '"""' Literal.String '\n StringIndexError(str, i)\n\nAn error occurred when trying to access `str` at index `i` that is not valid.\n' Literal.String '"""' Literal.String '\n' Text.Whitespace 'struct' Keyword ' ' Text 'StringIndexError' Keyword.Type ' ' Text.Whitespace '<:' Operator ' ' Text.Whitespace 'Exception' Keyword.Type '\n' Text.Whitespace ' ' Text.Whitespace 'string' Name '::' Operator 'AbstractString' Keyword.Type '\n' Text.Whitespace ' ' Text.Whitespace 'index' Name '::' Operator 'Integer' Keyword.Type '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '@noinline' Name.Decorator ' ' Text.Whitespace 'string_index_err' Name '(' Punctuation 's' Name '::' Operator 'AbstractString' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'i' Name '::' Operator 'Integer' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator '\n' Text.Whitespace ' ' Text.Whitespace 'throw' Name '(' Punctuation 'StringIndexError' Keyword.Type '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'Int' Keyword.Type '(' Punctuation 'i' Name ')' Punctuation ')' Punctuation ')' Punctuation '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'Base' Name '.' Operator 'showerror' Name '(' Punctuation 'io' Name '::' Operator 'IO' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'exc' Name '::' Operator 'StringIndexError' Keyword.Type ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 's' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'exc' Name '.' Operator 'string' Name '\n' Text.Whitespace ' ' Text.Whitespace 'print' Name '(' Punctuation 'io' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'StringIndexError: ' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'invalid index [' Literal.String '$' Literal.String.Interpol '(' Punctuation 'exc' Name '.' Operator 'index' Name ')' Punctuation ']' Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'firstindex' Name '(' Punctuation 's' Name ')' Punctuation ' ' Text.Whitespace '<=' Operator ' ' Text.Whitespace 'exc' Name '.' Operator 'index' Name ' ' Text.Whitespace '<=' Operator ' ' Text.Whitespace 'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'iprev' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'thisind' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'exc' Name '.' Operator 'index' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'inext' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'nextind' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'iprev' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'inext' Name ' ' Text.Whitespace '<=' Operator ' ' Text.Whitespace 'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'print' Name '(' Punctuation 'io' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String ', valid nearby indices [' Literal.String '$iprev' Literal.String.Interpol "]=>'" Literal.String '$' Literal.String.Interpol '(' Punctuation 's' Name '[' Punctuation 'iprev' Name ']' Punctuation ')' Punctuation "', [" Literal.String '$inext' Literal.String.Interpol "]=>'" Literal.String '$' Literal.String.Interpol '(' Punctuation 's' Name '[' Punctuation 'inext' Name ']' Punctuation ')' Punctuation "'" Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'else' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'print' Name '(' Punctuation 'io' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String ', valid nearby index [' Literal.String '$iprev' Literal.String.Interpol "]=>'" Literal.String '$' Literal.String.Interpol '(' Punctuation 's' Name '[' Punctuation 'iprev' Name ']' Punctuation ')' Punctuation "'" Literal.String '"' Literal.String ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'end' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'end' Keyword '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'ByteArray' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Union' Keyword.Type '{' Punctuation 'Vector' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation 'Vector' Keyword.Type '{' Punctuation 'Int8' Keyword.Type '}' Punctuation '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '@inline' Name.Decorator ' ' Text.Whitespace 'between' Name '(' Punctuation 'b' Name '::' Operator 'T' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'lo' Name '::' Operator 'T' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'hi' Name '::' Operator 'T' Keyword.Type ')' Punctuation ' ' Text.Whitespace 'where' Keyword ' ' Text.Whitespace '{' Punctuation 'T' Keyword.Type '<:' Operator 'Integer' Keyword.Type '}' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '(' Punctuation 'lo' Name ' ' Text.Whitespace '≤' Operator ' ' Text.Whitespace 'b' Name ')' Punctuation ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '(' Punctuation 'b' Name ' ' Text.Whitespace '≤' Operator ' ' Text.Whitespace 'hi' Name ')' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '## constructors and conversions ##' Comment '\n' Text.Whitespace '\n' Text.Whitespace '# String constructor docstring from boot.jl, workaround for #16730' Comment '\n' Text.Whitespace '# and the unavailability of @doc in boot.jl context.' Comment '\n' Text.Whitespace '"""' Literal.String '\n String(v::AbstractVector{UInt8})\n\nCreate a new `String` object from a byte vector `v` containing UTF-8 encoded\ncharacters. If `v` is `Vector{UInt8}` it will be truncated to zero length and\nfuture modification of `v` cannot affect the contents of the resulting string.\nTo avoid truncation of `Vector{UInt8}` data, use `String(copy(v))`; for other\n`AbstractVector` types, `String(v)` already makes a copy.\n\nWhen possible, the memory of `v` will be used without copying when the `String`\nobject is created. This is guaranteed to be the case for byte vectors returned\nby [`take!`](@ref) on a writable [`IOBuffer`](@ref) and by calls to\n[`read(io, nb)`](@ref). This allows zero-copy conversion of I/O data to strings.\nIn other cases, `Vector{UInt8}` data may be copied, but `v` is truncated anyway\nto guarantee consistent behavior.\n' Literal.String '"""' Literal.String '\n' Text.Whitespace 'String' Keyword.Type '(' Punctuation 'v' Name '::' Operator 'AbstractVector' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'String' Keyword.Type '(' Punctuation 'copyto!' Name '(' Punctuation 'StringVector' Name '(' Punctuation 'length' Name '(' Punctuation 'v' Name ')' Punctuation ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'v' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace 'String' Keyword.Type '(' Punctuation 'v' Name '::' Operator 'Vector' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ccall' Keyword '(' Punctuation ':jl_array_to_string' Literal.String.Symbol ',' Punctuation ' ' Text.Whitespace 'Ref' Keyword.Type '{' Punctuation 'String' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace '(' Punctuation 'Any' Keyword.Type ',' Punctuation ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'v' Name ')' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '"""' Literal.String '\n unsafe_string(p::Ptr{UInt8}, [length::Integer])\n\nCopy a string from the address of a C-style (NUL-terminated) string encoded as UTF-8.\n(The pointer can be safely freed afterwards.) If `length` is specified\n(the length of the data in bytes), the string does not have to be NUL-terminated.\n\nThis function is labeled ' Literal.String '"' Literal.String 'unsafe' Literal.String '"' Literal.String ' because it will crash if `p` is not\na valid memory address to data of the requested length.\n' Literal.String '"""' Literal.String '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'unsafe_string' Name '(' Punctuation 'p' Name '::' Operator 'Union' Keyword.Type '{' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'Int8' Keyword.Type '}' Punctuation '}' Punctuation ',' Punctuation ' ' Text.Whitespace 'len' Name '::' Operator 'Integer' Keyword.Type ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace 'C_NULL' Name.Builtin ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'throw' Name '(' Punctuation 'ArgumentError' Keyword.Type '(' Punctuation '"' Literal.String 'cannot convert NULL to string' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'ccall' Keyword '(' Punctuation ':jl_pchar_to_string' Literal.String.Symbol ',' Punctuation ' ' Text.Whitespace 'Ref' Keyword.Type '{' Punctuation 'String' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace '(' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace 'Int' Keyword.Type ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'p' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ')' Punctuation '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'unsafe_string' Name '(' Punctuation 'p' Name '::' Operator 'Union' Keyword.Type '{' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'Int8' Keyword.Type '}' Punctuation '}' Punctuation ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace 'C_NULL' Name.Builtin ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'throw' Name '(' Punctuation 'ArgumentError' Keyword.Type '(' Punctuation '"' Literal.String 'cannot convert NULL to string' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'ccall' Keyword '(' Punctuation ':jl_cstr_to_string' Literal.String.Symbol ',' Punctuation ' ' Text.Whitespace 'Ref' Keyword.Type '{' Punctuation 'String' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace '(' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'p' Name ')' Punctuation '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace '_string_n' Name '(' Punctuation 'n' Name '::' Operator 'Integer' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ccall' Keyword '(' Punctuation ':jl_alloc_string' Literal.String.Symbol ',' Punctuation ' ' Text.Whitespace 'Ref' Keyword.Type '{' Punctuation 'String' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace '(' Punctuation 'Csize_t' Keyword.Type ',' Punctuation ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'n' Name ')' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '"""' Literal.String '\n String(s::AbstractString)\n\nConvert a string to a contiguous byte array representation encoded as UTF-8 bytes.\nThis representation is often appropriate for passing strings to C.\n' Literal.String '"""' Literal.String '\n' Text.Whitespace 'String' Keyword.Type '(' Punctuation 's' Name '::' Operator 'AbstractString' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'print_to_string' Name '(' Punctuation 's' Name ')' Punctuation '\n' Text.Whitespace '@pure' Name.Decorator ' ' Text.Whitespace 'String' Keyword.Type '(' Punctuation 's' Name '::' Operator 'Symbol' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'unsafe_string' Name '(' Punctuation 'unsafe_convert' Name '(' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace 's' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'unsafe_wrap' Name '(' Punctuation '::' Operator 'Type' Keyword.Type '{' Punctuation 'Vector' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation '}' Punctuation ',' Punctuation ' ' Text.Whitespace 's' Name '::' Operator 'String' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ccall' Keyword '(' Punctuation ':jl_string_to_array' Literal.String.Symbol ',' Punctuation ' ' Text.Whitespace 'Ref' Keyword.Type '{' Punctuation 'Vector' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation '}' Punctuation ',' Punctuation ' ' Text.Whitespace '(' Punctuation 'Any' Keyword.Type ',' Punctuation ')' Punctuation ',' Punctuation ' ' Text.Whitespace 's' Name ')' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'Vector' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation '(' Punctuation 's' Name '::' Operator 'CodeUnits' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type ',' Punctuation 'String' Keyword.Type '}' Punctuation ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'copyto!' Name '(' Punctuation 'Vector' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation '(' Punctuation 'undef' Name.Builtin ',' Punctuation ' ' Text.Whitespace 'length' Name '(' Punctuation 's' Name ')' Punctuation ')' Punctuation ',' Punctuation ' ' Text.Whitespace 's' Name ')' Punctuation '\n' Text.Whitespace 'Vector' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Vector' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation '(' Punctuation 'codeunits' Name '(' Punctuation 's' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace 'Array' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Vector' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation '(' Punctuation 'codeunits' Name '(' Punctuation 's' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'String' Keyword.Type '(' Punctuation 's' Name '::' Operator 'CodeUnits' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type ',' Punctuation 'String' Keyword.Type '}' Punctuation ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 's' Name '.' Operator 's' Name '\n' Text.Whitespace '\n' Text.Whitespace '## low-level functions ##' Comment '\n' Text.Whitespace '\n' Text.Whitespace 'pointer' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'unsafe_convert' Name '(' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace 's' Name ')' Punctuation '\n' Text.Whitespace 'pointer' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'i' Name '::' Operator 'Integer' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'pointer' Name '(' Punctuation 's' Name ')' Punctuation ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'Int' Keyword.Type '(' Punctuation 'i' Name ')' Punctuation '::' Operator 'Int' Keyword.Type ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '\n' Text.Whitespace '\n' Text.Whitespace '@pure' Name.Decorator ' ' Text.Whitespace 'ncodeunits' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Core' Name '.' Operator 'sizeof' Name '(' Punctuation 's' Name ')' Punctuation '\n' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'UInt8' Keyword.Type '\n' Text.Whitespace '\n' Text.Whitespace '@inline' Name.Decorator ' ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'i' Name '::' Operator 'Integer' Keyword.Type ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '@boundscheck' Name.Decorator ' ' Text.Whitespace 'checkbounds' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'GC' Name '.' Operator '@preserve' Name.Decorator ' ' Text.Whitespace 's' Name ' ' Text.Whitespace 'unsafe_load' Name '(' Punctuation 'pointer' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'b' Name '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace '## comparison ##' Comment '\n' Text.Whitespace '\n' Text.Whitespace '_memcmp' Name '(' Punctuation 'a' Name '::' Operator 'Union' Keyword.Type '{' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation 'AbstractString' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace 'b' Name '::' Operator 'Union' Keyword.Type '{' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation 'AbstractString' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace 'len' Name ')' Punctuation ' ' Text.Whitespace '=' Operator '\n' Text.Whitespace ' ' Text.Whitespace 'ccall' Keyword '(' Punctuation ':memcmp' Literal.String.Symbol ',' Punctuation ' ' Text.Whitespace 'Cint' Keyword.Type ',' Punctuation ' ' Text.Whitespace '(' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace 'Ptr' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace 'Csize_t' Keyword.Type ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'a' Name ',' Punctuation ' ' Text.Whitespace 'b' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ' ' Text.Whitespace '%' Operator ' ' Text.Whitespace 'Csize_t' Keyword.Type ')' Punctuation ' ' Text.Whitespace '%' Operator ' ' Text.Whitespace 'Int' Keyword.Type '\n' Text.Whitespace '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'cmp' Name '(' Punctuation 'a' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'b' Name '::' Operator 'String' Keyword.Type ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'al' Name ',' Punctuation ' ' Text.Whitespace 'bl' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'sizeof' Name '(' Punctuation 'a' Name ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'sizeof' Name '(' Punctuation 'b' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'c' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '_memcmp' Name '(' Punctuation 'a' Name ',' Punctuation ' ' Text.Whitespace 'b' Name ',' Punctuation ' ' Text.Whitespace 'min' Name '(' Punctuation 'al' Name ',' Punctuation 'bl' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'c' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '?' Operator ' ' Text.Whitespace '-' Operator '1' Literal.Number.Integer ' ' Text.Whitespace ':' Operator ' ' Text.Whitespace 'c' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '?' Operator ' ' Text.Whitespace '+' Operator '1' Literal.Number.Integer ' ' Text.Whitespace ':' Operator ' ' Text.Whitespace 'cmp' Name '(' Punctuation 'al' Name ',' Punctuation 'bl' Name ')' Punctuation '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace '==' Operator '(' Punctuation 'a' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'b' Name '::' Operator 'String' Keyword.Type ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'pointer_from_objref' Name '(' Punctuation 'a' Name ')' Punctuation ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace 'pointer_from_objref' Name '(' Punctuation 'b' Name ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'true' Name.Builtin '\n' Text.Whitespace ' ' Text.Whitespace 'al' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'sizeof' Name '(' Punctuation 'a' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'al' Name ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace 'sizeof' Name '(' Punctuation 'b' Name ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '_memcmp' Name '(' Punctuation 'a' Name ',' Punctuation ' ' Text.Whitespace 'b' Name ',' Punctuation ' ' Text.Whitespace 'al' Name ')' Punctuation '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace 'typemin' Name '(' Punctuation '::' Operator 'Type' Keyword.Type '{' Punctuation 'String' Keyword.Type '}' Punctuation ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '"' Literal.String '"' Literal.String '\n' Text.Whitespace 'typemin' Name '(' Punctuation '::' Operator 'String' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'typemin' Name '(' Punctuation 'String' Keyword.Type ')' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '## thisind, nextind ##' Comment '\n' Text.Whitespace '\n' Text.Whitespace '@propagate_inbounds' Name.Decorator ' ' Text.Whitespace 'thisind' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'i' Name '::' Operator 'Int' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '_thisind_str' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '# s should be String or SubString{String}' Comment '\n' Text.Whitespace '@inline' Name.Decorator ' ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace '_thisind_str' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name '::' Operator 'Int' Keyword.Type ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace '0' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name '\n' Text.Whitespace ' ' Text.Whitespace '@boundscheck' Name.Decorator ' ' Text.Whitespace 'between' Name '(' Punctuation 'i' Name ',' Punctuation ' ' Text.Whitespace '1' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace 'n' Name ')' Punctuation ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'throw' Name '(' Punctuation 'BoundsError' Keyword.Type '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '(' Punctuation 'i' Name '-' Operator '1' Literal.Number.Integer ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name '-' Operator '1' Literal.Number.Integer ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'between' Name '(' Punctuation 'b' Name ',' Punctuation ' ' Text.Whitespace '0b11000000' Literal.Number.Bin ',' Punctuation ' ' Text.Whitespace '0b11110111' Literal.Number.Bin ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name '-' Operator '1' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '(' Punctuation 'i' Name '-' Operator '2' Literal.Number.Integer ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name '-' Operator '2' Literal.Number.Integer ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'between' Name '(' Punctuation 'b' Name ',' Punctuation ' ' Text.Whitespace '0b11100000' Literal.Number.Bin ',' Punctuation ' ' Text.Whitespace '0b11110111' Literal.Number.Bin ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name '-' Operator '2' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '(' Punctuation 'i' Name '-' Operator '3' Literal.Number.Integer ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name '-' Operator '3' Literal.Number.Integer ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'between' Name '(' Punctuation 'b' Name ',' Punctuation ' ' Text.Whitespace '0b11110000' Literal.Number.Bin ',' Punctuation ' ' Text.Whitespace '0b11110111' Literal.Number.Bin ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name '-' Operator '3' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace '@propagate_inbounds' Name.Decorator ' ' Text.Whitespace 'nextind' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'i' Name '::' Operator 'Int' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '_nextind_str' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '# s should be String or SubString{String}' Comment '\n' Text.Whitespace '@inline' Name.Decorator ' ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace '_nextind_str' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name '::' Operator 'Int' Keyword.Type ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace '1' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '@boundscheck' Name.Decorator ' ' Text.Whitespace 'between' Name '(' Punctuation 'i' Name ',' Punctuation ' ' Text.Whitespace '1' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace 'n' Name ')' Punctuation ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'throw' Name '(' Punctuation 'BoundsError' Keyword.Type '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'l' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation 'l' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '(' Punctuation '0xf8' Literal.Number.Hex ' ' Text.Whitespace '≤' Operator ' ' Text.Whitespace 'l' Name ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name '+' Operator '1' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'l' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex '\n' Text.Whitespace ' ' Text.Whitespace 'i′' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'thisind' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i′' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '?' Operator ' ' Text.Whitespace '@inbounds' Name.Decorator '(' Punctuation 'nextind' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i′' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace ':' Operator ' ' Text.Whitespace 'i' Name '+' Operator '1' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'end' Keyword '\n' Text.Whitespace ' ' Text.Whitespace '# first continuation byte' Comment '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '≠' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'i' Name ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'n' Name ')' Punctuation ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '(' Punctuation 'l' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0xe0' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name '\n' Text.Whitespace ' ' Text.Whitespace '# second continuation byte' Comment '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '≠' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'i' Name ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'n' Name ')' Punctuation ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '(' Punctuation 'l' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0xf0' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'i' Name '\n' Text.Whitespace ' ' Text.Whitespace '# third continuation byte' Comment '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'ifelse' Name '(' Punctuation 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '≠' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ',' Punctuation ' ' Text.Whitespace 'i' Name ',' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '1' Literal.Number.Integer ')' Punctuation '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace '## checking UTF-8 & ACSII validity ##' Comment '\n' Text.Whitespace '\n' Text.Whitespace 'byte_string_classify' Name '(' Punctuation 's' Name '::' Operator 'Union' Keyword.Type '{' Punctuation 'String' Keyword.Type ',' Punctuation 'Vector' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation 'FastContiguousSubArray' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type ',' Punctuation '1' Literal.Number.Integer ',' Punctuation 'Vector' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation '}' Punctuation '}' Punctuation ')' Punctuation ' ' Text.Whitespace '=' Operator '\n' Text.Whitespace ' ' Text.Whitespace 'ccall' Keyword '(' Punctuation ':u8_isvalid' Literal.String.Symbol ',' Punctuation ' ' Text.Whitespace 'Int32' Keyword.Type ',' Punctuation ' ' Text.Whitespace '(' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace 'Int' Keyword.Type ')' Punctuation ',' Punctuation ' ' Text.Whitespace 's' Name ',' Punctuation ' ' Text.Whitespace 'sizeof' Name '(' Punctuation 's' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '# 0: neither valid ASCII nor UTF-8' Comment '\n' Text.Whitespace ' ' Text.Whitespace '# 1: valid ASCII' Comment '\n' Text.Whitespace ' ' Text.Whitespace '# 2: valid UTF-8' Comment '\n' Text.Whitespace '\n' Text.Whitespace 'isvalid' Name '(' Punctuation '::' Operator 'Type' Keyword.Type '{' Punctuation 'String' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace 's' Name '::' Operator 'Union' Keyword.Type '{' Punctuation 'Vector' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation 'FastContiguousSubArray' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type ',' Punctuation '1' Literal.Number.Integer ',' Punctuation 'Vector' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation '}' Punctuation ',' Punctuation 'String' Keyword.Type '}' Punctuation ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'byte_string_classify' Name '(' Punctuation 's' Name ')' Punctuation ' ' Text.Whitespace '≠' Operator ' ' Text.Whitespace '0' Literal.Number.Integer '\n' Text.Whitespace 'isvalid' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'isvalid' Name '(' Punctuation 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 's' Name ')' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'is_valid_continuation' Name '(' Punctuation 'c' Name ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'c' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex '\n' Text.Whitespace '\n' Text.Whitespace '## required core functionality ##' Comment '\n' Text.Whitespace '\n' Text.Whitespace '@inline' Name.Decorator ' ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'iterate' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'i' Name '::' Operator 'Int' Keyword.Type '=' Operator 'firstindex' Name '(' Punctuation 's' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '%' Operator ' ' Text.Whitespace 'UInt' Keyword.Type ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'nothing' Name.Builtin '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'u' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'UInt32' Keyword.Type '(' Punctuation 'b' Name ')' Punctuation ' ' Text.Whitespace '<<' Operator ' ' Text.Whitespace '24' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'between' Name '(' Punctuation 'b' Name ',' Punctuation ' ' Text.Whitespace '0x80' Literal.Number.Hex ',' Punctuation ' ' Text.Whitespace '0xf7' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'reinterpret' Name '(' Punctuation 'Char' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'u' Name ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '1' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'iterate_continued' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ',' Punctuation ' ' Text.Whitespace 'u' Name ')' Punctuation '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'iterate_continued' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'i' Name '::' Operator 'Int' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'u' Name '::' Operator 'UInt32' Keyword.Type ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'u' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0xc0000000' Literal.Number.Hex ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace '@goto' Name.Decorator ' ' Text.Whitespace 'ret' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '# first continuation byte' Comment '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace '@goto' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace '@goto' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace 'u' Name ' ' Text.Whitespace '|=' Operator ' ' Text.Whitespace 'UInt32' Keyword.Type '(' Punctuation 'b' Name ')' Punctuation ' ' Text.Whitespace '<<' Operator ' ' Text.Whitespace '16' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace '# second continuation byte' Comment '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'i' Name ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'n' Name ')' Punctuation ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '(' Punctuation 'u' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0xe0000000' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace '@goto' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace '@goto' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace 'u' Name ' ' Text.Whitespace '|=' Operator ' ' Text.Whitespace 'UInt32' Keyword.Type '(' Punctuation 'b' Name ')' Punctuation ' ' Text.Whitespace '<<' Operator ' ' Text.Whitespace '8' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace '# third continuation byte' Comment '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'i' Name ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'n' Name ')' Punctuation ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '(' Punctuation 'u' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0xf0000000' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace '@goto' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace '@goto' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace 'u' Name ' ' Text.Whitespace '|=' Operator ' ' Text.Whitespace 'UInt32' Keyword.Type '(' Punctuation 'b' Name ')' Punctuation ';' Punctuation ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '\n' Text.Whitespace '@label' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'reinterpret' Name '(' Punctuation 'Char' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'u' Name ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'i' Name '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace '@propagate_inbounds' Name.Decorator ' ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'getindex' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'i' Name '::' Operator 'Int' Keyword.Type ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'u' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'UInt32' Keyword.Type '(' Punctuation 'b' Name ')' Punctuation ' ' Text.Whitespace '<<' Operator ' ' Text.Whitespace '24' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'between' Name '(' Punctuation 'b' Name ',' Punctuation ' ' Text.Whitespace '0x80' Literal.Number.Hex ',' Punctuation ' ' Text.Whitespace '0xf7' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'reinterpret' Name '(' Punctuation 'Char' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'u' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'getindex_continued' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ',' Punctuation ' ' Text.Whitespace 'u' Name ')' Punctuation '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'getindex_continued' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'i' Name '::' Operator 'Int' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'u' Name '::' Operator 'UInt32' Keyword.Type ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'u' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0xc0000000' Literal.Number.Hex '\n' Text.Whitespace ' ' Text.Whitespace '# called from `getindex` which checks bounds' Comment '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'isvalid' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace '@goto' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace 'string_index_err' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'end' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '>' Operator '\xa0' Text.Whitespace 'n' Name ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace '@goto' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ' ' Text.Whitespace '# cont byte 1' Comment '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace '@goto' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace 'u' Name ' ' Text.Whitespace '|=' Operator ' ' Text.Whitespace 'UInt32' Keyword.Type '(' Punctuation 'b' Name ')' Punctuation ' ' Text.Whitespace '<<' Operator ' ' Text.Whitespace '16' Literal.Number.Integer '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'i' Name ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'n' Name ')' Punctuation ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '(' Punctuation 'u' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0xe0000000' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace '@goto' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ' ' Text.Whitespace '# cont byte 2' Comment '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace '@goto' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace 'u' Name ' ' Text.Whitespace '|=' Operator ' ' Text.Whitespace 'UInt32' Keyword.Type '(' Punctuation 'b' Name ')' Punctuation ' ' Text.Whitespace '<<' Operator ' ' Text.Whitespace '8' Literal.Number.Integer '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'i' Name ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'n' Name ')' Punctuation ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '(' Punctuation 'u' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0xf0000000' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace '@goto' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ' ' Text.Whitespace '# cont byte 3' Comment '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace '@goto' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace 'u' Name ' ' Text.Whitespace '|=' Operator ' ' Text.Whitespace 'UInt32' Keyword.Type '(' Punctuation 'b' Name ')' Punctuation '\n' Text.Whitespace '@label' Name.Decorator ' ' Text.Whitespace 'ret' Name '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'reinterpret' Name '(' Punctuation 'Char' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'u' Name ')' Punctuation '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace 'getindex' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'r' Name '::' Operator 'UnitRange' Keyword.Type '{' Punctuation '<:' Operator 'Integer' Keyword.Type '}' Punctuation ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 's' Name '[' Punctuation 'Int' Keyword.Type '(' Punctuation 'first' Name '(' Punctuation 'r' Name ')' Punctuation ')' Punctuation ':' Operator 'Int' Keyword.Type '(' Punctuation 'last' Name '(' Punctuation 'r' Name ')' Punctuation ')' Punctuation ']' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '@inline' Name.Decorator ' ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'getindex' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'r' Name '::' Operator 'UnitRange' Keyword.Type '{' Punctuation 'Int' Keyword.Type '}' Punctuation ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'isempty' Name '(' Punctuation 'r' Name ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace '"' Literal.String '"' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'i' Name ',' Punctuation ' ' Text.Whitespace 'j' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'first' Name '(' Punctuation 'r' Name ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'last' Name '(' Punctuation 'r' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '@boundscheck' Name.Decorator ' ' Text.Whitespace 'begin' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'checkbounds' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'r' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'isvalid' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'string_index_err' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'isvalid' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'j' Name ')' Punctuation ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'string_index_err' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'j' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'end' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'j' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'nextind' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'j' Name ')' Punctuation ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'j' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'ss' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '_string_n' Name '(' Punctuation 'n' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'GC' Name '.' Operator '@preserve' Name.Decorator ' ' Text.Whitespace 's' Name ' ' Text.Whitespace 'ss' Name ' ' Text.Whitespace 'unsafe_copyto!' Name '(' Punctuation 'pointer' Name '(' Punctuation 'ss' Name ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'pointer' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'n' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ss' Name '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace 'length' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'length_continued' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace '1' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace 'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '@inline' Name.Decorator ' ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'length' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'i' Name '::' Operator 'Int' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'j' Name '::' Operator 'Int' Keyword.Type ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '@boundscheck' Name.Decorator ' ' Text.Whitespace 'begin' Keyword '\n' Text.Whitespace ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '≤' Operator ' ' Text.Whitespace 'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation '+' Operator '1' Literal.Number.Integer ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'throw' Name '(' Punctuation 'BoundsError' Keyword.Type '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '≤' Operator '\xa0' Text.Whitespace 'j' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation '+' Operator '1' Literal.Number.Integer ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'throw' Name '(' Punctuation 'BoundsError' Keyword.Type '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'j' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'end' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'j' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace '0' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'i' Name ',' Punctuation ' ' Text.Whitespace 'k' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'thisind' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'i' Name '\n' Text.Whitespace ' ' Text.Whitespace 'c' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'j' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace 'k' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'length_continued' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ',' Punctuation ' ' Text.Whitespace 'j' Name ',' Punctuation ' ' Text.Whitespace 'c' Name ')' Punctuation '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace '@inline' Name.Decorator ' ' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'length_continued' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'i' Name '::' Operator 'Int' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'n' Name '::' Operator 'Int' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'c' Name '::' Operator 'Int' Keyword.Type ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'c' Name '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'true' Name.Builtin '\n' Text.Whitespace ' ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace 'true' Name.Builtin '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '≤' Operator '\xa0' Text.Whitespace 'n' Name ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'c' Name '\n' Text.Whitespace ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '≤' Operator '\xa0' Text.Whitespace 'b' Name ' ' Text.Whitespace '≤' Operator '\xa0' Text.Whitespace '0xf7' Literal.Number.Hex ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'break' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'end' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'l' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'b' Name '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ' ' Text.Whitespace '# cont byte 1' Comment '\n' Text.Whitespace ' ' Text.Whitespace 'c' Name ' ' Text.Whitespace '-=' Operator ' ' Text.Whitespace '(' Punctuation 'x' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'x' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '(' Punctuation 'l' Name ' ' Text.Whitespace '≥' Operator ' ' Text.Whitespace '0xe0' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'continue' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '≤' Operator '\xa0' Text.Whitespace 'n' Name ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'c' Name '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ' ' Text.Whitespace '# cont byte 2' Comment '\n' Text.Whitespace ' ' Text.Whitespace 'c' Name ' ' Text.Whitespace '-=' Operator ' ' Text.Whitespace '(' Punctuation 'x' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'x' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '(' Punctuation 'l' Name ' ' Text.Whitespace '≥' Operator ' ' Text.Whitespace '0xf0' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'continue' Keyword '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '+=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '≤' Operator '\xa0' Text.Whitespace 'n' Name ' ' Text.Whitespace '||' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'c' Name '\n' Text.Whitespace ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ' ' Text.Whitespace '# cont byte 3' Comment '\n' Text.Whitespace ' ' Text.Whitespace 'c' Name ' ' Text.Whitespace '-=' Operator ' ' Text.Whitespace '(' Punctuation 'b' Name ' ' Text.Whitespace '&' Operator ' ' Text.Whitespace '0xc0' Literal.Number.Hex ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'end' Keyword '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace '## overload methods for efficiency ##' Comment '\n' Text.Whitespace '\n' Text.Whitespace 'isvalid' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'i' Name '::' Operator 'Int' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'checkbounds' Name '(' Punctuation 'Bool' Keyword.Type ',' Punctuation ' ' Text.Whitespace 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'thisind' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace 'i' Name '\n' Text.Whitespace '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'isascii' Name '(' Punctuation 's' Name '::' Operator 'String' Keyword.Type ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '@inbounds' Name.Decorator ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ':' Operator 'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'codeunit' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ' ' Text.Whitespace '>=' Operator ' ' Text.Whitespace '0x80' Literal.Number.Hex ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'false' Name.Builtin '\n' Text.Whitespace ' ' Text.Whitespace 'end' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'true' Name.Builtin '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace '\n' Text.Whitespace '"""' Literal.String "\n repeat(c::AbstractChar, r::Integer) -> String\n\nRepeat a character `r` times. This can equivalently be accomplished by calling\n[`c^r`](@ref :^(::Union{AbstractString, AbstractChar}, ::Integer)).\n\n# Examples\n```jldoctest\njulia> repeat('A', 3)\n" Literal.String '"' Literal.String 'AAA' Literal.String '"' Literal.String '\n```\n' Literal.String '"""' Literal.String '\n' Text.Whitespace 'repeat' Name '(' Punctuation 'c' Name '::' Operator 'AbstractChar' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'r' Name '::' Operator 'Integer' Keyword.Type ')' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'repeat' Name '(' Punctuation 'Char' Keyword.Type '(' Punctuation 'c' Name ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'r' Name ')' Punctuation ' ' Text.Whitespace '# fallback' Comment '\n' Text.Whitespace 'function' Keyword ' ' Text.Whitespace 'repeat' Name '(' Punctuation 'c' Name '::' Operator 'Char' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'r' Name '::' Operator 'Integer' Keyword.Type ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'r' Name ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace '"' Literal.String '"' Literal.String '\n' Text.Whitespace ' ' Text.Whitespace 'r' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '&&' Operator ' ' Text.Whitespace 'throw' Name '(' Punctuation 'ArgumentError' Keyword.Type '(' Punctuation '"' Literal.String "can't repeat a character " Literal.String '$r' Literal.String.Interpol ' times' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'u' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'bswap' Name '(' Punctuation 'reinterpret' Name '(' Punctuation 'UInt32' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'c' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '4' Literal.Number.Integer ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '(' Punctuation 'leading_zeros' Name '(' Punctuation 'u' Name ' ' Text.Whitespace '|' Operator ' ' Text.Whitespace '0xff' Literal.Number.Hex ')' Punctuation ' ' Text.Whitespace '>>' Operator ' ' Text.Whitespace '3' Literal.Number.Integer ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 's' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '_string_n' Name '(' Punctuation 'n' Name '*' Operator 'r' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'p' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'pointer' Name '(' Punctuation 's' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'GC' Name '.' Operator '@preserve' Name.Decorator ' ' Text.Whitespace 's' Name ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'ccall' Keyword '(' Punctuation ':memset' Literal.String.Symbol ',' Punctuation ' ' Text.Whitespace 'Ptr' Keyword.Type '{' Punctuation 'Cvoid' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace '(' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'UInt8' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace 'Cint' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'Csize_t' Keyword.Type ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'p' Name ',' Punctuation ' ' Text.Whitespace 'u' Name ' ' Text.Whitespace '%' Operator ' ' Text.Whitespace 'UInt8' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'r' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'elseif' Keyword ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '2' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'p16' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'reinterpret' Name '(' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'UInt16' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace 'p' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ':' Operator 'r' Name '\n' Text.Whitespace ' ' Text.Whitespace 'unsafe_store!' Name '(' Punctuation 'p16' Name ',' Punctuation ' ' Text.Whitespace 'u' Name ' ' Text.Whitespace '%' Operator ' ' Text.Whitespace 'UInt16' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'end' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'elseif' Keyword ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '3' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'b1' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '(' Punctuation 'u' Name ' ' Text.Whitespace '>>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '%' Operator ' ' Text.Whitespace 'UInt8' Keyword.Type '\n' Text.Whitespace ' ' Text.Whitespace 'b2' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '(' Punctuation 'u' Name ' ' Text.Whitespace '>>' Operator ' ' Text.Whitespace '8' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '%' Operator ' ' Text.Whitespace 'UInt8' Keyword.Type '\n' Text.Whitespace ' ' Text.Whitespace 'b3' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '(' Punctuation 'u' Name ' ' Text.Whitespace '>>' Operator ' ' Text.Whitespace '16' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '%' Operator ' ' Text.Whitespace 'UInt8' Keyword.Type '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ':' Operator 'r' Name '-' Operator '1' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'unsafe_store!' Name '(' Punctuation 'p' Name ',' Punctuation ' ' Text.Whitespace 'b1' Name ',' Punctuation ' ' Text.Whitespace '3' Literal.Number.Integer 'i' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'unsafe_store!' Name '(' Punctuation 'p' Name ',' Punctuation ' ' Text.Whitespace 'b2' Name ',' Punctuation ' ' Text.Whitespace '3' Literal.Number.Integer 'i' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'unsafe_store!' Name '(' Punctuation 'p' Name ',' Punctuation ' ' Text.Whitespace 'b3' Name ',' Punctuation ' ' Text.Whitespace '3' Literal.Number.Integer 'i' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '3' Literal.Number.Integer ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'end' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'elseif' Keyword ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '==' Operator ' ' Text.Whitespace '4' Literal.Number.Integer '\n' Text.Whitespace ' ' Text.Whitespace 'p32' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'reinterpret' Name '(' Punctuation 'Ptr' Keyword.Type '{' Punctuation 'UInt32' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text.Whitespace 'p' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ':' Operator 'r' Name '\n' Text.Whitespace ' ' Text.Whitespace 'unsafe_store!' Name '(' Punctuation 'p32' Name ',' Punctuation ' ' Text.Whitespace 'u' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'end' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'end' Keyword '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 's' Name '\n' Text.Whitespace 'end' Keyword '\n' Text.Whitespace