425 int Upper = Table_Size - 1;
426 char FirstChar = *Name;
428 while (Lower <= Upper)
431 int Middle = Lower + ((Upper - Lower) / 2);
433 if (*Table[Middle].name == FirstChar)
435 int rc = memcmp(Name, Table[Middle].name,
Numerics::minVal(Length, Table[Middle].length));
439 if (Length == Table[Middle].length)
445 else if (Length > Table[Middle].length)
464 else if (*Table[Middle].name < FirstChar)
476 #define tabSize(t) (sizeof(t)/sizeof(t[0]))
#define SUBDIRECTIVE_NOCOMMANDS
#define SUBDIRECTIVE_EXTERNAL
#define KEYWORD_OTHERWISE
#define SUBDIRECTIVE_LIBRARY
#define CONDITION_NOSTRING
#define BUILTIN_QUEUEEXIT
#define SUBKEY_SCIENTIFIC
#define CONDITION_LOSTDIGITS
#define SUBDIRECTIVE_MIXINCLASS
#define SUBDIRECTIVE_PACKAGE
#define SUBDIRECTIVE_FORM
#define SUBKEY_DESCRIPTION
#define SUBDIRECTIVE_COMMANDS
#define DIRECTIVE_EXTENSION
#define SUBDIRECTIVE_MACROSPACE
#define BUILTIN_CHANGESTR
#define DIRECTIVE_REQUIRES
#define SUBKEY_ADDITIONAL
#define SUBDIRECTIVE_GUARDED
#define DIRECTIVE_ROUTINE
#define BUILTIN_CONDITION
#define KEYWORD_PROCEDURE
#define SUBDIRECTIVE_UNGUARDED
#define SUBDIRECTIVE_INHERIT
#define SUBDIRECTIVE_SUBCLASS
#define SUBDIRECTIVE_ATTRIBUTE
#define CONDITION_PROPAGATE
#define SUBKEY_ENGINEERING
#define SUBDIRECTIVE_UNPROTECTED
#define CONDITION_NOMETHOD
#define CONDITION_NOVALUE
#define SUBDIRECTIVE_TRACE
#define SUBDIRECTIVE_FUZZ
#define BUILTIN_RXFUNCDROP
#define BUILTIN_RXFUNCADD
#define BUILTIN_WORDINDEX
#define BUILTIN_WORDLENGTH
#define CONDITION_FAILURE
#define SUBDIRECTIVE_DIGITS
#define SUBDIRECTIVE_NOMACROSPACE
#define BUILTIN_TRANSLATE
#define DIRECTIVE_ATTRIBUTE
#define SUBDIRECTIVE_ABSTRACT
#define DIRECTIVE_OPTIONS
#define BUILTIN_RXFUNCQUERY
#define SUBDIRECTIVE_CLASS
#define SUBKEY_NAMEDARGUMENTS
#define SUBDIRECTIVE_PRIVATE
#define KEYWORD_INTERPRET
#define CONDITION_NOTREADY
#define SUBDIRECTIVE_PUBLIC
#define SUBDIRECTIVE_METACLASS
#define DIRECTIVE_CONSTANT
#define SUBDIRECTIVE_PROTECTED
#define BUILTIN_SOURCELINE
#define BUILTIN_ERRORTEXT
static wholenumber_t minVal(wholenumber_t n1, wholenumber_t n2)
static size_t resolveBuiltin(RexxString *)
static int condition(RexxToken *)
static KeywordEntry subKeywords[]
static int subDirective(RexxToken *)
static int keyDirective(RexxToken *)
static KeywordEntry directives[]
static int subKeyword(RexxToken *)
static int resolveKeyword(RexxString *token, KeywordEntry *Table, int Table_Size)
static KeywordEntry parseOptions[]
static KeywordEntry keywordInstructions[]
static KeywordEntry subDirectives[]
static KeywordEntry builtinFunctions[]
static KeywordEntry conditionKeywords[]
static int builtin(RexxToken *)
static int parseOption(RexxToken *)
static int keyword(RexxToken *)
const char * getStringData()