internal override bool IsNullable()
{
if (isNullable == null)
{
isNullable = false;
foreach (Production p in productions)
{
bool nullable = true;
foreach (Symbol rhs in p.rhs)
if (!rhs.IsNullable())
{
nullable = false;
break;
}
if (nullable)
{
isNullable = true;
break;
}
}
}
return (bool)isNullable;
}