// trying to match variable names; public $something = null; // - this does not work if(strncmp ((const char*)cp,"public",(size_t) 6) == 0 && isspace ((int) cp [6])) { cp += 6; while (isspace ((int) *cp)) ++cp; if (*cp == '$') /* skip dollar */ cp++; vStringClear (name); while (isalnum ((int) *cp) || *cp == '_') { vStringPut (name, (int) *cp); ++cp; } vStringTerminate (name); makeSimpleTag (name, PhpKinds, K_VARIABLE); vStringClear (name); } // grab function ames; function something(); // - this works else if (strncmp ((const char*) cp, "function", (size_t) 8) == 0 && isspace ((int) cp [8])) { cp += 8; while (isspace ((int) *cp)) ++cp; if (*cp == '&') /* skip reference character */ cp++; vStringClear (name); while (isalnum ((int) *cp) || *cp == '_') { vStringPut (name, (int) *cp); ++cp; } vStringTerminate (name); makeSimpleTag (name, PhpKinds, K_FUNCTION); vStringClear (name); }