classBisonAst
final class BisonAst
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
Root AST node representing a complete Bison grammar file.
Type Aliases§
DeclarationList = list<BisonDeclaration>RuleList = list<BisonRuleNode>Properties§
public string $startSymbolpublic ?string $prologuepublic list<BisonDeclaration> $declarationspublic list<BisonRuleNode> $rulespublic ?string $epilogueMethods§
public function __construct(
public string $startSymbol,
public ?string $prologue,
public list<BisonDeclaration> $declarations,
public list<BisonRuleNode> $rules,
public ?string $epilogue,
)Parameters
$startSymbol | string | The grammar's start symbol (from %start or first rule per Bison spec) |
$prologue | ?string | |
$declarations | list<BisonDeclaration> | |
$rules | list<BisonRuleNode> | |
$epilogue | ?string |
Test cases 92
BisonAstTest::testExposesEveryPartOfTheGrammarFilecoversBisonAstTest::testExposesOmittedPartsAsNullcoversBisonParserTest::testParseActionBeforePreccoversBisonParserTest::testParseComplexGrammarcoversBisonParserTest::testParseDefineDirectiveWithIdentifierValuecoversBisonParserTest::testParseDefineDirectiveWithNumberValuecoversBisonParserTest::testParseDefineDirectiveWithoutIdentifiercoversBisonParserTest::testParseDefineDirectiveWithoutValuecoversBisonParserTest::testParseDefineDirectiveWithStringValuecoversBisonParserTest::testParseEmptyAlternativeWithoutEmptycoversBisonParserTest::testParseEmptyDeclarationsSectioncoversBisonParserTest::testParseEmptyTokenDirectivecoversBisonParserTest::testParseEpilogueMultipleTokensJoinedWithSpacecoversBisonParserTest::testParseExpectDirectivecoversBisonParserTest::testParseExpectDirectiveWithoutNumbercoversBisonParserTest::testParseFileSuccesscoversBisonParserTest::testParseIdentifierNotFollowedByColonIsSkippedcoversBisonParserTest::testParseLexParamDirectivecoversBisonParserTest::testParseMidRuleActioncoversBisonParserTest::testParseMinimalGrammarcoversBisonParserTest::testParseMultipleActionsLastWinscoversBisonParserTest::testParseMultipleDeclarationscoversBisonParserTest::testParseMultipleProloguesLastWinscoversBisonParserTest::testParseMultipleRulescoversBisonParserTest::testParseMultipleRulesWithSameNamecoversBisonParserTest::testParseParamDirectiveWithoutActioncoversBisonParserTest::testParseParseParamDirectivecoversBisonParserTest::testParsePrecBeforeActioncoversBisonParserTest::testParsePrecedenceDirective#leftcoversBisonParserTest::testParsePrecedenceDirective#nonassoccoversBisonParserTest::testParsePrecedenceDirective#precedencecoversBisonParserTest::testParsePrecedenceDirective#rightcoversBisonParserTest::testParsePrecedenceDirectiveSkipsNonSymbolscoversBisonParserTest::testParsePrecedenceDirectiveWithIdentifierscoversBisonParserTest::testParsePrecedenceDirectiveWithTypeTagcoversBisonParserTest::testParsePrologueAfterDeclarationscoversBisonParserTest::testParseRuleMultipleAlternativescoversBisonParserTest::testParseRuleSingleAlternativecoversBisonParserTest::testParseRuleSkipsUnknownTokenscoversBisonParserTest::testParseRulesSectionEndsAtEofcoversBisonParserTest::testParseRuleTerminatedByEofcoversBisonParserTest::testParseRuleTerminatedByNextRulecoversBisonParserTest::testParseRuleTerminatedByPercentPercentcoversBisonParserTest::testParseRuleTerminatedBySemicoloncoversBisonParserTest::testParseRuleWithActioncoversBisonParserTest::testParseRuleWithAllDirectivescoversBisonParserTest::testParseRuleWithCharLiteralSymbolcoversBisonParserTest::testParseRuleWithDpreccoversBisonParserTest::testParseRuleWithDprecAndMergecoversBisonParserTest::testParseRuleWithDprecWithoutNumbercoversBisonParserTest::testParseRuleWithEmptycoversBisonParserTest::testParseRuleWithMergecoversBisonParserTest::testParseRuleWithMergeWithoutTypeTagcoversBisonParserTest::testParseRuleWithPrecAndActioncoversBisonParserTest::testParseRuleWithPrecCharLiteralcoversBisonParserTest::testParseRuleWithPrecIdentifiercoversBisonParserTest::testParseRuleWithPrecWithoutSymbolcoversBisonParserTest::testParseSkipsUnknownTokensInDeclarationscoversBisonParserTest::testParseSkipsUnknownTokensInRulescoversBisonParserTest::testParseStartDirectivecoversBisonParserTest::testParseStartDirectiveWithoutIdentifiercoversBisonParserTest::testParseTokenDirectivecoversBisonParserTest::testParseTokenDirectiveSkipsNonIdentifierscoversBisonParserTest::testParseTokenDirectiveWithAliascoversBisonParserTest::testParseTokenDirectiveWithNumbercoversBisonParserTest::testParseTokenDirectiveWithNumberAndAliascoversBisonParserTest::testParseTokenDirectiveWithTypeTagcoversBisonParserTest::testParseTypeDirectivecoversBisonParserTest::testParseTypeDirectiveSkipsNonIdentifierscoversBisonParserTest::testParseTypeDirectiveWithoutTypeTagcoversBisonParserTest::testParseUnknownDirectivecoversBisonParserTest::testParseUnknownDirectiveInRulecoversBisonParserTest::testParseWithEpiloguecoversBisonParserTest::testParseWithoutEpiloguecoversBisonParserTest::testParseWithProloguecoversGrammarCompilerTest::testCompilecoversGrammarCompilerTest::testCompileDiscardsActionAndPrecedencecoversGrammarCompilerTest::testCompileDistinguishesTerminalsAndNonTerminalscoversGrammarCompilerTest::testCompileIgnoresNonTokenDeclarationscoversGrammarCompilerTest::testCompileIgnoresPrologueAndEpiloguecoversGrammarCompilerTest::testCompileMergesSameNameRulescoversGrammarCompilerTest::testCompileMergesSameNameRulesPreservesBisonStructurecoversGrammarCompilerTest::testCompileMultipleAlternativescoversGrammarCompilerTest::testCompilePreservesBisonStructurecoversGrammarCompilerTest::testCompileThrowsOnUnknownSymbolcoversGrammarCompilerTest::testCompileThrowsOnUnknownSymbolPreservesBisonStructurecoversGrammarCompilerTest::testCompileUsesStartSymbolFromAstcoversGrammarCompilerTest::testCompileWithEmptyDeclarationsAndSingleRulecoversGrammarCompilerTest::testCompileWithEmptyProductioncoversGrammarCompilerTest::testCompileWithMultipleAlternativescoversGrammarCompilerTest::testCompileWithMultipleDistinctRulescoversGrammarCompilerTest::testDeclarationsIndexesTokensAndIgnoresStartDeclarationscovers
Test cases 93§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 2
BisonAstTest::testExposesEveryPartOfTheGrammarFilecovers and callsBisonAstTest::testExposesOmittedPartsAsNullcovers and calls
Other tests reaching this symbol 91
BisonDeclarationTest::testEveryDeclarationKindCanBeCarriedByAnAstcallsBisonParserTest::testParseActionBeforePreccoversBisonParserTest::testParseComplexGrammarcoversBisonParserTest::testParseDefineDirectiveWithIdentifierValuecoversBisonParserTest::testParseDefineDirectiveWithNumberValuecoversBisonParserTest::testParseDefineDirectiveWithoutIdentifiercoversBisonParserTest::testParseDefineDirectiveWithoutValuecoversBisonParserTest::testParseDefineDirectiveWithStringValuecoversBisonParserTest::testParseEmptyAlternativeWithoutEmptycoversBisonParserTest::testParseEmptyDeclarationsSectioncoversBisonParserTest::testParseEmptyTokenDirectivecoversBisonParserTest::testParseEpilogueMultipleTokensJoinedWithSpacecoversBisonParserTest::testParseExpectDirectivecoversBisonParserTest::testParseExpectDirectiveWithoutNumbercoversBisonParserTest::testParseFileSuccesscoversBisonParserTest::testParseIdentifierNotFollowedByColonIsSkippedcoversBisonParserTest::testParseLexParamDirectivecoversBisonParserTest::testParseMidRuleActioncoversBisonParserTest::testParseMinimalGrammarcoversBisonParserTest::testParseMultipleActionsLastWinscoversBisonParserTest::testParseMultipleDeclarationscoversBisonParserTest::testParseMultipleProloguesLastWinscoversBisonParserTest::testParseMultipleRulescoversBisonParserTest::testParseMultipleRulesWithSameNamecoversBisonParserTest::testParseParamDirectiveWithoutActioncoversBisonParserTest::testParseParseParamDirectivecoversBisonParserTest::testParsePrecBeforeActioncoversBisonParserTest::testParsePrecedenceDirective#leftcoversBisonParserTest::testParsePrecedenceDirective#nonassoccoversBisonParserTest::testParsePrecedenceDirective#precedencecoversBisonParserTest::testParsePrecedenceDirective#rightcoversBisonParserTest::testParsePrecedenceDirectiveSkipsNonSymbolscoversBisonParserTest::testParsePrecedenceDirectiveWithIdentifierscoversBisonParserTest::testParsePrecedenceDirectiveWithTypeTagcoversBisonParserTest::testParsePrologueAfterDeclarationscoversBisonParserTest::testParseRuleMultipleAlternativescoversBisonParserTest::testParseRuleSingleAlternativecoversBisonParserTest::testParseRuleSkipsUnknownTokenscoversBisonParserTest::testParseRulesSectionEndsAtEofcoversBisonParserTest::testParseRuleTerminatedByEofcoversBisonParserTest::testParseRuleTerminatedByNextRulecoversBisonParserTest::testParseRuleTerminatedByPercentPercentcoversBisonParserTest::testParseRuleTerminatedBySemicoloncoversBisonParserTest::testParseRuleWithActioncoversBisonParserTest::testParseRuleWithAllDirectivescoversBisonParserTest::testParseRuleWithCharLiteralSymbolcoversBisonParserTest::testParseRuleWithDpreccoversBisonParserTest::testParseRuleWithDprecAndMergecoversBisonParserTest::testParseRuleWithDprecWithoutNumbercoversBisonParserTest::testParseRuleWithEmptycoversBisonParserTest::testParseRuleWithMergecoversBisonParserTest::testParseRuleWithMergeWithoutTypeTagcoversBisonParserTest::testParseRuleWithPrecAndActioncoversBisonParserTest::testParseRuleWithPrecCharLiteralcoversBisonParserTest::testParseRuleWithPrecIdentifiercoversBisonParserTest::testParseRuleWithPrecWithoutSymbolcoversBisonParserTest::testParseSkipsUnknownTokensInDeclarationscoversBisonParserTest::testParseSkipsUnknownTokensInRulescoversBisonParserTest::testParseStartDirectivecoversBisonParserTest::testParseStartDirectiveWithoutIdentifiercoversBisonParserTest::testParseTokenDirectivecoversBisonParserTest::testParseTokenDirectiveSkipsNonIdentifierscoversBisonParserTest::testParseTokenDirectiveWithAliascoversBisonParserTest::testParseTokenDirectiveWithNumbercoversBisonParserTest::testParseTokenDirectiveWithNumberAndAliascoversBisonParserTest::testParseTokenDirectiveWithTypeTagcoversBisonParserTest::testParseTypeDirectivecoversBisonParserTest::testParseTypeDirectiveSkipsNonIdentifierscoversBisonParserTest::testParseTypeDirectiveWithoutTypeTagcoversBisonParserTest::testParseUnknownDirectivecoversBisonParserTest::testParseUnknownDirectiveInRulecoversBisonParserTest::testParseWithEpiloguecoversBisonParserTest::testParseWithoutEpiloguecoversBisonParserTest::testParseWithProloguecoversGrammarCompilerTest::testCompilecovers and callsGrammarCompilerTest::testCompileDiscardsActionAndPrecedencecovers and callsGrammarCompilerTest::testCompileDistinguishesTerminalsAndNonTerminalscovers and callsGrammarCompilerTest::testCompileIgnoresNonTokenDeclarationscovers and callsGrammarCompilerTest::testCompileIgnoresPrologueAndEpiloguecovers and callsGrammarCompilerTest::testCompileMergesSameNameRulescovers and callsGrammarCompilerTest::testCompileMergesSameNameRulesPreservesBisonStructurecovers and callsGrammarCompilerTest::testCompileMultipleAlternativescovers and callsGrammarCompilerTest::testCompilePreservesBisonStructurecovers and callsGrammarCompilerTest::testCompileThrowsOnUnknownSymbolcovers and callsGrammarCompilerTest::testCompileThrowsOnUnknownSymbolPreservesBisonStructurecovers and callsGrammarCompilerTest::testCompileUsesStartSymbolFromAstcovers and callsGrammarCompilerTest::testCompileWithEmptyDeclarationsAndSingleRulecovers and callsGrammarCompilerTest::testCompileWithEmptyProductioncovers and callsGrammarCompilerTest::testCompileWithMultipleAlternativescovers and callsGrammarCompilerTest::testCompileWithMultipleDistinctRulescovers and callsGrammarCompilerTest::testDeclarationsIndexesTokensAndIgnoresStartDeclarationscovers and calls
Relations§
Instantiated in 1
Type declarations 4
- type SqlFaker\Compiler\Bison\BisonParser packages/sql-faker/src/Compiler/Bison/BisonParser.php:60
- type SqlFaker\Compiler\Bison\BisonParser packages/sql-faker/src/Compiler/Bison/BisonParser.php:90
- type SqlFaker\Compiler\Bison\GrammarCompiler packages/sql-faker/src/Compiler/Bison/GrammarCompiler.php:35
- type SqlFaker\Compiler\Bison\GrammarCompiler packages/sql-faker/src/Compiler/Bison/GrammarCompiler.php:90