linear precedence function