private void UpdateOperatorTable(int priority, string associativity, string name)
{
switch (associativity)
{
case "xfx":
/* xfx */
_operators.AddInfixOperator(name, false, false, priority);
break;
case "xfy":
_operators.AddInfixOperator(name, false, true, priority);
break;
case "yfx":
_operators.AddInfixOperator(name, true, false, priority);
break;
case "fx":
_operators.AddPrefixOperator(name, false, priority);
break;
case "fy":
_operators.AddPrefixOperator(name, true, priority);
break;
case "xf":
_operators.AddPostfixOperator(name, false, priority);
break;
default:
_errors.Add(new PrologCompilerError("P0010", "Invalid operator associativity specifier.", "", false, _scanner.Current.Line, _scanner.Current.Column));
break;
}
}