public static function compare(Symbol $a, Symbol $b): int
    {
        return ($a->isTerminal - $b->isTerminal)
            ?: strcmp($a->name, $b->name);
    }
public static function compare(Symbol $a, Symbol $b): int
    {
        return ($a->isTerminal - $b->isTerminal)
            ?: strcmp($a->name, $b->name);
    }
public static function compare ( Symbol $ a , Symbol $ b ) : int { return ( $ a -> isTerminal - $ b -> isTerminal ) ? : strcmp ( $ a -> name , $ b -> name ) ; }
Compares two symbols

Two symbols are equal when its `$name` and `$isTerminal` are the same.

Note: Value of `$isHidden` is not used for comparison.
@param Symbol $a
@param Symbol $b
@return int Returns 0 when both symbols are equal.
Compares two symbols