'#' Comment.Preproc 'include' Comment.Preproc ' ' Text.Whitespace '' Comment.PreprocFile '\n' Comment.Preproc '#' Comment.Preproc 'include' Comment.Preproc ' ' Text.Whitespace '' Comment.PreprocFile '\n' Comment.Preproc '#' Comment.Preproc 'include' Comment.Preproc ' ' Text.Whitespace '' Comment.PreprocFile '\n' Comment.Preproc '#' Comment.Preproc 'include' Comment.Preproc ' ' Text.Whitespace '"codegen.h"' Comment.PreprocFile '\n' Comment.Preproc '#' Comment.Preproc 'include' Comment.Preproc ' ' Text.Whitespace '"symboltable.h"' Comment.PreprocFile '\n' Comment.Preproc '#' Comment.Preproc 'include' Comment.Preproc ' ' Text.Whitespace '"stringbuffer.h"' Comment.PreprocFile '\n' Comment.Preproc '\n' Text.Whitespace 'extern' Keyword ' ' Text.Whitespace 'void' Keyword.Type ' ' Text.Whitespace 'yyerror' Name.Function '(' Punctuation 'char' Keyword.Type '*' Operator ' ' Text.Whitespace 'msg' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'stringBuffer' Name '*' Operator ' ' Text.Whitespace 'staticVariableBuffer' Name ';' Punctuation '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'stringBuffer' Name '*' Operator ' ' Text.Whitespace 'classInitBuffer' Name ';' Punctuation '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'stringBuffer' Name '*' Operator ' ' Text.Whitespace 'currentMethodBuffer' Name ';' Punctuation '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'stringBuffer' Name '*' Operator ' ' Text.Whitespace 'finishedMethodsBuffer' Name ';' Punctuation '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'stringBuffer' Name '*' Operator ' ' Text.Whitespace 'mainBuffer' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'currentMethodBufferIndex' Name ';' Punctuation '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'currentMethodStackSize' Name ';' Punctuation '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'currentMethodStackSizeMax' Name ';' Punctuation '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'currentMethodNumberOfLocals' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'classInitBufferIndex' Name ';' Punctuation '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'classInitStackSize' Name ';' Punctuation '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'classInitStackSizeMax' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'labelCounter' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'global' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'char' Keyword.Type ' ' Text.Whitespace 'tempString' Name '[' Punctuation 'MAX_LENGTH_OF_COMMAND' Name ']' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'extern' Keyword ' ' Text.Whitespace 'char' Keyword.Type '*' Operator ' ' Text.Whitespace 'className' Name ';' Punctuation ' ' Text.Whitespace '/* from minako-syntax.y */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace '/* forward declarations */' Comment.Multiline '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'void' Keyword.Type ' ' Text.Whitespace 'increaseStackby' Name.Function '(' Punctuation 'int' Keyword.Type ' ' Text.Whitespace 'stackdiff' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace 'char' Keyword.Type ' ' Text.Whitespace 'convertType' Name.Function '(' Punctuation 'int' Keyword.Type ' ' Text.Whitespace 'type' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'void' Keyword.Type ' ' Text.Whitespace 'codegenInit' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'staticVariableBuffer' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'newStringBuffer' Name '(' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'classInitBuffer' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'newStringBuffer' Name '(' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'currentMethodBuffer' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'finishedMethodsBuffer' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'newStringBuffer' Name '(' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'mainBuffer' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'newStringBuffer' Name '(' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'mainBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '; ------- Header --------------------------------------------' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation ' ' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'sprintf' Name '(' Punctuation 'tempString' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '.class public synchronized %s' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'className' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'mainBuffer' Name ',' Punctuation ' ' Text.Whitespace 'tempString' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'mainBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '.super java/lang/Object' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'mainBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '; -----------------------------------------------------------' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'mainBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'finishedMethodsBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '; ------- Constructor ---------------------------------------' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'finishedMethodsBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '.method public ()V' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'finishedMethodsBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '\\t' Literal.String.Escape '.limit stack 1' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'finishedMethodsBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '\\t' Literal.String.Escape '.limit locals 1' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'finishedMethodsBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '\\t' Literal.String.Escape 'aload_0' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'finishedMethodsBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '\\t' Literal.String.Escape 'invokenonvirtual java/lang/Object/()V' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'finishedMethodsBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '\\t' Literal.String.Escape 'return' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'finishedMethodsBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '.end method' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'finishedMethodsBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '; -----------------------------------------------------------' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'finishedMethodsBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'staticVariableBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '; ------- Class Variables -----------------------------------' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'classInitBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '; ------- Class Initializer ---------------------------------' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'classInitBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '.method static ()V' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'classInitBufferIndex' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'classInitBuffer' Name '-' Operator '>' Operator 'numberOfNextElement' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'classInitBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '\\t' Literal.String.Escape '.limit locals 0' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'void' Keyword.Type ' ' Text.Whitespace 'codegenAppendCommand' Name.Function '(' Punctuation 'char' Keyword.Type '*' Operator ' ' Text.Whitespace 'cmd' Name ',' Punctuation ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'stackdiff' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'char' Keyword.Type ' ' Text.Whitespace 'tempString' Name '[' Punctuation 'MAX_LENGTH_OF_COMMAND' Name ']' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'sprintf' Name '(' Punctuation 'tempString' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '\\t' Literal.String.Escape '%s' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'cmd' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'global' Name ')' Punctuation ' ' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'classInitBuffer' Name ',' Punctuation ' ' Text.Whitespace 'tempString' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'currentMethodBuffer' Name ',' Punctuation ' ' Text.Whitespace 'tempString' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'increaseStackby' Name '(' Punctuation 'stackdiff' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'void' Keyword.Type ' ' Text.Whitespace 'codegenInsertCommand' Name.Function '(' Punctuation 'int' Keyword.Type ' ' Text.Whitespace 'address' Name ',' Punctuation ' ' Text.Whitespace 'char' Keyword.Type '*' Operator ' ' Text.Whitespace 'cmd' Name ',' Punctuation ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'stackdiff' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'char' Keyword.Type ' ' Text.Whitespace 'tempString' Name '[' Punctuation 'MAX_LENGTH_OF_COMMAND' Name ']' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'sprintf' Name '(' Punctuation 'tempString' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '\\t' Literal.String.Escape '%s' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'cmd' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'global' Name ')' Punctuation ' ' Text.Whitespace 'stringBufferInsert' Name '(' Punctuation 'classInitBuffer' Name ',' Punctuation ' ' Text.Whitespace 'address' Name ',' Punctuation ' ' Text.Whitespace 'tempString' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'stringBufferInsert' Name '(' Punctuation 'currentMethodBuffer' Name ',' Punctuation ' ' Text.Whitespace 'address' Name ',' Punctuation ' ' Text.Whitespace 'tempString' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'increaseStackby' Name '(' Punctuation 'stackdiff' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'void' Keyword.Type ' ' Text.Whitespace 'codegenAppendLabel' Name.Function '(' Punctuation 'int' Keyword.Type ' ' Text.Whitespace 'label' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'char' Keyword.Type ' ' Text.Whitespace 'tempString' Name '[' Punctuation 'MAX_LENGTH_OF_COMMAND' Name ']' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'sprintf' Name '(' Punctuation 'tempString' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'Label%d:' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'label' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'global' Name ')' Punctuation ' ' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'classInitBuffer' Name ',' Punctuation ' ' Text.Whitespace 'tempString' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'currentMethodBuffer' Name ',' Punctuation ' ' Text.Whitespace 'tempString' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'void' Keyword.Type ' ' Text.Whitespace 'codegenAddVariable' Name.Function '(' Punctuation 'char' Keyword.Type '*' Operator ' ' Text.Whitespace 'name' Name ',' Punctuation ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'type' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '/*fprintf(stderr, "add variable %s(%d) global=%d ", name, convertType(type), global);*/' Comment.Multiline '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'global' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'type' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace 'TYPE_INT' Name ')' Punctuation ' ' Text.Whitespace 'sprintf' Name '(' Punctuation 'tempString' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '.field static %s %c' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'name' Name ',' Punctuation ' ' Text.Whitespace "'" Literal.String.Char 'I' Literal.String.Char "'" Literal.String.Char ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'type' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace 'TYPE_FLOAT' Name ')' Punctuation ' ' Text.Whitespace 'sprintf' Name '(' Punctuation 'tempString' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '.field static %s %c' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'name' Name ',' Punctuation ' ' Text.Whitespace "'" Literal.String.Char 'F' Literal.String.Char "'" Literal.String.Char ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'type' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace 'TYPE_BOOLEAN' Name ')' Punctuation ' ' Text.Whitespace 'sprintf' Name '(' Punctuation 'tempString' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '.field static %s %c' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'name' Name ',' Punctuation ' ' Text.Whitespace "'" Literal.String.Char 'Z' Literal.String.Char "'" Literal.String.Char ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'yyerror' Name '(' Punctuation '"' Literal.String 'compiler-intern error in codegenAddGlobalVariable().' Literal.String '\\n' Literal.String.Escape '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'staticVariableBuffer' Name ',' Punctuation ' ' Text.Whitespace 'tempString' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'currentMethodNumberOfLocals' Name '+' Operator '+' Operator ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'codegenGetNextLabel' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'labelCounter' Name '+' Operator '+' Operator ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'codegenGetCurrentAddress' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'global' Name ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'classInitBuffer' Name '-' Operator '>' Operator 'numberOfNextElement' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'currentMethodBuffer' Name '-' Operator '>' Operator 'numberOfNextElement' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'void' Keyword.Type ' ' Text.Whitespace 'codegenEnterFunction' Name.Function '(' Punctuation 'symtabEntry' Name '*' Operator ' ' Text.Whitespace 'entry' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'currentMethodBuffer' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'newStringBuffer' Name '(' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'currentMethodStackSize' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'currentMethodStackSizeMax' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'labelCounter' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'global' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'strcmp' Name '(' Punctuation 'entry' Name '-' Operator '>' Operator 'name' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'main' Literal.String '"' Literal.String ')' Punctuation ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'entry' Name '-' Operator '>' Operator 'idtype' Name ' ' Text.Whitespace '!' Operator '=' Operator ' ' Text.Whitespace 'TYPE_VOID' Name ')' Punctuation ' ' Text.Whitespace 'yyerror' Name '(' Punctuation '"' Literal.String 'main has to be void.' Literal.String '\\n' Literal.String.Escape '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'currentMethodNumberOfLocals' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'symtabInsert' Name '(' Punctuation 'strdup' Name '(' Punctuation '"' Literal.String '#main-param#' Literal.String '"' Literal.String ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'TYPE_VOID' Name ',' Punctuation ' ' Text.Whitespace 'CLASS_FUNC' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'currentMethodBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '; ------- Methode ---- void main() --------------------------' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'currentMethodBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '.method public static main([Ljava/lang/String;)V' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'i' Name ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'currentMethodNumberOfLocals' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'entry' Name '-' Operator '>' Operator 'paramIndex' Name ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'currentMethodBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '; ------- Methode -------------------------------------------' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'sprintf' Name '(' Punctuation 'tempString' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '.method public static %s(' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'entry' Name '-' Operator '>' Operator 'name' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name '=' Operator 'entry' Name '-' Operator '>' Operator 'paramIndex' Name '-1' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name '>' Operator '=' Operator '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name '-' Operator '-' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t\t\t' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'type' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'entry' Name '-' Operator '>' Operator 'params' Name '[' Punctuation 'i' Name ']' Punctuation '-' Operator '>' Operator 'idtype' Name ';' Punctuation '\n' Text.Whitespace '\t\t\t' Text.Whitespace 'tempString' Name '[' Punctuation 'strlen' Name '(' Punctuation 'tempString' Name ')' Punctuation '+' Operator '1' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t\t\t' Text.Whitespace 'tempString' Name '[' Punctuation 'strlen' Name '(' Punctuation 'tempString' Name ')' Punctuation ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'convertType' Name '(' Punctuation 'type' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'tempString' Name '[' Punctuation 'strlen' Name '(' Punctuation 'tempString' Name ')' Punctuation '+' Operator '2' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'tempString' Name '[' Punctuation 'strlen' Name '(' Punctuation 'tempString' Name ')' Punctuation '+' Operator '1' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'convertType' Name '(' Punctuation 'entry' Name '-' Operator '>' Operator 'idtype' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'tempString' Name '[' Punctuation 'strlen' Name '(' Punctuation 'tempString' Name ')' Punctuation ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace "'" Literal.String.Char ')' Literal.String.Char "'" Literal.String.Char ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'currentMethodBuffer' Name ',' Punctuation ' ' Text.Whitespace 'tempString' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'currentMethodBufferIndex' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'currentMethodBuffer' Name '-' Operator '>' Operator 'numberOfNextElement' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'void' Keyword.Type ' ' Text.Whitespace 'codegenLeaveFunction' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'global' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'sprintf' Name '(' Punctuation 'tempString' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '\\t' Literal.String.Escape '.limit locals %d' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'currentMethodNumberOfLocals' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferInsert' Name '(' Punctuation 'currentMethodBuffer' Name ',' Punctuation ' ' Text.Whitespace 'currentMethodBufferIndex' Name ',' Punctuation ' ' Text.Whitespace 'tempString' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'sprintf' Name '(' Punctuation 'tempString' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '\\t' Literal.String.Escape '.limit stack %d' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'currentMethodStackSizeMax' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferInsert' Name '(' Punctuation 'currentMethodBuffer' Name ',' Punctuation ' ' Text.Whitespace 'currentMethodBufferIndex' Name ',' Punctuation ' ' Text.Whitespace 'tempString' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'currentMethodBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '\\t' Literal.String.Escape 'return' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'currentMethodBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '.end method' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'currentMethodBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '; -----------------------------------------------------------' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'currentMethodBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferConcatenate' Name '(' Punctuation 'finishedMethodsBuffer' Name ',' Punctuation ' ' Text.Whitespace 'currentMethodBuffer' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\n' Text.Whitespace '\n' Text.Whitespace 'void' Keyword.Type ' ' Text.Whitespace 'codegenFinishCode' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'staticVariableBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '; -----------------------------------------------------------' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'staticVariableBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'sprintf' Name '(' Punctuation 'tempString' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '\\t' Literal.String.Escape '.limit stack %d' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'classInitStackSizeMax' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferInsert' Name '(' Punctuation 'classInitBuffer' Name ',' Punctuation ' ' Text.Whitespace 'classInitBufferIndex' Name ',' Punctuation ' ' Text.Whitespace 'tempString' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'classInitBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '\\t' Literal.String.Escape 'return' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'classInitBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '.end method' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferAppend' Name '(' Punctuation 'classInitBuffer' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '; -----------------------------------------------------------' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferConcatenate' Name '(' Punctuation 'mainBuffer' Name ',' Punctuation ' ' Text.Whitespace 'staticVariableBuffer' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferConcatenate' Name '(' Punctuation 'mainBuffer' Name ',' Punctuation ' ' Text.Whitespace 'finishedMethodsBuffer' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferConcatenate' Name '(' Punctuation 'mainBuffer' Name ',' Punctuation ' ' Text.Whitespace 'classInitBuffer' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'stringBufferPrint' Name '(' Punctuation 'mainBuffer' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'void' Keyword.Type ' ' Text.Whitespace 'increaseStackby' Name.Function '(' Punctuation 'int' Keyword.Type ' ' Text.Whitespace 'stackdiff' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'global' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'classInitStackSize' Name ' ' Text.Whitespace '+' Operator '=' Operator ' ' Text.Whitespace 'stackdiff' Name ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'classInitStackSize' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'classInitStackSizeMax' Name ')' Punctuation ' ' Text.Whitespace 'classInitStackSizeMax' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'classInitStackSize' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'currentMethodStackSize' Name ' ' Text.Whitespace '+' Operator '=' Operator ' ' Text.Whitespace 'stackdiff' Name ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'currentMethodStackSize' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'currentMethodStackSizeMax' Name ')' Punctuation ' ' Text.Whitespace 'currentMethodStackSizeMax' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'currentMethodStackSize' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'char' Keyword.Type ' ' Text.Whitespace 'convertType' Name.Function '(' Punctuation 'int' Keyword.Type ' ' Text.Whitespace 'type' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'switch' Keyword '(' Punctuation 'type' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'TYPE_VOID' Name.Constant ':' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace "'" Literal.String.Char 'V' Literal.String.Char "'" Literal.String.Char ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'TYPE_INT' Name.Constant ':' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace "'" Literal.String.Char 'I' Literal.String.Char "'" Literal.String.Char ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'TYPE_FLOAT' Name.Constant ':' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace "'" Literal.String.Char 'F' Literal.String.Char "'" Literal.String.Char ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'TYPE_BOOLEAN' Name.Constant ':' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace "'" Literal.String.Char 'Z' Literal.String.Char "'" Literal.String.Char ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'default' Keyword ' ' Text.Whitespace ':' Operator ' ' Text.Whitespace 'yyerror' Name '(' Punctuation '"' Literal.String 'compiler-intern error in convertType().' Literal.String '\\n' Literal.String.Escape '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace '/* to avoid compiler-warning */' Comment.Multiline '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\n' Text.Whitespace '//#include \n' Comment.Single '//#include \n' Comment.Single '\n' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'main' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'a' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '12' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '44' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'while' Keyword ' ' Text.Whitespace '(' Punctuation 'a' Name ' ' Text.Whitespace '!' Operator '=' Operator ' ' Text.Whitespace 'b' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'a' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'b' Name ')' Punctuation '\n' Text.Whitespace '\t\t\t' Text.Whitespace 'a' Name ' ' Text.Whitespace '-' Operator '=' Operator ' ' Text.Whitespace 'b' Name ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'else' Keyword '\n' Text.Whitespace '\t\t\t' Text.Whitespace 'b' Name ' ' Text.Whitespace '-' Operator '=' Operator ' ' Text.Whitespace 'a' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'printf' Name '(' Punctuation '"' Literal.String '%d' Literal.String '\\n' Literal.String.Escape '%d' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'a' Name ',' Punctuation ' ' Text.Whitespace '0X0' Literal.Number.Hex ')' Punctuation ';' Punctuation '\\\n' Text '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\n' Text.Whitespace '/**********************************************************************\n\n array.c -\n\n $Author: murphy $\n $Date: 2005-11-05 04:33:55 +0100 (Sa, 05 Nov 2005) $\n created at: Fri Aug 6 09:46:12 JST 1993\n\n Copyright (C) 1993-2003 Yukihiro Matsumoto\n Copyright (C) 2000 Network Applied Communication Laboratory, Inc.\n Copyright (C) 2000 Information-technology Promotion Agency, Japan\n\n**********************************************************************/' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace '#' Comment.Preproc 'include' Comment.Preproc ' ' Text.Whitespace '"ruby.h"' Comment.PreprocFile '\n' Comment.Preproc '#' Comment.Preproc 'include' Comment.Preproc ' ' Text.Whitespace '"util.h"' Comment.PreprocFile '\n' Comment.Preproc '#' Comment.Preproc 'include' Comment.Preproc ' ' Text.Whitespace '"st.h"' Comment.PreprocFile '\n' Comment.Preproc '#' Comment.Preproc 'include' Comment.Preproc ' ' Text.Whitespace '"node.h"' Comment.PreprocFile '\n' Comment.Preproc '\n' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'rb_cArray' Name ',' Punctuation ' ' Text.Whitespace 'rb_cValues' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'ID' Name ' ' Text.Whitespace 'id_cmp' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '#' Comment.Preproc 'define ARY_DEFAULT_SIZE 16' Comment.Preproc '\n' Comment.Preproc '\n' Text.Whitespace '\n' Text.Whitespace 'void' Keyword.Type '\n' Text.Whitespace 'rb_mem_clear' Name.Function '(' Punctuation 'mem' Name ',' Punctuation ' ' Text.Whitespace 'size' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'register' Keyword ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'mem' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'register' Keyword ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'size' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace '(' Punctuation 'size' Name '-' Operator '-' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '*' Operator 'mem' Name '+' Operator '+' Operator ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Qnil' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'inline' Keyword.Reserved ' ' Text.Whitespace 'void' Keyword.Type '\n' Text.Whitespace 'memfill' Name '(' Punctuation 'mem' Name ',' Punctuation ' ' Text.Whitespace 'size' Name ',' Punctuation ' ' Text.Whitespace 'val' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'register' Keyword ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'mem' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'register' Keyword ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'size' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'register' Keyword ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'val' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace '(' Punctuation 'size' Name '-' Operator '-' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '*' Operator 'mem' Name '+' Operator '+' Operator ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'val' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '#' Comment.Preproc 'define ARY_TMPLOCK FL_USER1' Comment.Preproc '\n' Comment.Preproc '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'inline' Keyword.Reserved ' ' Text.Whitespace 'void' Keyword.Type '\n' Text.Whitespace 'rb_ary_modify_check' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'OBJ_FROZEN' Name '(' Punctuation 'ary' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'rb_error_frozen' Name '(' Punctuation '"' Literal.String 'array' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'FL_TEST' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'ARY_TMPLOCK' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eRuntimeError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String "can't modify array during iteration" Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation '!' Operator 'OBJ_TAINTED' Name '(' Punctuation 'ary' Name ')' Punctuation ' ' Text.Whitespace '&' Operator '&' Operator ' ' Text.Whitespace 'rb_safe_level' Name '(' Punctuation ')' Punctuation ' ' Text.Whitespace '>' Operator '=' Operator ' ' Text.Whitespace '4' Literal.Number.Integer ')' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eSecurityError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String "Insecure: can't modify array" Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'void' Keyword.Type '\n' Text.Whitespace 'rb_ary_modify' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'ptr' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_modify_check' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'FL_TEST' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'ELTS_SHARED' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'ptr' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ALLOC_N' Name '(' Punctuation 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'FL_UNSET' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'ELTS_SHARED' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'MEMCPY' Name '(' Punctuation 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ptr' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_freeze' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_obj_freeze' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.frozen? -> true or false\n *\n * Return true if this array is frozen (or temporarily frozen\n * while being sorted).\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_frozen_p' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'OBJ_FROZEN' Name '(' Punctuation 'ary' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qtrue' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'FL_TEST' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'ARY_TMPLOCK' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qtrue' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qfalse' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary_alloc' Name '(' Punctuation 'VALUE' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'ary_alloc' Name.Function '(' Punctuation 'klass' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'klass' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'NEWOBJ' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'struct' Keyword ' ' Text.Whitespace 'RArray' Name.Class ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'OBJSETUP' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'klass' Name ',' Punctuation ' ' Text.Whitespace 'T_ARRAY' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'ary' Name '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'ary' Name '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'ary' Name '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace '(' Punctuation 'VALUE' Name ')' Punctuation 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'ary_new' Name '(' Punctuation 'klass' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'klass' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'len' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eArgError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'negative array size (or size too big)' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'len' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '&' Operator '&' Operator ' ' Text.Whitespace 'len' Name ' ' Text.Whitespace '*' Operator ' ' Text.Whitespace 'sizeof' Keyword '(' Punctuation 'VALUE' Name ')' Punctuation ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'len' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eArgError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'array size too big' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'len' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'len' Name '+' Operator '+' Operator ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'ary' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ary_alloc' Name '(' Punctuation 'klass' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ALLOC_N' Name '(' Punctuation 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_new2' Name '(' Punctuation 'len' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary_new' Name '(' Punctuation 'rb_cArray' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_new' Name '(' Punctuation ')' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_new2' Name '(' Punctuation 'ARY_DEFAULT_SIZE' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '#' Comment.Preproc 'ifdef HAVE_STDARG_PROTOTYPES' Comment.Preproc '\n' Comment.Preproc '#' Comment.Preproc 'include' Comment.Preproc ' ' Text.Whitespace '' Comment.PreprocFile '\n' Comment.Preproc '#' Comment.Preproc 'define va_init_list(a,b) va_start(a,b)' Comment.Preproc '\n' Comment.Preproc '#' Comment.Preproc 'else' Comment.Preproc '\n' Comment.Preproc '#' Comment.Preproc 'include' Comment.Preproc ' ' Text.Whitespace '' Comment.PreprocFile '\n' Comment.Preproc '#' Comment.Preproc 'define va_init_list(a,b) va_start(a)' Comment.Preproc '\n' Comment.Preproc '#' Comment.Preproc 'endif' Comment.Preproc '\n' Comment.Preproc '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace '#' Comment.Preproc 'ifdef HAVE_STDARG_PROTOTYPES' Comment.Preproc '\n' Comment.Preproc 'rb_ary_new3' Name '(' Punctuation 'long' Keyword.Type ' ' Text.Whitespace 'n' Name ',' Punctuation ' ' Text.Whitespace '.' Punctuation '.' Punctuation '.' Punctuation ')' Punctuation '\n' Text.Whitespace '#' Comment.Preproc 'else' Comment.Preproc '\n' Comment.Preproc 'rb_ary_new3' Name '(' Punctuation 'n' Name ',' Punctuation ' ' Text.Whitespace 'va_alist' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'va_dcl' Name '\n' Text.Whitespace '#' Comment.Preproc 'endif' Comment.Preproc '\n' Comment.Preproc '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'va_list' Keyword.Type ' ' Text.Whitespace 'ar' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'i' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'ary' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_ary_new2' Name '(' Punctuation 'n' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'va_init_list' Name '(' Punctuation 'ar' Name ',' Punctuation ' ' Text.Whitespace 'n' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name '=' Operator '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name '<' Operator 'n' Name ';' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'va_arg' Name '(' Punctuation 'ar' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'va_end' Name '(' Punctuation 'ar' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_new4' Name '(' Punctuation 'n' Name ',' Punctuation ' ' Text.Whitespace 'elts' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'elts' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'ary' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_ary_new2' Name '(' Punctuation 'n' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'n' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '&' Operator '&' Operator ' ' Text.Whitespace 'elts' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'MEMCPY' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'elts' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'n' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace '#' Comment.Preproc 'ifdef HAVE_STDARG_PROTOTYPES' Comment.Preproc '\n' Comment.Preproc 'rb_values_new' Name '(' Punctuation 'long' Keyword.Type ' ' Text.Whitespace 'n' Name ',' Punctuation ' ' Text.Whitespace '.' Punctuation '.' Punctuation '.' Punctuation ')' Punctuation '\n' Text.Whitespace '#' Comment.Preproc 'else' Comment.Preproc '\n' Comment.Preproc 'rb_values_new' Name '(' Punctuation 'n' Name ',' Punctuation ' ' Text.Whitespace 'va_alist' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'va_dcl' Name '\n' Text.Whitespace '#' Comment.Preproc 'endif' Comment.Preproc '\n' Comment.Preproc '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'va_list' Keyword.Type ' ' Text.Whitespace 'ar' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'val' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'i' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'val' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ary_new' Name '(' Punctuation 'rb_cValues' Name ',' Punctuation ' ' Text.Whitespace 'n' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'va_init_list' Name '(' Punctuation 'ar' Name ',' Punctuation ' ' Text.Whitespace 'n' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name '=' Operator '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name '<' Operator 'n' Name ';' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'val' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'i' Name ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'va_arg' Name '(' Punctuation 'ar' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'va_end' Name '(' Punctuation 'ar' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'val' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'val' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_values_new2' Name '(' Punctuation 'n' Name ',' Punctuation ' ' Text.Whitespace 'elts' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'const' Keyword ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'elts' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'val' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'val' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ary_new' Name '(' Punctuation 'rb_cValues' Name ',' Punctuation ' ' Text.Whitespace 'n' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'n' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '&' Operator '&' Operator ' ' Text.Whitespace 'elts' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'val' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'MEMCPY' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'val' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'elts' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'n' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'val' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'ary_make_shared' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation '!' Operator 'FL_TEST' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'ELTS_SHARED' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'NEWOBJ' Name '(' Punctuation 'shared' Name ',' Punctuation ' ' Text.Whitespace 'struct' Keyword ' ' Text.Whitespace 'RArray' Name.Class ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'OBJSETUP' Name '(' Punctuation 'shared' Name ',' Punctuation ' ' Text.Whitespace 'rb_cArray' Name ',' Punctuation ' ' Text.Whitespace 'T_ARRAY' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'shared' Name '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'shared' Name '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'shared' Name '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'shared' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '(' Punctuation 'VALUE' Name ')' Punctuation 'shared' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'FL_SET' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'ELTS_SHARED' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'OBJ_FREEZE' Name '(' Punctuation 'shared' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace '(' Punctuation 'VALUE' Name ')' Punctuation 'shared' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'shared' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'ary_shared_array' Name '(' Punctuation 'klass' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'klass' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'val' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ary_alloc' Name '(' Punctuation 'klass' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'ary_make_shared' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'val' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'val' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'val' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'shared' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'shared' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'FL_SET' Name '(' Punctuation 'val' Name ',' Punctuation ' ' Text.Whitespace 'ELTS_SHARED' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'val' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_values_from_ary' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary_shared_array' Name '(' Punctuation 'rb_cValues' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_from_values' Name '(' Punctuation 'val' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'val' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary_shared_array' Name '(' Punctuation 'rb_cArray' Name ',' Punctuation ' ' Text.Whitespace 'val' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_assoc_new' Name '(' Punctuation 'car' Name ',' Punctuation ' ' Text.Whitespace 'cdr' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'car' Name ',' Punctuation ' ' Text.Whitespace 'cdr' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_values_new' Name '(' Punctuation '2' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace 'car' Name ',' Punctuation ' ' Text.Whitespace 'cdr' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'to_ary' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_convert_type' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'T_ARRAY' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'Array' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'to_ary' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'to_a' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_convert_type' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'T_ARRAY' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'Array' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'to_a' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_check_array_type' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_check_convert_type' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'T_ARRAY' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'Array' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'to_ary' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'rb_ary_replace' Name ' ' Text.Whitespace '_' Name '(' Punctuation '(' Punctuation 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * Array.new(size=0, obj=nil)\n * Array.new(array)\n * Array.new(size) {|index| block }\n *\n * Returns a new array. In the first form, the new array is\n * empty. In the second it is created with _size_ copies of _obj_\n * (that is, _size_ references to the same\n * _obj_). The third form creates a copy of the array\n * passed as a parameter (the array is generated by calling\n * to_ary on the parameter). In the last form, an array\n * of the given size is created. Each element in this array is\n * calculated by passing the element\'s index to the given block and\n * storing the return value.\n *\n * Array.new\n * Array.new(2)\n * Array.new(5, "A")\n * \n * # only one copy of the object is created\n * a = Array.new(2, Hash.new)\n * a[0][\'cat\'] = \'feline\'\n * a\n * a[1][\'cat\'] = \'Felix\'\n * a\n * \n * # here multiple copies are created\n * a = Array.new(2) { Hash.new }\n * a[0][\'cat\'] = \'feline\'\n * a\n * \n * squares = Array.new(5) {|i| i*i}\n * squares\n * \n * copy = Array.new(squares)\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_initialize' Name.Function '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'size' Name ',' Punctuation ' ' Text.Whitespace 'val' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'rb_scan_args' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '02' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '&' Operator 'size' Name ',' Punctuation ' ' Text.Whitespace '&' Operator 'val' Name ')' Punctuation ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'rb_block_given_p' Name '(' Punctuation ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'rb_warning' Name '(' Punctuation '"' Literal.String 'given block not used' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ' ' Text.Whitespace '&' Operator '&' Operator ' ' Text.Whitespace '!' Operator 'FIXNUM_P' Name '(' Punctuation 'size' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'val' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_check_array_type' Name '(' Punctuation 'size' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation '!' Operator 'NIL_P' Name '(' Punctuation 'val' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'rb_ary_replace' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'val' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'NUM2LONG' Name '(' Punctuation 'size' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'len' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eArgError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'negative array size' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'len' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '&' Operator '&' Operator ' ' Text.Whitespace 'len' Name ' ' Text.Whitespace '*' Operator ' ' Text.Whitespace '(' Punctuation 'long' Keyword.Type ')' Punctuation 'sizeof' Keyword '(' Punctuation 'VALUE' Name ')' Punctuation ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'len' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eArgError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'array size too big' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_modify' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'len' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'REALLOC_N' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'rb_block_given_p' Name '(' Punctuation ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'i' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'rb_warn' Name '(' Punctuation '"' Literal.String 'block supersedes default value argument' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name '=' Operator '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name '<' Operator 'len' Name ';' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'rb_ary_store' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ',' Punctuation ' ' Text.Whitespace 'rb_yield' Name '(' Punctuation 'LONG2NUM' Name '(' Punctuation 'i' Name ')' Punctuation ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'memfill' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ',' Punctuation ' ' Text.Whitespace 'val' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\n' Text.Whitespace "/* \n* Returns a new array populated with the given objects. \n*\n* Array.[]( 1, 'a', /^A/ )\n* Array[ 1, 'a', /^A/ ]\n* [ 1, 'a', /^A/ ]\n*/" Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_s_create' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'klass' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'klass' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ary_alloc' Name '(' Punctuation 'klass' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ALLOC_N' Name '(' Punctuation 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'argc' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'MEMCPY' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'argc' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'void' Keyword.Type '\n' Text.Whitespace 'rb_ary_store' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'idx' Name ',' Punctuation ' ' Text.Whitespace 'val' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'idx' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'val' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'idx' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'idx' Name ' ' Text.Whitespace '+' Operator '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'idx' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eIndexError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'index %ld out of array' Literal.String '"' Literal.String ',' Punctuation '\n' Text.Whitespace '\t\t ' Text.Whitespace 'idx' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_modify' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'idx' Name ' ' Text.Whitespace '>' Operator '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'new_capa' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '/' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'new_capa' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'ARY_DEFAULT_SIZE' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'new_capa' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ARY_DEFAULT_SIZE' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'new_capa' Name ' ' Text.Whitespace '+' Operator '=' Operator ' ' Text.Whitespace 'idx' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'new_capa' Name ' ' Text.Whitespace '*' Operator ' ' Text.Whitespace '(' Punctuation 'long' Keyword.Type ')' Punctuation 'sizeof' Keyword '(' Punctuation 'VALUE' Name ')' Punctuation ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'new_capa' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eArgError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'index too big' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'REALLOC_N' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'new_capa' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'new_capa' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'idx' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_mem_clear' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ',' Punctuation '\n' Text.Whitespace '\t\t ' Text.Whitespace 'idx' Name '-' Operator 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'idx' Name ' ' Text.Whitespace '>' Operator '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'idx' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'idx' Name ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'val' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'ary_shared_first' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'nv' Name ',' Punctuation ' ' Text.Whitespace 'result' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'rb_scan_args' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '1' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '&' Operator 'nv' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'NUM2LONG' Name '(' Punctuation 'nv' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'n' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'n' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eArgError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'negative array size' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'result' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ary_shared_array' Name '(' Punctuation 'rb_cArray' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'result' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'result' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'ary_shared_last' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'result' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ary_shared_first' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'result' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '+' Operator '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'result' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'result' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array << obj -> array\n * \n * Append---Pushes the given object on to the end of this array. This\n * expression returns the array itself, so several appends\n * may be chained together.\n *\n * [ 1, 2 ] << "c" << "d" << [ 3, 4 ]\n * #=> [ 1, 2, "c", "d", [ 3, 4 ] ]\n *\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_push' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'item' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'item' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_store' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ',' Punctuation ' ' Text.Whitespace 'item' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/* \n * call-seq:\n * array.push(obj, ... ) -> array\n * \n * Append---Pushes the given object(s) on to the end of this array. This\n * expression returns the array itself, so several appends\n * may be chained together.\n *\n * a = [ "a", "b", "c" ]\n * a.push("d", "e", "f") \n * #=> ["a", "b", "c", "d", "e", "f"]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_push_m' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name '-' Operator '-' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_ary_push' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace '*' Operator 'argv' Name '+' Operator '+' Operator ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_pop' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_modify_check' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qnil' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation '!' Operator 'FL_TEST' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'ELTS_SHARED' Name ')' Punctuation ' ' Text.Whitespace '&' Operator '&' Operator '\n' Text.Whitespace '\t ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '*' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '&' Operator '&' Operator '\n' Text.Whitespace '\t ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'ARY_DEFAULT_SIZE' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '*' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'REALLOC_N' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation '-' Operator '-' Operator 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ']' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.pop -> obj or nil\n * \n * Removes the last element from self and returns it, or\n * nil if the array is empty.\n * \n * a = [ "a", "b", "c", "d" ]\n * a.pop #=> "d"\n * a.pop(2) #=> ["b", "c"]\n * a #=> ["a"]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_pop_m' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'result' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_pop' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_modify_check' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'result' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ary_shared_last' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '-' Operator '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'result' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'result' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_shift' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'top' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_modify_check' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qnil' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'top' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'ary_make_shared' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '+' Operator '+' Operator ';' Punctuation '\t\t' Text.Whitespace '/* shift ptr */' Comment.Multiline '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name '-' Operator '-' Operator ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'top' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.shift -> obj or nil\n * \n * Returns the first element of self and removes it (shifting all\n * other elements down by one). Returns nil if the array\n * is empty.\n * \n * args = [ "-m", "-q", "filename" ]\n * args.shift #=> "-m"\n * args #=> ["-q", "filename"]\n *\n * args = [ "-m", "-q", "filename" ]\n * args.shift(2) #=> ["-m", "-q"]\n * args #=> ["filename"]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_shift_m' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'result' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_shift' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_modify_check' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'result' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ary_shared_first' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'result' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '+' Operator '=' Operator ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '-' Operator '=' Operator ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'result' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_unshift' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'item' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ',' Punctuation ' ' Text.Whitespace 'item' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_modify' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'capa_inc' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '/' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'capa_inc' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'ARY_DEFAULT_SIZE' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'capa_inc' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ARY_DEFAULT_SIZE' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '+' Operator '=' Operator ' ' Text.Whitespace 'capa_inc' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'REALLOC_N' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace '/* sliding items */' Comment.Multiline '\n' Text.Whitespace ' ' Text.Whitespace 'MEMMOVE' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name '+' Operator '+' Operator ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'item' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.unshift(obj, ...) -> array\n * \n * Prepends objects to the front of array.\n * other elements up one.\n * \n * a = [ "b", "c", "d" ]\n * a.unshift("a") #=> ["a", "b", "c", "d"]\n * a.unshift(1, 2) #=> [ 1, 2, "a", "b", "c", "d"]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_unshift_m' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace '/* make rooms by setting the last item */' Comment.Multiline '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_store' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'argc' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace 'Qnil' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace '/* sliding items */' Comment.Multiline '\n' Text.Whitespace ' ' Text.Whitespace 'MEMMOVE' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'argc' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'MEMCPY' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'argc' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace "/* faster version - use this if you don't need to treat negative offset */" Comment.Multiline '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'inline' Keyword.Reserved ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_elt' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'offset' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'offset' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qnil' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'offset' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '|' Operator '|' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'offset' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qnil' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'offset' Name ']' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_entry' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'offset' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'offset' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'offset' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'offset' Name ' ' Text.Whitespace '+' Operator '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_elt' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'offset' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_subseq' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'beg' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'beg' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'klass' Name ',' Punctuation ' ' Text.Whitespace 'ary2' Name ',' Punctuation ' ' Text.Whitespace 'shared' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'ptr' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'beg' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qnil' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'beg' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '|' Operator '|' Operator ' ' Text.Whitespace 'len' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qnil' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'beg' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'len' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'beg' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'len' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'klass' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_obj_class' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'len' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary_new' Name '(' Punctuation 'klass' Name ',' Punctuation ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'shared' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ary_make_shared' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'ptr' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'ary2' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ary_alloc' Name '(' Punctuation 'klass' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary2' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ptr' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'beg' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary2' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary2' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'shared' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'shared' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'FL_SET' Name '(' Punctuation 'ary2' Name ',' Punctuation ' ' Text.Whitespace 'ELTS_SHARED' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary2' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/* \n * call-seq:\n * array[index] -> obj or nil\n * array[start, length] -> an_array or nil\n * array[range] -> an_array or nil\n * array.slice(index) -> obj or nil\n * array.slice(start, length) -> an_array or nil\n * array.slice(range) -> an_array or nil\n *\n * Element Reference---Returns the element at _index_,\n * or returns a subarray starting at _start_ and\n * continuing for _length_ elements, or returns a subarray\n * specified by _range_.\n * Negative indices count backward from the end of the\n * array (-1 is the last element). Returns nil if the index\n * (or starting index) are out of range.\n *\n * a = [ "a", "b", "c", "d", "e" ]\n * a[2] + a[0] + a[1] #=> "cab"\n * a[6] #=> nil\n * a[1, 2] #=> [ "b", "c" ]\n * a[1..3] #=> [ "b", "c", "d" ]\n * a[4..7] #=> [ "e" ]\n * a[6..10] #=> nil\n * a[-3, 3] #=> [ "c", "d", "e" ]\n * # special cases\n * a[5] #=> nil\n * a[5, 1] #=> []\n * a[5..10] #=> []\n *\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_aref' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'arg' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'beg' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'beg' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'NUM2LONG' Name '(' Punctuation 'argv' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'NUM2LONG' Name '(' Punctuation 'argv' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'beg' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'beg' Name ' ' Text.Whitespace '+' Operator '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_subseq' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'beg' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '!' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_scan_args' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '11' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '0' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'arg' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'argv' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '/* special case - speeding up */' Comment.Multiline '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'FIXNUM_P' Name '(' Punctuation 'arg' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_entry' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'FIX2LONG' Name '(' Punctuation 'arg' Name ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '/* check if idx is Range */' Comment.Multiline '\n' Text.Whitespace ' ' Text.Whitespace 'switch' Keyword ' ' Text.Whitespace '(' Punctuation 'rb_range_beg_len' Name '(' Punctuation 'arg' Name ',' Punctuation ' ' Text.Whitespace '&' Operator 'beg' Name ',' Punctuation ' ' Text.Whitespace '&' Operator 'len' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ',' Punctuation ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'Qfalse' Name.Constant ':' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'break' Keyword ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'Qnil' Name.Constant ':' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qnil' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'default' Keyword ':' Operator '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_subseq' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'beg' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_entry' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'NUM2LONG' Name '(' Punctuation 'arg' Name ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/* \n * call-seq:\n * array.at(index) -> obj or nil\n *\n * Returns the element at _index_. A\n * negative index counts from the end of _self_. Returns +nil+\n * if the index is out of range. See also Array#[].\n * (Array#at is slightly faster than Array#[],\n * as it does not accept ranges and so on.)\n *\n * a = [ "a", "b", "c", "d", "e" ]\n * a.at(0) #=> "a"\n * a.at(-1) #=> "e"\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_at' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'pos' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ',' Punctuation ' ' Text.Whitespace 'pos' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_entry' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'NUM2LONG' Name '(' Punctuation 'pos' Name ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.first -> obj or nil\n * array.first(n) -> an_array\n * \n * Returns the first element of the array. If the array is empty,\n * returns nil.\n * \n * a = [ "q", "r", "s", "t" ]\n * a.first #=> "q"\n * a.first(2) #=> ["q", "r"]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_first' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qnil' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary_shared_first' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.last -> obj or nil\n * array.last(n) -> an_array\n * \n * Returns the last element(s) of self. If the array is empty,\n * the first form returns nil.\n * \n * a = [ "w", "x", "y", "z" ]\n * a.last #=> "z"\n * a.last(2) #=> ["y", "z"]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_last' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qnil' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name '-1' Literal.Number.Integer ']' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary_shared_last' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.fetch(index) -> obj\n * array.fetch(index, default ) -> obj\n * array.fetch(index) {|index| block } -> obj\n * \n * Tries to return the element at position index. If the index\n * lies outside the array, the first form throws an\n * IndexError exception, the second form returns\n * default, and the third form returns the value of invoking\n * the block, passing in the index. Negative values of index\n * count from the end of the array.\n * \n * a = [ 11, 22, 33, 44 ]\n * a.fetch(1) #=> 22\n * a.fetch(-1) #=> 44\n * a.fetch(4, \'cat\') #=> "cat"\n * a.fetch(4) { |i| i*i } #=> 16\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_fetch' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'pos' Name ',' Punctuation ' ' Text.Whitespace 'ifnone' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'block_given' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'idx' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'rb_scan_args' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '11' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '&' Operator 'pos' Name ',' Punctuation ' ' Text.Whitespace '&' Operator 'ifnone' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'block_given' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_block_given_p' Name '(' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'block_given' Name ' ' Text.Whitespace '&' Operator '&' Operator ' ' Text.Whitespace 'argc' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_warn' Name '(' Punctuation '"' Literal.String 'block supersedes default value argument' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'idx' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'NUM2LONG' Name '(' Punctuation 'pos' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'idx' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'idx' Name ' ' Text.Whitespace '+' Operator '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'idx' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '|' Operator '|' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '<' Operator '=' Operator ' ' Text.Whitespace 'idx' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'block_given' Name ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_yield' Name '(' Punctuation 'pos' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eIndexError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'index %ld out of array' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'idx' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ifnone' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'idx' Name ']' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.index(obj) -> int or nil\n * array.index {|item| block} -> int or nil\n * \n * Returns the index of the first object in self such that is\n * == to obj. If a block is given instead of an\n * argument, returns first object for which block is true.\n * Returns nil if no match is found.\n * \n * a = [ "a", "b", "c" ]\n * a.index("b") #=> 1\n * a.index("z") #=> nil\n * a.index{|x|x=="b"} #=> 1\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_index' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'val' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'i' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'rb_scan_args' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '01' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '&' Operator 'val' Name ')' Punctuation ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name '=' Operator '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name '<' Operator 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RTEST' Name '(' Punctuation 'rb_yield' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'i' Name ']' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'LONG2NUM' Name '(' Punctuation 'i' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name '=' Operator '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name '<' Operator 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'rb_equal' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'i' Name ']' Punctuation ',' Punctuation ' ' Text.Whitespace 'val' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'LONG2NUM' Name '(' Punctuation 'i' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qnil' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.rindex(obj) -> int or nil\n * \n * Returns the index of the last object in array\n * == to obj. If a block is given instead of an\n * argument, returns first object for which block is\n * true. Returns nil if no match is found.\n * \n * a = [ "a", "b", "b", "b", "c" ]\n * a.rindex("b") #=> 3\n * a.rindex("z") #=> nil\n * a.rindex{|x|x=="b"} #=> 3\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_rindex' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'val' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'rb_scan_args' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '01' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '&' Operator 'val' Name ')' Punctuation ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'while' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name '-' Operator '-' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RTEST' Name '(' Punctuation 'rb_yield' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'i' Name ']' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'LONG2NUM' Name '(' Punctuation 'i' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'while' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name '-' Operator '-' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'rb_equal' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'i' Name ']' Punctuation ',' Punctuation ' ' Text.Whitespace 'val' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'LONG2NUM' Name '(' Punctuation 'i' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qnil' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_to_ary' Name '(' Punctuation 'obj' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'obj' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'TYPE' Name '(' Punctuation 'obj' Name ')' Punctuation ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace 'T_ARRAY' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'obj' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'rb_respond_to' Name '(' Punctuation 'obj' Name ',' Punctuation ' ' Text.Whitespace 'rb_intern' Name '(' Punctuation '"' Literal.String 'to_ary' Literal.String '"' Literal.String ')' Punctuation ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'to_ary' Name '(' Punctuation 'obj' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_new3' Name '(' Punctuation '1' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace 'obj' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'void' Keyword.Type '\n' Text.Whitespace 'rb_ary_splice' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'beg' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ',' Punctuation ' ' Text.Whitespace 'rpl' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'beg' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'rpl' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'rlen' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'len' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eIndexError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'negative length (%ld)' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'beg' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'beg' Name ' ' Text.Whitespace '+' Operator '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'beg' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'beg' Name ' ' Text.Whitespace '-' Operator '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eIndexError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'index %ld out of array' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'beg' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'beg' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'len' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'beg' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'rpl' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace 'Qundef' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rlen' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rpl' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_ary_to_ary' Name '(' Punctuation 'rpl' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rlen' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'rpl' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_modify' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'beg' Name ' ' Text.Whitespace '>' Operator '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'beg' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'rlen' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'len' Name ' ' Text.Whitespace '>' Operator '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'REALLOC_N' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_mem_clear' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ',' Punctuation ' ' Text.Whitespace 'beg' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'rlen' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'MEMCPY' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'beg' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'rpl' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'rlen' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'alen' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'beg' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'len' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'beg' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'alen' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'rlen' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'alen' Name ' ' Text.Whitespace '>' Operator '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'REALLOC_N' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'alen' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'aux' Name '.' Punctuation 'capa' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'alen' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'len' Name ' ' Text.Whitespace '!' Operator '=' Operator ' ' Text.Whitespace 'rlen' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'MEMMOVE' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'beg' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'rlen' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'beg' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'len' Name ',' Punctuation '\n' Text.Whitespace '\t\t ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '(' Punctuation 'beg' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'len' Name ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'alen' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'rlen' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'MEMMOVE' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'beg' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'rpl' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'rlen' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/* \n * call-seq:\n * array[index] = obj -> obj\n * array[start, length] = obj or an_array or nil -> obj or an_array or nil\n * array[range] = obj or an_array or nil -> obj or an_array or nil\n *\n * Element Assignment---Sets the element at _index_,\n * or replaces a subarray starting at _start_ and\n * continuing for _length_ elements, or replaces a subarray\n * specified by _range_. If indices are greater than\n * the current capacity of the array, the array grows\n * automatically. A negative indices will count backward\n * from the end of the array. Inserts elements if _length_ is\n * zero. An +IndexError+ is raised if a negative index points\n * past the beginning of the array. See also\n * Array#push, and Array#unshift.\n * \n * a = Array.new\n * a[4] = "4"; #=> [nil, nil, nil, nil, "4"]\n * a[0, 3] = [ \'a\', \'b\', \'c\' ] #=> ["a", "b", "c", nil, "4"]\n * a[1..2] = [ 1, 2 ] #=> ["a", 1, 2, nil, "4"]\n * a[0, 2] = "?" #=> ["?", 2, nil, "4"]\n * a[0..2] = "A" #=> ["A", "4"]\n * a[-1] = "Z" #=> ["A", "Z"]\n * a[1..-1] = nil #=> ["A", nil]\n * a[1..-1] = [] #=> ["A"]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_aset' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'offset' Name ',' Punctuation ' ' Text.Whitespace 'beg' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '3' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_ary_splice' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'NUM2LONG' Name '(' Punctuation 'argv' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'NUM2LONG' Name '(' Punctuation 'argv' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'argv' Name '[' Punctuation '2' Literal.Number.Integer ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'argv' Name '[' Punctuation '2' Literal.Number.Integer ']' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '!' Operator '=' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eArgError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'wrong number of arguments (%d for 2)' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'argc' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'FIXNUM_P' Name '(' Punctuation 'argv' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'offset' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'FIX2LONG' Name '(' Punctuation 'argv' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'goto' Keyword ' ' Text.Whitespace 'fixnum' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'rb_range_beg_len' Name '(' Punctuation 'argv' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ',' Punctuation ' ' Text.Whitespace '&' Operator 'beg' Name ',' Punctuation ' ' Text.Whitespace '&' Operator 'len' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ',' Punctuation ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '/* check if idx is Range */' Comment.Multiline '\n' Text.Whitespace '\t' Text.Whitespace 'rb_ary_splice' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'beg' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'argv' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'offset' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'NUM2LONG' Name '(' Punctuation 'argv' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace 'fixnum' Name.Label ':' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_store' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'offset' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'argv' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.insert(index, obj...) -> array\n * \n * Inserts the given values before the element with the given index\n * (which may be negative).\n * \n * a = %w{ a b c d }\n * a.insert(2, 99) #=> ["a", "b", 99, "c", "d"]\n * a.insert(-2, 1, 2, 3) #=> ["a", "b", 99, "c", 1, 2, 3, "d"]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_insert' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'pos' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eArgError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'wrong number of arguments (at least 1)' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'pos' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'NUM2LONG' Name '(' Punctuation 'argv' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'pos' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '-1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'pos' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'else' Keyword ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'pos' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'pos' Name '+' Operator '+' Operator ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'argc' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_splice' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'pos' Name ',' Punctuation ' ' Text.Whitespace '0' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace 'rb_ary_new4' Name '(' Punctuation 'argc' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace 'argv' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.each {|item| block } -> array\n * \n * Calls block once for each element in self, passing that\n * element as a parameter.\n * \n * a = [ "a", "b", "c" ]\n * a.each {|x| print x, " -- " }\n * \n * produces:\n * \n * a -- b -- c --\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_each' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'i' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name '=' Operator '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name '<' Operator 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_yield' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'i' Name ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.each_index {|index| block } -> array\n * \n * Same as Array#each, but passes the index of the element\n * instead of the element itself.\n * \n * a = [ "a", "b", "c" ]\n * a.each_index {|x| print x, " -- " }\n * \n * produces:\n * \n * 0 -- 1 -- 2 --\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_each_index' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'i' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name '=' Operator '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name '<' Operator 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_yield' Name '(' Punctuation 'LONG2NUM' Name '(' Punctuation 'i' Name ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.reverse_each {|item| block } \n * \n * Same as Array#each, but traverses self in reverse\n * order.\n * \n * a = [ "a", "b", "c" ]\n * a.reverse_each {|x| print x, " " }\n * \n * produces:\n * \n * c b a\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_reverse_each' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'while' Keyword ' ' Text.Whitespace '(' Punctuation 'len' Name '-' Operator '-' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_yield' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'len' Name ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'len' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.length -> int\n * \n * Returns the number of elements in self. May be zero.\n * \n * [ 1, 2, 3, 4, 5 ].length #=> 5\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_length' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'LONG2NUM' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.empty? -> true or false\n * \n * Returns true if self array contains no elements.\n * \n * [].empty? #=> true\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_empty_p' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qtrue' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'Qfalse' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_dup' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'dup' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_ary_new2' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'DUPSETUP' Name '(' Punctuation 'dup' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'MEMCPY' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'dup' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'VALUE' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'dup' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'dup' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'extern' Keyword ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'rb_output_fs' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'recursive_join' Name.Function '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'arg' Name ',' Punctuation ' ' Text.Whitespace 'recur' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'arg' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'recur' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'recur' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_str_new2' Name '(' Punctuation '"' Literal.String '[...]' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_join' Name '(' Punctuation 'arg' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ',' Punctuation ' ' Text.Whitespace 'arg' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_join' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'sep' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ',' Punctuation ' ' Text.Whitespace 'sep' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace 'i' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'taint' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Qfalse' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'result' Name ',' Punctuation ' ' Text.Whitespace 'tmp' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_str_new' Name '(' Punctuation '0' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'OBJ_TAINTED' Name '(' Punctuation 'ary' Name ')' Punctuation ' ' Text.Whitespace '|' Operator '|' Operator ' ' Text.Whitespace 'OBJ_TAINTED' Name '(' Punctuation 'sep' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'taint' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Qtrue' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name '=' Operator '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name '<' Operator 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'tmp' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_check_string_type' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'i' Name ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'len' Name ' ' Text.Whitespace '+' Operator '=' Operator ' ' Text.Whitespace 'NIL_P' Name '(' Punctuation 'tmp' Name ')' Punctuation ' ' Text.Whitespace '?' Operator ' ' Text.Whitespace '10' Literal.Number.Integer ' ' Text.Whitespace ':' Operator ' ' Text.Whitespace 'RSTRING' Name '(' Punctuation 'tmp' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation '!' Operator 'NIL_P' Name '(' Punctuation 'sep' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'StringValue' Name '(' Punctuation 'sep' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'len' Name ' ' Text.Whitespace '+' Operator '=' Operator ' ' Text.Whitespace 'RSTRING' Name '(' Punctuation 'sep' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '*' Operator ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'result' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_str_buf_new' Name '(' Punctuation 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name '=' Operator '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name '<' Operator 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'tmp' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'i' Name ']' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'switch' Keyword ' ' Text.Whitespace '(' Punctuation 'TYPE' Name '(' Punctuation 'tmp' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'T_STRING' Name.Constant ':' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'break' Keyword ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'T_ARRAY' Name.Constant ':' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'args' Name '[' Punctuation '2' Literal.Number.Integer ']' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '\t\t' Text.Whitespace 'args' Name '[' Punctuation '0' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'tmp' Name ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'args' Name '[' Punctuation '1' Literal.Number.Integer ']' Punctuation ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'sep' Name ';' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'tmp' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_exec_recursive' Name '(' Punctuation 'recursive_join' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ',' Punctuation ' ' Text.Whitespace '(' Punctuation 'VALUE' Name ')' Punctuation 'args' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'break' Keyword ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'default' Keyword ':' Operator '\n' Text.Whitespace '\t ' Text.Whitespace 'tmp' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_obj_as_string' Name '(' Punctuation 'tmp' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace '&' Operator '&' Operator ' ' Text.Whitespace '!' Operator 'NIL_P' Name '(' Punctuation 'sep' Name ')' Punctuation ')' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'rb_str_buf_append' Name '(' Punctuation 'result' Name ',' Punctuation ' ' Text.Whitespace 'sep' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_str_buf_append' Name '(' Punctuation 'result' Name ',' Punctuation ' ' Text.Whitespace 'tmp' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'OBJ_TAINTED' Name '(' Punctuation 'tmp' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'taint' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Qtrue' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'taint' Name ')' Punctuation ' ' Text.Whitespace 'OBJ_TAINT' Name '(' Punctuation 'result' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'result' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.join(sep=$,) -> str\n * \n * Returns a string created by converting each element of the array to\n * a string, separated by sep.\n * \n * [ "a", "b", "c" ].join #=> "abc"\n * [ "a", "b", "c" ].join("-") #=> "a-b-c"\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_join_m' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'sep' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'rb_scan_args' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String '01' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace '&' Operator 'sep' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'NIL_P' Name '(' Punctuation 'sep' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'sep' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_output_fs' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_join' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'sep' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.to_s -> string\n * \n * Returns _self_.join.\n * \n * [ "a", "e", "i", "o" ].to_s #=> "aeio"\n *\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_to_s' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_str_new' Name '(' Punctuation '0' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_join' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'rb_output_fs' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'inspect_ary' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'dummy' Name ',' Punctuation ' ' Text.Whitespace 'recur' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'dummy' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'recur' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'tainted' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'OBJ_TAINTED' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'i' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 's' Name ',' Punctuation ' ' Text.Whitespace 'str' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'recur' Name ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_tainted_str_new2' Name '(' Punctuation '"' Literal.String '[...]' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'str' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_str_buf_new2' Name '(' Punctuation '"' Literal.String '[' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name '=' Operator '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name '<' Operator 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 's' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_inspect' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'i' Name ']' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'OBJ_TAINTED' Name '(' Punctuation 's' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'tainted' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Qtrue' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'rb_str_buf_cat2' Name '(' Punctuation 'str' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String ', ' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_str_buf_append' Name '(' Punctuation 'str' Name ',' Punctuation ' ' Text.Whitespace 's' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'rb_str_buf_cat2' Name '(' Punctuation 'str' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String ']' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'tainted' Name ')' Punctuation ' ' Text.Whitespace 'OBJ_TAINT' Name '(' Punctuation 'str' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'str' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.inspect -> string\n *\n * Create a printable version of array.\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_inspect' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_str_new2' Name '(' Punctuation '"' Literal.String '[]' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_exec_recursive' Name '(' Punctuation 'inspect_ary' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ',' Punctuation ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.to_a -> array\n * \n * Returns _self_. If called on a subclass of Array, converts\n * the receiver to an Array object.\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_to_a' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'rb_obj_class' Name '(' Punctuation 'ary' Name ')' Punctuation ' ' Text.Whitespace '!' Operator '=' Operator ' ' Text.Whitespace 'rb_cArray' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'dup' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_ary_new2' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_ary_replace' Name '(' Punctuation 'dup' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'dup' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.to_ary -> array\n * \n * Returns _self_.\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_to_ary_m' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_reverse' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'p1' Name ',' Punctuation ' ' Text.Whitespace '*' Operator 'p2' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'tmp' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_modify' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'p1' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'p2' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'p1' Name ' ' Text.Whitespace '+' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ';' Punctuation '\t' Text.Whitespace '/* points last item */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace '\t' Text.Whitespace 'while' Keyword ' ' Text.Whitespace '(' Punctuation 'p1' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'p2' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'tmp' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '*' Operator 'p1' Name ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace '*' Operator 'p1' Name '+' Operator '+' Operator ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '*' Operator 'p2' Name ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace '*' Operator 'p2' Name '-' Operator '-' Operator ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'tmp' Name ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.reverse! -> array \n * \n * Reverses _self_ in place.\n * \n * a = [ "a", "b", "c" ]\n * a.reverse! #=> ["c", "b", "a"]\n * a #=> ["c", "b", "a"]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_reverse_bang' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_reverse' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.reverse -> an_array\n * \n * Returns a new array containing self\'s elements in reverse order.\n * \n * [ "a", "b", "c" ].reverse #=> ["c", "b", "a"]\n * [ 1 ].reverse #=> [1]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_reverse_m' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_reverse' Name '(' Punctuation 'rb_ary_dup' Name '(' Punctuation 'ary' Name ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'struct' Keyword ' ' Text.Whitespace 'ary_sort_data' Name.Class ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'ptr' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'len' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'void' Keyword.Type '\n' Text.Whitespace 'ary_sort_check' Name.Function '(' Punctuation 'data' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'struct' Keyword ' ' Text.Whitespace 'ary_sort_data' Name.Class ' ' Text.Whitespace '*' Operator 'data' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'data' Name '-' Operator '>' Operator 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '!' Operator '=' Operator ' ' Text.Whitespace 'data' Name '-' Operator '>' Operator 'ptr' Name ' ' Text.Whitespace '|' Operator '|' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'data' Name '-' Operator '>' Operator 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '!' Operator '=' Operator ' ' Text.Whitespace 'data' Name '-' Operator '>' Operator 'len' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_raise' Name '(' Punctuation 'rb_eRuntimeError' Name ',' Punctuation ' ' Text.Whitespace '"' Literal.String 'array modified during sort' Literal.String '"' Literal.String ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'int' Keyword.Type '\n' Text.Whitespace 'sort_1' Name '(' Punctuation 'a' Name ',' Punctuation ' ' Text.Whitespace 'b' Name ',' Punctuation ' ' Text.Whitespace 'data' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'a' Name ',' Punctuation ' ' Text.Whitespace '*' Operator 'b' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'struct' Keyword ' ' Text.Whitespace 'ary_sort_data' Name.Class ' ' Text.Whitespace '*' Operator 'data' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'retval' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_yield_values' Name '(' Punctuation '2' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace '*' Operator 'a' Name ',' Punctuation ' ' Text.Whitespace '*' Operator 'b' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_cmpint' Name '(' Punctuation 'retval' Name ',' Punctuation ' ' Text.Whitespace '*' Operator 'a' Name ',' Punctuation ' ' Text.Whitespace '*' Operator 'b' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'ary_sort_check' Name '(' Punctuation 'data' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'int' Keyword.Type '\n' Text.Whitespace 'sort_2' Name '(' Punctuation 'ap' Name ',' Punctuation ' ' Text.Whitespace 'bp' Name ',' Punctuation ' ' Text.Whitespace 'data' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'ap' Name ',' Punctuation ' ' Text.Whitespace '*' Operator 'bp' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'struct' Keyword ' ' Text.Whitespace 'ary_sort_data' Name.Class ' ' Text.Whitespace '*' Operator 'data' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'retval' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'a' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '*' Operator 'ap' Name ',' Punctuation ' ' Text.Whitespace 'b' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '*' Operator 'bp' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'FIXNUM_P' Name '(' Punctuation 'a' Name ')' Punctuation ' ' Text.Whitespace '&' Operator '&' Operator ' ' Text.Whitespace 'FIXNUM_P' Name '(' Punctuation 'b' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'long' Keyword.Type ')' Punctuation 'a' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '(' Punctuation 'long' Keyword.Type ')' Punctuation 'b' Name ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace '1' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation '(' Punctuation 'long' Keyword.Type ')' Punctuation 'a' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace '(' Punctuation 'long' Keyword.Type ')' Punctuation 'b' Name ')' Punctuation ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace '-1' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'TYPE' Name '(' Punctuation 'a' Name ')' Punctuation ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace 'T_STRING' Name ' ' Text.Whitespace '&' Operator '&' Operator ' ' Text.Whitespace 'TYPE' Name '(' Punctuation 'b' Name ')' Punctuation ' ' Text.Whitespace '=' Operator '=' Operator ' ' Text.Whitespace 'T_STRING' Name ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_str_cmp' Name '(' Punctuation 'a' Name ',' Punctuation ' ' Text.Whitespace 'b' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'retval' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_funcall' Name '(' Punctuation 'a' Name ',' Punctuation ' ' Text.Whitespace 'id_cmp' Name ',' Punctuation ' ' Text.Whitespace '1' Literal.Number.Integer ',' Punctuation ' ' Text.Whitespace 'b' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'n' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_cmpint' Name '(' Punctuation 'retval' Name ',' Punctuation ' ' Text.Whitespace 'a' Name ',' Punctuation ' ' Text.Whitespace 'b' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'ary_sort_check' Name '(' Punctuation 'data' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'n' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'sort_internal' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'struct' Keyword ' ' Text.Whitespace 'ary_sort_data' Name.Class ' ' Text.Whitespace 'data' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'data' Name '.' Punctuation 'ary' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'data' Name '.' Punctuation 'ptr' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ';' Punctuation ' ' Text.Whitespace 'data' Name '.' Punctuation 'len' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'qsort' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ',' Punctuation ' ' Text.Whitespace 'sizeof' Keyword '(' Punctuation 'VALUE' Name ')' Punctuation ',' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'rb_block_given_p' Name '(' Punctuation ')' Punctuation '?' Operator 'sort_1' Name ':' Operator 'sort_2' Name ',' Punctuation ' ' Text.Whitespace '&' Operator 'data' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'sort_unlock' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'FL_UNSET' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'ARY_TMPLOCK' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.sort! -> array\n * array.sort! {| a,b | block } -> array \n * \n * Sorts _self_. Comparisons for\n * the sort will be done using the <=> operator or using\n * an optional code block. The block implements a comparison between\n * a and b, returning -1, 0, or +1. See also\n * Enumerable#sort_by.\n * \n * a = [ "d", "a", "e", "c", "b" ]\n * a.sort #=> ["a", "b", "c", "d", "e"]\n * a.sort {|x,y| y <=> x } #=> ["e", "d", "c", "b", "a"]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_sort_bang' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_modify' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ' ' Text.Whitespace '>' Operator ' ' Text.Whitespace '1' Literal.Number.Integer ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'FL_SET' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'ARY_TMPLOCK' Name ')' Punctuation ';' Punctuation '\t' Text.Whitespace '/* prohibit modification during sort */' Comment.Multiline '\n' Text.Whitespace '\t' Text.Whitespace 'rb_ensure' Name '(' Punctuation 'sort_internal' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ',' Punctuation ' ' Text.Whitespace 'sort_unlock' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.sort -> an_array \n * array.sort {| a,b | block } -> an_array \n * \n * Returns a new array created by sorting self. Comparisons for\n * the sort will be done using the <=> operator or using\n * an optional code block. The block implements a comparison between\n * a and b, returning -1, 0, or +1. See also\n * Enumerable#sort_by.\n * \n * a = [ "d", "a", "e", "c", "b" ]\n * a.sort #=> ["a", "b", "c", "d", "e"]\n * a.sort {|x,y| y <=> x } #=> ["e", "d", "c", "b", "a"]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_sort' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'ary' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_ary_dup' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_sort_bang' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.collect {|item| block } -> an_array\n * array.map {|item| block } -> an_array\n * \n * Invokes block once for each element of self. Creates a \n * new array containing the values returned by the block.\n * See also Enumerable#collect.\n * \n * a = [ "a", "b", "c", "d" ]\n * a.collect {|x| x + "!" } #=> ["a!", "b!", "c!", "d!"]\n * a #=> ["a", "b", "c", "d"]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_collect' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'i' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'collect' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation '!' Operator 'rb_block_given_p' Name '(' Punctuation ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_ary_new4' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'collect' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_ary_new2' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_ary_push' Name '(' Punctuation 'collect' Name ',' Punctuation ' ' Text.Whitespace 'rb_yield' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'i' Name ']' Punctuation ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'collect' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/* \n * call-seq:\n * array.collect! {|item| block } -> array\n * array.map! {|item| block } -> array\n *\n * Invokes the block once for each element of _self_, replacing the\n * element with the value returned by _block_.\n * See also Enumerable#collect.\n * \n * a = [ "a", "b", "c", "d" ]\n * a.collect! {|x| x + "!" }\n * a #=> [ "a!", "b!", "c!", "d!" ]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_collect_bang' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'i' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'rb_ary_modify' Name '(' Punctuation 'ary' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_ary_store' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ',' Punctuation ' ' Text.Whitespace 'rb_yield' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'i' Name ']' Punctuation ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_get_values_at' Name '(' Punctuation 'obj' Name ',' Punctuation ' ' Text.Whitespace 'olen' Name ',' Punctuation ' ' Text.Whitespace 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'func' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'obj' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'olen' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '(' Punctuation '*' Operator 'func' Name ')' Punctuation ' ' Text.Whitespace '_' Name '(' Punctuation '(' Punctuation 'VALUE' Name ',' Punctuation 'long' Keyword.Type ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'result' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_ary_new2' Name '(' Punctuation 'argc' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'beg' Name ',' Punctuation ' ' Text.Whitespace 'len' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ',' Punctuation ' ' Text.Whitespace 'j' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name '=' Operator '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name '<' Operator 'argc' Name ';' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'FIXNUM_P' Name '(' Punctuation 'argv' Name '[' Punctuation 'i' Name ']' Punctuation ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'rb_ary_push' Name '(' Punctuation 'result' Name ',' Punctuation ' ' Text.Whitespace '(' Punctuation '*' Operator 'func' Name ')' Punctuation '(' Punctuation 'obj' Name ',' Punctuation ' ' Text.Whitespace 'FIX2LONG' Name '(' Punctuation 'argv' Name '[' Punctuation 'i' Name ']' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'continue' Keyword ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '/* check if idx is Range */' Comment.Multiline '\n' Text.Whitespace '\t' Text.Whitespace 'switch' Keyword ' ' Text.Whitespace '(' Punctuation 'rb_range_beg_len' Name '(' Punctuation 'argv' Name '[' Punctuation 'i' Name ']' Punctuation ',' Punctuation ' ' Text.Whitespace '&' Operator 'beg' Name ',' Punctuation ' ' Text.Whitespace '&' Operator 'len' Name ',' Punctuation ' ' Text.Whitespace 'olen' Name ',' Punctuation ' ' Text.Whitespace '0' Literal.Number.Integer ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'Qfalse' Name.Constant ':' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'break' Keyword ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'case' Keyword ' ' Text.Whitespace 'Qnil' Name.Constant ':' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'continue' Keyword ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'default' Keyword ':' Operator '\n' Text.Whitespace '\t ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'j' Name '=' Operator '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'j' Name '<' Operator 'len' Name ';' Punctuation ' ' Text.Whitespace 'j' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t\t' Text.Whitespace 'rb_ary_push' Name '(' Punctuation 'result' Name ',' Punctuation ' ' Text.Whitespace '(' Punctuation '*' Operator 'func' Name ')' Punctuation '(' Punctuation 'obj' Name ',' Punctuation ' ' Text.Whitespace 'j' Name '+' Operator 'beg' Name ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'continue' Keyword ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'rb_ary_push' Name '(' Punctuation 'result' Name ',' Punctuation ' ' Text.Whitespace '(' Punctuation '*' Operator 'func' Name ')' Punctuation '(' Punctuation 'obj' Name ',' Punctuation ' ' Text.Whitespace 'NUM2LONG' Name '(' Punctuation 'argv' Name '[' Punctuation 'i' Name ']' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'result' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/* \n * call-seq:\n * array.values_at(selector,... ) -> an_array\n *\n * Returns an array containing the elements in\n * _self_ corresponding to the given selector(s). The selectors\n * may be either integer indices or ranges. \n * See also Array#select.\n * \n * a = %w{ a b c d e f }\n * a.values_at(1, 3, 5)\n * a.values_at(1, 3, 5, 7)\n * a.values_at(-1, -3, -5, -7)\n * a.values_at(1..3, 2...5)\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_values_at' Name '(' Punctuation 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'int' Keyword.Type ' ' Text.Whitespace 'argc' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace '*' Operator 'argv' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'rb_get_values_at' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ',' Punctuation ' ' Text.Whitespace 'argc' Name ',' Punctuation ' ' Text.Whitespace 'argv' Name ',' Punctuation ' ' Text.Whitespace 'rb_ary_entry' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace '/*\n * call-seq:\n * array.select {|item| block } -> an_array\n * \n * Invokes the block passing in successive elements from array,\n * returning an array containing those elements for which the block\n * returns a true value (equivalent to Enumerable#select).\n * \n * a = %w{ a b c d e f }\n * a.select {|v| v =~ /[aeiou]/} #=> ["a", "e"]\n */' Comment.Multiline '\n' Text.Whitespace '\n' Text.Whitespace 'static' Keyword ' ' Text.Whitespace 'VALUE' Name '\n' Text.Whitespace 'rb_ary_select' Name '(' Punctuation 'ary' Name ')' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'ary' Name ';' Punctuation '\n' Text.Whitespace '{' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'VALUE' Name ' ' Text.Whitespace 'result' Name ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'long' Keyword.Type ' ' Text.Whitespace 'i' Name ';' Punctuation '\n' Text.Whitespace '\n' Text.Whitespace ' ' Text.Whitespace 'result' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'rb_ary_new2' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ')' Punctuation ';' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'for' Keyword ' ' Text.Whitespace '(' Punctuation 'i' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ';' Punctuation ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace '<' Operator ' ' Text.Whitespace 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'len' Name ';' Punctuation ' ' Text.Whitespace 'i' Name '+' Operator '+' Operator ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace 'if' Keyword ' ' Text.Whitespace '(' Punctuation 'RTEST' Name '(' Punctuation 'rb_yield' Name '(' Punctuation 'RARRAY' Name '(' Punctuation 'ary' Name ')' Punctuation '-' Operator '>' Operator 'ptr' Name '[' Punctuation 'i' Name ']' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation ' ' Text.Whitespace '{' Punctuation '\n' Text.Whitespace '\t ' Text.Whitespace 'rb_ary_push' Name '(' Punctuation 'result' Name ',' Punctuation ' ' Text.Whitespace 'rb_ary_elt' Name '(' Punctuation 'ary' Name ',' Punctuation ' ' Text.Whitespace 'i' Name ')' Punctuation ')' Punctuation ';' Punctuation '\n' Text.Whitespace '\t' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace '}' Punctuation '\n' Text.Whitespace ' ' Text.Whitespace 'return' Keyword ' ' Text.Whitespace 'result' Name ';' Punctuation '\n' Text.Whitespace '}' Punctuation '\n' Text.Whitespace