if( p2 ) {// process the variable index const char* p3 = NULL; // push the getelementofarray method into the stack add_scriptl(buildin_getelementofarray_ref); add_scriptc(C_ARG); add_scriptl(word); // process the sub-expression for this assignment p3 = script->parse_subexpr(p2 + 1, 1); p3 = script->skip_space(p3); if( *p3 != ']' ) {// closing parenthesis is required for this script disp_error_message("Missing closing ']' parenthesis for the variable assignment.", p3); } // push the closing function stack operator onto the stack add_scriptc(C_FUNC); p3 ++; } else {// simply push the variable or value onto the stack add_scriptl(word); }