int evaluateWord(int code){ //(code is correct syntax)?return>0:return<0
	logPutOut("evaluateWord(%d)",code);
	if(code>NUMOFTOKEN&&code<=NUMOFTOKEN+NUMOFSYNTAX){
		logPutOut("-evaluateSyntax\n");
		return(evaluateSyntax(code)); //return>0 is correct
	}else if(code>0&&code<=NUMOFTOKEN){
		logPutOut("-evaluateToken\n");
		return(evaluateToken(code)); //return>0 is correct
	}else{
		logPutOut("-ERR\n");
		return -1;
	}
}
vector<PredisambiguatedData> FeatureCalculatorRus::CalculateFeatures(
    const vector<Token>& tokens) const
{
    vector<PredisambiguatedData> predisambiguatedData
        = SimpleFeatureCalculatorRus::CalculateFeatures(tokens);
    for (size_t tokenIndex = 0; tokenIndex < tokens.size(); ++tokenIndex)
	{
        evaluateToken(&predisambiguatedData[tokenIndex]
            , tokens[tokenIndex], tokenIndex);
	}
	addPEREHfeature(&predisambiguatedData);
    return predisambiguatedData;
}