enumAssociativity
enum Associativity
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
How a shift/reduce conflict between equally ranked operators is settled.
A grammar declares operators in ranked groups. When a shift and a reduce carry the same rank, the group's associativity decides: left-associative operators reduce, right-associative ones shift, non-associative ones make the token an error, and a bare rank leaves the conflict unresolved.
Cases§
case Leftcase Rightcase NonAssoccase PrecedenceTest cases 22§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 1
Other tests reaching this symbol 21
ConflictResolverTest::testReduceOrReducecallsConflictResolverTest::testResolveLetsAHigherRankedLaterRuleWinUnderLemonsPolicycallsConflictResolverTest::testShiftOrReducecallsConflictResolverTest::testShiftOrReduceLeavesABareRankUnresolvedcallsParseTableBuilderTest::testBuildMakesANonAssociativeOperatorAnErrorcallsParseTableBuilderTest::testBuildSettlesAnAmbiguousGrammarWithPrecedencecallsBisonGrammarReaderTest::testAssociativitycallsBisonGrammarReaderTest::testDeclarationcallsBisonGrammarReaderTest::testReadcallsLemonGrammarReaderTest::testAssociativitycallsLemonGrammarReaderTest::testDeclarationcallsLemonGrammarReaderTest::testReadcallsGrammarBuilderTest::testBuildResolvesThePrecedenceSymbolOfARulecallsGrammarBuilderTest::testPrecedencecallsGrammarTest::testMemberPrecedenceLooksThroughATokenClasscallsGrammarTest::testPrecedenceOfcallsGrammarTest::testRulePrecedencePrefersTheNamedTerminalcallsGrammarTest::testRulePrecedenceTakesTheFirstRankedTerminalUnderLemonsPolicycallsGrammarTest::testRulePrecedenceTakesTheLastTerminalUnderBisonsPolicycallsPrecedenceTest::testLevelAndAssociativityAreKeptcallsLrParserTest::testParseBuildsATreeNamedAfterTheRulescalls
Relations§
Constant reads 11
- class-const SqlParser\Automaton\ConflictResolver::shiftOrReduce() packages/sql-parser/src/Automaton/ConflictResolver.php:104
- class-const SqlParser\Automaton\ConflictResolver::shiftOrReduce() packages/sql-parser/src/Automaton/ConflictResolver.php:105
- class-const SqlParser\Automaton\ConflictResolver::shiftOrReduce() packages/sql-parser/src/Automaton/ConflictResolver.php:106
- class-const SqlParser\Automaton\ConflictResolver::shiftOrReduce() packages/sql-parser/src/Automaton/ConflictResolver.php:107
- class-const SqlParser\Compiler\BisonGrammarReader::associativity() packages/sql-parser/src/Compiler/BisonGrammarReader.php:124
- class-const SqlParser\Compiler\BisonGrammarReader::associativity() packages/sql-parser/src/Compiler/BisonGrammarReader.php:125
- class-const SqlParser\Compiler\BisonGrammarReader::associativity() packages/sql-parser/src/Compiler/BisonGrammarReader.php:126
- class-const SqlParser\Compiler\BisonGrammarReader::associativity() packages/sql-parser/src/Compiler/BisonGrammarReader.php:127
- class-const SqlParser\Compiler\LemonGrammarReader::associativity() packages/sql-parser/src/Compiler/LemonGrammarReader.php:119
- class-const SqlParser\Compiler\LemonGrammarReader::associativity() packages/sql-parser/src/Compiler/LemonGrammarReader.php:120
- class-const SqlParser\Compiler\LemonGrammarReader::associativity() packages/sql-parser/src/Compiler/LemonGrammarReader.php:121
Type declarations 4
- type SqlParser\Compiler\BisonGrammarReader packages/sql-parser/src/Compiler/BisonGrammarReader.php:121
- type SqlParser\Compiler\LemonGrammarReader packages/sql-parser/src/Compiler/LemonGrammarReader.php:116
- type SqlParser\Grammar\GrammarBuilder packages/sql-parser/src/Grammar/GrammarBuilder.php:131
- type SqlParser\Grammar\Precedence packages/sql-parser/src/Grammar/Precedence.php:23