StatementStateFunction [ ] は、すべて StatementState と StateArray [GetInputToken(T)] を返す関数の配列です [CurrentState] は、StatementStateFunction [ ] にどの関数を呼び出すかを伝える状態テーブルですが、コンパイラは StatementFunc を StatementState に割り当てることはできないと言います。 StatementStateFunction[] で呼び出されるメソッドはすべて StatementState を返します
StatementTable.cpp 内
void StatementTable::BuildStatement (Token & T)
{
StatementState CurrentState (StartStatement);
do
{
CurrentState = StatementStateFunction [ StateArray[GetInputToken(T)][CurrentState] ];
}
while (CurrentState != StatementComplete);
}
StatementTable.h 内
typedef StatementState (*StatementFunc) (Token &);
static Token::UChar StateArray [NumTokeInputs] [NumberStates];
static StatementFunc StatementStateFunction [];