diff options
Diffstat (limited to 'tests/examplefiles/julia/string.jl.output')
-rw-r--r-- | tests/examplefiles/julia/string.jl.output | 11660 |
1 files changed, 1833 insertions, 9827 deletions
diff --git a/tests/examplefiles/julia/string.jl.output b/tests/examplefiles/julia/string.jl.output index 1175b3b7..70010b51 100644 --- a/tests/examplefiles/julia/string.jl.output +++ b/tests/examplefiles/julia/string.jl.output @@ -1,735 +1,249 @@ -'## core string functions ##' Comment +'# This file is a part of Julia. License is MIT: https://julialang.org/license' Comment '\n' Text '\n' Text -'length' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'y' Literal.String -'o' Literal.String -'u' Literal.String -' ' Literal.String -'m' Literal.String -'u' Literal.String -'s' Literal.String -'t' Literal.String -' ' Literal.String -'i' Literal.String -'m' Literal.String -'p' Literal.String -'l' Literal.String -'e' Literal.String -'m' Literal.String -'e' Literal.String -'n' Literal.String -'t' Literal.String -' ' Literal.String -'l' Literal.String -'e' Literal.String -'n' Literal.String -'g' Literal.String -'t' Literal.String -'h' Literal.String -'(' Literal.String -'"' Literal.String -',' Punctuation -'typeof' Name -'(' Punctuation -'s' Name -')' Punctuation -',' Punctuation -'"' Literal.String -')' Literal.String -'"' Literal.String -')' Punctuation +'"""' 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 -'next' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation +'struct' Keyword ' ' Text -'i' Name -'::' Operator -'Int' Keyword.Type -')' Punctuation +'StringIndexError' Keyword.Type ' ' Text -'=' Operator +'<:' Operator ' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'y' Literal.String -'o' Literal.String -'u' Literal.String -' ' Literal.String -'m' Literal.String -'u' Literal.String -'s' Literal.String -'t' Literal.String -' ' Literal.String -'i' Literal.String -'m' Literal.String -'p' Literal.String -'l' Literal.String -'e' Literal.String -'m' Literal.String -'e' Literal.String -'n' Literal.String -'t' Literal.String -' ' Literal.String -'n' Literal.String -'e' Literal.String -'x' Literal.String -'t' Literal.String -'(' Literal.String -'"' Literal.String -',' Punctuation -'typeof' Name -'(' Punctuation -'s' Name -')' Punctuation -',' Punctuation -'"' Literal.String -',' Literal.String -'I' Literal.String -'n' Literal.String -'t' Literal.String -')' Literal.String -'"' Literal.String -')' Punctuation +'Exception' Keyword.Type '\n' Text -'next' Name -'(' Punctuation -'s' Name -'::' Operator -'DirectIndexString' Keyword.Type -',' Punctuation -' ' Text -'i' Name +' ' Text +'string' Name '::' Operator -'Int' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'(' Punctuation -'s' Name -'[' Punctuation -'i' Name -']' Punctuation -',' Punctuation -'i' Name -'+' Operator -'1' Literal.Number.Integer -')' Punctuation +'AbstractString' Keyword.Type '\n' Text -'next' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'i' Name +' ' Text +'index' Name '::' Operator 'Integer' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'next' Name -'(' Punctuation -'s' Name -',' Punctuation -'int' Name -'(' Punctuation -'i' Name -')' Punctuation -')' Punctuation -'\n' Text - -'\n' Text - -'## generic supplied functions ##' Comment '\n' Text +'end' Keyword '\n' Text -'start' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation +'@noinline' Name.Decorator ' ' Text -'=' Operator -' ' Text -'1' Literal.Number.Integer -'\n' Text - -'done' Name +'string_index_err' Name '(' Punctuation 's' Name '::' Operator -'String' Name +'AbstractString' Keyword.Type ',' Punctuation -'i' Name -')' Punctuation -' ' Text -'=' Operator ' ' Text -'(' Punctuation 'i' Name -' ' Text -'>' Operator -' ' Text -'length' Name -'(' Punctuation -'s' Name -')' Punctuation -')' Punctuation -'\n' Text - -'isempty' Name -'(' Punctuation -'s' Name '::' Operator -'String' Name +'Integer' Keyword.Type ')' Punctuation ' ' Text '=' Operator -' ' Text -'done' Name -'(' Punctuation -'s' Name -',' Punctuation -'start' Name -'(' Punctuation -'s' Name -')' Punctuation -')' Punctuation '\n' Text -'ref' Name +' ' Text +'throw' Name +'(' Punctuation +'StringIndexError' Keyword.Type '(' Punctuation 's' Name -'::' Operator -'String' Name ',' Punctuation ' ' Text -'i' Name -'::' Operator 'Int' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'next' Name '(' Punctuation -'s' Name -',' Punctuation 'i' Name ')' Punctuation -'[' Punctuation -'1' Literal.Number.Integer -']' Punctuation -'\n' Text - -'ref' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'i' Name -'::' Operator -'Integer' Keyword.Type ')' Punctuation -' ' Text -'=' Operator -' ' Text -'s' Name -'[' Punctuation -'int' Name -'(' Punctuation -'i' Name ')' Punctuation -']' Punctuation '\n' Text -'ref' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'x' Name -'::' Operator -'Real' Keyword.Type -')' Punctuation -' ' Text -'=' Operator +'function' Keyword ' ' Text -'s' Name -'[' Punctuation -'iround' Name -'(' Punctuation -'x' Name -')' Punctuation -']' Punctuation -'\n' Text - -'ref' Name -'{' Punctuation -'T' Name -'<:' Operator -'Integer' Keyword.Type -'}' Punctuation +'Base' Name +'.' Operator +'showerror' Name '(' Punctuation -'s' Name +'io' Name '::' Operator -'String' Name +'IO' Keyword.Type ',' Punctuation ' ' Text -'r' Name +'exc' Name '::' Operator -'Range1' Name -'{' Punctuation -'T' Name -'}' Punctuation -')' Punctuation -' ' Text -'=' Operator -' ' Text -'s' Name -'[' Punctuation -'int' Name -'(' Punctuation -'first' Name -'(' Punctuation -'r' Name -')' Punctuation +'StringIndexError' Keyword.Type ')' Punctuation -':' Operator -'int' Name -'(' Punctuation -'last' Name -'(' Punctuation -'r' Name -')' Punctuation -')' Punctuation -']' Punctuation -'\n' Text - '\n' Text -'symbol' Name -'(' Punctuation +' ' Text 's' Name -'::' Operator -'String' Name -')' Punctuation ' ' Text '=' Operator ' ' Text -'symbol' Name -'(' Punctuation -'cstring' Name -'(' Punctuation -'s' Name -')' Punctuation -')' Punctuation -'\n' Text - +'exc' Name +'.' Operator 'string' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'s' Name -'\n' Text - '\n' Text +' ' Text 'print' Name '(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'for' Keyword -' ' Text -'c' Name -'=' Operator -'s' Name -';' Punctuation +'io' Name +',' Punctuation ' ' Text -'print' Name -'(' Punctuation -'c' Name -')' Punctuation -';' Punctuation +'"' Literal.String +'StringIndexError: ' Literal.String +'"' Literal.String +',' Punctuation ' ' Text -'end' Keyword -'\n' Text - -'print' Name +'"' Literal.String +'invalid index [' Literal.String +'$' Literal.String.Interpol '(' Punctuation -'x' Name -'.' Operator -'.' Operator +'exc' Name '.' Operator +'index' Name ')' Punctuation -' ' Text -'=' Operator -' ' Text -'for' Keyword -' ' Text -'i' Name -'=' Operator -'x' Name -';' Punctuation -' ' Text -'print' Name -'(' Punctuation -'i' Name +']' Literal.String +'"' Literal.String ')' Punctuation -';' Punctuation -' ' Text -'end' Keyword '\n' Text -'println' Name -'(' Punctuation -'args' Name -'.' Operator -'.' Operator -'.' Operator -')' Punctuation -' ' Text -'=' Operator -' ' Text -'print' Name -'(' Punctuation -'args' Name -'.' Operator -'.' Operator -'.' Operator -',' Punctuation +' ' Text +'if' Keyword ' ' Text -"'\\n'" Literal.String.Char -')' Punctuation -'\n' Text - -'\n' Text - -'show' Name +'firstindex' Name '(' Punctuation 's' Name -'::' Operator -'String' Name ')' Punctuation ' ' Text -'=' Operator +'<=' Operator ' ' Text -'print_quoted' Name -'(' Punctuation -'s' Name -')' Punctuation -'\n' Text - -'\n' Text - -'(' Punctuation -'*' Operator -')' Punctuation -'(' Punctuation -'s' Name -'::' Operator -'String' Name -'.' Operator +'exc' Name '.' Operator -'.' Operator -')' Punctuation +'index' Name ' ' Text -'=' Operator +'<=' Operator ' ' Text -'strcat' Name +'ncodeunits' Name '(' Punctuation 's' Name -'.' Operator -'.' Operator -'.' Operator ')' Punctuation '\n' Text -'(' Punctuation -'^' Operator -')' Punctuation -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'r' Name -'::' Operator -'Integer' Keyword.Type -')' Punctuation +' ' Text +'iprev' Name ' ' Text '=' Operator ' ' Text -'repeat' Name +'thisind' Name '(' Punctuation 's' Name ',' Punctuation -'r' Name +' ' Text +'exc' Name +'.' Operator +'index' Name ')' Punctuation '\n' Text -'\n' Text - -'size' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation +' ' Text +'inext' Name ' ' Text '=' Operator ' ' Text -'(' Punctuation -'length' Name +'nextind' Name '(' Punctuation 's' Name -')' Punctuation ',' Punctuation +' ' Text +'iprev' Name ')' Punctuation '\n' Text -'size' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'d' Name -'::' Operator -'Integer' Keyword.Type -')' Punctuation -' ' Text -'=' Operator +' ' Text +'if' Keyword ' ' Text -'d' Name -'==' Operator -'1' Literal.Number.Integer +'inext' Name ' ' Text -'?' Operator +'<=' Operator ' ' Text -'length' Name +'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation -' ' Text -':' Operator '\n' Text -' ' Text -'error' Name +' ' Text +'print' Name '(' Punctuation -'"' Literal.String -'i' Literal.String -'n' Literal.String -' ' Literal.String -'s' Literal.String -'i' Literal.String -'z' Literal.String -'e' Literal.String -':' Literal.String -' ' Literal.String -'d' Literal.String -'i' Literal.String -'m' Literal.String -'e' Literal.String -'n' Literal.String -'s' Literal.String -'i' Literal.String -'o' Literal.String -'n' Literal.String -' ' Literal.String -'"' Literal.String -',' Punctuation -'d' Name +'io' Name ',' Punctuation -'"' Literal.String -' ' Literal.String -'o' Literal.String -'u' Literal.String -'t' Literal.String -' ' Literal.String -'o' Literal.String -'f' Literal.String -' ' Literal.String -'r' Literal.String -'a' Literal.String -'n' Literal.String -'g' Literal.String -'e' Literal.String -'"' Literal.String -')' Punctuation -'\n' Text - -'\n' Text - -'strlen' Name -'(' Punctuation -'s' Name -'::' Operator -'DirectIndexString' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'length' Name -'(' Punctuation -'s' Name -')' Punctuation -'\n' Text - -'function' Keyword ' ' Text -'strlen' Name +'"' Literal.String +', valid nearby indices [' Literal.String +'$iprev' Literal.String.Interpol +"]=>'" Literal.String +'$' Literal.String.Interpol '(' Punctuation 's' Name -'::' Operator -'String' Name +'[' Punctuation +'iprev' Name +']' Punctuation ')' Punctuation -'\n' Text - -' ' Text -'i' Name -' ' Text -'=' Operator -' ' Text -'start' Name +"', [" Literal.String +'$inext' Literal.String.Interpol +"]=>'" Literal.String +'$' Literal.String.Interpol '(' Punctuation 's' Name +'[' Punctuation +'inext' Name +']' Punctuation ')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'done' Name -'(' Punctuation -'s' Name -',' Punctuation -'i' Name +"'" Literal.String +'"' Literal.String ')' Punctuation '\n' Text ' ' Text -'return' Keyword -' ' Text -'0' Literal.Number.Integer -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'n' Name -' ' Text -'=' Operator -' ' Text -'1' Literal.Number.Integer -'\n' Text - -' ' Text -'while' Keyword -' ' Text -'true' Keyword.Constant +'else' Keyword '\n' Text -' ' Text -'c' Name -',' Punctuation -' ' Text -'j' Name -' ' Text -'=' Operator -' ' Text -'next' Name +' ' Text +'print' Name '(' Punctuation -'s' Name +'io' Name ',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword ' ' Text -'done' Name +'"' Literal.String +', valid nearby index [' Literal.String +'$iprev' Literal.String.Interpol +"]=>'" Literal.String +'$' Literal.String.Interpol '(' Punctuation 's' Name -',' Punctuation -'j' Name +'[' Punctuation +'iprev' Name +']' Punctuation +')' Punctuation +"'" Literal.String +'"' Literal.String ')' Punctuation -'\n' Text - -' ' Text -'return' Keyword -' ' Text -'n' Name '\n' Text ' ' Text 'end' Keyword '\n' Text -' ' Text -'n' Name -' ' Text -'+=' Operator -' ' Text -'1' Literal.Number.Integer -'\n' Text - -' ' Text -'i' Name -' ' Text -'=' Operator -' ' Text -'j' Name -'\n' Text - ' ' Text 'end' Keyword '\n' Text @@ -739,998 +253,313 @@ '\n' Text -'isvalid' Name -'(' Punctuation -'s' Name -'::' Operator -'DirectIndexString' Keyword.Type -',' Punctuation +'const' Keyword ' ' Text -'i' Name -'::' Operator -'Integer' Keyword.Type -')' Punctuation +'ByteArray' Name ' ' Text '=' Operator ' ' Text -'(' Punctuation -'start' Name -'(' Punctuation -'s' Name -')' Punctuation -' ' Text -'<=' Operator -' ' Text -'i' Name -' ' Text -'<=' Operator -' ' Text -'length' Name -'(' Punctuation -'s' Name -')' Punctuation -')' Punctuation -'\n' Text - -'function' Keyword -' ' Text -'isvalid' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'i' Name -'::' Operator -'Integer' Keyword.Type -')' Punctuation -'\n' Text - -' ' Text -'try' Keyword -'\n' Text - -' ' Text -'next' Name -'(' Punctuation -'s' Name +'Union' Keyword.Type +'{' Punctuation +'Vector' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation ',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'true' Keyword.Constant -'\n' Text - -' ' Text -'catch' Keyword -'\n' Text - -' ' Text -'false' Keyword.Constant -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -'end' Keyword +'Vector' Keyword.Type +'{' Punctuation +'Int8' Keyword.Type +'}' Punctuation +'}' Punctuation '\n' Text '\n' Text -'prevind' Name -'(' Punctuation -'s' Name -'::' Operator -'DirectIndexString' Keyword.Type -',' Punctuation +'@inline' Name.Decorator ' ' Text -'i' Name -'::' Operator -'Integer' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'i' Name -'-' Operator -'1' Literal.Number.Integer -'\n' Text - -'thisind' Name +'between' Name '(' Punctuation -'s' Name +'b' Name '::' Operator -'DirectIndexString' Keyword.Type +'T' Keyword.Type ',' Punctuation ' ' Text -'i' Name -'::' Operator -'Integer' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'i' Name -'\n' Text - -'nextind' Name -'(' Punctuation -'s' Name +'lo' Name '::' Operator -'DirectIndexString' Keyword.Type +'T' Keyword.Type ',' Punctuation ' ' Text -'i' Name +'hi' Name '::' Operator -'Integer' Keyword.Type +'T' Keyword.Type ')' Punctuation ' ' Text -'=' Operator -' ' Text -'i' Name -'+' Operator -'1' Literal.Number.Integer -'\n' Text - -'\n' Text - -'prevind' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation +'where' Keyword ' ' Text -'i' Name -'::' Operator +'{' Punctuation +'T' Keyword.Type +'<:' Operator 'Integer' Keyword.Type -')' Punctuation +'}' Punctuation ' ' Text '=' Operator ' ' Text -'thisind' Name '(' Punctuation -'s' Name -',' Punctuation -'thisind' Name -'(' Punctuation -'s' Name -',' Punctuation -'i' Name -')' Punctuation -'-' Operator -'1' Literal.Number.Integer -')' Punctuation -'\n' Text - -'\n' Text - -'function' Keyword +'lo' Name ' ' Text -'thisind' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation +'≤' Operator ' ' Text -'i' Name -'::' Operator -'Integer' Keyword.Type +'b' Name ')' Punctuation -'\n' Text - -' ' Text -'for' Keyword ' ' Text -'j' Name +'&' Operator ' ' Text -'=' Operator +'(' Punctuation +'b' Name ' ' Text -'i' Name -':' Operator -'-' Operator -'1' Literal.Number.Integer -':' Operator -'1' Literal.Number.Integer -'\n' Text - -' ' Text -'if' Keyword +'≤' Operator ' ' Text -'isvalid' Name -'(' Punctuation -'s' Name -',' Punctuation -'j' Name +'hi' Name ')' Punctuation '\n' Text -' ' Text -'return' Keyword -' ' Text -'j' Name '\n' Text -' ' Text -'end' Keyword +'## constructors and conversions ##' Comment '\n' Text -' ' Text -'end' Keyword '\n' Text -' ' Text -'return' Keyword -' ' Text -'0' Literal.Number.Integer -' ' Text -'# out of range' Comment +'# String constructor docstring from boot.jl, workaround for #16730' Comment '\n' Text -'end' Keyword +'# and the unavailability of @doc in boot.jl context.' Comment '\n' Text +'"""' 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 -'function' Keyword -' ' Text -'nextind' Name +'String' Keyword.Type '(' Punctuation -'s' Name +'v' Name '::' Operator -'String' Name -',' Punctuation -' ' Text -'i' Name -'::' Operator -'Integer' Keyword.Type +'AbstractVector' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation ')' Punctuation -'\n' Text - -' ' Text -'for' Keyword -' ' Text -'j' Name ' ' Text '=' Operator ' ' Text -'i' Name -'+' Operator -'1' Literal.Number.Integer -':' Operator -'length' Name +'String' Keyword.Type '(' Punctuation -'s' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'isvalid' Name +'copyto!' Name +'(' Punctuation +'StringVector' Name '(' Punctuation -'s' Name -',' Punctuation -'j' Name -')' Punctuation -'\n' Text - -' ' Text -'return' Keyword -' ' Text -'j' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text 'length' Name '(' Punctuation -'s' Name +'v' Name ')' Punctuation -'+' Operator -'1' Literal.Number.Integer -' ' Text -'# out of range' Comment -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'ind2chr' Name -'(' Punctuation -'s' Name -'::' Operator -'DirectIndexString' Keyword.Type -',' Punctuation -' ' Text -'i' Name -'::' Operator -'Integer' Keyword.Type ')' Punctuation -' ' Text -'=' Operator -' ' Text -'i' Name -'\n' Text - -'chr2ind' Name -'(' Punctuation -'s' Name -'::' Operator -'DirectIndexString' Keyword.Type ',' Punctuation ' ' Text -'i' Name -'::' Operator -'Integer' Keyword.Type +'v' Name +')' Punctuation ')' Punctuation -' ' Text -'=' Operator -' ' Text -'i' Name -'\n' Text - '\n' Text -'function' Keyword -' ' Text -'ind2chr' Name +'String' Keyword.Type '(' Punctuation -'s' Name +'v' Name '::' Operator -'String' Name -',' Punctuation -' ' Text -'i' Name -'::' Operator -'Integer' Keyword.Type +'Vector' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation ')' Punctuation -'\n' Text - -' ' Text -'s' Name -'[' Punctuation -'i' Name -']' Punctuation -' ' Text -'# throws error if invalid' Comment -'\n' Text - -' ' Text -'j' Name ' ' Text '=' Operator ' ' Text -'1' Literal.Number.Integer -'\n' Text - -' ' Text -'k' Name -' ' Text -'=' Operator -' ' Text -'start' Name +'ccall' Keyword '(' Punctuation -'s' Name -')' Punctuation -'\n' Text - -' ' Text -'while' Keyword -' ' Text -'true' Keyword.Constant -'\n' Text - -' ' Text -'c' Name +':jl_array_to_string' Literal.String.Symbol ',' Punctuation ' ' Text -'l' Name -' ' Text -'=' Operator -' ' Text -'next' Name -'(' Punctuation -'s' Name +'Ref' Keyword.Type +'{' Punctuation +'String' Keyword.Type +'}' Punctuation ',' Punctuation -'k' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'i' Name -' ' Text -'<=' Operator -' ' Text -'k' Name -'\n' Text - -' ' Text -'return' Keyword -' ' Text -'j' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'j' Name -' ' Text -'+=' Operator -' ' Text -'1' Literal.Number.Integer -'\n' Text - -' ' Text -'k' Name ' ' Text -'=' Operator -' ' Text -'l' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'function' Keyword -' ' Text -'chr2ind' Name '(' Punctuation -'s' Name -'::' Operator -'String' Name +'Any' Keyword.Type ',' Punctuation -' ' Text -'i' Name -'::' Operator -'Integer' Keyword.Type -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'i' Name -' ' Text -'<' Operator -' ' Text -'1' Literal.Number.Integer -'\n' Text - -' ' Text -'return' Keyword -' ' Text -'i' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'j' Name -' ' Text -'=' Operator -' ' Text -'1' Literal.Number.Integer -'\n' Text - -' ' Text -'k' Name -' ' Text -'=' Operator -' ' Text -'start' Name -'(' Punctuation -'s' Name ')' Punctuation -'\n' Text - -' ' Text -'while' Keyword -' ' Text -'true' Keyword.Constant -'\n' Text - -' ' Text -'c' Name ',' Punctuation ' ' Text -'l' Name -' ' Text -'=' Operator -' ' Text -'next' Name -'(' Punctuation -'s' Name -',' Punctuation -'k' Name +'v' Name ')' Punctuation '\n' Text -' ' Text -'if' Keyword -' ' Text -'i' Name -' ' Text -'==' Operator -' ' Text -'j' Name -'\n' Text - -' ' Text -'return' Keyword -' ' Text -'k' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'j' Name -' ' Text -'+=' Operator -' ' Text -'1' Literal.Number.Integer -'\n' Text - -' ' Text -'k' Name -' ' Text -'=' Operator -' ' Text -'l' Name -'\n' Text - -' ' Text -'end' Keyword '\n' Text -'end' Keyword -'\n' Text +'"""' 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 'function' Keyword ' ' Text -'strchr' Name +'unsafe_string' Name '(' Punctuation -'s' Name +'p' Name '::' Operator -'String' Name +'Union' Keyword.Type +'{' Punctuation +'Ptr' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation ',' Punctuation -' ' Text -'c' Name -'::' Operator -'Char' Keyword.Type +'Ptr' Keyword.Type +'{' Punctuation +'Int8' Keyword.Type +'}' Punctuation +'}' Punctuation ',' Punctuation ' ' Text -'i' Name +'len' Name '::' Operator 'Integer' Keyword.Type ')' Punctuation '\n' Text ' ' Text -'i' Name -' ' Text -'=' Operator -' ' Text -'nextind' Name -'(' Punctuation -'s' Name -',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'while' Keyword -' ' Text -'!' Operator -'done' Name -'(' Punctuation -'s' Name -',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'d' Name -',' Punctuation -' ' Text -'j' Name -' ' Text -'=' Operator -' ' Text -'next' Name -'(' Punctuation -'s' Name -',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'c' Name +'p' Name ' ' Text '==' Operator ' ' Text -'d' Name -'\n' Text - -' ' Text -'return' Keyword -' ' Text -'i' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'i' Name -' ' Text -'=' Operator -' ' Text -'j' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'return' Keyword -' ' Text -'0' Literal.Number.Integer -'\n' Text - -'end' Keyword -'\n' Text - -'strchr' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'c' Name -'::' Operator -'Char' Keyword.Type -')' Punctuation +'C_NULL' Name.Builtin ' ' Text -'=' Operator +'&&' Operator ' ' Text -'strchr' Name +'throw' Name '(' Punctuation -'s' Name -',' Punctuation -' ' Text -'c' Name -',' Punctuation -' ' Text -'start' Name +'ArgumentError' Keyword.Type '(' Punctuation -'s' Name +'"' Literal.String +'cannot convert NULL to string' Literal.String +'"' Literal.String ')' Punctuation ')' Punctuation '\n' Text -'contains' Name +' ' Text +'ccall' Keyword '(' Punctuation -'s' Name -'::' Operator -'String' Name +':jl_pchar_to_string' Literal.String.Symbol ',' Punctuation ' ' Text -'c' Name -'::' Operator -'Char' Keyword.Type -')' Punctuation -' ' Text -'=' Operator +'Ref' Keyword.Type +'{' Punctuation +'String' Keyword.Type +'}' Punctuation +',' Punctuation ' ' Text '(' Punctuation -'strchr' Name -'(' Punctuation -'s' Name +'Ptr' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation ',' Punctuation -'c' Name -')' Punctuation -'!=' Operator -'0' Literal.Number.Integer -')' Punctuation -'\n' Text - -'\n' Text - -'function' Keyword ' ' Text -'chars' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name +'Int' Keyword.Type ')' Punctuation -'\n' Text - -' ' Text -'cx' Name -' ' Text -'=' Operator -' ' Text -'Array' Keyword.Type -'(' Punctuation -'Char' Keyword.Type ',' Punctuation -'strlen' Name -'(' Punctuation -'s' Name -')' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'i' Name -' ' Text -'=' Operator -' ' Text -'0' Literal.Number.Integer -'\n' Text - -' ' Text -'for' Keyword -' ' Text -'c' Name -' ' Text -'in' Keyword.Pseudo -' ' Text -'s' Name -'\n' Text - -' ' Text -'cx' Name -'[' Punctuation -'i' Name -' ' Text -'+=' Operator -' ' Text -'1' Literal.Number.Integer -']' Punctuation ' ' Text -'=' Operator -' ' Text -'c' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'return' Keyword +'p' Name +',' Punctuation ' ' Text -'cx' Name +'len' Name +')' Punctuation '\n' Text 'end' Keyword '\n' Text -'\n' Text - 'function' Keyword ' ' Text -'cmp' Name +'unsafe_string' Name '(' Punctuation -'a' Name +'p' Name '::' Operator -'String' Name +'Union' Keyword.Type +'{' Punctuation +'Ptr' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation ',' Punctuation -' ' Text -'b' Name -'::' Operator -'String' Name -')' Punctuation -'\n' Text - -' ' Text -'i' Name -' ' Text -'=' Operator -' ' Text -'start' Name -'(' Punctuation -'a' Name +'Ptr' Keyword.Type +'{' Punctuation +'Int8' Keyword.Type +'}' Punctuation +'}' Punctuation ')' Punctuation '\n' Text ' ' Text -'j' Name -' ' Text -'=' Operator +'p' Name ' ' Text -'start' Name -'(' Punctuation -'b' Name -')' Punctuation -'\n' Text - -' ' Text -'while' Keyword +'==' Operator ' ' Text -'!' Operator -'done' Name -'(' Punctuation -'a' Name -',' Punctuation -'i' Name -')' Punctuation +'C_NULL' Name.Builtin ' ' Text '&&' Operator ' ' Text -'!' Operator -'done' Name +'throw' Name '(' Punctuation -'b' Name -',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'c' Name -',' Punctuation -' ' Text -'i' Name -' ' Text -'=' Operator -' ' Text -'next' Name +'ArgumentError' Keyword.Type '(' Punctuation -'a' Name -',' Punctuation -'i' Name +'"' Literal.String +'cannot convert NULL to string' Literal.String +'"' Literal.String ')' Punctuation -'\n' Text - -' ' Text -'d' Name -',' Punctuation -' ' Text -'j' Name -' ' Text -'=' Operator -' ' Text -'next' Name -'(' Punctuation -'b' Name -',' Punctuation -'j' Name ')' Punctuation '\n' Text -' ' Text -'if' Keyword -' ' Text -'c' Name -' ' Text -'!=' Operator -' ' Text -'d' Name -'\n' Text - -' ' Text -'return' Keyword -' ' Text -'c' Name -' ' Text -'<' Operator -' ' Text -'d' Name -' ' Text -'?' Operator -' ' Text -'-' Operator -'1' Literal.Number.Integer -' ' Text -':' Operator -' ' Text -'+' Operator -'1' Literal.Number.Integer -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - ' ' Text -'end' Keyword -'\n' Text - -' ' Text -'done' Name +'ccall' Keyword '(' Punctuation -'a' Name +':jl_cstr_to_string' Literal.String.Symbol ',' Punctuation -'i' Name -')' Punctuation -' ' Text -'&&' Operator ' ' Text -'!' Operator -'done' Name -'(' Punctuation -'b' Name +'Ref' Keyword.Type +'{' Punctuation +'String' Keyword.Type +'}' Punctuation ',' Punctuation -'j' Name -')' Punctuation -' ' Text -'?' Operator ' ' Text -'-' Operator -'1' Literal.Number.Integer -' ' Text -':' Operator -'\n' Text - -' ' Text -'!' Operator -'done' Name '(' Punctuation -'a' Name +'Ptr' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation ',' Punctuation -'i' Name ')' Punctuation -' ' Text -'&&' Operator -' ' Text -'done' Name -'(' Punctuation -'b' Name ',' Punctuation -'j' Name -')' Punctuation -' ' Text -'?' Operator -' ' Text -'+' Operator -'1' Literal.Number.Integer -' ' Text -':' Operator ' ' Text -'0' Literal.Number.Integer +'p' Name +')' Punctuation '\n' Text 'end' Keyword @@ -1738,1265 +567,391 @@ '\n' Text -'isequal' Name +'_string_n' Name '(' Punctuation -'a' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'b' Name +'n' Name '::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'cmp' Name -'(' Punctuation -'a' Name -',' Punctuation -'b' Name +'Integer' Keyword.Type ')' Punctuation ' ' Text -'==' Operator -' ' Text -'0' Literal.Number.Integer -'\n' Text - -'isless' Name -'(' Punctuation -'a' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'b' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text '=' Operator ' ' Text -'cmp' Name +'ccall' Keyword '(' Punctuation -'a' Name +':jl_alloc_string' Literal.String.Symbol ',' Punctuation -'b' Name -')' Punctuation ' ' Text -'<' Operator -' ' Text -'0' Literal.Number.Integer -'\n' Text - -'\n' Text - -'# faster comparisons for byte strings' Comment -'\n' Text - -'\n' Text - -'cmp' Name -'(' Punctuation -'a' Name -'::' Operator -'ByteString' Name +'Ref' Keyword.Type +'{' Punctuation +'String' Keyword.Type +'}' Punctuation ',' Punctuation ' ' Text -'b' Name -'::' Operator -'ByteString' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'lexcmp' Name '(' Punctuation -'a' Name -'.' Operator -'data' Name +'Csize_t' Keyword.Type ',' Punctuation -' ' Text -'b' Name -'.' Operator -'data' Name ')' Punctuation -'\n' Text - -'isequal' Name -'(' Punctuation -'a' Name -'::' Operator -'ByteString' Name ',' Punctuation ' ' Text -'b' Name -'::' Operator -'ByteString' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'length' Name -'(' Punctuation -'a' Name -')' Punctuation -'==' Operator -'length' Name -'(' Punctuation -'b' Name -')' Punctuation -' ' Text -'&&' Operator -' ' Text -'cmp' Name -'(' Punctuation -'a' Name -',' Punctuation -'b' Name +'n' Name ')' Punctuation -'==' Operator -'0' Literal.Number.Integer -'\n' Text - '\n' Text -'## character column width function ##' Comment '\n' Text -'\n' Text +'"""' 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 -'charwidth' Name -'(' Punctuation -'c' Name -'::' Operator -'Char' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'max' Name -'(' Punctuation -'0' Literal.Number.Integer -',' Punctuation -'int' Name -'(' Punctuation -'ccall' Keyword -'(' Punctuation -':' Operator -'wcwidth' Name -',' Punctuation -' ' Text -'Int32' Keyword.Type -',' Punctuation -' ' Text -'(' Punctuation -'Char' Keyword.Type -',' Punctuation -')' Punctuation -',' Punctuation -' ' Text -'c' Name -')' Punctuation -')' Punctuation -')' Punctuation +'"""' Literal.String '\n' Text -'strwidth' Name +'String' Keyword.Type '(' Punctuation 's' Name '::' Operator -'String' Name +'AbstractString' Keyword.Type ')' Punctuation ' ' Text '=' Operator ' ' Text +'print_to_string' Name '(' Punctuation -'w' Name -'=' Operator -'0' Literal.Number.Integer -';' Punctuation -' ' Text -'for' Keyword -' ' Text -'c' Name -' ' Text -'in' Keyword.Pseudo -' ' Text 's' Name -';' Punctuation -' ' Text -'w' Name -' ' Text -'+=' Operator -' ' Text -'charwidth' Name -'(' Punctuation -'c' Name -')' Punctuation -';' Punctuation -' ' Text -'end' Keyword -';' Punctuation -' ' Text -'w' Name ')' Punctuation '\n' Text -'strwidth' Name +'@pure' Name.Decorator +' ' Text +'String' Keyword.Type '(' Punctuation 's' Name '::' Operator -'ByteString' Name +'Symbol' Keyword.Type ')' Punctuation ' ' Text '=' Operator ' ' Text -'ccall' Keyword +'unsafe_string' Name '(' Punctuation -':' Operator -'u8_strwidth' Name -',' Punctuation -' ' Text -'Int' Keyword.Type -',' Punctuation -' ' Text +'unsafe_convert' Name '(' Punctuation 'Ptr' Keyword.Type '{' Punctuation -'Uint8' Name +'UInt8' Keyword.Type '}' Punctuation ',' Punctuation -')' Punctuation -',' Punctuation ' ' Text 's' Name -'.' Operator -'data' Name ')' Punctuation -'\n' Text - -'# TODO: implement and use u8_strnwidth that takes a length argument' Comment -'\n' Text - -'\n' Text - -'## generic string uses only length and next ##' Comment -'\n' Text - -'\n' Text - -'type' Keyword -' ' Text -'GenericString' Name -' ' Text -'<:' Operator -' ' Text -'String' Name -'\n' Text - -' ' Text -'string' Name -'::' Operator -'String' Name -'\n' Text - -'end' Keyword +')' Punctuation '\n' Text '\n' Text -'length' Name +'unsafe_wrap' Name '(' Punctuation +'::' Operator +'Type' Keyword.Type +'{' Punctuation +'Vector' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation +'}' Punctuation +',' Punctuation +' ' Text 's' Name '::' Operator -'GenericString' Name +'String' Keyword.Type ')' Punctuation ' ' Text '=' Operator ' ' Text -'length' Name -'(' Punctuation -'s' Name -'.' Operator -'string' Name -')' Punctuation -'\n' Text - -'next' Name +'ccall' Keyword '(' Punctuation -'s' Name -'::' Operator -'GenericString' Name +':jl_string_to_array' Literal.String.Symbol ',' Punctuation ' ' Text -'i' Name -'::' Operator -'Int' Keyword.Type -')' Punctuation -' ' Text -'=' Operator +'Ref' Keyword.Type +'{' Punctuation +'Vector' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation +'}' Punctuation +',' Punctuation ' ' Text -'next' Name '(' Punctuation -'s' Name -'.' Operator -'string' Name +'Any' Keyword.Type +',' Punctuation +')' Punctuation ',' Punctuation ' ' Text -'i' Name +'s' Name ')' Punctuation '\n' Text '\n' Text -'## plain old character arrays ##' Comment -'\n' Text - -'\n' Text - -'type' Keyword -' ' Text -'CharString' Name -' ' Text -'<:' Operator -' ' Text -'String' Name -'\n' Text - -' ' Text -'chars' Name -'::' Operator -'Array' Keyword.Type +'Vector' Keyword.Type '{' Punctuation -'Char' Keyword.Type -',' Punctuation -'1' Literal.Number.Integer +'UInt8' Keyword.Type '}' Punctuation -'\n' Text - -'\n' Text - -' ' Text -'CharString' Name '(' Punctuation -'a' Name +'s' Name '::' Operator -'Array' Keyword.Type +'CodeUnits' Keyword.Type '{' Punctuation -'Char' Keyword.Type +'UInt8' Keyword.Type ',' Punctuation -'1' Literal.Number.Integer +'String' Keyword.Type '}' Punctuation ')' Punctuation ' ' Text '=' Operator ' ' Text -'new' Name -'(' Punctuation -'a' Name -')' Punctuation -'\n' Text - -' ' Text -'CharString' Name +'copyto!' Name '(' Punctuation -'c' Name -'::' Operator -'Char' Keyword.Type -'.' Operator -'.' Operator -'.' Operator -')' Punctuation -' ' Text -'=' Operator -' ' Text -'new' Name +'Vector' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation '(' Punctuation -'[' Punctuation -' ' Text -'c' Name -'[' Punctuation -'i' Name -']' Punctuation -' ' Text -'|' Operator +'undef' Name.Builtin +',' Punctuation ' ' Text -'i' Name -'=' Operator -'1' Literal.Number.Integer -':' Operator 'length' Name '(' Punctuation -'c' Name -')' Punctuation -' ' Text -']' Punctuation -')' Punctuation -'\n' Text - -'end' Keyword -'\n' Text - -'CharString' Name -'(' Punctuation -'x' Name -'.' Operator -'.' Operator -'.' Operator -')' Punctuation -' ' Text -'=' Operator -' ' Text -'CharString' Name -'(' Punctuation -'map' Name -'(' Punctuation -'char' Name -',' Punctuation -'x' Name +'s' Name ')' Punctuation -'.' Operator -'.' Operator -'.' Operator ')' Punctuation -'\n' Text - -'\n' Text - -'next' Name -'(' Punctuation -'s' Name -'::' Operator -'CharString' Name ',' Punctuation ' ' Text -'i' Name -'::' Operator -'Int' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'(' Punctuation 's' Name -'.' Operator -'chars' Name -'[' Punctuation -'i' Name -']' Punctuation -',' Punctuation -' ' Text -'i' Name -'+' Operator -'1' Literal.Number.Integer ')' Punctuation '\n' Text -'length' Name +'Vector' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation '(' Punctuation 's' Name '::' Operator -'CharString' Name +'String' Keyword.Type ')' Punctuation ' ' Text '=' Operator ' ' Text -'length' Name +'Vector' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation +'(' Punctuation +'codeunits' Name '(' Punctuation 's' Name -'.' Operator -'chars' Name +')' Punctuation ')' Punctuation '\n' Text -'strlen' Name +'Array' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation '(' Punctuation 's' Name '::' Operator -'CharString' Name +'String' Keyword.Type ')' Punctuation -' ' Text +' ' Text '=' Operator ' ' Text -'length' Name +'Vector' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation +'(' Punctuation +'codeunits' Name '(' Punctuation 's' Name ')' Punctuation +')' Punctuation '\n' Text '\n' Text -'string' Name -'(' Punctuation -'c' Name -'::' Operator -'Char' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'CharString' Name -'(' Punctuation -'c' Name -')' Punctuation -'\n' Text - -'string' Name +'String' Keyword.Type '(' Punctuation -'c' Name +'s' Name '::' Operator -'Char' Keyword.Type +'CodeUnits' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type ',' Punctuation -' ' Text -'x' Name -'::' Operator -'Char' Keyword.Type -'.' Operator -'.' Operator -'.' Operator +'String' Keyword.Type +'}' Punctuation ')' Punctuation ' ' Text '=' Operator ' ' Text -'CharString' Name -'(' Punctuation -'c' Name -',' Punctuation -' ' Text -'x' Name -'.' Operator -'.' Operator +'s' Name '.' Operator -')' Punctuation -'\n' Text - -'\n' Text - -'## substrings reference original strings ##' Comment -'\n' Text - -'\n' Text - -'type' Keyword -' ' Text -'SubString' Keyword.Type -' ' Text -'<:' Operator -' ' Text -'String' Name -'\n' Text - -' ' Text -'string' Name -'::' Operator -'String' Name +'s' Name '\n' Text -' ' Text -'offset' Name -'::' Operator -'Int' Keyword.Type '\n' Text -' ' Text -'length' Name -'::' Operator -'Int' Keyword.Type +'## low-level functions ##' Comment '\n' Text '\n' Text -' ' Text -'SubString' Keyword.Type +'pointer' Name '(' Punctuation 's' Name '::' Operator -'String' Name -',' Punctuation -' ' Text -'i' Name -'::' Operator -'Int' Keyword.Type -',' Punctuation -' ' Text -'j' Name -'::' Operator -'Int' Keyword.Type +'String' Keyword.Type ')' Punctuation ' ' Text '=' Operator ' ' Text -'new' Name -'(' Punctuation -'s' Name -',' Punctuation -' ' Text -'i' Name -'-' Operator -'1' Literal.Number.Integer -',' Punctuation -' ' Text -'j' Name -'-' Operator -'i' Name -'+' Operator -'1' Literal.Number.Integer -')' Punctuation -'\n' Text - -' ' Text -'SubString' Keyword.Type -'(' Punctuation -'s' Name -'::' Operator -'SubString' Keyword.Type -',' Punctuation -' ' Text -'i' Name -'::' Operator -'Int' Keyword.Type -',' Punctuation -' ' Text -'j' Name -'::' Operator -'Int' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -'\n' Text - -' ' Text -'new' Name +'unsafe_convert' Name '(' Punctuation -'s' Name -'.' Operator -'string' Name +'Ptr' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation ',' Punctuation ' ' Text -'i' Name -'-' Operator -'1' Literal.Number.Integer -'+' Operator 's' Name -'.' Operator -'offset' Name -',' Punctuation -' ' Text -'j' Name -'-' Operator -'i' Name -'+' Operator -'1' Literal.Number.Integer ')' Punctuation '\n' Text -'end' Keyword -'\n' Text - -'SubString' Keyword.Type +'pointer' Name '(' Punctuation 's' Name '::' Operator -'String' Name +'String' Keyword.Type ',' Punctuation ' ' Text 'i' Name '::' Operator 'Integer' Keyword.Type -',' Punctuation -' ' Text -'j' Name -'::' Operator -'Integer' Keyword.Type ')' Punctuation ' ' Text '=' Operator ' ' Text -'SubString' Keyword.Type +'pointer' Name '(' Punctuation 's' Name -',' Punctuation -' ' Text -'int' Name -'(' Punctuation -'i' Name ')' Punctuation -',' Punctuation ' ' Text -'int' Name -'(' Punctuation -'j' Name -')' Punctuation -')' Punctuation -'\n' Text - -'\n' Text - -'function' Keyword -' ' Text -'next' Name -'(' Punctuation -'s' Name -'::' Operator -'SubString' Keyword.Type -',' Punctuation +'+' Operator ' ' Text -'i' Name -'::' Operator 'Int' Keyword.Type -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'i' Name -' ' Text -'<' Operator -' ' Text -'1' Literal.Number.Integer -' ' Text -'||' Operator -' ' Text -'i' Name -' ' Text -'>' Operator -' ' Text -'s' Name -'.' Operator -'length' Name -'\n' Text - -' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'s' Literal.String -'t' Literal.String -'r' Literal.String -'i' Literal.String -'n' Literal.String -'g' Literal.String -' ' Literal.String -'i' Literal.String -'n' Literal.String -'d' Literal.String -'e' Literal.String -'x' Literal.String -' ' Literal.String -'o' Literal.String -'u' Literal.String -'t' Literal.String -' ' Literal.String -'o' Literal.String -'f' Literal.String -' ' Literal.String -'b' Literal.String -'o' Literal.String -'u' Literal.String -'n' Literal.String -'d' Literal.String -'s' Literal.String -'"' Literal.String -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'c' Name -',' Punctuation -' ' Text -'i' Name -' ' Text -'=' Operator -' ' Text -'next' Name '(' Punctuation -'s' Name -'.' Operator -'string' Name -',' Punctuation -' ' Text -'i' Name -'+' Operator -'s' Name -'.' Operator -'offset' Name -')' Punctuation -'\n' Text - -' ' Text -'c' Name -',' Punctuation -' ' Text 'i' Name -'-' Operator -'s' Name -'.' Operator -'offset' Name -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'length' Name -'(' Punctuation -'s' Name -'::' Operator -'SubString' Keyword.Type ')' Punctuation -' ' Text -'=' Operator -' ' Text -'s' Name -'.' Operator -'length' Name -'\n' Text - -'# TODO: strlen(s::SubString) = ??' Comment -'\n' Text - -"# default implementation will work but it's slow" Comment -'\n' Text - -'# can this be delegated efficiently somehow?' Comment -'\n' Text - -'# that may require additional string interfaces' Comment -'\n' Text - -'\n' Text - -'function' Keyword -' ' Text -'ref' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'r' Name '::' Operator -'Range1' Name -'{' Punctuation 'Int' Keyword.Type -'}' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword ' ' Text -'first' Name -'(' Punctuation -'r' Name -')' Punctuation -' ' Text -'<' Operator +'-' Operator ' ' Text '1' Literal.Number.Integer -' ' Text -'||' Operator -' ' Text -'length' Name -'(' Punctuation -'s' Name -')' Punctuation -' ' Text -'<' Operator -' ' Text -'last' Name -'(' Punctuation -'r' Name -')' Punctuation -'\n' Text - -' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'i' Literal.String -'n' Literal.String -' ' Literal.String -'s' Literal.String -'u' Literal.String -'b' Literal.String -'s' Literal.String -'t' Literal.String -'r' Literal.String -'i' Literal.String -'n' Literal.String -'g' Literal.String -' ' Literal.String -'s' Literal.String -'l' Literal.String -'i' Literal.String -'c' Literal.String -'e' Literal.String -':' Literal.String -' ' Literal.String -'i' Literal.String -'n' Literal.String -'d' Literal.String -'e' Literal.String -'x' Literal.String -' ' Literal.String -'o' Literal.String -'u' Literal.String -'t' Literal.String -' ' Literal.String -'o' Literal.String -'f' Literal.String -' ' Literal.String -'r' Literal.String -'a' Literal.String -'n' Literal.String -'g' Literal.String -'e' Literal.String -'"' Literal.String -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'SubString' Keyword.Type -'(' Punctuation -'s' Name -',' Punctuation -' ' Text -'first' Name -'(' Punctuation -'r' Name -')' Punctuation -',' Punctuation -' ' Text -'last' Name -'(' Punctuation -'r' Name -')' Punctuation -')' Punctuation -'\n' Text - -'end' Keyword -'\n' Text - '\n' Text -'## efficient representation of repeated strings ##' Comment '\n' Text -'\n' Text - -'type' Keyword -' ' Text -'RepString' Keyword.Type -' ' Text -'<:' Operator +'@pure' Name.Decorator ' ' Text -'String' Name -'\n' Text - -' ' Text -'string' Name -'::' Operator -'String' Name -'\n' Text - -' ' Text -'repeat' Name -'::' Operator -'Integer' Keyword.Type -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'length' Name +'ncodeunits' Name '(' Punctuation 's' Name '::' Operator -'RepString' Keyword.Type +'String' Keyword.Type ')' Punctuation ' ' Text '=' Operator ' ' Text -'length' Name +'Core' Name +'.' Operator +'sizeof' Name '(' Punctuation 's' Name -'.' Operator -'string' Name ')' Punctuation -'*' Operator -'s' Name -'.' Operator -'repeat' Name '\n' Text -'strlen' Name +'codeunit' Name '(' Punctuation 's' Name '::' Operator -'RepString' Keyword.Type +'String' Keyword.Type ')' Punctuation ' ' Text '=' Operator ' ' Text -'strlen' Name -'(' Punctuation -'s' Name -'.' Operator -'string' Name -')' Punctuation -'*' Operator -'s' Name -'.' Operator -'repeat' Name +'UInt8' Keyword.Type '\n' Text '\n' Text +'@inline' Name.Decorator +' ' Text 'function' Keyword ' ' Text -'next' Name +'codeunit' Name '(' Punctuation 's' Name '::' Operator -'RepString' Keyword.Type +'String' Keyword.Type ',' Punctuation ' ' Text 'i' Name '::' Operator -'Int' Keyword.Type +'Integer' Keyword.Type ')' Punctuation '\n' Text ' ' Text -'if' Keyword -' ' Text -'i' Name -' ' Text -'<' Operator -' ' Text -'1' Literal.Number.Integer +'@boundscheck' Name.Decorator ' ' Text -'||' Operator -' ' Text -'i' Name -' ' Text -'>' Operator -' ' Text -'length' Name +'checkbounds' Name '(' Punctuation 's' Name -')' Punctuation -'\n' Text - -' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'s' Literal.String -'t' Literal.String -'r' Literal.String -'i' Literal.String -'n' Literal.String -'g' Literal.String -' ' Literal.String -'i' Literal.String -'n' Literal.String -'d' Literal.String -'e' Literal.String -'x' Literal.String -' ' Literal.String -'o' Literal.String -'u' Literal.String -'t' Literal.String -' ' Literal.String -'o' Literal.String -'f' Literal.String -' ' Literal.String -'b' Literal.String -'o' Literal.String -'u' Literal.String -'n' Literal.String -'d' Literal.String -'s' Literal.String -'"' Literal.String -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'j' Name -' ' Text -'=' Operator +',' Punctuation ' ' Text -'mod1' Name -'(' Punctuation 'i' Name -',' Punctuation -'length' Name -'(' Punctuation -'s' Name -'.' Operator -'string' Name -')' Punctuation ')' Punctuation '\n' Text ' ' Text -'c' Name -',' Punctuation -' ' Text -'k' Name +'b' Name ' ' Text '=' Operator ' ' Text -'next' Name -'(' Punctuation -'s' Name +'GC' Name '.' Operator -'string' Name -',' Punctuation -' ' Text -'j' Name -')' Punctuation -'\n' Text - -' ' Text -'c' Name -',' Punctuation +'@preserve' Name.Decorator ' ' Text -'k' Name -'-' Operator -'j' Name -'+' Operator -'i' Name -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'function' Keyword +'s' Name ' ' Text -'repeat' Name +'unsafe_load' Name +'(' Punctuation +'pointer' Name '(' Punctuation 's' Name -'::' Operator -'String' Name ',' Punctuation ' ' Text -'r' Name -'::' Operator -'Integer' Keyword.Type +'i' Name ')' Punctuation -'\n' Text - -' ' Text -'r' Name -' ' Text -'<' Operator -' ' Text -'0' Literal.Number.Integer -' ' Text -'?' Operator -' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'c' Literal.String -'a' Literal.String -'n' Literal.String -"'" Literal.String -'t' Literal.String -' ' Literal.String -'r' Literal.String -'e' Literal.String -'p' Literal.String -'e' Literal.String -'a' Literal.String -'t' Literal.String -' ' Literal.String -'a' Literal.String -' ' Literal.String -'s' Literal.String -'t' Literal.String -'r' Literal.String -'i' Literal.String -'n' Literal.String -'g' Literal.String -' ' Literal.String -'"' Literal.String -',' Punctuation -'r' Name -',' Punctuation -'"' Literal.String -' ' Literal.String -'t' Literal.String -'i' Literal.String -'m' Literal.String -'e' Literal.String -'s' Literal.String -'"' Literal.String ')' Punctuation -' ' Text -':' Operator -'\n' Text - -' ' Text -'r' Name -' ' Text -'==' Operator -' ' Text -'0' Literal.Number.Integer -' ' Text -'?' Operator -' ' Text -'"' Literal.String -'"' Literal.String -' ' Text -':' Operator '\n' Text ' ' Text -'r' Name -' ' Text -'==' Operator -' ' Text -'1' Literal.Number.Integer -' ' Text -'?' Operator +'return' Keyword ' ' Text -'s' Name -' ' Text -':' Operator -'\n' Text - -' ' Text -'RepString' Keyword.Type -'(' Punctuation -'s' Name -',' Punctuation -'r' Name -')' Punctuation +'b' Name '\n' Text 'end' Keyword @@ -3004,575 +959,182 @@ '\n' Text -'## reversed strings without data movement ##' Comment -'\n' Text - -'\n' Text - -'type' Keyword -' ' Text -'RevString' Keyword.Type -' ' Text -'<:' Operator -' ' Text -'String' Name -'\n' Text - -' ' Text -'string' Name -'::' Operator -'String' Name +'## comparison ##' Comment '\n' Text -'end' Keyword '\n' Text -'\n' Text - -'length' Name +'_memcmp' Name '(' Punctuation -'s' Name +'a' Name '::' Operator -'RevString' Keyword.Type -')' Punctuation -' ' Text -'=' Operator +'Union' Keyword.Type +'{' Punctuation +'Ptr' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation +',' Punctuation +'AbstractString' Keyword.Type +'}' Punctuation +',' Punctuation ' ' Text -'length' Name -'(' Punctuation -'s' Name -'.' Operator -'string' Name -')' Punctuation -'\n' Text - -'strlen' Name -'(' Punctuation -'s' Name +'b' Name '::' Operator -'RevString' Keyword.Type +'Union' Keyword.Type +'{' Punctuation +'Ptr' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation +',' Punctuation +'AbstractString' Keyword.Type +'}' Punctuation +',' Punctuation +' ' Text +'len' Name ')' Punctuation ' ' Text '=' Operator -' ' Text -'strlen' Name -'(' Punctuation -'s' Name -'.' Operator -'string' Name -')' Punctuation '\n' Text -'\n' Text - -'start' Name -'(' Punctuation -'s' Name -'::' Operator -'RevString' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'(' Punctuation -'n' Name -'=' Operator -'length' Name +' ' Text +'ccall' Keyword '(' Punctuation -'s' Name -')' Punctuation -';' Punctuation +':memcmp' Literal.String.Symbol +',' Punctuation ' ' Text -'n' Name -'-' Operator -'thisind' Name -'(' Punctuation -'s' Name -'.' Operator -'string' Name +'Cint' Keyword.Type ',' Punctuation -'n' Name -')' Punctuation -'+' Operator -'1' Literal.Number.Integer -')' Punctuation -'\n' Text - -'function' Keyword ' ' Text -'next' Name '(' Punctuation -'s' Name -'::' Operator -'RevString' Keyword.Type +'Ptr' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation ',' Punctuation ' ' Text -'i' Name -'::' Operator -'Int' Keyword.Type -')' Punctuation -'\n' Text - -' ' Text -'n' Name -' ' Text -'=' Operator +'Ptr' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation +',' Punctuation ' ' Text -'length' Name -'(' Punctuation -'s' Name +'Csize_t' Keyword.Type ')' Punctuation -';' Punctuation -' ' Text -'j' Name -' ' Text -'=' Operator -' ' Text -'n' Name -'-' Operator -'i' Name -'+' Operator -'1' Literal.Number.Integer -'\n' Text - -' ' Text -'(' Punctuation -'s' Name -'.' Operator -'string' Name -'[' Punctuation -'j' Name -']' Punctuation ',' Punctuation ' ' Text -'n' Name -'-' Operator -'thisind' Name -'(' Punctuation -'s' Name -'.' Operator -'string' Name +'a' Name ',' Punctuation -'j' Name -'-' Operator -'1' Literal.Number.Integer -')' Punctuation -'+' Operator -'1' Literal.Number.Integer -')' Punctuation -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'reverse' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation ' ' Text -'=' Operator -' ' Text -'RevString' Keyword.Type -'(' Punctuation -'s' Name -')' Punctuation -'\n' Text - -'reverse' Name -'(' Punctuation -'s' Name -'::' Operator -'RevString' Keyword.Type -')' Punctuation +'b' Name +',' Punctuation ' ' Text -'=' Operator +'len' Name ' ' Text -'s' Name -'.' Operator -'string' Name -'\n' Text - -'\n' Text - -'## ropes for efficient concatenation, etc. ##' Comment -'\n' Text - -'\n' Text - -'# Idea: instead of this standard binary tree structure,' Comment -'\n' Text - -'# how about we keep an array of substrings, with an' Comment -'\n' Text - -'# offset array. We can do binary search on the offset' Comment -'\n' Text - -'# array so we get O(log(n)) indexing time still, but we' Comment -'\n' Text - -'# can compute the offsets lazily and avoid all the' Comment -'\n' Text - -'# futzing around while the string is being constructed.' Comment -'\n' Text - -'\n' Text - -'type' Keyword +'%' Operator ' ' Text -'RopeString' Keyword.Type +'Csize_t' Keyword.Type +')' Punctuation ' ' Text -'<:' Operator +'%' Operator ' ' Text -'String' Name -'\n' Text - -' ' Text -'head' Name -'::' Operator -'String' Name -'\n' Text - -' ' Text -'tail' Name -'::' Operator -'String' Name -'\n' Text - -' ' Text -'depth' Name -'::' Operator -'Int32' Keyword.Type -'\n' Text - -' ' Text -'length' Name -'::' Operator 'Int' Keyword.Type '\n' Text '\n' Text -' ' Text -'RopeString' Keyword.Type +'function' Keyword +' ' Text +'cmp' Name '(' Punctuation -'h' Name +'a' Name '::' Operator -'RopeString' Keyword.Type +'String' Keyword.Type ',' Punctuation ' ' Text -'t' Name +'b' Name '::' Operator -'RopeString' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -'\n' Text - -' ' Text -'depth' Name -'(' Punctuation -'h' Name -'.' Operator -'tail' Name +'String' Keyword.Type ')' Punctuation -' ' Text -'+' Operator -' ' Text -'depth' Name -'(' Punctuation -'t' Name -')' Punctuation -' ' Text -'<' Operator -' ' Text -'depth' Name -'(' Punctuation -'h' Name -'.' Operator -'head' Name -')' Punctuation -' ' Text -'?' Operator '\n' Text -' ' Text -'RopeString' Keyword.Type -'(' Punctuation -'h' Name -'.' Operator -'head' Name -',' Punctuation -' ' Text -'RopeString' Keyword.Type -'(' Punctuation -'h' Name -'.' Operator -'tail' Name +' ' Text +'al' Name ',' Punctuation ' ' Text -'t' Name -')' Punctuation -')' Punctuation +'bl' Name ' ' Text -':' Operator -'\n' Text - -' ' Text -'new' Name -'(' Punctuation -'h' Name -',' Punctuation -' ' Text -'t' Name -',' Punctuation +'=' Operator ' ' Text -'max' Name +'sizeof' Name '(' Punctuation -'h' Name -'.' Operator -'depth' Name -',' Punctuation -'t' Name -'.' Operator -'depth' Name +'a' Name ')' Punctuation -'+' Operator -'1' Literal.Number.Integer ',' Punctuation ' ' Text -'length' Name -'(' Punctuation -'h' Name -')' Punctuation -'+' Operator -'length' Name +'sizeof' Name '(' Punctuation -'t' Name -')' Punctuation +'b' Name ')' Punctuation '\n' Text -'\n' Text - ' ' Text -'RopeString' Keyword.Type -'(' Punctuation -'h' Name -'::' Operator -'RopeString' Keyword.Type -',' Punctuation -' ' Text -'t' Name -'::' Operator -'String' Name -')' Punctuation +'c' Name ' ' Text '=' Operator -'\n' Text - -' ' Text -'depth' Name -'(' Punctuation -'h' Name -'.' Operator -'tail' Name -')' Punctuation ' ' Text -'<' Operator -' ' Text -'depth' Name -'(' Punctuation -'h' Name -'.' Operator -'head' Name -')' Punctuation -' ' Text -'?' Operator -'\n' Text - -' ' Text -'RopeString' Keyword.Type +'_memcmp' Name '(' Punctuation -'h' Name -'.' Operator -'head' Name +'a' Name ',' Punctuation ' ' Text -'RopeString' Keyword.Type -'(' Punctuation -'h' Name -'.' Operator -'tail' Name +'b' Name ',' Punctuation ' ' Text -'t' Name -')' Punctuation -')' Punctuation -' ' Text -':' Operator -'\n' Text - -' ' Text -'new' Name +'min' Name '(' Punctuation -'h' Name -',' Punctuation -' ' Text -'t' Name +'al' Name ',' Punctuation -' ' Text -'h' Name -'.' Operator -'depth' Name -'+' Operator -'1' Literal.Number.Integer -',' Punctuation -' ' Text -'length' Name -'(' Punctuation -'h' Name +'bl' Name ')' Punctuation -'+' Operator -'length' Name -'(' Punctuation -'t' Name ')' Punctuation -')' Punctuation -'\n' Text - '\n' Text ' ' Text -'RopeString' Keyword.Type -'(' Punctuation -'h' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'t' Name -'::' Operator -'RopeString' Keyword.Type -')' Punctuation +'return' Keyword ' ' Text -'=' Operator -'\n' Text - -' ' Text -'depth' Name -'(' Punctuation -'t' Name -'.' Operator -'head' Name -')' Punctuation +'c' Name ' ' Text '<' Operator ' ' Text -'depth' Name -'(' Punctuation -'t' Name -'.' Operator -'tail' Name -')' Punctuation +'0' Literal.Number.Integer ' ' Text '?' Operator -'\n' Text - -' ' Text -'RopeString' Keyword.Type -'(' Punctuation -'RopeString' Keyword.Type -'(' Punctuation -'h' Name -',' Punctuation -' ' Text -'t' Name -'.' Operator -'head' Name -')' Punctuation -',' Punctuation ' ' Text -'t' Name -'.' Operator -'tail' Name -')' Punctuation +'-' Operator +'1' Literal.Number.Integer ' ' Text ':' Operator -'\n' Text - -' ' Text -'new' Name -'(' Punctuation -'h' Name -',' Punctuation -' ' Text -'t' Name -',' Punctuation ' ' Text -'t' Name -'.' Operator -'depth' Name -'+' Operator -'1' Literal.Number.Integer -',' Punctuation -' ' Text -'length' Name -'(' Punctuation -'h' Name -')' Punctuation -'+' Operator -'length' Name -'(' Punctuation -'t' Name -')' Punctuation -')' Punctuation -'\n' Text - -'\n' Text - -' ' Text -'RopeString' Keyword.Type -'(' Punctuation -'h' Name -'::' Operator -'String' Name -',' Punctuation +'c' Name ' ' Text -'t' Name -'::' Operator -'String' Name -')' Punctuation +'>' Operator ' ' Text -'=' Operator -'\n' Text - -' ' Text -'new' Name -'(' Punctuation -'h' Name -',' Punctuation +'0' Literal.Number.Integer ' ' Text -'t' Name -',' Punctuation +'?' Operator ' ' Text +'+' Operator '1' Literal.Number.Integer -',' Punctuation ' ' Text -'length' Name -'(' Punctuation -'h' Name -')' Punctuation -'+' Operator -'length' Name +':' Operator +' ' Text +'cmp' Name '(' Punctuation -'t' Name -')' Punctuation +'al' Name +',' Punctuation +'bl' Name ')' Punctuation '\n' Text @@ -3581,1466 +1143,472 @@ '\n' Text -'depth' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'0' Literal.Number.Integer -'\n' Text - -'depth' Name -'(' Punctuation -'s' Name -'::' Operator -'RopeString' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'s' Name -'.' Operator -'depth' Name -'\n' Text - -'\n' Text - 'function' Keyword ' ' Text -'next' Name +'==' Operator '(' Punctuation -'s' Name +'a' Name '::' Operator -'RopeString' Keyword.Type +'String' Keyword.Type ',' Punctuation ' ' Text -'i' Name +'b' Name '::' Operator -'Int' Keyword.Type +'String' Keyword.Type ')' Punctuation '\n' Text ' ' Text -'if' Keyword -' ' Text -'i' Name -' ' Text -'<=' Operator -' ' Text -'length' Name +'pointer_from_objref' Name '(' Punctuation -'s' Name -'.' Operator -'head' Name +'a' Name ')' Punctuation -'\n' Text - -' ' Text -'return' Keyword ' ' Text -'next' Name -'(' Punctuation -'s' Name -'.' Operator -'head' Name -',' Punctuation +'==' Operator ' ' Text -'i' Name +'pointer_from_objref' Name +'(' Punctuation +'b' Name ')' Punctuation -'\n' Text - -' ' Text -'else' Keyword -'\n' Text - -' ' Text -'c' Name -',' Punctuation -' ' Text -'j' Name ' ' Text -'=' Operator -' ' Text -'next' Name -'(' Punctuation -'s' Name -'.' Operator -'tail' Name -',' Punctuation +'&&' Operator ' ' Text -'i' Name -'-' Operator -'length' Name -'(' Punctuation -'s' Name -'.' Operator -'head' Name -')' Punctuation -')' Punctuation -'\n' Text - -' ' Text 'return' Keyword ' ' Text -'c' Name -',' Punctuation -' ' Text -'j' Name -'+' Operator -'length' Name -'(' Punctuation -'s' Name -'.' Operator -'head' Name -')' Punctuation +'true' Name.Builtin '\n' Text ' ' Text -'end' Keyword -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'length' Name -'(' Punctuation -'s' Name -'::' Operator -'RopeString' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'s' Name -'.' Operator -'length' Name -'\n' Text - -'strlen' Name -'(' Punctuation -'s' Name -'::' Operator -'RopeString' Keyword.Type -')' Punctuation +'al' Name ' ' Text '=' Operator ' ' Text -'strlen' Name +'sizeof' Name '(' Punctuation -'s' Name -'.' Operator -'head' Name -')' Punctuation -' ' Text -'+' Operator -' ' Text -'strlen' Name -'(' Punctuation -'s' Name -'.' Operator -'tail' Name -')' Punctuation -'\n' Text - -'\n' Text - -'strcat' Name -'(' Punctuation -')' Punctuation -' ' Text -'=' Operator -' ' Text -'"' Literal.String -'"' Literal.String -'\n' Text - -'strcat' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'s' Name -'\n' Text - -'strcat' Name -'(' Punctuation -'x' Name -'.' Operator -'.' Operator -'.' Operator -')' Punctuation -' ' Text -'=' Operator -' ' Text -'strcat' Name -'(' Punctuation -'map' Name -'(' Punctuation -'string' Name -',' Punctuation -'x' Name -')' Punctuation -'.' Operator -'.' Operator -'.' Operator -')' Punctuation -'\n' Text - -'strcat' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'t' Name -'::' Operator -'String' Name -'.' Operator -'.' Operator -'.' Operator +'a' Name ')' Punctuation -' ' Text -'=' Operator '\n' Text ' ' Text -'(' Punctuation -'t' Name -' ' Text -'=' Operator -' ' Text -'strcat' Name -'(' Punctuation -'t' Name -'.' Operator -'.' Operator -'.' Operator -')' Punctuation -';' Punctuation -' ' Text -'isempty' Name -'(' Punctuation -'s' Name -')' Punctuation -' ' Text -'?' Operator +'return' Keyword ' ' Text -'t' Name +'al' Name ' ' Text -':' Operator +'==' Operator ' ' Text -'isempty' Name +'sizeof' Name '(' Punctuation -'t' Name +'b' Name ')' Punctuation ' ' Text -'?' Operator +'&&' Operator ' ' Text -'s' Name +'0' Literal.Number.Integer ' ' Text -':' Operator +'==' Operator ' ' Text -'RopeString' Keyword.Type +'_memcmp' Name '(' Punctuation -'s' Name +'a' Name ',' Punctuation ' ' Text -'t' Name -')' Punctuation -')' Punctuation -'\n' Text - -'\n' Text - -'print' Name -'(' Punctuation -'s' Name -'::' Operator -'RopeString' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'print' Name -'(' Punctuation -'s' Name -'.' Operator -'head' Name +'b' Name ',' Punctuation ' ' Text -'s' Name -'.' Operator -'tail' Name +'al' Name ')' Punctuation '\n' Text -'\n' Text - -'## transformed strings ##' Comment -'\n' Text - -'\n' Text - -'type' Keyword -' ' Text -'TransformedString' Name -' ' Text -'<:' Operator -' ' Text -'String' Name -'\n' Text - -' ' Text -'transform' Name -'::' Operator -'Function' Keyword.Type -'\n' Text - -' ' Text -'string' Name -'::' Operator -'String' Name -'\n' Text - 'end' Keyword '\n' Text '\n' Text -'length' Name +'typemin' Name '(' Punctuation -'s' Name '::' Operator -'TransformedString' Name +'Type' Keyword.Type +'{' Punctuation +'String' Keyword.Type +'}' Punctuation ')' Punctuation ' ' Text '=' Operator ' ' Text -'length' Name -'(' Punctuation -'s' Name -'.' Operator -'string' Name -')' Punctuation +'"' Literal.String +'"' Literal.String '\n' Text -'strlen' Name +'typemin' Name '(' Punctuation -'s' Name '::' Operator -'TransformedString' Name +'String' Keyword.Type ')' Punctuation ' ' Text '=' Operator ' ' Text -'strlen' Name +'typemin' Name '(' Punctuation -'s' Name -'.' Operator -'string' Name +'String' Keyword.Type ')' Punctuation '\n' Text '\n' Text -'function' Keyword +'## thisind, nextind ##' Comment +'\n' Text + +'\n' Text + +'@propagate_inbounds' Name.Decorator ' ' Text -'next' Name +'thisind' Name '(' Punctuation 's' Name '::' Operator -'TransformedString' Name +'String' Keyword.Type ',' Punctuation ' ' Text 'i' Name '::' Operator 'Int' Keyword.Type ')' Punctuation -'\n' Text - -' ' Text -'c' Name -',' Punctuation -' ' Text -'j' Name ' ' Text '=' Operator ' ' Text -'next' Name +'_thisind_str' Name '(' Punctuation 's' Name -'.' Operator -'string' Name -',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'c' Name -' ' Text -'=' Operator -' ' Text -'s' Name -'.' Operator -'transform' Name -'(' Punctuation -'c' Name ',' Punctuation ' ' Text 'i' Name ')' Punctuation '\n' Text -' ' Text -'return' Keyword -' ' Text -'c' Name -',' Punctuation -' ' Text -'j' Name -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'## uppercase and lowercase transformations ##' Comment '\n' Text +'# s should be String or SubString{String}' Comment '\n' Text -'uppercase' Name -'(' Punctuation -'c' Name -'::' Operator -'Char' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'ccall' Keyword -'(' Punctuation -':' Operator -'towupper' Name -',' Punctuation +'@inline' Name.Decorator ' ' Text -'Char' Keyword.Type -',' Punctuation +'function' Keyword ' ' Text +'_thisind_str' Name '(' Punctuation -'Char' Keyword.Type -',' Punctuation -')' Punctuation +'s' Name ',' Punctuation ' ' Text -'c' Name +'i' Name +'::' Operator +'Int' Keyword.Type ')' Punctuation '\n' Text -'lowercase' Name -'(' Punctuation -'c' Name -'::' Operator -'Char' Keyword.Type -')' Punctuation +' ' Text +'i' Name ' ' Text -'=' Operator +'==' Operator ' ' Text -'ccall' Keyword -'(' Punctuation -':' Operator -'towlower' Name -',' Punctuation +'0' Literal.Number.Integer ' ' Text -'Char' Keyword.Type -',' Punctuation +'&&' Operator ' ' Text -'(' Punctuation -'Char' Keyword.Type -',' Punctuation -')' Punctuation -',' Punctuation +'return' Keyword ' ' Text -'c' Name -')' Punctuation -'\n' Text - +'0' Literal.Number.Integer '\n' Text -'uppercase' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation +' ' Text +'n' Name ' ' Text '=' Operator ' ' Text -'TransformedString' Name -'(' Punctuation -'(' Punctuation -'c' Name -',' Punctuation -'i' Name -')' Punctuation -'-' Operator -'>' Operator -'uppercase' Name +'ncodeunits' Name '(' Punctuation -'c' Name -')' Punctuation -',' Punctuation -' ' Text 's' Name ')' Punctuation '\n' Text -'lowercase' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'TransformedString' Name -'(' Punctuation -'(' Punctuation -'c' Name -',' Punctuation +' ' Text 'i' Name -')' Punctuation -'-' Operator -'>' Operator -'lowercase' Name -'(' Punctuation -'c' Name -')' Punctuation -',' Punctuation -' ' Text -'s' Name -')' Punctuation -'\n' Text - -'\n' Text - -'ucfirst' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation ' ' Text -'=' Operator -' ' Text -'TransformedString' Name -'(' Punctuation -'(' Punctuation -'c' Name -',' Punctuation -'i' Name -')' Punctuation -'-' Operator -'>' Operator -'i' Name '==' Operator -'1' Literal.Number.Integer ' ' Text -'?' Operator +'n' Name ' ' Text -'uppercase' Name -'(' Punctuation -'c' Name -')' Punctuation +'+' Operator ' ' Text -':' Operator +'1' Literal.Number.Integer ' ' Text -'c' Name -',' Punctuation +'&&' Operator ' ' Text -'s' Name -')' Punctuation +'return' Keyword +' ' Text +'i' Name '\n' Text -'lcfirst' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator +' ' Text +'@boundscheck' Name.Decorator ' ' Text -'TransformedString' Name +'between' Name '(' Punctuation -'(' Punctuation -'c' Name -',' Punctuation 'i' Name -')' Punctuation -'-' Operator -'>' Operator -'i' Name -'==' Operator -'1' Literal.Number.Integer -' ' Text -'?' Operator -' ' Text -'lowercase' Name -'(' Punctuation -'c' Name -')' Punctuation -' ' Text -':' Operator -' ' Text -'c' Name ',' Punctuation ' ' Text -'s' Name -')' Punctuation -'\n' Text - -'\n' Text - -'const' Keyword.Declaration -' ' Text -'uc' Name -' ' Text -'=' Operator -' ' Text -'uppercase' Name -'\n' Text - -'const' Keyword.Declaration -' ' Text -'lc' Name -' ' Text -'=' Operator -' ' Text -'lowercase' Name -'\n' Text - -'\n' Text - -'## string map ##' Comment -'\n' Text - -'\n' Text - -'function' Keyword -' ' Text -'map' Name -'(' Punctuation -'f' Name -'::' Operator -'Function' Keyword.Type +'1' Literal.Number.Integer ',' Punctuation ' ' Text -'s' Name -'::' Operator -'String' Name +'n' Name ')' Punctuation -'\n' Text - -' ' Text -'out' Name ' ' Text -'=' Operator +'||' Operator ' ' Text -'memio' Name +'throw' Name '(' Punctuation -'length' Name +'BoundsError' Keyword.Type '(' Punctuation 's' Name -')' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'for' Keyword -' ' Text -'c' Name -' ' Text -'in' Keyword.Pseudo -' ' Text -'s' Name -'\n' Text - -' ' Text -'write' Name -'(' Punctuation -'out' Name ',' Punctuation ' ' Text -'f' Name -'(' Punctuation -'c' Name +'i' Name ')' Punctuation -'::' Operator -'Char' Keyword.Type ')' Punctuation '\n' Text ' ' Text -'end' Keyword -'\n' Text - -' ' Text -'takebuf_string' Name -'(' Punctuation -'out' Name -')' Punctuation -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'## conversion of general objects to strings ##' Comment -'\n' Text - -'\n' Text - -'string' Name -'(' Punctuation -'x' Name -')' Punctuation +'@inbounds' Name.Decorator ' ' Text -'=' Operator -' ' Text -'print_to_string' Name -'(' Punctuation -'show' Name -',' Punctuation -' ' Text -'x' Name -')' Punctuation -'\n' Text - -'cstring' Name -'(' Punctuation -'x' Name -'.' Operator -'.' Operator -'.' Operator -')' Punctuation +'b' Name ' ' Text '=' Operator ' ' Text -'print_to_string' Name +'codeunit' Name '(' Punctuation -'print' Name +'s' Name ',' Punctuation ' ' Text -'x' Name -'.' Operator -'.' Operator -'.' Operator -')' Punctuation -'\n' Text - -'\n' Text - -'function' Keyword -' ' Text -'cstring' Name -'(' Punctuation -'p' Name -'::' Operator -'Ptr' Keyword.Type -'{' Punctuation -'Uint8' Name -'}' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'p' Name -' ' Text -'==' Operator -' ' Text -'C_NULL' Name.Builtin -' ' Text -'?' Operator -' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'c' Literal.String -'a' Literal.String -'n' Literal.String -'n' Literal.String -'o' Literal.String -'t' Literal.String -' ' Literal.String -'c' Literal.String -'o' Literal.String -'n' Literal.String -'v' Literal.String -'e' Literal.String -'r' Literal.String -'t' Literal.String -' ' Literal.String -'N' Literal.String -'U' Literal.String -'L' Literal.String -'L' Literal.String -' ' Literal.String -'t' Literal.String -'o' Literal.String -' ' Literal.String -'s' Literal.String -'t' Literal.String -'r' Literal.String -'i' Literal.String -'n' Literal.String -'g' Literal.String -'"' Literal.String +'i' Name ')' Punctuation -' ' Text -':' Operator '\n' Text ' ' Text -'ccall' Keyword -'(' Punctuation -':' Operator -'jl_cstr_to_string' Name -',' Punctuation -' ' Text -'Any' Keyword.Type -',' Punctuation -' ' Text -'(' Punctuation -'Ptr' Keyword.Type -'{' Punctuation -'Uint8' Name -'}' Punctuation -',' Punctuation -')' Punctuation -',' Punctuation -' ' Text -'p' Name -')' Punctuation -'::' Operator -'ByteString' Name -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'## string promotion rules ##' Comment -'\n' Text - -'\n' Text - -'promote_rule' Name '(' Punctuation -'::' Operator -'Type' Keyword.Type -'{' Punctuation -'UTF8String' Keyword.Type -'}' Punctuation -' ' Text -',' Punctuation -' ' Text -'::' Operator -'Type' Keyword.Type -'{' Punctuation -'ASCIIString' Keyword.Type -'}' Punctuation -')' Punctuation -' ' Text -'=' Operator +'b' Name ' ' Text -'UTF8String' Keyword.Type -'\n' Text - -'promote_rule' Name -'(' Punctuation -'::' Operator -'Type' Keyword.Type -'{' Punctuation -'UTF8String' Keyword.Type -'}' Punctuation +'&' Operator ' ' Text -',' Punctuation +'0xc0' Literal.Number.Hex ' ' Text -'::' Operator -'Type' Keyword.Type -'{' Punctuation -'CharString' Name -'}' Punctuation +'==' Operator ' ' Text +'0x80' Literal.Number.Hex ')' Punctuation ' ' Text -'=' Operator +'&' Operator ' ' Text -'UTF8String' Keyword.Type -'\n' Text - -'promote_rule' Name '(' Punctuation -'::' Operator -'Type' Keyword.Type -'{' Punctuation -'ASCIIString' Keyword.Type -'}' Punctuation -',' Punctuation +'i' Name +'-' Operator +'1' Literal.Number.Integer ' ' Text -'::' Operator -'Type' Keyword.Type -'{' Punctuation -'CharString' Name -'}' Punctuation +'>' Operator ' ' Text +'0' Literal.Number.Integer ')' Punctuation ' ' Text -'=' Operator +'||' Operator ' ' Text -'UTF8String' Keyword.Type -'\n' Text - -'\n' Text - -'## printing literal quoted string data ##' Comment -'\n' Text - -'\n' Text - -'# TODO: this is really the inverse of print_unbackslashed' Comment -'\n' Text - -'\n' Text - -'function' Keyword +'return' Keyword ' ' Text -'print_quoted_literal' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -'\n' Text - -' ' Text -'print' Name -'(' Punctuation -'\'"\'' Literal.String.Char -')' Punctuation +'i' Name '\n' Text ' ' Text -'for' Keyword +'@inbounds' Name.Decorator ' ' Text -'c' Name +'b' Name ' ' Text '=' Operator ' ' Text -'s' Name -';' Punctuation -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -'\'"\'' Literal.String.Char -' ' Text -'?' Operator -' ' Text -'print' Name -'(' Punctuation -'"' Literal.String -'\\\\' Literal.String.Escape -'\\"' Literal.String.Escape -'"' Literal.String -')' Punctuation -' ' Text -':' Operator -' ' Text -'print' Name -'(' Punctuation -'c' Name -')' Punctuation -';' Punctuation -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'print' Name -'(' Punctuation -'\'"\'' Literal.String.Char -')' Punctuation -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'## string escaping & unescaping ##' Comment -'\n' Text - -'\n' Text - -'escape_nul' Name +'codeunit' Name '(' Punctuation 's' Name -'::' Operator -'String' Name ',' Punctuation ' ' Text 'i' Name -'::' Operator -'Int' Keyword.Type +'-' Operator +'1' Literal.Number.Integer ')' Punctuation -' ' Text -'=' Operator '\n' Text ' ' Text -'!' Operator -'done' Name +'between' Name '(' Punctuation -'s' Name +'b' Name ',' Punctuation -'i' Name +' ' Text +'0b11000000' Literal.Number.Bin +',' Punctuation +' ' Text +'0b11110111' Literal.Number.Bin ')' Punctuation ' ' Text '&&' Operator ' ' Text -"'0'" Literal.String.Char -' ' Text -'<=' Operator +'return' Keyword ' ' Text -'next' Name -'(' Punctuation -'s' Name -',' Punctuation 'i' Name -')' Punctuation -'[' Punctuation +'-' Operator '1' Literal.Number.Integer -']' Punctuation -' ' Text -'<=' Operator -' ' Text -"'7'" Literal.String.Char -' ' Text -'?' Operator -' ' Text -'L' Name -'"' Literal.String -'\\x00' Literal.String.Escape -'"' Literal.String -' ' Text -':' Operator -' ' Text -'L' Name -'"' Literal.String -'\\0' Literal.String.Escape -'"' Literal.String '\n' Text -'\n' Text - -'is_hex_digit' Name +' ' Text '(' Punctuation -'c' Name -'::' Operator -'Char' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -"'0'" Literal.String.Char -'<=' Operator -'c' Name -'<=' Operator -"'9'" Literal.String.Char -' ' Text -'||' Operator -' ' Text -"'a'" Literal.String.Char -'<=' Operator -'c' Name -'<=' Operator -"'f'" Literal.String.Char -' ' Text -'||' Operator +'b' Name ' ' Text -"'A'" Literal.String.Char -'<=' Operator -'c' Name -'<=' Operator -"'F'" Literal.String.Char -'\n' Text - -'need_full_hex' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation +'&' Operator ' ' Text -'i' Name -'::' Operator -'Int' Keyword.Type -')' Punctuation +'0xc0' Literal.Number.Hex ' ' Text -'=' Operator +'==' Operator ' ' Text -'!' Operator -'done' Name -'(' Punctuation -'s' Name -',' Punctuation -'i' Name +'0x80' Literal.Number.Hex ')' Punctuation ' ' Text -'&&' Operator +'&' Operator ' ' Text -'is_hex_digit' Name -'(' Punctuation -'next' Name '(' Punctuation -'s' Name -',' Punctuation 'i' Name -')' Punctuation -'[' Punctuation -'1' Literal.Number.Integer -']' Punctuation -')' Punctuation -'\n' Text - -'\n' Text - -'function' Keyword +'-' Operator +'2' Literal.Number.Integer ' ' Text -'print_escaped' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation +'>' Operator ' ' Text -'esc' Name -'::' Operator -'String' Name +'0' Literal.Number.Integer ')' Punctuation -'\n' Text - -' ' Text -'i' Name ' ' Text -'=' Operator +'||' Operator ' ' Text -'start' Name -'(' Punctuation -'s' Name -')' Punctuation -'\n' Text - -' ' Text -'while' Keyword +'return' Keyword ' ' Text -'!' Operator -'done' Name -'(' Punctuation -'s' Name -',' Punctuation 'i' Name -')' Punctuation '\n' Text -' ' Text -'c' Name -',' Punctuation +' ' Text +'@inbounds' Name.Decorator ' ' Text -'j' Name +'b' Name ' ' Text '=' Operator ' ' Text -'next' Name +'codeunit' Name '(' Punctuation 's' Name ',' Punctuation +' ' Text 'i' Name +'-' Operator +'2' Literal.Number.Integer ')' Punctuation '\n' Text -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'\\0'" Literal.String.Char -' ' Text -'?' Operator -' ' Text -'print' Name -'(' Punctuation -'escape_nul' Name +' ' Text +'between' Name '(' Punctuation -'s' Name +'b' Name ',' Punctuation -'j' Name -')' Punctuation -')' Punctuation ' ' Text -':' Operator -'\n' Text - -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'\\e'" Literal.String.Char -' ' Text -'?' Operator +'0b11100000' Literal.Number.Bin +',' Punctuation ' ' Text -'print' Name -'(' Punctuation -'L' Name -'"' Literal.String -'\\' Literal.String -'e' Literal.String -'"' Literal.String +'0b11110111' Literal.Number.Bin ')' Punctuation ' ' Text -':' Operator -'\n' Text - -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'\\\\'" Literal.String.Char -' ' Text -'?' Operator +'&&' Operator ' ' Text -'print' Name -'(' Punctuation -'"' Literal.String -'\\\\' Literal.String.Escape -'\\\\' Literal.String.Escape -'"' Literal.String -')' Punctuation +'return' Keyword ' ' Text -':' Operator +'i' Name +'-' Operator +'2' Literal.Number.Integer '\n' Text -' ' Text -'contains' Name +' ' Text '(' Punctuation -'esc' Name -',' Punctuation -'c' Name -')' Punctuation -' ' Text -'?' Operator +'b' Name ' ' Text -'print' Name -'(' Punctuation -"'\\\\'" Literal.String.Char -',' Punctuation +'&' Operator ' ' Text -'c' Name -')' Punctuation +'0xc0' Literal.Number.Hex ' ' Text -':' Operator -'\n' Text - -' ' Text -'iswprint' Name -'(' Punctuation -'c' Name -')' Punctuation -' ' Text -'?' Operator +'==' Operator ' ' Text -'print' Name -'(' Punctuation -'c' Name +'0x80' Literal.Number.Hex ')' Punctuation ' ' Text -':' Operator -'\n' Text - -' ' Text -'7' Literal.Number.Integer -' ' Text -'<=' Operator -' ' Text -'c' Name -' ' Text -'<=' Operator -' ' Text -'13' Literal.Number.Integer -' ' Text -'?' Operator +'&' Operator ' ' Text -'print' Name '(' Punctuation -"'\\\\'" Literal.String.Char -',' Punctuation -' ' Text -'"' Literal.String -'a' Literal.String -'b' Literal.String -'t' Literal.String -'n' Literal.String -'v' Literal.String -'f' Literal.String -'r' Literal.String -'"' Literal.String -'[' Punctuation -'c' Name +'i' Name '-' Operator -'6' Literal.Number.Integer -']' Punctuation -')' Punctuation -' ' Text -':' Operator -'\n' Text - -' ' Text -'c' Name -' ' Text -'<=' Operator +'3' Literal.Number.Integer ' ' Text -"'\\x7f'" Literal.String.Char -' ' Text -'?' Operator +'>' Operator ' ' Text -'print' Name -'(' Punctuation -'L' Name -'"' Literal.String -'\\' Literal.String -'x' Literal.String -'"' Literal.String -',' Punctuation +'0' Literal.Number.Integer +')' Punctuation ' ' Text -'hex' Name -'(' Punctuation -'c' Name -',' Punctuation +'||' Operator ' ' Text -'2' Literal.Number.Integer -')' Punctuation -')' Punctuation +'return' Keyword ' ' Text -':' Operator +'i' Name '\n' Text -' ' Text -'c' Name -' ' Text -'<=' Operator -' ' Text -"'\\uffff'" Literal.String.Char -' ' Text -'?' Operator +' ' Text +'@inbounds' Name.Decorator ' ' Text -'print' Name -'(' Punctuation -'L' Name -'"' Literal.String -'\\' Literal.String -'u' Literal.String -'"' Literal.String -',' Punctuation +'b' Name ' ' Text -'hex' Name -'(' Punctuation -'c' Name -',' Punctuation +'=' Operator ' ' Text -'need_full_hex' Name +'codeunit' Name '(' Punctuation 's' Name ',' Punctuation -'j' Name -')' Punctuation -' ' Text -'?' Operator -' ' Text -'4' Literal.Number.Integer -' ' Text -':' Operator ' ' Text -'2' Literal.Number.Integer -')' Punctuation +'i' Name +'-' Operator +'3' Literal.Number.Integer ')' Punctuation -' ' Text -':' Operator '\n' Text -' ' Text -'print' Name +' ' Text +'between' Name '(' Punctuation -'L' Name -'"' Literal.String -'\\' Literal.String -'U' Literal.String -'"' Literal.String +'b' Name ',' Punctuation ' ' Text -'hex' Name -'(' Punctuation -'c' Name +'0b11110000' Literal.Number.Bin ',' Punctuation ' ' Text -'need_full_hex' Name -'(' Punctuation -'s' Name -',' Punctuation -'j' Name +'0b11110111' Literal.Number.Bin ')' Punctuation ' ' Text -'?' Operator -' ' Text -'8' Literal.Number.Integer +'&&' Operator ' ' Text -':' Operator +'return' Keyword ' ' Text -'4' Literal.Number.Integer -')' Punctuation -')' Punctuation -'\n' Text - -' ' Text 'i' Name -' ' Text -'=' Operator -' ' Text -'j' Name +'-' Operator +'3' Literal.Number.Integer '\n' Text ' ' Text -'end' Keyword +'return' Keyword +' ' Text +'i' Name '\n' Text 'end' Keyword @@ -5048,1051 +1616,413 @@ '\n' Text -'escape_string' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'print_to_string' Name -'(' Punctuation -'length' Name -'(' Punctuation -'s' Name -')' Punctuation -',' Punctuation -' ' Text -'print_escaped' Name -',' Punctuation -' ' Text -'s' Name -',' Punctuation +'@propagate_inbounds' Name.Decorator ' ' Text -'"' Literal.String -'\\"' Literal.String.Escape -'"' Literal.String -')' Punctuation -'\n' Text - -'print_quoted' Name +'nextind' Name '(' Punctuation 's' Name '::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'(' Punctuation -'print' Name -'(' Punctuation -'\'"\'' Literal.String.Char -')' Punctuation -';' Punctuation -' ' Text -'print_escaped' Name -'(' Punctuation -'s' Name +'String' Keyword.Type ',' Punctuation ' ' Text -'"' Literal.String -'\\"' Literal.String.Escape -'\\$' Literal.String.Escape -'"' Literal.String -')' Punctuation -';' Punctuation -' ' Text -'print' Name -'(' Punctuation -'\'"\'' Literal.String.Char -')' Punctuation -')' Punctuation -'\n' Text - -'#" # work around syntax highlighting problem' Comment -'\n' Text - -'quote_string' Name -'(' Punctuation -'s' Name +'i' Name '::' Operator -'String' Name +'Int' Keyword.Type ')' Punctuation ' ' Text '=' Operator ' ' Text -'print_to_string' Name -'(' Punctuation -'length' Name +'_nextind_str' Name '(' Punctuation 's' Name -')' Punctuation -'+' Operator -'2' Literal.Number.Integer -',' Punctuation -' ' Text -'print_quoted' Name ',' Punctuation ' ' Text -'s' Name +'i' Name ')' Punctuation '\n' Text '\n' Text -'# bare minimum unescaping function unescapes only given characters' Comment -'\n' Text - +'# s should be String or SubString{String}' Comment '\n' Text +'@inline' Name.Decorator +' ' Text 'function' Keyword ' ' Text -'print_unescaped_chars' Name +'_nextind_str' Name '(' Punctuation 's' Name -'::' Operator -'String' Name ',' Punctuation ' ' Text -'esc' Name +'i' Name '::' Operator -'String' Name +'Int' Keyword.Type ')' Punctuation '\n' Text ' ' Text -'if' Keyword +'i' Name ' ' Text -'!' Operator -'contains' Name -'(' Punctuation -'esc' Name -',' Punctuation -"'\\\\'" Literal.String.Char -')' Punctuation -'\n' Text - -' ' Text -'esc' Name +'==' Operator ' ' Text -'=' Operator +'0' Literal.Number.Integer ' ' Text -'strcat' Name -'(' Punctuation -'"' Literal.String -'\\\\' Literal.String.Escape -'"' Literal.String -',' Punctuation +'&&' Operator ' ' Text -'esc' Name -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword +'return' Keyword +' ' Text +'1' Literal.Number.Integer '\n' Text ' ' Text -'i' Name +'n' Name ' ' Text '=' Operator ' ' Text -'start' Name +'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation '\n' Text ' ' Text -'while' Keyword +'@boundscheck' Name.Decorator ' ' Text -'!' Operator -'done' Name +'between' Name '(' Punctuation -'s' Name -',' Punctuation 'i' Name -')' Punctuation -'\n' Text - -' ' Text -'c' Name ',' Punctuation ' ' Text -'i' Name -' ' Text -'=' Operator -' ' Text -'next' Name -'(' Punctuation -'s' Name +'1' Literal.Number.Integer ',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'c' Name -' ' Text -'==' Operator ' ' Text -"'\\\\'" Literal.String.Char +'n' Name +')' Punctuation ' ' Text -'&&' Operator +'||' Operator ' ' Text -'!' Operator -'done' Name +'throw' Name +'(' Punctuation +'BoundsError' Keyword.Type '(' Punctuation 's' Name ',' Punctuation -'i' Name -')' Punctuation ' ' Text -'&&' Operator -' ' Text -'contains' Name -'(' Punctuation -'esc' Name -',' Punctuation -'s' Name -'[' Punctuation 'i' Name -']' Punctuation +')' Punctuation ')' Punctuation '\n' Text -' ' Text -'c' Name -',' Punctuation +' ' Text +'@inbounds' Name.Decorator ' ' Text -'i' Name +'l' Name ' ' Text '=' Operator ' ' Text -'next' Name +'codeunit' Name '(' Punctuation 's' Name ',' Punctuation +' ' Text 'i' Name ')' Punctuation '\n' Text -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'print' Name -'(' Punctuation -'c' Name -')' Punctuation -'\n' Text - ' ' Text -'end' Keyword -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'unescape_chars' Name '(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation +'l' Name ' ' Text -'esc' Name -'::' Operator -'String' Name -')' Punctuation +'<' Operator ' ' Text -'=' Operator -'\n' Text - -' ' Text -'print_to_string' Name -'(' Punctuation -'length' Name -'(' Punctuation -'s' Name +'0x80' Literal.Number.Hex ')' Punctuation -',' Punctuation ' ' Text -'print_unescaped_chars' Name -',' Punctuation +'|' Operator ' ' Text -'s' Name -',' Punctuation +'(' Punctuation +'0xf8' Literal.Number.Hex ' ' Text -'esc' Name -')' Punctuation -'\n' Text - -'\n' Text - -'# general unescaping of traditional C and Unicode escape sequences' Comment -'\n' Text - -'\n' Text - -'function' Keyword +'≤' Operator ' ' Text -'print_unescaped' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name +'l' Name ')' Punctuation -'\n' Text - -' ' Text -'i' Name ' ' Text -'=' Operator +'&&' Operator ' ' Text -'start' Name -'(' Punctuation -'s' Name -')' Punctuation +'return' Keyword +' ' Text +'i' Name +'+' Operator +'1' Literal.Number.Integer '\n' Text ' ' Text -'while' Keyword +'if' Keyword ' ' Text -'!' Operator -'done' Name -'(' Punctuation -'s' Name -',' Punctuation -'i' Name -')' Punctuation +'l' Name +' ' Text +'<' Operator +' ' Text +'0xc0' Literal.Number.Hex '\n' Text ' ' Text -'c' Name -',' Punctuation -' ' Text -'i' Name +'i′' Name ' ' Text '=' Operator ' ' Text -'next' Name +'@inbounds' Name.Decorator +' ' Text +'thisind' Name '(' Punctuation 's' Name ',' Punctuation +' ' Text 'i' Name ')' Punctuation '\n' Text ' ' Text -'if' Keyword -' ' Text -'!' Operator -'done' Name -'(' Punctuation -'s' Name -',' Punctuation -'i' Name -')' Punctuation -' ' Text -'&&' Operator +'return' Keyword ' ' Text -'c' Name +'i′' Name ' ' Text -'==' Operator -' ' Text -"'\\\\'" Literal.String.Char -'\n' Text - -' ' Text -'c' Name -',' Punctuation +'<' Operator ' ' Text 'i' Name ' ' Text -'=' Operator +'?' Operator ' ' Text -'next' Name +'@inbounds' Name.Decorator +'(' Punctuation +'nextind' Name '(' Punctuation 's' Name ',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'x'" Literal.String.Char -' ' Text -'||' Operator -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'u'" Literal.String.Char -' ' Text -'||' Operator ' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'U'" Literal.String.Char -'\n' Text - -' ' Text -'n' Name -' ' Text -'=' Operator -' ' Text -'k' Name +'i′' Name +')' Punctuation +')' Punctuation ' ' Text -'=' Operator +':' Operator ' ' Text -'0' Literal.Number.Integer +'i' Name +'+' Operator +'1' Literal.Number.Integer '\n' Text -' ' Text -'m' Name -' ' Text -'=' Operator -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'x'" Literal.String.Char -' ' Text -'?' Operator -' ' Text -'2' Literal.Number.Integer -' ' Text -':' Operator +' ' Text +'end' Keyword '\n' Text -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'u'" Literal.String.Char -' ' Text -'?' Operator -' ' Text -'4' Literal.Number.Integer -' ' Text -':' Operator -' ' Text -'8' Literal.Number.Integer +' ' Text +'# first continuation byte' Comment '\n' Text -' ' Text -'while' Keyword -' ' Text +' ' Text '(' Punctuation -'k' Name +'i' Name +' ' Text '+=' Operator +' ' Text '1' Literal.Number.Integer ')' Punctuation ' ' Text -'<=' Operator +'>' Operator ' ' Text -'m' Name +'n' Name ' ' Text '&&' Operator ' ' Text -'!' Operator -'done' Name -'(' Punctuation -'s' Name -',' Punctuation +'return' Keyword +' ' Text 'i' Name -')' Punctuation '\n' Text -' ' Text -'c' Name -',' Punctuation +' ' Text +'@inbounds' Name.Decorator ' ' Text -'j' Name +'b' Name ' ' Text '=' Operator ' ' Text -'next' Name +'codeunit' Name '(' Punctuation 's' Name ',' Punctuation +' ' Text 'i' Name ')' Punctuation '\n' Text -' ' Text -'n' Name -' ' Text -'=' Operator -' ' Text -"'0'" Literal.String.Char -' ' Text -'<=' Operator -' ' Text -'c' Name -' ' Text -'<=' Operator -' ' Text -"'9'" Literal.String.Char -' ' Text -'?' Operator -' ' Text -'n' Name -'<<' Operator -'4' Literal.Number.Integer -' ' Text -'+' Operator -' ' Text -'c' Name -'-' Operator -"'0'" Literal.String.Char -' ' Text -':' Operator -'\n' Text - -' ' Text -"'a'" Literal.String.Char -' ' Text -'<=' Operator -' ' Text -'c' Name -' ' Text -'<=' Operator -' ' Text -"'f'" Literal.String.Char -' ' Text -'?' Operator -' ' Text -'n' Name -'<<' Operator -'4' Literal.Number.Integer -' ' Text -'+' Operator -' ' Text -'c' Name -'-' Operator -"'a'" Literal.String.Char -'+' Operator -'10' Literal.Number.Integer -' ' Text -':' Operator -'\n' Text - -' ' Text -"'A'" Literal.String.Char -' ' Text -'<=' Operator +' ' Text +'b' Name ' ' Text -'c' Name +'&' Operator ' ' Text -'<=' Operator +'0xc0' Literal.Number.Hex ' ' Text -"'F'" Literal.String.Char +'≠' Operator ' ' Text -'?' Operator +'0x80' Literal.Number.Hex ' ' Text -'n' Name -'<<' Operator -'4' Literal.Number.Integer -' ' Text -'+' Operator -' ' Text -'c' Name -'-' Operator -"'A'" Literal.String.Char -'+' Operator -'10' Literal.Number.Integer +'&&' Operator ' ' Text -':' Operator +'return' Keyword ' ' Text -'break' Keyword -'\n' Text - -' ' Text 'i' Name -' ' Text -'=' Operator -' ' Text -'j' Name '\n' Text -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'k' Name +' ' Text +'(' Punctuation +'(' Punctuation +'i' Name ' ' Text -'==' Operator +'+=' Operator ' ' Text '1' Literal.Number.Integer -'\n' Text - -' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'\\\\' Literal.String.Escape -'x' Literal.String -' ' Literal.String -'u' Literal.String -'s' Literal.String -'e' Literal.String -'d' Literal.String -' ' Literal.String -'w' Literal.String -'i' Literal.String -'t' Literal.String -'h' Literal.String -' ' Literal.String -'n' Literal.String -'o' Literal.String -' ' Literal.String -'f' Literal.String -'o' Literal.String -'l' Literal.String -'l' Literal.String -'o' Literal.String -'w' Literal.String -'i' Literal.String -'n' Literal.String -'g' Literal.String -' ' Literal.String -'h' Literal.String -'e' Literal.String -'x' Literal.String -' ' Literal.String -'d' Literal.String -'i' Literal.String -'g' Literal.String -'i' Literal.String -'t' Literal.String -'s' Literal.String -'"' Literal.String ')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'m' Name -' ' Text -'==' Operator ' ' Text -'2' Literal.Number.Integer +'>' Operator ' ' Text -'# \\x escape sequence' Comment -'\n' Text - -' ' Text -'write' Name -'(' Punctuation -'uint8' Name -'(' Punctuation -'n' Name -')' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'else' Keyword -'\n' Text - -' ' Text -'print' Name -'(' Punctuation -'char' Name -'(' Punctuation 'n' Name ')' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'elseif' Keyword -' ' Text -"'0'" Literal.String.Char -' ' Text -'<=' Operator -' ' Text -'c' Name -' ' Text -'<=' Operator -' ' Text -"'7'" Literal.String.Char -'\n' Text - -' ' Text -'k' Name -' ' Text -'=' Operator ' ' Text -'1' Literal.Number.Integer -'\n' Text - -' ' Text -'n' Name -' ' Text -'=' Operator -' ' Text -'c' Name -'-' Operator -"'0'" Literal.String.Char -'\n' Text - -' ' Text -'while' Keyword +'|' Operator ' ' Text '(' Punctuation -'k' Name -'+=' Operator -'1' Literal.Number.Integer -')' Punctuation +'l' Name ' ' Text -'<=' Operator +'<' Operator ' ' Text -'3' Literal.Number.Integer +'0xe0' Literal.Number.Hex +')' Punctuation ' ' Text '&&' Operator ' ' Text -'!' Operator -'done' Name -'(' Punctuation -'s' Name -',' Punctuation +'return' Keyword +' ' Text 'i' Name -')' Punctuation '\n' Text -' ' Text -'c' Name -',' Punctuation +' ' Text +'# second continuation byte' Comment +'\n' Text + +' ' Text +'@inbounds' Name.Decorator ' ' Text -'j' Name +'b' Name ' ' Text '=' Operator ' ' Text -'next' Name +'codeunit' Name '(' Punctuation 's' Name ',' Punctuation +' ' Text 'i' Name ')' Punctuation '\n' Text -' ' Text -'n' Name -' ' Text -'=' Operator -' ' Text -"'0'" Literal.String.Char -' ' Text -'<=' Operator -' ' Text -'c' Name -' ' Text -'<=' Operator +' ' Text +'b' Name ' ' Text -"'7'" Literal.String.Char +'&' Operator ' ' Text -'?' Operator +'0xc0' Literal.Number.Hex ' ' Text -'n' Name -'<<' Operator -'3' Literal.Number.Integer +'≠' Operator ' ' Text -'+' Operator +'0x80' Literal.Number.Hex ' ' Text -'c' Name -'-' Operator -"'0'" Literal.String.Char +'&&' Operator ' ' Text -':' Operator +'return' Keyword ' ' Text -'break' Keyword +'i' Name '\n' Text -' ' Text +' ' Text +'(' Punctuation +'(' Punctuation 'i' Name ' ' Text -'=' Operator -' ' Text -'j' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'if' Keyword +'+=' Operator ' ' Text -'n' Name +'1' Literal.Number.Integer +')' Punctuation ' ' Text '>' Operator ' ' Text -'255' Literal.Number.Integer -'\n' Text - -' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'o' Literal.String -'c' Literal.String -'t' Literal.String -'a' Literal.String -'l' Literal.String -' ' Literal.String -'e' Literal.String -'s' Literal.String -'c' Literal.String -'a' Literal.String -'p' Literal.String -'e' Literal.String -' ' Literal.String -'s' Literal.String -'e' Literal.String -'q' Literal.String -'u' Literal.String -'e' Literal.String -'n' Literal.String -'c' Literal.String -'e' Literal.String -' ' Literal.String -'o' Literal.String -'u' Literal.String -'t' Literal.String -' ' Literal.String -'o' Literal.String -'f' Literal.String -' ' Literal.String -'r' Literal.String -'a' Literal.String -'n' Literal.String -'g' Literal.String -'e' Literal.String -'"' Literal.String -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'write' Name -'(' Punctuation -'uint8' Name -'(' Punctuation 'n' Name ')' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'else' Keyword -'\n' Text - -' ' Text -'print' Name -'(' Punctuation -'c' Name -' ' Text -'==' Operator -' ' Text -"'a'" Literal.String.Char -' ' Text -'?' Operator -' ' Text -"'\\a'" Literal.String.Char -' ' Text -':' Operator -'\n' Text - -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'b'" Literal.String.Char -' ' Text -'?' Operator -' ' Text -"'\\b'" Literal.String.Char -' ' Text -':' Operator -'\n' Text - -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'t'" Literal.String.Char -' ' Text -'?' Operator -' ' Text -"'\\t'" Literal.String.Char -' ' Text -':' Operator -'\n' Text - -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'n'" Literal.String.Char -' ' Text -'?' Operator -' ' Text -"'\\n'" Literal.String.Char -' ' Text -':' Operator -'\n' Text - -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'v'" Literal.String.Char ' ' Text -'?' Operator -' ' Text -"'\\v'" Literal.String.Char +'|' Operator ' ' Text -':' Operator -'\n' Text - -' ' Text -'c' Name +'(' Punctuation +'l' Name ' ' Text -'==' Operator +'<' Operator ' ' Text -"'f'" Literal.String.Char +'0xf0' Literal.Number.Hex +')' Punctuation ' ' Text -'?' Operator +'&&' Operator ' ' Text -"'\\f'" Literal.String.Char +'return' Keyword ' ' Text -':' Operator +'i' Name '\n' Text -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'r'" Literal.String.Char -' ' Text -'?' Operator -' ' Text -"'\\r'" Literal.String.Char -' ' Text -':' Operator +' ' Text +'# third continuation byte' Comment '\n' Text -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'e'" Literal.String.Char -' ' Text -'?' Operator +' ' Text +'@inbounds' Name.Decorator ' ' Text -"'\\e'" Literal.String.Char +'b' Name ' ' Text -':' Operator +'=' Operator ' ' Text -'c' Name -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'else' Keyword -'\n' Text - -' ' Text -'print' Name +'codeunit' Name '(' Punctuation -'c' Name +'s' Name +',' Punctuation +' ' Text +'i' Name ')' Punctuation '\n' Text -' ' Text -'end' Keyword -'\n' Text - ' ' Text -'end' Keyword -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'unescape_string' Name +'ifelse' Name '(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation +'b' Name ' ' Text -'=' Operator +'&' Operator ' ' Text -'print_to_string' Name -'(' Punctuation -'length' Name -'(' Punctuation -'s' Name -')' Punctuation +'0xc0' Literal.Number.Hex +' ' Text +'≠' Operator +' ' Text +'0x80' Literal.Number.Hex ',' Punctuation ' ' Text -'print_unescaped' Name +'i' Name ',' Punctuation ' ' Text -'s' Name +'i' Name +'+' Operator +'1' Literal.Number.Integer ')' Punctuation '\n' Text +'end' Keyword +'\n' Text + '\n' Text '## checking UTF-8 & ACSII validity ##' Comment @@ -6104,7 +2034,27 @@ '(' Punctuation 's' Name '::' Operator -'ByteString' Name +'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 '=' Operator @@ -6113,8 +2063,7 @@ ' ' Text 'ccall' Keyword '(' Punctuation -':' Operator -'u8_isvalid' Name +':u8_isvalid' Literal.String.Symbol ',' Punctuation ' ' Text 'Int32' Keyword.Type @@ -6123,7 +2072,7 @@ '(' Punctuation 'Ptr' Keyword.Type '{' Punctuation -'Uint8' Name +'UInt8' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text @@ -6132,11 +2081,9 @@ ',' Punctuation ' ' Text 's' Name -'.' Operator -'data' Name ',' Punctuation ' ' Text -'length' Name +'sizeof' Name '(' Punctuation 's' Name ')' Punctuation @@ -6157,31 +2104,38 @@ '\n' Text -'is_valid_ascii' Name +'isvalid' Name '(' Punctuation -'s' Name '::' Operator -'ByteString' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'byte_string_classify' Name -'(' Punctuation -'s' Name -')' Punctuation -' ' Text -'==' Operator -' ' Text -'1' Literal.Number.Integer -'\n' Text - -'is_valid_utf8' Name +'Type' Keyword.Type +'{' Punctuation +'String' Keyword.Type +'}' Punctuation +',' Punctuation ' ' Text -'(' Punctuation 's' Name '::' Operator -'ByteString' Name +'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 '=' Operator @@ -6191,486 +2145,178 @@ 's' Name ')' Punctuation ' ' Text -'!=' Operator +'≠' Operator ' ' Text '0' Literal.Number.Integer '\n' Text -'\n' Text - -'check_ascii' Name +'isvalid' Name '(' Punctuation 's' Name '::' Operator -'ByteString' Name +'String' Keyword.Type ')' Punctuation ' ' Text '=' Operator ' ' Text -'is_valid_ascii' Name +'isvalid' Name '(' Punctuation -'s' Name -')' Punctuation -' ' Text -'?' Operator +'String' Keyword.Type +',' Punctuation ' ' Text 's' Name -' ' Text -':' Operator -' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'i' Literal.String -'n' Literal.String -'v' Literal.String -'a' Literal.String -'l' Literal.String -'i' Literal.String -'d' Literal.String -' ' Literal.String -'A' Literal.String -'S' Literal.String -'C' Literal.String -'I' Literal.String -'I' Literal.String -' ' Literal.String -'s' Literal.String -'e' Literal.String -'q' Literal.String -'u' Literal.String -'e' Literal.String -'n' Literal.String -'c' Literal.String -'e' Literal.String -'"' Literal.String ')' Punctuation '\n' Text -'check_utf8' Name -' ' Text +'\n' Text + +'is_valid_continuation' Name '(' Punctuation -'s' Name -'::' Operator -'ByteString' Name +'c' Name ')' Punctuation ' ' Text '=' Operator ' ' Text -'is_valid_utf8' Name -'(' Punctuation -'s' Name -')' Punctuation -' ' Text -'?' Operator +'c' Name ' ' Text -'s' Name +'&' Operator ' ' Text -':' Operator +'0xc0' Literal.Number.Hex ' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'i' Literal.String -'n' Literal.String -'v' Literal.String -'a' Literal.String -'l' Literal.String -'i' Literal.String -'d' Literal.String -' ' Literal.String -'U' Literal.String -'T' Literal.String -'F' Literal.String -'-' Literal.String -'8' Literal.String -' ' Literal.String -'s' Literal.String -'e' Literal.String -'q' Literal.String -'u' Literal.String -'e' Literal.String -'n' Literal.String -'c' Literal.String -'e' Literal.String -'"' Literal.String -')' Punctuation +'==' Operator +' ' Text +'0x80' Literal.Number.Hex '\n' Text '\n' Text -'## string interpolation parsing ##' Comment +'## required core functionality ##' Comment '\n' Text '\n' Text +'@inline' Name.Decorator +' ' Text 'function' Keyword ' ' Text -'_jl_interp_parse' Name +'iterate' Name '(' Punctuation 's' Name '::' Operator -'String' Name +'String' Keyword.Type ',' Punctuation ' ' Text -'unescape' Name -'::' Operator -'Function' Keyword.Type -',' Punctuation -' ' Text -'printer' Name -'::' Operator -'Function' Keyword.Type -')' Punctuation -'\n' Text - -' ' Text -'sx' Name -' ' Text -'=' Operator -' ' Text -'{' Punctuation -'}' Punctuation -'\n' Text - -' ' Text 'i' Name -' ' Text -'=' Operator -' ' Text -'j' Name -' ' Text +'::' Operator +'Int' Keyword.Type '=' Operator -' ' Text -'start' Name +'firstindex' Name '(' Punctuation 's' Name ')' Punctuation +')' Punctuation '\n' Text ' ' Text -'while' Keyword -' ' Text -'!' Operator -'done' Name '(' Punctuation -'s' Name -',' Punctuation -'j' Name -')' Punctuation -'\n' Text - -' ' Text -'c' Name -',' Punctuation -' ' Text -'k' Name +'i' Name ' ' Text -'=' Operator +'%' Operator ' ' Text -'next' Name -'(' Punctuation -'s' Name -',' Punctuation -'j' Name +'UInt' Keyword.Type ')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'c' Name ' ' Text -'==' Operator -' ' Text -"'$'" Literal.String.Char -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'!' Operator -'isempty' Name -'(' Punctuation -'s' Name -'[' Punctuation -'i' Name -':' Operator -'j' Name '-' Operator -'1' Literal.Number.Integer -']' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'push' Name -'(' Punctuation -'sx' Name -',' Punctuation ' ' Text -'unescape' Name -'(' Punctuation -'s' Name -'[' Punctuation -'i' Name -':' Operator -'j' Name -'-' Operator '1' Literal.Number.Integer -']' Punctuation -')' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'ex' Name -',' Punctuation ' ' Text -'j' Name -' ' Text -'=' Operator +'<' Operator ' ' Text -'parseatom' Name +'ncodeunits' Name '(' Punctuation 's' Name -',' Punctuation -'k' Name ')' Punctuation -'\n' Text - -' ' Text -'push' Name -'(' Punctuation -'sx' Name -',' Punctuation ' ' Text -'ex' Name -')' Punctuation -'\n' Text - -' ' Text -'i' Name +'||' Operator ' ' Text -'=' Operator +'return' Keyword ' ' Text -'j' Name +'nothing' Name.Builtin '\n' Text -' ' Text -'elseif' Keyword -' ' Text -'c' Name -' ' Text -'==' Operator +' ' Text +'b' Name ' ' Text -"'\\\\'" Literal.String.Char +'=' Operator ' ' Text -'&&' Operator +'@inbounds' Name.Decorator ' ' Text -'!' Operator -'done' Name +'codeunit' Name '(' Punctuation 's' Name ',' Punctuation -'k' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'s' Name -'[' Punctuation -'k' Name -']' Punctuation -' ' Text -'==' Operator -' ' Text -"'$'" Literal.String.Char -'\n' Text - -' ' Text -'if' Keyword ' ' Text -'!' Operator -'isempty' Name -'(' Punctuation -'s' Name -'[' Punctuation 'i' Name -':' Operator -'j' Name -'-' Operator -'1' Literal.Number.Integer -']' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'push' Name -'(' Punctuation -'sx' Name -',' Punctuation -' ' Text -'unescape' Name -'(' Punctuation -'s' Name -'[' Punctuation -'i' Name -':' Operator -'j' Name -'-' Operator -'1' Literal.Number.Integer -']' Punctuation -')' Punctuation ')' Punctuation '\n' Text -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'i' Name -' ' Text -'=' Operator -' ' Text -'k' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'c' Name -',' Punctuation -' ' Text -'j' Name +' ' Text +'u' Name ' ' Text '=' Operator ' ' Text -'next' Name +'UInt32' Keyword.Type '(' Punctuation -'s' Name -',' Punctuation -'k' Name +'b' Name ')' Punctuation -'\n' Text - -' ' Text -'else' Keyword -'\n' Text - -' ' Text -'j' Name ' ' Text -'=' Operator +'<<' Operator ' ' Text -'k' Name -'\n' Text - -' ' Text -'end' Keyword +'24' Literal.Number.Integer '\n' Text ' ' Text -'end' Keyword -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'!' Operator -'isempty' Name -'(' Punctuation -'s' Name -'[' Punctuation -'i' Name -':' Operator -']' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'push' Name +'between' Name '(' Punctuation -'sx' Name +'b' Name ',' Punctuation ' ' Text -'unescape' Name -'(' Punctuation -'s' Name -'[' Punctuation -'i' Name -':' Operator -'j' Name -'-' Operator -'1' Literal.Number.Integer -']' Punctuation -')' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'length' Name -'(' Punctuation -'sx' Name -')' Punctuation +'0x80' Literal.Number.Hex +',' Punctuation ' ' Text -'==' Operator +'0xf7' Literal.Number.Hex +')' Punctuation ' ' Text -'1' Literal.Number.Integer +'||' Operator ' ' Text -'&&' Operator +'return' Keyword ' ' Text -'isa' Keyword.Pseudo +'reinterpret' Name '(' Punctuation -'sx' Name -'[' Punctuation -'1' Literal.Number.Integer -']' Punctuation +'Char' Keyword.Type ',' Punctuation -'ByteString' Name -')' Punctuation ' ' Text -'?' Operator +'u' Name +')' Punctuation +',' Punctuation ' ' Text -'sx' Name -'[' Punctuation +'i' Name +'+' Operator '1' Literal.Number.Integer -']' Punctuation -' ' Text -':' Operator '\n' Text -' ' Text -'expr' Name -'(' Punctuation -':' Operator -'call' Name -',' Punctuation +' ' Text +'return' Keyword ' ' Text -':' Operator -'print_to_string' Name +'iterate_continued' Name +'(' Punctuation +'s' Name ',' Punctuation ' ' Text -'printer' Name +'i' Name ',' Punctuation ' ' Text -'sx' Name -'.' Operator -'.' Operator -'.' Operator +'u' Name ')' Punctuation '\n' Text @@ -6679,1393 +2325,481 @@ '\n' Text -'_jl_interp_parse' Name +'function' Keyword +' ' Text +'iterate_continued' Name '(' Punctuation 's' Name '::' Operator -'String' Name +'String' Keyword.Type ',' Punctuation ' ' Text -'u' Name +'i' Name '::' Operator -'Function' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'_jl_interp_parse' Name -'(' Punctuation -'s' Name +'Int' Keyword.Type ',' Punctuation ' ' Text 'u' Name -',' Punctuation -' ' Text -'print' Name +'::' Operator +'UInt32' Keyword.Type ')' Punctuation '\n' Text -'_jl_interp_parse' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation +' ' Text +'u' Name ' ' Text -'=' Operator +'<' Operator ' ' Text -'_jl_interp_parse' Name -'(' Punctuation -'s' Name -',' Punctuation +'0xc0000000' Literal.Number.Hex ' ' Text -'x' Name -'-' Operator -'>' Operator -'check_utf8' Name -'(' Punctuation -'unescape_string' Name -'(' Punctuation -'x' Name -')' Punctuation -')' Punctuation -')' Punctuation -'\n' Text - -'\n' Text - -'function' Keyword +'&&' Operator ' ' Text -'_jl_interp_parse_bytes' Name '(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -'\n' Text - -' ' Text -'writer' Name -'(' Punctuation -'x' Name -'.' Operator -'.' Operator -'.' Operator -')' Punctuation -' ' Text -'=' Operator +'i' Name ' ' Text -'for' Keyword +'+=' Operator ' ' Text -'w' Name -'=' Operator -'x' Name +'1' Literal.Number.Integer ';' Punctuation ' ' Text -'write' Name -'(' Punctuation -'w' Name -')' Punctuation -';' Punctuation +'@goto' Name.Decorator ' ' Text -'end' Keyword +'ret' Name +')' Punctuation '\n' Text ' ' Text -'_jl_interp_parse' Name -'(' Punctuation -'s' Name -',' Punctuation -' ' Text -'unescape_string' Name -',' Punctuation +'n' Name ' ' Text -'writer' Name -')' Punctuation -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'## core string macros ##' Comment -'\n' Text - -'\n' Text - -'macro' Keyword -' ' Text -'str' Name -'(' Punctuation -'s' Name -')' Punctuation -';' Punctuation +'=' Operator ' ' Text -'_jl_interp_parse' Name +'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation -';' Punctuation -' ' Text -'end' Keyword '\n' Text -'macro' Keyword -' ' Text -'S_str' Name -'(' Punctuation -'s' Name -')' Punctuation -';' Punctuation -' ' Text -'_jl_interp_parse' Name -'(' Punctuation -'s' Name -')' Punctuation -';' Punctuation -' ' Text -'end' Keyword +' ' Text +'# first continuation byte' Comment '\n' Text -'macro' Keyword -' ' Text -'I_str' Name -'(' Punctuation -'s' Name -')' Punctuation -';' Punctuation -' ' Text -'_jl_interp_parse' Name -'(' Punctuation -'s' Name -',' Punctuation -' ' Text -'x' Name -'-' Operator -'>' Operator -'unescape_chars' Name +' ' Text '(' Punctuation -'x' Name -',' Punctuation -'"' Literal.String -'\\"' Literal.String.Escape -'"' Literal.String -')' Punctuation -')' Punctuation -';' Punctuation +'i' Name ' ' Text -'end' Keyword -'\n' Text - -'macro' Keyword +'+=' Operator ' ' Text -'E_str' Name -'(' Punctuation -'s' Name +'1' Literal.Number.Integer ')' Punctuation -';' Punctuation ' ' Text -'check_utf8' Name -'(' Punctuation -'unescape_string' Name -'(' Punctuation -'s' Name -')' Punctuation -')' Punctuation -';' Punctuation +'>' Operator ' ' Text -'end' Keyword -'\n' Text - -'macro' Keyword +'n' Name ' ' Text -'B_str' Name -'(' Punctuation -'s' Name -')' Punctuation -';' Punctuation +'&&' Operator ' ' Text -'_jl_interp_parse_bytes' Name -'(' Punctuation -'s' Name -')' Punctuation -';' Punctuation +'@goto' Name.Decorator ' ' Text -'end' Keyword +'ret' Name '\n' Text -'macro' Keyword -' ' Text -'b_str' Name -'(' Punctuation -'s' Name -')' Punctuation -';' Punctuation +' ' Text +'@inbounds' Name.Decorator ' ' Text -'ex' Name +'b' Name ' ' Text '=' Operator ' ' Text -'_jl_interp_parse_bytes' Name -'(' Punctuation -'s' Name -')' Punctuation -';' Punctuation -' ' Text -':' Operator -'(' Punctuation -'(' Punctuation -'$' Operator -'ex' Name -')' Punctuation -'.' Operator -'data' Name -')' Punctuation -';' Punctuation -' ' Text -'end' Keyword -'\n' Text - -'\n' Text - -'## shell-like command parsing ##' Comment -'\n' Text - -'\n' Text - -'function' Keyword -' ' Text -'_jl_shell_parse' Name +'codeunit' Name '(' Punctuation 's' Name -'::' Operator -'String' Name ',' Punctuation ' ' Text -'interp' Name -'::' Operator -'Bool' Keyword.Type +'i' Name ')' Punctuation '\n' Text -'\n' Text - ' ' Text -'in_single_quotes' Name -' ' Text -'=' Operator +'b' Name ' ' Text -'false' Keyword.Constant -'\n' Text - -' ' Text -'in_double_quotes' Name +'&' Operator ' ' Text -'=' Operator +'0xc0' Literal.Number.Hex ' ' Text -'false' Keyword.Constant -'\n' Text - -'\n' Text - -' ' Text -'args' Name +'==' Operator ' ' Text -'=' Operator +'0x80' Literal.Number.Hex ' ' Text -'{' Punctuation -'}' Punctuation -'\n' Text - -' ' Text -'arg' Name +'||' Operator ' ' Text -'=' Operator +'@goto' Name.Decorator ' ' Text -'{' Punctuation -'}' Punctuation +'ret' Name '\n' Text ' ' Text -'i' Name +'u' Name ' ' Text -'=' Operator +'|=' Operator ' ' Text -'start' Name +'UInt32' Keyword.Type '(' Punctuation -'s' Name +'b' Name ')' Punctuation -'\n' Text - -' ' Text -'j' Name ' ' Text -'=' Operator +'<<' Operator ' ' Text -'i' Name +'16' Literal.Number.Integer '\n' Text +' ' Text +'# second continuation byte' Comment '\n' Text ' ' Text -'function' Keyword -' ' Text -'update_arg' Name '(' Punctuation -'x' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'!' Operator -'isa' Keyword.Pseudo '(' Punctuation -'x' Name -',' Punctuation -'String' Name -')' Punctuation -' ' Text -'||' Operator +'i' Name ' ' Text -'!' Operator -'isempty' Name -'(' Punctuation -'x' Name -')' Punctuation -'\n' Text - -' ' Text -'push' Name -'(' Punctuation -'arg' Name -',' Punctuation +'+=' Operator ' ' Text -'x' Name +'1' Literal.Number.Integer ')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'function' Keyword ' ' Text -'append_arg' Name -'(' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword +'>' Operator ' ' Text -'isempty' Name -'(' Punctuation -'arg' Name +'n' Name ')' Punctuation -';' Punctuation -' ' Text -'arg' Name -' ' Text -'=' Operator ' ' Text -'{' Punctuation -'"' Literal.String -'"' Literal.String -',' Punctuation -'}' Punctuation -';' Punctuation +'|' Operator ' ' Text -'end' Keyword -'\n' Text - -' ' Text -'push' Name '(' Punctuation -'args' Name -',' Punctuation +'u' Name ' ' Text -'arg' Name +'<' Operator +' ' Text +'0xe0000000' Literal.Number.Hex ')' Punctuation -'\n' Text - -' ' Text -'arg' Name ' ' Text -'=' Operator +'&&' Operator ' ' Text -'{' Punctuation -'}' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -'\n' Text - -' ' Text -'while' Keyword +'@goto' Name.Decorator ' ' Text -'!' Operator -'done' Name -'(' Punctuation -'s' Name -',' Punctuation -'j' Name -')' Punctuation +'ret' Name '\n' Text -' ' Text -'c' Name -',' Punctuation +' ' Text +'@inbounds' Name.Decorator ' ' Text -'k' Name +'b' Name ' ' Text '=' Operator ' ' Text -'next' Name +'codeunit' Name '(' Punctuation 's' Name ',' Punctuation -'j' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword ' ' Text -'!' Operator -'in_single_quotes' Name -' ' Text -'&&' Operator -' ' Text -'!' Operator -'in_double_quotes' Name -' ' Text -'&&' Operator -' ' Text -'iswspace' Name -'(' Punctuation -'c' Name -')' Punctuation -'\n' Text - -' ' Text -'update_arg' Name -'(' Punctuation -'s' Name -'[' Punctuation 'i' Name -':' Operator -'j' Name -'-' Operator -'1' Literal.Number.Integer -']' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'append_arg' Name -'(' Punctuation ')' Punctuation '\n' Text -' ' Text -'j' Name +' ' Text +'b' Name ' ' Text -'=' Operator +'&' Operator ' ' Text -'k' Name -'\n' Text - -' ' Text -'while' Keyword +'0xc0' Literal.Number.Hex ' ' Text -'!' Operator -'done' Name -'(' Punctuation -'s' Name -',' Punctuation -'j' Name -')' Punctuation -'\n' Text - -' ' Text -'c' Name -',' Punctuation +'==' Operator ' ' Text -'k' Name +'0x80' Literal.Number.Hex ' ' Text -'=' Operator +'||' Operator ' ' Text -'next' Name -'(' Punctuation -'s' Name -',' Punctuation -'j' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword +'@goto' Name.Decorator ' ' Text -'!' Operator -'iswspace' Name -'(' Punctuation -'c' Name -')' Punctuation +'ret' Name '\n' Text -' ' Text -'i' Name +' ' Text +'u' Name ' ' Text -'=' Operator +'|=' Operator ' ' Text -'j' Name -'\n' Text - -' ' Text -'break' Keyword -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'j' Name +'UInt32' Keyword.Type +'(' Punctuation +'b' Name +')' Punctuation ' ' Text -'=' Operator +'<<' Operator ' ' Text -'k' Name -'\n' Text - -' ' Text -'end' Keyword +'8' Literal.Number.Integer '\n' Text -' ' Text -'elseif' Keyword -' ' Text -'interp' Name -' ' Text -'&&' Operator -' ' Text -'!' Operator -'in_single_quotes' Name -' ' Text -'&&' Operator -' ' Text -'c' Name -' ' Text -'==' Operator -' ' Text -"'$'" Literal.String.Char +' ' Text +'# third continuation byte' Comment '\n' Text -' ' Text -'update_arg' Name +' ' Text +'(' Punctuation '(' Punctuation -'s' Name -'[' Punctuation 'i' Name -':' Operator -'j' Name -'-' Operator +' ' Text +'+=' Operator +' ' Text '1' Literal.Number.Integer -']' Punctuation ')' Punctuation -';' Punctuation ' ' Text -'i' Name -' ' Text -'=' Operator +'>' Operator ' ' Text -'k' Name -';' Punctuation +'n' Name +')' Punctuation ' ' Text -'j' Name +'|' Operator ' ' Text -'=' Operator +'(' Punctuation +'u' Name ' ' Text -'k' Name -'\n' Text - -' ' Text -'if' Keyword +'<' Operator ' ' Text -'done' Name -'(' Punctuation -'s' Name -',' Punctuation -'k' Name +'0xf0000000' Literal.Number.Hex ')' Punctuation -'\n' Text - -' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'\\$' Literal.String.Escape -' ' Literal.String -'r' Literal.String -'i' Literal.String -'g' Literal.String -'h' Literal.String -'t' Literal.String -' ' Literal.String -'b' Literal.String -'e' Literal.String -'f' Literal.String -'o' Literal.String -'r' Literal.String -'e' Literal.String -' ' Literal.String -'e' Literal.String -'n' Literal.String -'d' Literal.String -' ' Literal.String -'o' Literal.String -'f' Literal.String -' ' Literal.String -'c' Literal.String -'o' Literal.String -'m' Literal.String -'m' Literal.String -'a' Literal.String -'n' Literal.String -'d' Literal.String -'"' Literal.String -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'if' Keyword ' ' Text -'iswspace' Name -'(' Punctuation -'s' Name -'[' Punctuation -'k' Name -']' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'s' Literal.String -'p' Literal.String -'a' Literal.String -'c' Literal.String -'e' Literal.String -' ' Literal.String -'n' Literal.String -'o' Literal.String -'t' Literal.String -' ' Literal.String -'a' Literal.String -'l' Literal.String -'l' Literal.String -'o' Literal.String -'w' Literal.String -'e' Literal.String -'d' Literal.String -' ' Literal.String -'r' Literal.String -'i' Literal.String -'g' Literal.String -'h' Literal.String -'t' Literal.String -' ' Literal.String -'a' Literal.String -'f' Literal.String -'t' Literal.String -'e' Literal.String -'r' Literal.String -' ' Literal.String -'\\$' Literal.String.Escape -'"' Literal.String -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword +'&&' Operator +' ' Text +'@goto' Name.Decorator +' ' Text +'ret' Name '\n' Text -' ' Text -'ex' Name -',' Punctuation +' ' Text +'@inbounds' Name.Decorator ' ' Text -'j' Name +'b' Name ' ' Text '=' Operator ' ' Text -'parseatom' Name +'codeunit' Name '(' Punctuation 's' Name ',' Punctuation -'j' Name -')' Punctuation -'\n' Text - -' ' Text -'update_arg' Name -'(' Punctuation -'ex' Name -')' Punctuation -';' Punctuation ' ' Text 'i' Name -' ' Text -'=' Operator -' ' Text -'j' Name -'\n' Text - -' ' Text -'else' Keyword +')' Punctuation '\n' Text -' ' Text -'if' Keyword -' ' Text -'!' Operator -'in_double_quotes' Name +' ' Text +'b' Name ' ' Text -'&&' Operator +'&' Operator ' ' Text -'c' Name +'0xc0' Literal.Number.Hex ' ' Text '==' Operator ' ' Text -"'\\''" Literal.String.Char -'\n' Text - -' ' Text -'in_single_quotes' Name -' ' Text -'=' Operator -' ' Text -'!' Operator -'in_single_quotes' Name -'\n' Text - -' ' Text -'update_arg' Name -'(' Punctuation -'s' Name -'[' Punctuation -'i' Name -':' Operator -'j' Name -'-' Operator -'1' Literal.Number.Integer -']' Punctuation -')' Punctuation -';' Punctuation -' ' Text -'i' Name +'0x80' Literal.Number.Hex ' ' Text -'=' Operator -' ' Text -'k' Name -'\n' Text - -' ' Text -'elseif' Keyword -' ' Text -'!' Operator -'in_single_quotes' Name -' ' Text -'&&' Operator -' ' Text -'c' Name +'||' Operator ' ' Text -'==' Operator +'@goto' Name.Decorator ' ' Text -'\'"\'' Literal.String.Char +'ret' Name '\n' Text -' ' Text -'in_double_quotes' Name +' ' Text +'u' Name ' ' Text -'=' Operator +'|=' Operator ' ' Text -'!' Operator -'in_double_quotes' Name -'\n' Text - -' ' Text -'update_arg' Name +'UInt32' Keyword.Type '(' Punctuation -'s' Name -'[' Punctuation -'i' Name -':' Operator -'j' Name -'-' Operator -'1' Literal.Number.Integer -']' Punctuation +'b' Name ')' Punctuation ';' Punctuation ' ' Text 'i' Name ' ' Text -'=' Operator -' ' Text -'k' Name -'\n' Text - -' ' Text -'elseif' Keyword -' ' Text -'c' Name -' ' Text -'==' Operator +'+=' Operator ' ' Text -"'\\\\'" Literal.String.Char +'1' Literal.Number.Integer '\n' Text -' ' Text -'if' Keyword +'@label' Name.Decorator ' ' Text -'in_double_quotes' Name +'ret' Name '\n' Text -' ' Text -'if' Keyword +' ' Text +'return' Keyword ' ' Text -'done' Name +'reinterpret' Name '(' Punctuation -'s' Name +'Char' Keyword.Type ',' Punctuation -'k' Name +' ' Text +'u' Name ')' Punctuation +',' Punctuation +' ' Text +'i' Name '\n' Text -' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'u' Literal.String -'n' Literal.String -'t' Literal.String -'e' Literal.String -'r' Literal.String -'m' Literal.String -'i' Literal.String -'n' Literal.String -'a' Literal.String -'t' Literal.String -'e' Literal.String -'d' Literal.String -' ' Literal.String -'d' Literal.String -'o' Literal.String -'u' Literal.String -'b' Literal.String -'l' Literal.String -'e' Literal.String -' ' Literal.String -'q' Literal.String -'u' Literal.String -'o' Literal.String -'t' Literal.String -'e' Literal.String -'"' Literal.String -')' Punctuation +'end' Keyword '\n' Text -' ' Text -'end' Keyword '\n' Text -' ' Text -'if' Keyword -' ' Text -'s' Name -'[' Punctuation -'k' Name -']' Punctuation -' ' Text -'==' Operator +'@propagate_inbounds' Name.Decorator ' ' Text -'\'"\'' Literal.String.Char -' ' Text -'||' Operator -' ' Text -'s' Name -'[' Punctuation -'k' Name -']' Punctuation -' ' Text -'==' Operator +'function' Keyword ' ' Text -"'$'" Literal.String.Char -'\n' Text - -' ' Text -'update_arg' Name +'getindex' Name '(' Punctuation 's' Name -'[' Punctuation -'i' Name -':' Operator -'j' Name -'-' Operator -'1' Literal.Number.Integer -']' Punctuation -')' Punctuation -';' Punctuation +'::' Operator +'String' Keyword.Type +',' Punctuation ' ' Text 'i' Name -' ' Text -'=' Operator -' ' Text -'k' Name +'::' Operator +'Int' Keyword.Type +')' Punctuation '\n' Text -' ' Text -'c' Name -',' Punctuation -' ' Text -'k' Name +' ' Text +'b' Name ' ' Text '=' Operator ' ' Text -'next' Name +'codeunit' Name '(' Punctuation 's' Name ',' Punctuation -'k' Name -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'elseif' Keyword -' ' Text -'!' Operator -'in_single_quotes' Name -'\n' Text - -' ' Text -'if' Keyword ' ' Text -'done' Name -'(' Punctuation -'s' Name -',' Punctuation -'k' Name -')' Punctuation -'\n' Text - -' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'d' Literal.String -'a' Literal.String -'n' Literal.String -'g' Literal.String -'l' Literal.String -'i' Literal.String -'n' Literal.String -'g' Literal.String -' ' Literal.String -'b' Literal.String -'a' Literal.String -'c' Literal.String -'k' Literal.String -'s' Literal.String -'l' Literal.String -'a' Literal.String -'s' Literal.String -'h' Literal.String -'"' Literal.String -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'update_arg' Name -'(' Punctuation -'s' Name -'[' Punctuation 'i' Name -':' Operator -'j' Name -'-' Operator -'1' Literal.Number.Integer -']' Punctuation ')' Punctuation -';' Punctuation -' ' Text -'i' Name -' ' Text -'=' Operator -' ' Text -'k' Name '\n' Text -' ' Text -'c' Name -',' Punctuation -' ' Text -'k' Name +' ' Text +'u' Name ' ' Text '=' Operator ' ' Text -'next' Name +'UInt32' Keyword.Type '(' Punctuation -'s' Name -',' Punctuation -'k' Name +'b' Name ')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'j' Name ' ' Text -'=' Operator +'<<' Operator ' ' Text -'k' Name -'\n' Text - -' ' Text -'end' Keyword +'24' Literal.Number.Integer '\n' Text ' ' Text -'end' Keyword -'\n' Text - -'\n' Text - -' ' Text -'if' Keyword +'between' Name +'(' Punctuation +'b' Name +',' Punctuation ' ' Text -'in_single_quotes' Name -';' Punctuation +'0x80' Literal.Number.Hex +',' Punctuation ' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'u' Literal.String -'n' Literal.String -'t' Literal.String -'e' Literal.String -'r' Literal.String -'m' Literal.String -'i' Literal.String -'n' Literal.String -'a' Literal.String -'t' Literal.String -'e' Literal.String -'d' Literal.String -' ' Literal.String -'s' Literal.String -'i' Literal.String -'n' Literal.String -'g' Literal.String -'l' Literal.String -'e' Literal.String -' ' Literal.String -'q' Literal.String -'u' Literal.String -'o' Literal.String -'t' Literal.String -'e' Literal.String -'"' Literal.String +'0xf7' Literal.Number.Hex ')' Punctuation -';' Punctuation ' ' Text -'end' Keyword -'\n' Text - -' ' Text -'if' Keyword +'||' Operator ' ' Text -'in_double_quotes' Name -';' Punctuation +'return' Keyword ' ' Text -'error' Name +'reinterpret' Name '(' Punctuation -'"' Literal.String -'u' Literal.String -'n' Literal.String -'t' Literal.String -'e' Literal.String -'r' Literal.String -'m' Literal.String -'i' Literal.String -'n' Literal.String -'a' Literal.String -'t' Literal.String -'e' Literal.String -'d' Literal.String -' ' Literal.String -'d' Literal.String -'o' Literal.String -'u' Literal.String -'b' Literal.String -'l' Literal.String -'e' Literal.String -' ' Literal.String -'q' Literal.String -'u' Literal.String -'o' Literal.String -'t' Literal.String -'e' Literal.String -'"' Literal.String -')' Punctuation -';' Punctuation +'Char' Keyword.Type +',' Punctuation ' ' Text -'end' Keyword -'\n' Text - -'\n' Text - -' ' Text -'update_arg' Name -'(' Punctuation -'s' Name -'[' Punctuation -'i' Name -':' Operator -']' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'append_arg' Name -'(' Punctuation +'u' Name ')' Punctuation '\n' Text -'\n' Text - ' ' Text -'if' Keyword -' ' Text -'!' Operator -'interp' Name -'\n' Text - -' ' Text 'return' Keyword ' ' Text -'args' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -'\n' Text - -' ' Text -'# construct an expression' Comment -'\n' Text - -' ' Text -'exprs' Name -' ' Text -'=' Operator -' ' Text -'{' Punctuation -'}' Punctuation -'\n' Text - -' ' Text -'for' Keyword -' ' Text -'arg' Name -' ' Text -'in' Keyword.Pseudo -' ' Text -'args' Name -'\n' Text - -' ' Text -'push' Name +'getindex_continued' Name '(' Punctuation -'exprs' Name +'s' Name ',' Punctuation ' ' Text -'expr' Name -'(' Punctuation -':' Operator -'tuple' Name +'i' Name ',' Punctuation ' ' Text -'arg' Name -')' Punctuation +'u' Name ')' Punctuation '\n' Text -' ' Text 'end' Keyword '\n' Text -' ' Text -'expr' Name -'(' Punctuation -':' Operator -'tuple' Name -',' Punctuation -'exprs' Name -')' Punctuation -'\n' Text - -'end' Keyword '\n' Text -'_jl_shell_parse' Name +'function' Keyword +' ' Text +'getindex_continued' Name '(' Punctuation 's' Name '::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator +'String' Keyword.Type +',' Punctuation ' ' Text -'_jl_shell_parse' Name -'(' Punctuation -'s' Name +'i' Name +'::' Operator +'Int' Keyword.Type ',' Punctuation -'true' Keyword.Constant -')' Punctuation -'\n' Text - -'\n' Text - -'function' Keyword ' ' Text -'shell_split' Name -'(' Punctuation -'s' Name +'u' Name '::' Operator -'String' Name +'UInt32' Keyword.Type ')' Punctuation '\n' Text ' ' Text -'parsed' Name -' ' Text -'=' Operator +'if' Keyword ' ' Text -'_jl_shell_parse' Name -'(' Punctuation -'s' Name -',' Punctuation -'false' Keyword.Constant -')' Punctuation -'\n' Text - -' ' Text -'args' Name +'u' Name ' ' Text -'=' Operator +'<' Operator ' ' Text -'String' Name -'[' Punctuation -']' Punctuation +'0xc0000000' Literal.Number.Hex '\n' Text -' ' Text -'for' Keyword -' ' Text -'arg' Name -' ' Text -'in' Keyword.Pseudo -' ' Text -'parsed' Name +' ' Text +'# called from `getindex` which checks bounds' Comment '\n' Text -' ' Text -'push' Name +' ' Text +'@inbounds' Name.Decorator +' ' Text +'isvalid' Name '(' Punctuation -'args' Name +'s' Name ',' Punctuation ' ' Text -'strcat' Name -'(' Punctuation -'arg' Name -'.' Operator -'.' Operator -'.' Operator -')' Punctuation +'i' Name ')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'args' Name -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'function' Keyword ' ' Text -'print_shell_word' Name -'(' Punctuation -'word' Name -'::' Operator -'String' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword +'&&' Operator ' ' Text -'isempty' Name -'(' Punctuation -'word' Name -')' Punctuation +'@goto' Name.Decorator +' ' Text +'ret' Name '\n' Text ' ' Text -'print' Name +'string_index_err' Name '(' Punctuation -'"' Literal.String -"'" Literal.String -"'" Literal.String -'"' Literal.String +'s' Name +',' Punctuation +' ' Text +'i' Name ')' Punctuation '\n' Text @@ -8074,1209 +2808,514 @@ '\n' Text ' ' Text -'has_single' Name +'n' Name ' ' Text '=' Operator ' ' Text -'false' Keyword.Constant +'ncodeunits' Name +'(' Punctuation +'s' Name +')' Punctuation '\n' Text -' ' Text -'has_special' Name -' ' Text -'=' Operator -' ' Text -'false' Keyword.Constant '\n' Text ' ' Text -'for' Keyword -' ' Text -'c' Name -' ' Text -'in' Keyword.Pseudo -' ' Text -'word' Name -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'iswspace' Name '(' Punctuation -'c' Name -')' Punctuation -' ' Text -'||' Operator -' ' Text -'c' Name -'==' Operator -"'\\\\'" Literal.String.Char -' ' Text -'||' Operator -' ' Text -'c' Name -'==' Operator -"'\\''" Literal.String.Char +'i' Name ' ' Text -'||' Operator +'+=' Operator ' ' Text -'c' Name -'==' Operator -'\'"\'' Literal.String.Char +'1' Literal.Number.Integer +')' Punctuation ' ' Text -'||' Operator +'>' Operator +'\xa0' Text +'n' Name ' ' Text -'c' Name -'==' Operator -"'$'" Literal.String.Char -'\n' Text - -' ' Text -'has_special' Name +'&&' Operator ' ' Text -'=' Operator +'@goto' Name.Decorator ' ' Text -'true' Keyword.Constant +'ret' Name '\n' Text -' ' Text -'if' Keyword -' ' Text -'c' Name -' ' Text -'==' Operator +' ' Text +'@inbounds' Name.Decorator ' ' Text -"'\\''" Literal.String.Char -'\n' Text - -' ' Text -'has_single' Name +'b' Name ' ' Text '=' Operator ' ' Text -'true' Keyword.Constant -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'!' Operator -'has_special' Name -'\n' Text - -' ' Text -'print' Name -'(' Punctuation -'word' Name -')' Punctuation -'\n' Text - -' ' Text -'elseif' Keyword -' ' Text -'!' Operator -'has_single' Name -'\n' Text - -' ' Text -'print' Name +'codeunit' Name '(' Punctuation -"'\\''" Literal.String.Char -',' Punctuation -' ' Text -'word' Name +'s' Name ',' Punctuation ' ' Text -"'\\''" Literal.String.Char +'i' Name ')' Punctuation +' ' Text +'# cont byte 1' Comment '\n' Text ' ' Text -'else' Keyword -'\n' Text - -' ' Text -'print' Name -'(' Punctuation -'\'"\'' Literal.String.Char -')' Punctuation -'\n' Text - -' ' Text -'for' Keyword -' ' Text -'c' Name -' ' Text -'in' Keyword.Pseudo +'b' Name ' ' Text -'word' Name -'\n' Text - -' ' Text -'if' Keyword +'&' Operator ' ' Text -'c' Name +'0xc0' Literal.Number.Hex ' ' Text '==' Operator ' ' Text -'\'"\'' Literal.String.Char +'0x80' Literal.Number.Hex ' ' Text '||' Operator ' ' Text -'c' Name +'@goto' Name.Decorator ' ' Text -'==' Operator -' ' Text -"'$'" Literal.String.Char -'\n' Text - -' ' Text -'print' Name -'(' Punctuation -"'\\\\'" Literal.String.Char -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'print' Name -'(' Punctuation -'c' Name -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'print' Name -'(' Punctuation -'\'"\'' Literal.String.Char -')' Punctuation +'ret' Name '\n' Text ' ' Text -'end' Keyword -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'function' Keyword +'u' Name ' ' Text -'print_shell_escaped' Name -'(' Punctuation -'cmd' Name -'::' Operator -'String' Name -',' Punctuation +'|=' Operator ' ' Text -'args' Name -'::' Operator -'String' Name -'.' Operator -'.' Operator -'.' Operator -')' Punctuation -'\n' Text - -' ' Text -'print_shell_word' Name +'UInt32' Keyword.Type '(' Punctuation -'cmd' Name +'b' Name ')' Punctuation -'\n' Text - -' ' Text -'for' Keyword ' ' Text -'arg' Name -' ' Text -'in' Keyword.Pseudo +'<<' Operator ' ' Text -'args' Name -'\n' Text - -' ' Text -'print' Name -'(' Punctuation -"' '" Literal.String.Char -')' Punctuation +'16' Literal.Number.Integer '\n' Text -' ' Text -'print_shell_word' Name -'(' Punctuation -'arg' Name -')' Punctuation '\n' Text ' ' Text -'end' Keyword -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'shell_escape' Name '(' Punctuation -'cmd' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'args' Name -'::' Operator -'String' Name -'.' Operator -'.' Operator -'.' Operator -')' Punctuation -' ' Text -'=' Operator -'\n' Text - -' ' Text -'print_to_string' Name '(' Punctuation -'print_shell_escaped' Name -',' Punctuation +'i' Name ' ' Text -'cmd' Name -',' Punctuation +'+=' Operator ' ' Text -'args' Name -'.' Operator -'.' Operator -'.' Operator +'1' Literal.Number.Integer ')' Punctuation -'\n' Text - -'\n' Text - -'## interface to parser ##' Comment -'\n' Text - -'\n' Text - -'function' Keyword ' ' Text -'parse' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'pos' Name -',' Punctuation +'>' Operator ' ' Text -'greedy' Name +'n' Name ')' Punctuation -'\n' Text - -' ' Text -'# returns (expr, end_pos). expr is () in case of parse error.' Comment -'\n' Text - -' ' Text -'ex' Name -',' Punctuation ' ' Text -'pos' Name -' ' Text -'=' Operator -' ' Text -'ccall' Keyword -'(' Punctuation -':' Operator -'jl_parse_string' Name -',' Punctuation +'|' Operator ' ' Text -'Any' Keyword.Type -',' Punctuation -'\n' Text - -' ' Text '(' Punctuation -'Ptr' Keyword.Type -'{' Punctuation -'Uint8' Name -'}' Punctuation -',' Punctuation +'u' Name ' ' Text -'Int32' Keyword.Type -',' Punctuation +'<' Operator ' ' Text -'Int32' Keyword.Type +'0xe0000000' Literal.Number.Hex ')' Punctuation -',' Punctuation -'\n' Text - -' ' Text -'cstring' Name -'(' Punctuation -'s' Name -')' Punctuation -',' Punctuation -' ' Text -'pos' Name -'-' Operator -'1' Literal.Number.Integer -',' Punctuation ' ' Text -'greedy' Name +'&&' Operator ' ' Text -'?' Operator +'@goto' Name.Decorator ' ' Text -'1' Literal.Number.Integer -':' Operator -'0' Literal.Number.Integer -')' Punctuation +'ret' Name '\n' Text ' ' Text -'if' Keyword +'@inbounds' Name.Decorator ' ' Text -'isa' Keyword.Pseudo -'(' Punctuation -'ex' Name -',' Punctuation -'Expr' Keyword.Type -')' Punctuation +'b' Name ' ' Text -'&&' Operator +'=' Operator ' ' Text -'is' Name +'codeunit' Name '(' Punctuation -'ex' Name -'.' Operator -'head' Name +'s' Name ',' Punctuation -':' Operator -'error' Name -')' Punctuation -'\n' Text - -' ' Text -'throw' Name -'(' Punctuation -'ParseError' Keyword.Type -'(' Punctuation -'ex' Name -'.' Operator -'args' Name -'[' Punctuation -'1' Literal.Number.Integer -']' Punctuation -')' Punctuation +' ' Text +'i' Name ')' Punctuation +' ' Text +'# cont byte 2' Comment '\n' Text ' ' Text -'end' Keyword -'\n' Text - -' ' Text -'if' Keyword +'b' Name ' ' Text -'ex' Name +'&' Operator +' ' Text +'0xc0' Literal.Number.Hex ' ' Text '==' Operator ' ' Text -'(' Punctuation -')' Punctuation -';' Punctuation +'0x80' Literal.Number.Hex ' ' Text -'throw' Name -'(' Punctuation -'ParseError' Keyword.Type -'(' Punctuation -'"' Literal.String -'e' Literal.String -'n' Literal.String -'d' Literal.String -' ' Literal.String -'o' Literal.String -'f' Literal.String -' ' Literal.String -'i' Literal.String -'n' Literal.String -'p' Literal.String -'u' Literal.String -'t' Literal.String -'"' Literal.String -')' Punctuation -')' Punctuation -';' Punctuation +'||' Operator ' ' Text -'end' Keyword +'@goto' Name.Decorator +' ' Text +'ret' Name '\n' Text ' ' Text -'ex' Name -',' Punctuation +'u' Name ' ' Text -'pos' Name -'+' Operator -'1' Literal.Number.Integer +'|=' Operator ' ' Text -'# C is zero-based, Julia is 1-based' Comment -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'parse' Name +'UInt32' Keyword.Type '(' Punctuation -'s' Name -'::' Operator -'String' Name +'b' Name ')' Punctuation -' ' Text -'=' Operator -' ' Text -'parse' Name -'(' Punctuation -'s' Name -',' Punctuation ' ' Text -'1' Literal.Number.Integer -',' Punctuation +'<<' Operator ' ' Text -'true' Keyword.Constant -')' Punctuation +'8' Literal.Number.Integer '\n' Text -'parse' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'pos' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'parse' Name -'(' Punctuation -'s' Name -',' Punctuation -' ' Text -'pos' Name -',' Punctuation -' ' Text -'true' Keyword.Constant -')' Punctuation '\n' Text -'parseatom' Name +' ' Text '(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'parse' Name '(' Punctuation -'s' Name -',' Punctuation +'i' Name ' ' Text -'1' Literal.Number.Integer -',' Punctuation +'+=' Operator ' ' Text -'false' Keyword.Constant +'1' Literal.Number.Integer ')' Punctuation -'\n' Text - -'parseatom' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation ' ' Text -'pos' Name +'>' Operator +' ' Text +'n' Name ')' Punctuation ' ' Text -'=' Operator +'|' Operator ' ' Text -'parse' Name '(' Punctuation -'s' Name -',' Punctuation +'u' Name ' ' Text -'pos' Name -',' Punctuation +'<' Operator ' ' Text -'false' Keyword.Constant +'0xf0000000' Literal.Number.Hex ')' Punctuation -'\n' Text - -'\n' Text - -'## miscellaneous string functions ##' Comment -'\n' Text - -'\n' Text - -'function' Keyword ' ' Text -'lpad' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation +'&&' Operator ' ' Text -'n' Name -'::' Operator -'Integer' Keyword.Type -',' Punctuation +'@goto' Name.Decorator ' ' Text -'p' Name -'::' Operator -'String' Name -')' Punctuation +'ret' Name '\n' Text ' ' Text -'m' Name -' ' Text -'=' Operator +'@inbounds' Name.Decorator ' ' Text -'n' Name +'b' Name ' ' Text -'-' Operator +'=' Operator ' ' Text -'strlen' Name +'codeunit' Name '(' Punctuation 's' Name +',' Punctuation +' ' Text +'i' Name ')' Punctuation +' ' Text +'# cont byte 3' Comment '\n' Text ' ' Text -'if' Keyword +'b' Name ' ' Text -'m' Name +'&' Operator ' ' Text -'<=' Operator +'0xc0' Literal.Number.Hex ' ' Text -'0' Literal.Number.Integer -';' Punctuation +'==' Operator ' ' Text -'return' Keyword +'0x80' Literal.Number.Hex ' ' Text -'s' Name -';' Punctuation +'||' Operator ' ' Text -'end' Keyword +'@goto' Name.Decorator +' ' Text +'ret' Name '\n' Text ' ' Text -'l' Name +'u' Name ' ' Text -'=' Operator +'|=' Operator ' ' Text -'strlen' Name +'UInt32' Keyword.Type '(' Punctuation -'p' Name +'b' Name ')' Punctuation '\n' Text -' ' Text -'if' Keyword +'@label' Name.Decorator ' ' Text -'l' Name -'==' Operator -'1' Literal.Number.Integer +'ret' Name '\n' Text -' ' Text +' ' Text 'return' Keyword ' ' Text -'p' Name -'^' Operator -'m' Name -' ' Text -'*' Operator +'reinterpret' Name +'(' Punctuation +'Char' Keyword.Type +',' Punctuation ' ' Text -'s' Name +'u' Name +')' Punctuation '\n' Text -' ' Text 'end' Keyword '\n' Text -' ' Text -'q' Name -' ' Text -'=' Operator -' ' Text -'div' Name -'(' Punctuation -'m' Name -',' Punctuation -'l' Name -')' Punctuation '\n' Text -' ' Text +'getindex' Name +'(' Punctuation +'s' Name +'::' Operator +'String' Keyword.Type +',' Punctuation +' ' Text 'r' Name +'::' Operator +'UnitRange' Keyword.Type +'{' Punctuation +'<:' Operator +'Integer' Keyword.Type +'}' Punctuation +')' Punctuation ' ' Text '=' Operator ' ' Text -'m' Name -' ' Text -'-' Operator -' ' Text -'q' Name -'*' Operator -'l' Name -'\n' Text - -' ' Text -'cstring' Name -'(' Punctuation -'p' Name -'^' Operator -'q' Name -'*' Operator -'p' Name +'s' Name '[' Punctuation -'1' Literal.Number.Integer +'Int' Keyword.Type +'(' Punctuation +'first' Name +'(' Punctuation +'r' Name +')' Punctuation +')' Punctuation ':' Operator -'chr2ind' Name +'Int' Keyword.Type +'(' Punctuation +'last' Name '(' Punctuation -'p' Name -',' Punctuation 'r' Name ')' Punctuation -']' Punctuation -'*' Operator -'s' Name ')' Punctuation -'\n' Text - -'end' Keyword +']' Punctuation '\n' Text '\n' Text +'@inline' Name.Decorator +' ' Text 'function' Keyword ' ' Text -'rpad' Name +'getindex' Name '(' Punctuation 's' Name '::' Operator -'String' Name -',' Punctuation -' ' Text -'n' Name -'::' Operator -'Integer' Keyword.Type +'String' Keyword.Type ',' Punctuation ' ' Text -'p' Name +'r' Name '::' Operator -'String' Name +'UnitRange' Keyword.Type +'{' Punctuation +'Int' Keyword.Type +'}' Punctuation ')' Punctuation '\n' Text ' ' Text -'m' Name -' ' Text -'=' Operator -' ' Text -'n' Name -' ' Text -'-' Operator -' ' Text -'strlen' Name +'isempty' Name '(' Punctuation -'s' Name +'r' Name ')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'m' Name -' ' Text -'<=' Operator ' ' Text -'0' Literal.Number.Integer -';' Punctuation +'&&' Operator ' ' Text 'return' Keyword ' ' Text -'s' Name -';' Punctuation -' ' Text -'end' Keyword +'"' Literal.String +'"' Literal.String '\n' Text ' ' Text -'l' Name +'i' Name +',' Punctuation +' ' Text +'j' Name ' ' Text '=' Operator ' ' Text -'strlen' Name +'first' Name '(' Punctuation -'p' Name +'r' Name ')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'l' Name -'==' Operator -'1' Literal.Number.Integer -'\n' Text - -' ' Text -'return' Keyword -' ' Text -'s' Name -' ' Text -'*' Operator -' ' Text -'p' Name -'^' Operator -'m' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'q' Name -' ' Text -'=' Operator +',' Punctuation ' ' Text -'div' Name +'last' Name '(' Punctuation -'m' Name -',' Punctuation -'l' Name +'r' Name ')' Punctuation '\n' Text ' ' Text -'r' Name -' ' Text -'=' Operator -' ' Text -'m' Name -' ' Text -'-' Operator +'@boundscheck' Name.Decorator ' ' Text -'q' Name -'*' Operator -'l' Name +'begin' Keyword '\n' Text -' ' Text -'cstring' Name +' ' Text +'checkbounds' Name '(' Punctuation 's' Name -'*' Operator -'p' Name -'^' Operator -'q' Name -'*' Operator -'p' Name -'[' Punctuation -'1' Literal.Number.Integer -':' Operator -'chr2ind' Name -'(' Punctuation -'p' Name ',' Punctuation +' ' Text 'r' Name ')' Punctuation -']' Punctuation -')' Punctuation '\n' Text -'end' Keyword -'\n' Text - -'\n' Text - -'lpad' Name +' ' Text +'@inbounds' Name.Decorator +' ' Text +'isvalid' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text -'n' Name -'::' Operator -'Integer' Keyword.Type -',' Punctuation -' ' Text -'p' Name +'i' Name ')' Punctuation ' ' Text -'=' Operator +'||' Operator ' ' Text -'lpad' Name -'(' Punctuation -'string' Name +'string_index_err' Name '(' Punctuation 's' Name -')' Punctuation ',' Punctuation ' ' Text -'n' Name -',' Punctuation -' ' Text -'string' Name -'(' Punctuation -'p' Name -')' Punctuation +'i' Name ')' Punctuation '\n' Text -'rpad' Name +' ' Text +'@inbounds' Name.Decorator +' ' Text +'isvalid' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text -'n' Name -'::' Operator -'Integer' Keyword.Type -',' Punctuation -' ' Text -'p' Name +'j' Name ')' Punctuation ' ' Text -'=' Operator +'||' Operator ' ' Text -'rpad' Name -'(' Punctuation -'string' Name +'string_index_err' Name '(' Punctuation 's' Name -')' Punctuation -',' Punctuation -' ' Text -'n' Name ',' Punctuation ' ' Text -'string' Name -'(' Punctuation -'p' Name -')' Punctuation +'j' Name ')' Punctuation '\n' Text +' ' Text +'end' Keyword '\n' Text -'lpad' Name -'(' Punctuation -'s' Name -',' Punctuation -' ' Text -'n' Name -'::' Operator -'Integer' Keyword.Type -')' Punctuation +' ' Text +'j' Name ' ' Text '=' Operator ' ' Text -'lpad' Name -'(' Punctuation -'string' Name +'nextind' Name '(' Punctuation 's' Name -')' Punctuation ',' Punctuation ' ' Text -'n' Name -',' Punctuation -' ' Text -'"' Literal.String -' ' Literal.String -'"' Literal.String +'j' Name ')' Punctuation +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Integer '\n' Text -'rpad' Name -'(' Punctuation -'s' Name -',' Punctuation -' ' Text +' ' Text 'n' Name -'::' Operator -'Integer' Keyword.Type -')' Punctuation ' ' Text '=' Operator ' ' Text -'rpad' Name -'(' Punctuation -'string' Name -'(' Punctuation -'s' Name -')' Punctuation -',' Punctuation -' ' Text -'n' Name -',' Punctuation -' ' Text -'"' Literal.String -' ' Literal.String -'"' Literal.String -')' Punctuation -'\n' Text - -'\n' Text - -'function' Keyword -' ' Text -'split' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation +'j' Name ' ' Text -'delims' Name -',' Punctuation +'-' Operator ' ' Text -'include_empty' Name -'::' Operator -'Bool' Keyword.Type -')' Punctuation -'\n' Text - -' ' Text 'i' Name ' ' Text -'=' Operator +'+' Operator ' ' Text '1' Literal.Number.Integer '\n' Text ' ' Text -'strs' Name +'ss' Name ' ' Text '=' Operator ' ' Text -'String' Name -'[' Punctuation -']' Punctuation -'\n' Text - -' ' Text -'len' Name -' ' Text -'=' Operator -' ' Text -'length' Name +'_string_n' Name '(' Punctuation -'s' Name +'n' Name ')' Punctuation '\n' Text ' ' Text -'while' Keyword -' ' Text -'true' Keyword.Constant -'\n' Text - -' ' Text -'tokstart' Name +'GC' Name +'.' Operator +'@preserve' Name.Decorator ' ' Text -'=' Operator +'s' Name ' ' Text -'tokend' Name +'ss' Name ' ' Text -'=' Operator -' ' Text -'i' Name -'\n' Text - -' ' Text -'while' Keyword -' ' Text -'!' Operator -'done' Name +'unsafe_copyto!' Name '(' Punctuation -'s' Name -',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text +'pointer' Name '(' Punctuation -'c' Name -',' Punctuation -'i' Name +'ss' Name ')' Punctuation -' ' Text -'=' Operator -' ' Text -'next' Name -'(' Punctuation -'s' Name ',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword ' ' Text -'contains' Name +'pointer' Name '(' Punctuation -'delims' Name -',' Punctuation -' ' Text -'c' Name -')' Punctuation -'\n' Text - -' ' Text -'break' Keyword -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'tokend' Name -' ' Text -'=' Operator -' ' Text -'i' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'tok' Name -' ' Text -'=' Operator -' ' Text 's' Name -'[' Punctuation -'tokstart' Name -':' Operator -'(' Punctuation -'tokend' Name -'-' Operator -'1' Literal.Number.Integer -')' Punctuation -']' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'include_empty' Name -' ' Text -'||' Operator -' ' Text -'!' Operator -'isempty' Name -'(' Punctuation -'tok' Name -')' Punctuation -'\n' Text - -' ' Text -'push' Name -'(' Punctuation -'strs' Name ',' Punctuation ' ' Text -'tok' Name -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'!' Operator -'(' Punctuation -'(' Punctuation 'i' Name -' ' Text -'<=' Operator -' ' Text -'len' Name ')' Punctuation +',' Punctuation ' ' Text -'||' Operator -' ' Text -'(' Punctuation -'i' Name -'==' Operator -'len' Name -'+' Operator -'1' Literal.Number.Integer -' ' Text -'&&' Operator -' ' Text -'tokend!' Name -'=' Operator -'i' Name -')' Punctuation +'n' Name ')' Punctuation '\n' Text -' ' Text -'break' Keyword -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - ' ' Text -'strs' Name +'return' Keyword +' ' Text +'ss' Name '\n' Text 'end' Keyword @@ -9284,1190 +3323,529 @@ '\n' Text -'split' Name +'length' Name '(' Punctuation 's' Name '::' Operator -'String' Name +'String' Keyword.Type ')' Punctuation ' ' Text '=' Operator ' ' Text -'split' Name +'length_continued' Name '(' Punctuation 's' Name ',' Punctuation ' ' Text -'(' Punctuation -"' '" Literal.String.Char -',' Punctuation -"'\\t'" Literal.String.Char -',' Punctuation -"'\\n'" Literal.String.Char -',' Punctuation -"'\\v'" Literal.String.Char -',' Punctuation -"'\\f'" Literal.String.Char -',' Punctuation -"'\\r'" Literal.String.Char -')' Punctuation +'1' Literal.Number.Integer ',' Punctuation ' ' Text -'false' Keyword.Constant -')' Punctuation -'\n' Text - -'split' Name +'ncodeunits' Name '(' Punctuation 's' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'x' Name ')' Punctuation -' ' Text -'=' Operator -' ' Text -'split' Name -'(' Punctuation -'s' Name ',' Punctuation ' ' Text -'x' Name -',' Punctuation -' ' Text -'true' Keyword.Constant -')' Punctuation -'\n' Text - -'split' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'x' Name -'::' Operator -'Char' Keyword.Type -',' Punctuation -' ' Text -'incl' Name -'::' Operator -'Bool' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'split' Name +'ncodeunits' Name '(' Punctuation 's' Name -',' Punctuation -' ' Text -'(' Punctuation -'x' Name -',' Punctuation ')' Punctuation -',' Punctuation -' ' Text -'incl' Name ')' Punctuation '\n' Text '\n' Text +'@inline' Name.Decorator +' ' Text 'function' Keyword ' ' Text -'print_joined' Name +'length' Name '(' Punctuation -'strings' Name -',' Punctuation -' ' Text -'delim' Name +'s' Name +'::' Operator +'String' Keyword.Type ',' Punctuation ' ' Text -'last' Name -')' Punctuation -'\n' Text - -' ' Text 'i' Name +'::' Operator +'Int' Keyword.Type +',' Punctuation ' ' Text -'=' Operator -' ' Text -'start' Name -'(' Punctuation -'strings' Name +'j' Name +'::' Operator +'Int' Keyword.Type ')' Punctuation '\n' Text ' ' Text -'if' Keyword +'@boundscheck' Name.Decorator ' ' Text -'done' Name -'(' Punctuation -'strings' Name -',' Punctuation -'i' Name -')' Punctuation +'begin' Keyword '\n' Text ' ' Text -'return' Keyword -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'str' Name -',' Punctuation +'0' Literal.Number.Integer +' ' Text +'<' Operator ' ' Text 'i' Name ' ' Text -'=' Operator +'≤' Operator ' ' Text -'next' Name -'(' Punctuation -'strings' Name -',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'print' Name +'ncodeunits' Name '(' Punctuation -'str' Name +'s' Name ')' Punctuation -'\n' Text - -' ' Text -'while' Keyword +'+' Operator +'1' Literal.Number.Integer ' ' Text -'!' Operator -'done' Name +'||' Operator +' ' Text +'throw' Name +'(' Punctuation +'BoundsError' Keyword.Type '(' Punctuation -'strings' Name +'s' Name ',' Punctuation +' ' Text 'i' Name ')' Punctuation +')' Punctuation '\n' Text ' ' Text -'str' Name -',' Punctuation +'0' Literal.Number.Integer ' ' Text -'i' Name +'≤' Operator +'\xa0' Text +'j' Name ' ' Text -'=' Operator +'<' Operator ' ' Text -'next' Name -'(' Punctuation -'strings' Name -',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'print' Name +'ncodeunits' Name '(' Punctuation -'done' Name -'(' Punctuation -'strings' Name -',' Punctuation -'i' Name +'s' Name ')' Punctuation +'+' Operator +'1' Literal.Number.Integer ' ' Text -'?' Operator -' ' Text -'last' Name -' ' Text -':' Operator +'||' Operator ' ' Text -'delim' Name -')' Punctuation -'\n' Text - -' ' Text -'print' Name +'throw' Name '(' Punctuation -'str' Name -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'function' Keyword -' ' Text -'print_joined' Name +'BoundsError' Keyword.Type '(' Punctuation -'strings' Name +'s' Name ',' Punctuation ' ' Text -'delim' Name +'j' Name +')' Punctuation ')' Punctuation '\n' Text ' ' Text -'i' Name -' ' Text -'=' Operator -' ' Text -'start' Name -'(' Punctuation -'strings' Name -')' Punctuation +'end' Keyword '\n' Text ' ' Text -'while' Keyword +'j' Name ' ' Text -'!' Operator -'done' Name -'(' Punctuation -'strings' Name -',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'str' Name -',' Punctuation +'<' Operator ' ' Text 'i' Name ' ' Text -'=' Operator +'&&' Operator ' ' Text -'next' Name -'(' Punctuation -'strings' Name -',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'print' Name -'(' Punctuation -'str' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword +'return' Keyword ' ' Text -'!' Operator -'done' Name -'(' Punctuation -'strings' Name -',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'print' Name -'(' Punctuation -'delim' Name -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword +'0' Literal.Number.Integer '\n' Text ' ' Text -'end' Keyword -'\n' Text - -'end' Keyword -'\n' Text - -'print_joined' Name -'(' Punctuation -'strings' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'print_joined' Name -'(' Punctuation -'strings' Name -',' Punctuation -' ' Text -'"' Literal.String -'"' Literal.String -')' Punctuation -'\n' Text - -'\n' Text - -'join' Name -'(' Punctuation -'args' Name -'.' Operator -'.' Operator -'.' Operator -')' Punctuation +'@inbounds' Name.Decorator ' ' Text -'=' Operator -' ' Text -'print_to_string' Name -'(' Punctuation -'print_joined' Name +'i' Name ',' Punctuation ' ' Text -'args' Name -'.' Operator -'.' Operator -'.' Operator -')' Punctuation -'\n' Text - -'\n' Text - -'chop' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation +'k' Name ' ' Text '=' Operator ' ' Text -'s' Name -'[' Punctuation -'1' Literal.Number.Integer -':' Operator 'thisind' Name '(' Punctuation 's' Name ',' Punctuation -'length' Name -'(' Punctuation -'s' Name -')' Punctuation -')' Punctuation -'-' Operator -'1' Literal.Number.Integer -']' Punctuation -'\n' Text - -'chomp' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator ' ' Text -'(' Punctuation 'i' Name -'=' Operator -'thisind' Name -'(' Punctuation -'s' Name -',' Punctuation -'length' Name -'(' Punctuation -'s' Name ')' Punctuation -')' Punctuation -';' Punctuation -' ' Text -'s' Name -'[' Punctuation -'i' Name -']' Punctuation -'==' Operator -"'\\n'" Literal.String.Char -' ' Text -'?' Operator +',' Punctuation ' ' Text -'s' Name -'[' Punctuation -'1' Literal.Number.Integer -':' Operator 'i' Name -'-' Operator -'1' Literal.Number.Integer -']' Punctuation -' ' Text -':' Operator -' ' Text -'s' Name -')' Punctuation '\n' Text -'chomp' Name -'(' Punctuation -'s' Name -'::' Operator -'ByteString' Name -')' Punctuation +' ' Text +'c' Name ' ' Text '=' Operator ' ' Text -'s' Name -'.' Operator -'data' Name -'[' Punctuation -'end' Keyword -']' Punctuation -'==' Operator -'0x0a' Literal.Number.Hex -' ' Text -'?' Operator +'j' Name ' ' Text -'s' Name -'[' Punctuation -'1' Literal.Number.Integer -':' Operator -'end' Keyword '-' Operator -'1' Literal.Number.Integer -']' Punctuation ' ' Text -':' Operator +'i' Name ' ' Text -'s' Name -'\n' Text - -'\n' Text - -'function' Keyword +'+' Operator ' ' Text -'lstrip' Name '(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -'\n' Text - -' ' Text 'i' Name ' ' Text -'=' Operator +'==' Operator ' ' Text -'start' Name -'(' Punctuation -'s' Name +'k' Name ')' Punctuation '\n' Text ' ' Text -'while' Keyword -' ' Text -'!' Operator -'done' Name +'length_continued' Name '(' Punctuation 's' Name ',' Punctuation +' ' Text 'i' Name -')' Punctuation -'\n' Text - -' ' Text -'c' Name ',' Punctuation ' ' Text 'j' Name -' ' Text -'=' Operator -' ' Text -'next' Name -'(' Punctuation -'s' Name ',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword ' ' Text -'!' Operator -'iswspace' Name -'(' Punctuation 'c' Name ')' Punctuation '\n' Text -' ' Text -'return' Keyword -' ' Text -'s' Name -'[' Punctuation -'i' Name -':' Operator 'end' Keyword -']' Punctuation '\n' Text -' ' Text -'end' Keyword '\n' Text -' ' Text -'i' Name +'@inline' Name.Decorator ' ' Text -'=' Operator -' ' Text -'j' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'"' Literal.String -'"' Literal.String -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - 'function' Keyword ' ' Text -'rstrip' Name +'length_continued' Name '(' Punctuation 's' Name '::' Operator -'String' Name -')' Punctuation -'\n' Text - -' ' Text -'r' Name +'String' Keyword.Type +',' Punctuation ' ' Text -'=' Operator +'i' Name +'::' Operator +'Int' Keyword.Type +',' Punctuation ' ' Text -'reverse' Name -'(' Punctuation -'s' Name +'n' Name +'::' Operator +'Int' Keyword.Type +',' Punctuation +' ' Text +'c' Name +'::' Operator +'Int' Keyword.Type ')' Punctuation '\n' Text ' ' Text 'i' Name ' ' Text -'=' Operator +'<' Operator ' ' Text -'start' Name -'(' Punctuation -'r' Name -')' Punctuation -'\n' Text - -' ' Text -'while' Keyword +'n' Name ' ' Text -'!' Operator -'done' Name -'(' Punctuation -'r' Name -',' Punctuation -'i' Name -')' Punctuation +'||' Operator +' ' Text +'return' Keyword +' ' Text +'c' Name '\n' Text -' ' Text -'c' Name -',' Punctuation +' ' Text +'@inbounds' Name.Decorator ' ' Text -'j' Name +'b' Name ' ' Text '=' Operator ' ' Text -'next' Name +'codeunit' Name '(' Punctuation -'r' Name +'s' Name ',' Punctuation +' ' Text 'i' Name ')' Punctuation '\n' Text -' ' Text -'if' Keyword +' ' Text +'@inbounds' Name.Decorator ' ' Text -'!' Operator -'iswspace' Name -'(' Punctuation -'c' Name -')' Punctuation -'\n' Text - -' ' Text -'return' Keyword +'while' Keyword ' ' Text -'s' Name -'[' Punctuation -'1' Literal.Number.Integer -':' Operator -'end' Keyword -'-' Operator -'i' Name -'+' Operator -'1' Literal.Number.Integer -']' Punctuation -'\n' Text - -' ' Text -'end' Keyword +'true' Name.Builtin '\n' Text ' ' Text -'i' Name -' ' Text -'=' Operator +'while' Keyword ' ' Text -'j' Name -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'"' Literal.String -'"' Literal.String -'\n' Text - -'end' Keyword +'true' Name.Builtin '\n' Text -'\n' Text - -'strip' Name +' ' Text '(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation +'i' Name ' ' Text -'=' Operator +'+=' Operator ' ' Text -'lstrip' Name -'(' Punctuation -'rstrip' Name -'(' Punctuation -'s' Name -')' Punctuation +'1' Literal.Number.Integer ')' Punctuation -'\n' Text - -'\n' Text - -'## string to integer functions ##' Comment -'\n' Text - -'\n' Text - -'function' Keyword ' ' Text -'parse_int' Name -'{' Punctuation -'T' Name -'<:' Operator -'Integer' Keyword.Type -'}' Punctuation -'(' Punctuation -'::' Operator -'Type' Keyword.Type -'{' Punctuation -'T' Name -'}' Punctuation -',' Punctuation +'≤' Operator +'\xa0' Text +'n' Name ' ' Text -'s' Name -'::' Operator -'String' Name -',' Punctuation +'||' Operator ' ' Text -'base' Name -'::' Operator -'Integer' Keyword.Type -')' Punctuation +'return' Keyword +' ' Text +'c' Name '\n' Text -' ' Text -'if' Keyword -' ' Text -'!' Operator -'(' Punctuation -'2' Literal.Number.Integer -' ' Text -'<=' Operator -' ' Text -'base' Name +' ' Text +'0xc0' Literal.Number.Hex ' ' Text -'<=' Operator +'≤' Operator +'\xa0' Text +'b' Name ' ' Text -'36' Literal.Number.Integer -')' Punctuation -';' Punctuation +'≤' Operator +'\xa0' Text +'0xf7' Literal.Number.Hex ' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'i' Literal.String -'n' Literal.String -'v' Literal.String -'a' Literal.String -'l' Literal.String -'i' Literal.String -'d' Literal.String -' ' Literal.String -'b' Literal.String -'a' Literal.String -'s' Literal.String -'e' Literal.String -':' Literal.String -' ' Literal.String -'"' Literal.String -',' Punctuation -'base' Name -')' Punctuation -';' Punctuation +'&&' Operator ' ' Text -'end' Keyword +'break' Keyword '\n' Text -' ' Text -'i' Name +' ' Text +'b' Name ' ' Text '=' Operator ' ' Text -'start' Name -'(' Punctuation -'s' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'done' Name +'codeunit' Name '(' Punctuation 's' Name ',' Punctuation +' ' Text 'i' Name ')' Punctuation '\n' Text ' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'p' Literal.String -'r' Literal.String -'e' Literal.String -'m' Literal.String -'a' Literal.String -'t' Literal.String -'u' Literal.String -'r' Literal.String -'e' Literal.String -' ' Literal.String -'e' Literal.String -'n' Literal.String -'d' Literal.String -' ' Literal.String -'o' Literal.String -'f' Literal.String -' ' Literal.String -'i' Literal.String -'n' Literal.String -'t' Literal.String -'e' Literal.String -'g' Literal.String -'e' Literal.String -'r' Literal.String -' ' Literal.String -'(' Literal.String -'i' Literal.String -'n' Literal.String -' ' Literal.String -'"' Literal.String -',' Punctuation -'show_to_string' Name -'(' Punctuation -'s' Name -')' Punctuation -',' Punctuation -'"' Literal.String -')' Literal.String -'"' Literal.String -')' Punctuation +'end' Keyword '\n' Text -' ' Text -'end' Keyword +' ' Text +'l' Name +' ' Text +'=' Operator +' ' Text +'b' Name '\n' Text -' ' Text -'c' Name -',' Punctuation -'i' Name +' ' Text +'b' Name ' ' Text '=' Operator ' ' Text -'next' Name +'codeunit' Name '(' Punctuation 's' Name ',' Punctuation +' ' Text 'i' Name ')' Punctuation +' ' Text +'# cont byte 1' Comment '\n' Text -' ' Text -'sgn' Name +' ' Text +'c' Name ' ' Text -'=' Operator +'-=' Operator ' ' Text -'one' Name '(' Punctuation -'T' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'T' Name +'x' Name ' ' Text -'<:' Operator +'=' Operator ' ' Text -'Signed' Keyword.Type +'b' Name ' ' Text -'&&' Operator +'&' Operator ' ' Text -'c' Name +'0xc0' Literal.Number.Hex ' ' Text '==' Operator ' ' Text -"'-'" Literal.String.Char -'\n' Text - -' ' Text -'sgn' Name -' ' Text -'=' Operator -' ' Text -'-' Operator -'sgn' Name -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'done' Name -'(' Punctuation -'s' Name -',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'error' Name -'(' Punctuation -'"' Literal.String -'p' Literal.String -'r' Literal.String -'e' Literal.String -'m' Literal.String -'a' Literal.String -'t' Literal.String -'u' Literal.String -'r' Literal.String -'e' Literal.String -' ' Literal.String -'e' Literal.String -'n' Literal.String -'d' Literal.String -' ' Literal.String -'o' Literal.String -'f' Literal.String -' ' Literal.String -'i' Literal.String -'n' Literal.String -'t' Literal.String -'e' Literal.String -'g' Literal.String -'e' Literal.String -'r' Literal.String -' ' Literal.String -'(' Literal.String -'i' Literal.String -'n' Literal.String -' ' Literal.String -'"' Literal.String -',' Punctuation -'show_to_string' Name -'(' Punctuation -'s' Name +'0x80' Literal.Number.Hex ')' Punctuation -',' Punctuation -'"' Literal.String -')' Literal.String -'"' Literal.String -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword '\n' Text ' ' Text -'c' Name -',' Punctuation -'i' Name +'x' Name ' ' Text -'=' Operator +'&' Operator ' ' Text -'next' Name '(' Punctuation -'s' Name -',' Punctuation -'i' Name -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'base' Name +'l' Name ' ' Text -'=' Operator +'≥' Operator ' ' Text -'convert' Name -'(' Punctuation -'T' Name -',' Punctuation -'base' Name +'0xe0' Literal.Number.Hex ')' Punctuation -'\n' Text - -' ' Text -'n' Name -'::' Operator -'T' Name ' ' Text -'=' Operator +'||' Operator ' ' Text -'0' Literal.Number.Integer +'continue' Keyword '\n' Text -' ' Text -'while' Keyword -' ' Text -'true' Keyword.Constant '\n' Text ' ' Text -'d' Name -' ' Text -'=' Operator -' ' Text -"'0'" Literal.String.Char +'(' Punctuation +'i' Name ' ' Text -'<=' Operator +'+=' Operator ' ' Text -'c' Name +'1' Literal.Number.Integer +')' Punctuation ' ' Text -'<=' Operator +'≤' Operator +'\xa0' Text +'n' Name ' ' Text -"'9'" Literal.String.Char +'||' Operator ' ' Text -'?' Operator +'return' Keyword ' ' Text 'c' Name -'-' Operator -"'0'" Literal.String.Char -' ' Text -':' Operator '\n' Text -' ' Text -"'A'" Literal.String.Char -' ' Text -'<=' Operator -' ' Text -'c' Name -' ' Text -'<=' Operator +' ' Text +'b' Name ' ' Text -"'Z'" Literal.String.Char +'=' Operator ' ' Text -'?' Operator +'codeunit' Name +'(' Punctuation +'s' Name +',' Punctuation ' ' Text -'c' Name -'-' Operator -"'A'" Literal.String.Char -'+' Operator -'10' Literal.Number.Integer +'i' Name +')' Punctuation ' ' Text -':' Operator +'# cont byte 2' Comment '\n' Text -' ' Text -"'a'" Literal.String.Char +' ' Text +'c' Name ' ' Text -'<=' Operator +'-=' Operator ' ' Text -'c' Name +'(' Punctuation +'x' Name ' ' Text -'<=' Operator +'=' Operator ' ' Text -"'z'" Literal.String.Char +'b' Name ' ' Text -'?' Operator +'&' Operator ' ' Text -'c' Name -'-' Operator -"'a'" Literal.String.Char -'+' Operator -'10' Literal.Number.Integer +'0xc0' Literal.Number.Hex ' ' Text -':' Operator +'==' Operator ' ' Text -'typemax' Name -'(' Punctuation -'Int' Keyword.Type +'0x80' Literal.Number.Hex ')' Punctuation '\n' Text ' ' Text -'if' Keyword -' ' Text -'d' Name +'x' Name ' ' Text -'>=' Operator +'&' Operator ' ' Text -'base' Name -'\n' Text - -' ' Text -'error' Name -'(' Punctuation -'show_to_string' Name -'(' Punctuation -'c' Name -')' Punctuation -',' Punctuation -'"' Literal.String -' ' Literal.String -'i' Literal.String -'s' Literal.String -' ' Literal.String -'n' Literal.String -'o' Literal.String -'t' Literal.String -' ' Literal.String -'a' Literal.String -' ' Literal.String -'v' Literal.String -'a' Literal.String -'l' Literal.String -'i' Literal.String -'d' Literal.String -' ' Literal.String -'d' Literal.String -'i' Literal.String -'g' Literal.String -'i' Literal.String -'t' Literal.String -' ' Literal.String -'(' Literal.String -'i' Literal.String -'n' Literal.String -' ' Literal.String -'"' Literal.String -',' Punctuation -'show_to_string' Name '(' Punctuation -'s' Name -')' Punctuation -',' Punctuation -'"' Literal.String -')' Literal.String -'"' Literal.String +'l' Name +' ' Text +'≥' Operator +' ' Text +'0xf0' Literal.Number.Hex ')' Punctuation +' ' Text +'||' Operator +' ' Text +'continue' Keyword '\n' Text -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'# TODO: overflow detection?' Comment '\n' Text ' ' Text -'n' Name +'(' Punctuation +'i' Name ' ' Text -'=' Operator +'+=' Operator +' ' Text +'1' Literal.Number.Integer +')' Punctuation ' ' Text +'≤' Operator +'\xa0' Text 'n' Name -'*' Operator -'base' Name ' ' Text -'+' Operator +'||' Operator +' ' Text +'return' Keyword ' ' Text -'d' Name +'c' Name '\n' Text ' ' Text -'if' Keyword +'b' Name ' ' Text -'done' Name +'=' Operator +' ' Text +'codeunit' Name '(' Punctuation 's' Name ',' Punctuation +' ' Text 'i' Name ')' Punctuation -'\n' Text - -' ' Text -'break' Keyword -'\n' Text - -' ' Text -'end' Keyword +' ' Text +'# cont byte 3' Comment '\n' Text ' ' Text 'c' Name -',' Punctuation -'i' Name ' ' Text -'=' Operator +'-=' Operator ' ' Text -'next' Name '(' Punctuation -'s' Name -',' Punctuation -'i' Name +'b' Name +' ' Text +'&' Operator +' ' Text +'0xc0' Literal.Number.Hex +' ' Text +'==' Operator +' ' Text +'0x80' Literal.Number.Hex ')' Punctuation '\n' Text @@ -10475,1244 +3853,386 @@ 'end' Keyword '\n' Text -' ' Text -'return' Keyword -' ' Text -'flipsign' Name -'(' Punctuation -'n' Name -',' Punctuation -'sgn' Name -')' Punctuation -'\n' Text - 'end' Keyword '\n' Text '\n' Text -'parse_int' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation -' ' Text -'base' Name -'::' Operator -'Integer' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'parse_int' Name -'(' Punctuation -'Int' Keyword.Type -',' Punctuation -'s' Name -',' Punctuation -'base' Name -')' Punctuation +'## overload methods for efficiency ##' Comment '\n' Text -'parse_int' Name -'(' Punctuation -'T' Name -'::' Operator -'Type' Keyword.Type -',' Punctuation -' ' Text -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'parse_int' Name -'(' Punctuation -'T' Name -',' Punctuation -'s' Name -',' Punctuation -'10' Literal.Number.Integer -')' Punctuation '\n' Text -'parse_int' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'parse_int' Name +'isvalid' Name '(' Punctuation -'Int' Keyword.Type -',' Punctuation 's' Name -',' Punctuation -'10' Literal.Number.Integer -')' Punctuation -'\n' Text - -'\n' Text - -'parse_bin' Name -'(' Punctuation -'T' Name '::' Operator -'Type' Keyword.Type +'String' Keyword.Type ',' Punctuation ' ' Text -'s' Name +'i' Name '::' Operator -'String' Name +'Int' Keyword.Type ')' Punctuation ' ' Text '=' Operator ' ' Text -'parse_int' Name +'checkbounds' Name '(' Punctuation -'T' Name +'Bool' Keyword.Type ',' Punctuation +' ' Text 's' Name ',' Punctuation -'2' Literal.Number.Integer -')' Punctuation -'\n' Text - -'parse_oct' Name -'(' Punctuation -'T' Name -'::' Operator -'Type' Keyword.Type -',' Punctuation ' ' Text -'s' Name -'::' Operator -'String' Name +'i' Name ')' Punctuation ' ' Text -'=' Operator +'&&' Operator ' ' Text -'parse_int' Name +'thisind' Name '(' Punctuation -'T' Name -',' Punctuation 's' Name ',' Punctuation -'8' Literal.Number.Integer -')' Punctuation -'\n' Text - -'parse_hex' Name -'(' Punctuation -'T' Name -'::' Operator -'Type' Keyword.Type -',' Punctuation ' ' Text -'s' Name -'::' Operator -'String' Name +'i' Name ')' Punctuation ' ' Text -'=' Operator +'==' Operator ' ' Text -'parse_int' Name -'(' Punctuation -'T' Name -',' Punctuation -'s' Name -',' Punctuation -'16' Literal.Number.Integer -')' Punctuation +'i' Name '\n' Text '\n' Text -'parse_bin' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator +'function' Keyword ' ' Text -'parse_int' Name -'(' Punctuation -'Int' Keyword.Type -',' Punctuation -'s' Name -',' Punctuation -'2' Literal.Number.Integer -')' Punctuation -'\n' Text - -'parse_oct' Name +'isascii' Name '(' Punctuation 's' Name '::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'parse_int' Name -'(' Punctuation -'Int' Keyword.Type -',' Punctuation -'s' Name -',' Punctuation -'8' Literal.Number.Integer +'String' Keyword.Type ')' Punctuation '\n' Text -'parse_hex' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator +' ' Text +'@inbounds' Name.Decorator ' ' Text -'parse_int' Name -'(' Punctuation -'Int' Keyword.Type -',' Punctuation -'s' Name -',' Punctuation -'16' Literal.Number.Integer -')' Punctuation -'\n' Text - -'\n' Text - -'integer' Name +'for' Keyword ' ' Text -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation +'i' Name ' ' Text '=' Operator ' ' Text -'int' Name +'1' Literal.Number.Integer +':' Operator +'ncodeunits' Name '(' Punctuation 's' Name ')' Punctuation '\n' Text -'unsigned' Name +' ' Text +'codeunit' Name '(' Punctuation 's' Name -'::' Operator -'String' Name +',' Punctuation +' ' Text +'i' Name ')' Punctuation ' ' Text -'=' Operator +'>=' Operator ' ' Text -'uint' Name -'(' Punctuation -'s' Name -')' Punctuation -'\n' Text - -'int' Name -' ' Text -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation +'0x80' Literal.Number.Hex ' ' Text -'=' Operator +'&&' Operator ' ' Text -'parse_int' Name -'(' Punctuation -'Int' Keyword.Type -',' Punctuation -'s' Name -')' Punctuation +'return' Keyword +' ' Text +'false' Name.Builtin '\n' Text -'uint' Name ' ' Text -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'parse_int' Name -'(' Punctuation -'Uint' Name -',' Punctuation -'s' Name -')' Punctuation +'end' Keyword '\n' Text -'int8' Name ' ' Text -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator +'return' Keyword ' ' Text -'parse_int' Name -'(' Punctuation -'Int8' Keyword.Type -',' Punctuation -'s' Name -')' Punctuation +'true' Name.Builtin '\n' Text -'uint8' Name -' ' Text -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'parse_int' Name -'(' Punctuation -'Uint8' Name -',' Punctuation -'s' Name -')' Punctuation +'end' Keyword '\n' Text -'int16' Name -' ' Text -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'parse_int' Name -'(' Punctuation -'Int16' Keyword.Type -',' Punctuation -'s' Name -')' Punctuation '\n' Text -'uint16' Name -' ' Text -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'parse_int' Name -'(' Punctuation -'Uint16' Name -',' Punctuation -'s' Name -')' Punctuation -'\n' Text +'"""' 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 -'int32' Name -' ' Text -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'parse_int' Name -'(' Punctuation -'Int32' Keyword.Type -',' Punctuation -'s' Name -')' Punctuation +'"' Literal.String +'AAA' Literal.String +'"' Literal.String +'\n```\n' Literal.String + +'"""' Literal.String '\n' Text -'uint32' Name -' ' Text +'repeat' Name '(' Punctuation -'s' Name +'c' Name '::' Operator -'String' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'parse_int' Name -'(' Punctuation -'Uint32' Name +'AbstractChar' Keyword.Type ',' Punctuation -'s' Name -')' Punctuation -'\n' Text - -'int64' Name -' ' Text -'(' Punctuation -'s' Name +' ' Text +'r' Name '::' Operator -'String' Name +'Integer' Keyword.Type ')' Punctuation ' ' Text '=' Operator ' ' Text -'parse_int' Name +'repeat' Name '(' Punctuation -'Int64' Keyword.Type -',' Punctuation -'s' Name -')' Punctuation -'\n' Text - -'uint64' Name -' ' Text +'Char' Keyword.Type '(' Punctuation -'s' Name -'::' Operator -'String' Name +'c' Name ')' Punctuation -' ' Text -'=' Operator -' ' Text -'parse_int' Name -'(' Punctuation -'Uint64' Name ',' Punctuation -'s' Name -')' Punctuation -'\n' Text - -'\n' Text - -'## integer to string functions ##' Comment -'\n' Text - -'\n' Text - -'const' Keyword.Declaration ' ' Text -'_jl_dig_syms' Name -' ' Text -'=' Operator +'r' Name +')' Punctuation ' ' Text -'"' Literal.String -'0' Literal.String -'1' Literal.String -'2' Literal.String -'3' Literal.String -'4' Literal.String -'5' Literal.String -'6' Literal.String -'7' Literal.String -'8' Literal.String -'9' Literal.String -'a' Literal.String -'b' Literal.String -'c' Literal.String -'d' Literal.String -'e' Literal.String -'f' Literal.String -'g' Literal.String -'h' Literal.String -'i' Literal.String -'j' Literal.String -'k' Literal.String -'l' Literal.String -'m' Literal.String -'n' Literal.String -'o' Literal.String -'p' Literal.String -'q' Literal.String -'r' Literal.String -'s' Literal.String -'t' Literal.String -'u' Literal.String -'v' Literal.String -'w' Literal.String -'x' Literal.String -'y' Literal.String -'z' Literal.String -'"' Literal.String -'.' Operator -'data' Name -'\n' Text - +'# fallback' Comment '\n' Text 'function' Keyword ' ' Text -'int2str' Name +'repeat' Name '(' Punctuation -'n' Name +'c' Name '::' Operator -'Union' Keyword.Type -'(' Punctuation -'Int64' Keyword.Type -',' Punctuation -'Uint64' Name -')' Punctuation +'Char' Keyword.Type ',' Punctuation ' ' Text -'b' Name +'r' Name '::' Operator 'Integer' Keyword.Type -',' Punctuation -' ' Text -'l' Name -'::' Operator -'Int' Keyword.Type ')' Punctuation '\n' Text ' ' Text -'if' Keyword -' ' Text -'b' Name -' ' Text -'<' Operator -' ' Text -'2' Literal.Number.Integer +'r' Name ' ' Text -'||' Operator +'==' Operator ' ' Text -'b' Name +'0' Literal.Number.Integer ' ' Text -'>' Operator +'&&' Operator ' ' Text -'36' Literal.Number.Integer -';' Punctuation +'return' Keyword ' ' Text -'error' Name -'(' Punctuation '"' Literal.String -'i' Literal.String -'n' Literal.String -'t' Literal.String -'2' Literal.String -'s' Literal.String -'t' Literal.String -'r' Literal.String -':' Literal.String -' ' Literal.String -'i' Literal.String -'n' Literal.String -'v' Literal.String -'a' Literal.String -'l' Literal.String -'i' Literal.String -'d' Literal.String -' ' Literal.String -'b' Literal.String -'a' Literal.String -'s' Literal.String -'e' Literal.String -' ' Literal.String '"' Literal.String -',' Punctuation -' ' Text -'b' Name -')' Punctuation -';' Punctuation -' ' Text -'end' Keyword '\n' Text ' ' Text -'neg' Name -' ' Text -'=' Operator -' ' Text -'n' Name +'r' Name ' ' Text '<' Operator ' ' Text '0' Literal.Number.Integer -'\n' Text - -' ' Text -'n' Name ' ' Text -'=' Operator +'&&' Operator ' ' Text -'unsigned' Name +'throw' Name '(' Punctuation -'abs' Name +'ArgumentError' Keyword.Type '(' Punctuation -'n' Name +'"' Literal.String +"can't repeat a character " Literal.String +'$r' Literal.String.Interpol +' times' Literal.String +'"' Literal.String ')' Punctuation ')' Punctuation '\n' Text ' ' Text -'b' Name +'u' Name ' ' Text '=' Operator ' ' Text -'convert' Name +'bswap' Name '(' Punctuation -'typeof' Name +'reinterpret' Name '(' Punctuation -'n' Name -')' Punctuation +'UInt32' Keyword.Type ',' Punctuation ' ' Text -'b' Name +'c' Name +')' Punctuation ')' Punctuation '\n' Text ' ' Text -'ndig' Name +'n' Name ' ' Text '=' Operator ' ' Text -'ndigits' Name -'(' Punctuation -'n' Name -',' Punctuation -' ' Text -'b' Name -')' Punctuation -'\n' Text - -' ' Text -'sz' Name +'4' Literal.Number.Integer ' ' Text -'=' Operator +'-' Operator ' ' Text -'max' Name '(' Punctuation -'convert' Name +'leading_zeros' Name '(' Punctuation -'Int' Keyword.Type -',' Punctuation +'u' Name ' ' Text -'ndig' Name -')' Punctuation -',' Punctuation +'|' Operator ' ' Text -'l' Name +'0xff' Literal.Number.Hex ')' Punctuation ' ' Text -'+' Operator -' ' Text -'neg' Name -'\n' Text - -' ' Text -'data' Name -' ' Text -'=' Operator +'>>' Operator ' ' Text -'Array' Keyword.Type -'(' Punctuation -'Uint8' Name -',' Punctuation -' ' Text -'sz' Name +'3' Literal.Number.Integer ')' Punctuation '\n' Text ' ' Text -'i' Name -' ' Text -'=' Operator -' ' Text -'sz' Name -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'ispow2' Name -'(' Punctuation -'b' Name -')' Punctuation -'\n' Text - -' ' Text -'digmask' Name -' ' Text -'=' Operator -' ' Text -'b' Name -'-' Operator -'1' Literal.Number.Integer -'\n' Text - -' ' Text -'shift' Name +'s' Name ' ' Text '=' Operator ' ' Text -'trailing_zeros' Name +'_string_n' Name '(' Punctuation -'b' Name -')' Punctuation -'\n' Text - -' ' Text -'while' Keyword -' ' Text -'i' Name -' ' Text -'>' Operator -' ' Text -'neg' Name -'\n' Text - -' ' Text -'ch' Name -' ' Text -'=' Operator -' ' Text 'n' Name -' ' Text -'&' Operator -' ' Text -'digmask' Name -'\n' Text - -' ' Text -'data' Name -'[' Punctuation -'i' Name -']' Punctuation -' ' Text -'=' Operator -' ' Text -'_jl_dig_syms' Name -'[' Punctuation -'int' Name -'(' Punctuation -'ch' Name +'*' Operator +'r' Name ')' Punctuation -'+' Operator -'1' Literal.Number.Integer -']' Punctuation -'\n' Text - -' ' Text -'n' Name -' ' Text -'>>=' Operator -' ' Text -'shift' Name -'\n' Text - -' ' Text -'i' Name -' ' Text -'-=' Operator -' ' Text -'1' Literal.Number.Integer -'\n' Text - -' ' Text -'end' Keyword '\n' Text ' ' Text -'else' Keyword -'\n' Text - -' ' Text -'while' Keyword -' ' Text -'i' Name -' ' Text -'>' Operator -' ' Text -'neg' Name -'\n' Text - -' ' Text -'ch' Name -' ' Text -'=' Operator -' ' Text -'n' Name -' ' Text -'%' Operator -' ' Text -'b' Name -'\n' Text - -' ' Text -'data' Name -'[' Punctuation -'i' Name -']' Punctuation +'p' Name ' ' Text '=' Operator ' ' Text -'_jl_dig_syms' Name -'[' Punctuation -'int' Name +'pointer' Name '(' Punctuation -'ch' Name +'s' Name ')' Punctuation -'+' Operator -'1' Literal.Number.Integer -']' Punctuation '\n' Text -' ' Text -'n' Name +' ' Text +'GC' Name +'.' Operator +'@preserve' Name.Decorator ' ' Text -'=' Operator +'s' Name +' ' Text +'if' Keyword ' ' Text -'div' Name -'(' Punctuation 'n' Name -',' Punctuation -'b' Name -')' Punctuation -'\n' Text - -' ' Text -'i' Name ' ' Text -'-=' Operator +'==' Operator ' ' Text '1' Literal.Number.Integer '\n' Text ' ' Text -'end' Keyword -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'if' Keyword -' ' Text -'neg' Name -'\n' Text - -' ' Text -'data' Name -'[' Punctuation -'1' Literal.Number.Integer -']' Punctuation -' ' Text -'=' Operator -' ' Text -"'-'" Literal.String.Char -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -' ' Text -'ASCIIString' Keyword.Type -'(' Punctuation -'data' Name -')' Punctuation -'\n' Text - -'end' Keyword -'\n' Text - -'int2str' Name -'(' Punctuation -'n' Name -'::' Operator -'Integer' Keyword.Type -',' Punctuation -' ' Text -'b' Name -'::' Operator -'Integer' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'int2str' Name +'ccall' Keyword '(' Punctuation -'n' Name +':memset' Literal.String.Symbol ',' Punctuation ' ' Text -'b' Name +'Ptr' Keyword.Type +'{' Punctuation +'Cvoid' Keyword.Type +'}' Punctuation ',' Punctuation ' ' Text -'0' Literal.Number.Integer -')' Punctuation -'\n' Text - -'int2str' Name '(' Punctuation -'n' Name -'::' Operator -'Integer' Keyword.Type +'Ptr' Keyword.Type +'{' Punctuation +'UInt8' Keyword.Type +'}' Punctuation ',' Punctuation ' ' Text -'b' Name -'::' Operator -'Integer' Keyword.Type +'Cint' Keyword.Type ',' Punctuation ' ' Text -'l' Name -'::' Operator -'Int' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'int2str' Name -'(' Punctuation -'int64' Name -'(' Punctuation -'n' Name +'Csize_t' Keyword.Type ')' Punctuation ',' Punctuation ' ' Text -'b' Name +'p' Name ',' Punctuation ' ' Text -'l' Name -')' Punctuation -'\n' Text - -'\n' Text - -'string' Name -'(' Punctuation -'x' Name -'::' Operator -'Signed' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'dec' Name -'(' Punctuation -'int64' Name -'(' Punctuation -'x' Name -')' Punctuation -')' Punctuation -'\n' Text - -'cstring' Name -'(' Punctuation -'x' Name -'::' Operator -'Signed' Keyword.Type -')' Punctuation -' ' Text -'=' Operator -' ' Text -'dec' Name -'(' Punctuation -'int64' Name -'(' Punctuation -'x' Name -')' Punctuation -')' Punctuation -'\n' Text - -'\n' Text - -'## string to float functions ##' Comment -'\n' Text - -'\n' Text - -'function' Keyword +'u' Name ' ' Text -'float64_isvalid' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation +'%' Operator ' ' Text -'out' Name -'::' Operator -'Array' Keyword.Type -'{' Punctuation -'Float64' Keyword.Type +'UInt8' Keyword.Type ',' Punctuation -'1' Literal.Number.Integer -'}' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'s' Name -' ' Text -'=' Operator ' ' Text -'cstring' Name -'(' Punctuation -'s' Name +'r' Name ')' Punctuation '\n' Text ' ' Text -'return' Keyword -' ' Text -'(' Punctuation -'ccall' Keyword -'(' Punctuation -':' Operator -'jl_strtod' Name -',' Punctuation -' ' Text -'Int32' Keyword.Type -',' Punctuation -' ' Text -'(' Punctuation -'Ptr' Keyword.Type -'{' Punctuation -'Uint8' Name -'}' Punctuation -',' Punctuation -'Ptr' Keyword.Type -'{' Punctuation -'Float64' Keyword.Type -'}' Punctuation -')' Punctuation -',' Punctuation +'elseif' Keyword ' ' Text -'s' Name -',' Punctuation +'n' Name ' ' Text -'out' Name -')' Punctuation '==' Operator -'0' Literal.Number.Integer -')' Punctuation -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'function' Keyword -' ' Text -'float32_isvalid' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -',' Punctuation ' ' Text -'out' Name -'::' Operator -'Array' Keyword.Type -'{' Punctuation -'Float32' Keyword.Type -',' Punctuation -'1' Literal.Number.Integer -'}' Punctuation -')' Punctuation +'2' Literal.Number.Integer '\n' Text -' ' Text -'s' Name +' ' Text +'p16' Name ' ' Text '=' Operator ' ' Text -'cstring' Name -'(' Punctuation -'s' Name -')' Punctuation -'\n' Text - -' ' Text -'return' Keyword -' ' Text +'reinterpret' Name '(' Punctuation -'ccall' Keyword -'(' Punctuation -':' Operator -'jl_strtof' Name -',' Punctuation -' ' Text -'Int32' Keyword.Type -',' Punctuation -' ' Text -'(' Punctuation -'Ptr' Keyword.Type -'{' Punctuation -'Uint8' Name -'}' Punctuation -',' Punctuation 'Ptr' Keyword.Type '{' Punctuation -'Float32' Keyword.Type +'UInt16' Keyword.Type '}' Punctuation -')' Punctuation ',' Punctuation ' ' Text -'s' Name -',' Punctuation -' ' Text -'out' Name -')' Punctuation -'==' Operator -'0' Literal.Number.Integer +'p' Name ')' Punctuation '\n' Text -'end' Keyword -'\n' Text - -'\n' Text - -'begin' Keyword -'\n' Text - -' ' Text -'local' Keyword.Declaration +' ' Text +'for' Keyword ' ' Text -'tmp' Name -'::' Operator -'Array' Keyword.Type -'{' Punctuation -'Float64' Keyword.Type -',' Punctuation -'1' Literal.Number.Integer -'}' Punctuation +'i' Name ' ' Text '=' Operator ' ' Text -'Array' Keyword.Type -'(' Punctuation -'Float64' Keyword.Type -',' Punctuation '1' Literal.Number.Integer -')' Punctuation +':' Operator +'r' Name '\n' Text -' ' Text -'local' Keyword.Declaration -' ' Text -'tmpf' Name -'::' Operator -'Array' Keyword.Type -'{' Punctuation -'Float32' Keyword.Type -',' Punctuation -'1' Literal.Number.Integer -'}' Punctuation -' ' Text -'=' Operator -' ' Text -'Array' Keyword.Type +' ' Text +'unsafe_store!' Name '(' Punctuation -'Float32' Keyword.Type -',' Punctuation -'1' Literal.Number.Integer -')' Punctuation -'\n' Text - -' ' Text -'global' Keyword.Declaration -' ' Text -'float64' Name +'p16' Name ',' Punctuation ' ' Text -'float32' Name -'\n' Text - -' ' Text -'function' Keyword +'u' Name ' ' Text -'float64' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword +'%' Operator ' ' Text -'!' Operator -'float64_isvalid' Name -'(' Punctuation -'s' Name +'UInt16' Keyword.Type ',' Punctuation ' ' Text -'tmp' Name -')' Punctuation -'\n' Text - -' ' Text -'throw' Name -'(' Punctuation -'ArgumentError' Keyword.Type -'(' Punctuation -'"' Literal.String -'f' Literal.String -'l' Literal.String -'o' Literal.String -'a' Literal.String -'t' Literal.String -'6' Literal.String -'4' Literal.String -'(' Literal.String -'S' Literal.String -'t' Literal.String -'r' Literal.String -'i' Literal.String -'n' Literal.String -'g' Literal.String -')' Literal.String -':' Literal.String -' ' Literal.String -'i' Literal.String -'n' Literal.String -'v' Literal.String -'a' Literal.String -'l' Literal.String -'i' Literal.String -'d' Literal.String -' ' Literal.String -'n' Literal.String -'u' Literal.String -'m' Literal.String -'b' Literal.String -'e' Literal.String -'r' Literal.String -' ' Literal.String -'f' Literal.String -'o' Literal.String -'r' Literal.String -'m' Literal.String -'a' Literal.String -'t' Literal.String -'"' Literal.String -')' Punctuation +'i' Name ')' Punctuation '\n' Text @@ -11720,654 +4240,196 @@ 'end' Keyword '\n' Text -' ' Text -'return' Keyword -' ' Text -'tmp' Name -'[' Punctuation -'1' Literal.Number.Integer -']' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -'\n' Text - ' ' Text -'function' Keyword +'elseif' Keyword ' ' Text -'float32' Name -'(' Punctuation -'s' Name -'::' Operator -'String' Name -')' Punctuation -'\n' Text - -' ' Text -'if' Keyword +'n' Name ' ' Text -'!' Operator -'float32_isvalid' Name -'(' Punctuation -'s' Name -',' Punctuation +'==' Operator ' ' Text -'tmpf' Name -')' Punctuation -'\n' Text - -' ' Text -'throw' Name -'(' Punctuation -'ArgumentError' Keyword.Type -'(' Punctuation -'"' Literal.String -'f' Literal.String -'l' Literal.String -'o' Literal.String -'a' Literal.String -'t' Literal.String -'3' Literal.String -'2' Literal.String -'(' Literal.String -'S' Literal.String -'t' Literal.String -'r' Literal.String -'i' Literal.String -'n' Literal.String -'g' Literal.String -')' Literal.String -':' Literal.String -' ' Literal.String -'i' Literal.String -'n' Literal.String -'v' Literal.String -'a' Literal.String -'l' Literal.String -'i' Literal.String -'d' Literal.String -' ' Literal.String -'n' Literal.String -'u' Literal.String -'m' Literal.String -'b' Literal.String -'e' Literal.String -'r' Literal.String -' ' Literal.String -'f' Literal.String -'o' Literal.String -'r' Literal.String -'m' Literal.String -'a' Literal.String -'t' Literal.String -'"' Literal.String -')' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'end' Keyword +'3' Literal.Number.Integer '\n' Text ' ' Text -'return' Keyword -' ' Text -'tmpf' Name -'[' Punctuation -'1' Literal.Number.Integer -']' Punctuation -'\n' Text - -' ' Text -'end' Keyword -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'float' Name -'(' Punctuation -'x' Name -'::' Operator -'String' Name -')' Punctuation +'b1' Name ' ' Text '=' Operator ' ' Text -'float64' Name -'(' Punctuation -'x' Name -')' Punctuation -'\n' Text - -'parse_float' Name '(' Punctuation -'x' Name -'::' Operator -'String' Name -')' Punctuation +'u' Name ' ' Text -'=' Operator +'>>' Operator ' ' Text -'float64' Name -'(' Punctuation -'x' Name -')' Punctuation -'\n' Text - -'parse_float' Name -'(' Punctuation -'::' Operator -'Type' Keyword.Type -'{' Punctuation -'Float64' Keyword.Type -'}' Punctuation -',' Punctuation -' ' Text -'x' Name -'::' Operator -'String' Name +'0' Literal.Number.Integer ')' Punctuation ' ' Text -'=' Operator +'%' Operator ' ' Text -'float64' Name -'(' Punctuation -'x' Name -')' Punctuation +'UInt8' Keyword.Type '\n' Text -'parse_float' Name -'(' Punctuation -'::' Operator -'Type' Keyword.Type -'{' Punctuation -'Float32' Keyword.Type -'}' Punctuation -',' Punctuation -' ' Text -'x' Name -'::' Operator -'String' Name -')' Punctuation +' ' Text +'b2' Name ' ' Text '=' Operator ' ' Text -'float32' Name '(' Punctuation -'x' Name -')' Punctuation -'\n' Text - -'\n' Text - -'# copying a byte string (generally not needed due to "immutability")' Comment -'\n' Text - -'\n' Text - -'strcpy' Name -'{' Punctuation -'T' Name -'<:' Operator -'ByteString' Name -'}' Punctuation -'(' Punctuation -'s' Name -'::' Operator -'T' Name -')' Punctuation +'u' Name ' ' Text -'=' Operator +'>>' Operator ' ' Text -'T' Name -'(' Punctuation -'copy' Name -'(' Punctuation -'s' Name -'.' Operator -'data' Name -')' Punctuation +'8' Literal.Number.Integer ')' Punctuation -'\n' Text - -'\n' Text - -'# lexicographically compare byte arrays (used by Latin-1 and UTF-8)' Comment -'\n' Text - -'\n' Text - -'function' Keyword ' ' Text -'lexcmp' Name -'(' Punctuation -'a' Name -'::' Operator -'Array' Keyword.Type -'{' Punctuation -'Uint8' Name -',' Punctuation -'1' Literal.Number.Integer -'}' Punctuation -',' Punctuation +'%' Operator ' ' Text -'b' Name -'::' Operator -'Array' Keyword.Type -'{' Punctuation -'Uint8' Name -',' Punctuation -'1' Literal.Number.Integer -'}' Punctuation -')' Punctuation +'UInt8' Keyword.Type '\n' Text -' ' Text -'c' Name +' ' Text +'b3' Name ' ' Text '=' Operator ' ' Text -'ccall' Keyword '(' Punctuation -':' Operator -'memcmp' Name -',' Punctuation -' ' Text -'Int32' Keyword.Type -',' Punctuation -' ' Text -'(' Punctuation -'Ptr' Keyword.Type -'{' Punctuation -'Uint8' Name -'}' Punctuation -',' Punctuation +'u' Name ' ' Text -'Ptr' Keyword.Type -'{' Punctuation -'Uint8' Name -'}' Punctuation -',' Punctuation +'>>' Operator ' ' Text -'Uint' Name +'16' Literal.Number.Integer ')' Punctuation -',' Punctuation -'\n' Text - -' ' Text -'a' Name -',' Punctuation ' ' Text -'b' Name -',' Punctuation +'%' Operator ' ' Text -'min' Name -'(' Punctuation -'length' Name -'(' Punctuation -'a' Name -')' Punctuation -',' Punctuation -'length' Name -'(' Punctuation -'b' Name -')' Punctuation -')' Punctuation -')' Punctuation +'UInt8' Keyword.Type '\n' Text -' ' Text -'c' Name -' ' Text -'<' Operator -' ' Text -'0' Literal.Number.Integer -' ' Text -'?' Operator -' ' Text -'-' Operator -'1' Literal.Number.Integer -' ' Text -':' Operator +' ' Text +'for' Keyword ' ' Text -'c' Name +'i' Name ' ' Text -'>' Operator +'=' Operator ' ' Text '0' Literal.Number.Integer -' ' Text -'?' Operator -' ' Text -'+' Operator -'1' Literal.Number.Integer -' ' Text ':' Operator -' ' Text -'cmp' Name -'(' Punctuation -'length' Name -'(' Punctuation -'a' Name -')' Punctuation -',' Punctuation -'length' Name -'(' Punctuation -'b' Name -')' Punctuation -')' Punctuation -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'# find the index of the first occurrence of a byte value in a byte array' Comment -'\n' Text - +'r' Name +'-' Operator +'1' Literal.Number.Integer '\n' Text -'function' Keyword -' ' Text -'memchr' Name +' ' Text +'unsafe_store!' Name '(' Punctuation -'a' Name -'::' Operator -'Array' Keyword.Type -'{' Punctuation -'Uint8' Name +'p' Name ',' Punctuation -'1' Literal.Number.Integer -'}' Punctuation +' ' Text +'b1' Name ',' Punctuation ' ' Text -'b' Name -'::' Operator -'Integer' Keyword.Type -')' Punctuation -'\n' Text - -' ' Text -'p' Name +'3' Literal.Number.Integer +'i' Name ' ' Text -'=' Operator +'+' Operator ' ' Text -'pointer' Name -'(' Punctuation -'a' Name +'1' Literal.Number.Integer ')' Punctuation '\n' Text -' ' Text -'q' Name -' ' Text -'=' Operator -' ' Text -'ccall' Keyword -'(' Punctuation -':' Operator -'memchr' Name -',' Punctuation -' ' Text -'Ptr' Keyword.Type -'{' Punctuation -'Uint8' Name -'}' Punctuation -',' Punctuation -' ' Text +' ' Text +'unsafe_store!' Name '(' Punctuation -'Ptr' Keyword.Type -'{' Punctuation -'Uint8' Name -'}' Punctuation -',' Punctuation -' ' Text -'Int32' Keyword.Type -',' Punctuation -' ' Text -'Uint' Name -')' Punctuation -',' Punctuation -' ' Text 'p' Name ',' Punctuation ' ' Text -'b' Name +'b2' Name ',' Punctuation ' ' Text -'length' Name -'(' Punctuation -'a' Name -')' Punctuation -')' Punctuation -'\n' Text - -' ' Text -'q' Name -' ' Text -'==' Operator -' ' Text -'C_NULL' Name.Builtin -' ' Text -'?' Operator -' ' Text -'0' Literal.Number.Integer -' ' Text -':' Operator -' ' Text -'q' Name -' ' Text -'-' Operator -' ' Text -'p' Name +'3' Literal.Number.Integer +'i' Name ' ' Text '+' Operator ' ' Text -'1' Literal.Number.Integer -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'# concatenate byte arrays into a single array' Comment -'\n' Text - -'\n' Text - -'memcat' Name -'(' Punctuation -')' Punctuation -' ' Text -'=' Operator -' ' Text -'Array' Keyword.Type -'(' Punctuation -'Uint8' Name -',' Punctuation -'0' Literal.Number.Integer +'2' Literal.Number.Integer ')' Punctuation '\n' Text -'memcat' Name +' ' Text +'unsafe_store!' Name '(' Punctuation -'a' Name -'::' Operator -'Array' Keyword.Type -'{' Punctuation -'Uint8' Name +'p' Name ',' Punctuation -'1' Literal.Number.Integer -'}' Punctuation -')' Punctuation -' ' Text -'=' Operator ' ' Text -'copy' Name -'(' Punctuation -'a' Name -')' Punctuation -'\n' Text - -'\n' Text - -'function' Keyword -' ' Text -'memcat' Name -'(' Punctuation -'arrays' Name -'::' Operator -'Array' Keyword.Type -'{' Punctuation -'Uint8' Name +'b3' Name ',' Punctuation -'1' Literal.Number.Integer -'}' Punctuation -'.' Operator -'.' Operator -'.' Operator -')' Punctuation -'\n' Text - -' ' Text -'n' Name -' ' Text -'=' Operator -' ' Text -'0' Literal.Number.Integer -'\n' Text - -' ' Text -'for' Keyword -' ' Text -'a' Name ' ' Text -'in' Keyword.Pseudo -' ' Text -'arrays' Name -'\n' Text - -' ' Text -'n' Name +'3' Literal.Number.Integer +'i' Name ' ' Text -'+=' Operator +'+' Operator ' ' Text -'length' Name -'(' Punctuation -'a' Name +'3' Literal.Number.Integer ')' Punctuation '\n' Text -' ' Text +' ' Text 'end' Keyword '\n' Text ' ' Text -'arr' Name -' ' Text -'=' Operator -' ' Text -'Array' Keyword.Type -'(' Punctuation -'Uint8' Name -',' Punctuation +'elseif' Keyword ' ' Text 'n' Name -')' Punctuation -'\n' Text - -' ' Text -'ptr' Name ' ' Text -'=' Operator +'==' Operator ' ' Text -'pointer' Name -'(' Punctuation -'arr' Name -')' Punctuation +'4' Literal.Number.Integer '\n' Text -' ' Text -'offset' Name +' ' Text +'p32' Name ' ' Text '=' Operator ' ' Text -'0' Literal.Number.Integer -'\n' Text - -' ' Text -'for' Keyword -' ' Text -'a' Name -' ' Text -'in' Keyword.Pseudo -' ' Text -'arrays' Name -'\n' Text - -' ' Text -'ccall' Keyword +'reinterpret' Name '(' Punctuation -':' Operator -'memcpy' Name -',' Punctuation -' ' Text 'Ptr' Keyword.Type '{' Punctuation -'Uint8' Name +'UInt32' Keyword.Type '}' Punctuation ',' Punctuation ' ' Text -'(' Punctuation -'Ptr' Keyword.Type -'{' Punctuation -'Uint8' Name -'}' Punctuation -',' Punctuation +'p' Name +')' Punctuation +'\n' Text + +' ' Text +'for' Keyword ' ' Text -'Ptr' Keyword.Type -'{' Punctuation -'Uint8' Name -'}' Punctuation -',' Punctuation +'i' Name ' ' Text -'Uint' Name -')' Punctuation -',' Punctuation +'=' Operator +' ' Text +'1' Literal.Number.Integer +':' Operator +'r' Name '\n' Text -' ' Text -'ptr' Name -'+' Operator -'offset' Name +' ' Text +'unsafe_store!' Name +'(' Punctuation +'p32' Name ',' Punctuation ' ' Text -'a' Name +'u' Name ',' Punctuation ' ' Text -'length' Name -'(' Punctuation -'a' Name -')' Punctuation +'i' Name ')' Punctuation '\n' Text ' ' Text -'offset' Name -' ' Text -'+=' Operator -' ' Text -'length' Name -'(' Punctuation -'a' Name -')' Punctuation +'end' Keyword '\n' Text ' ' Text @@ -12377,64 +4439,8 @@ ' ' Text 'return' Keyword ' ' Text -'arr' Name -'\n' Text - -'end' Keyword -'\n' Text - -'\n' Text - -'# concatenate the data fields of byte strings' Comment -'\n' Text - -'\n' Text - -'memcat' Name -'(' Punctuation -'s' Name -'::' Operator -'ByteString' Name -')' Punctuation -' ' Text -'=' Operator -' ' Text -'memcat' Name -'(' Punctuation 's' Name -'.' Operator -'data' Name -')' Punctuation '\n' Text -'memcat' Name -'(' Punctuation -'sx' Name -'::' Operator -'ByteString' Name -'.' Operator -'.' Operator -'.' Operator -')' Punctuation -' ' Text -'=' Operator -' ' Text -'memcat' Name -'(' Punctuation -'map' Name -'(' Punctuation -'s' Name -'-' Operator -'>' Operator -'s' Name -'.' Operator -'data' Name -',' Punctuation -' ' Text -'sx' Name -')' Punctuation -'.' Operator -'.' Operator -'.' Operator -')' Punctuation +'end' Keyword '\n' Text |