classBisonToken
final class BisonToken
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
One lexeme read out of a Bison grammar file.
The offset is kept alongside the value because the parser reports failures against the grammar source, and a token that has been read is otherwise no longer locatable in the file it came from.
Properties§
public BisonLexeme $typepublic string|int $valuepublic int $offsetMethods§
public function __construct(
public BisonLexeme $type,
public string|int $value,
public int $offset,
)Parameters
$type | BisonLexeme | Which lexeme was recognised |
$value | string|int | The text it spelled, or its numeric value for a number |
$offset | int | Where the lexeme starts in the grammar source |
Test cases 83
BisonParserTest::testParseActionBeforePreccoversBisonParserTest::testParseComplexGrammarcoversBisonParserTest::testParseDeclarationsSectionEndsAtEofcoversBisonParserTest::testParseDefineDirectiveWithIdentifierValuecoversBisonParserTest::testParseDefineDirectiveWithNumberValuecoversBisonParserTest::testParseDefineDirectiveWithoutIdentifiercoversBisonParserTest::testParseDefineDirectiveWithoutValuecoversBisonParserTest::testParseDefineDirectiveWithStringValuecoversBisonParserTest::testParseEmptyAlternativeWithoutEmptycoversBisonParserTest::testParseEmptyDeclarationsSectioncoversBisonParserTest::testParseEmptyTokenDirectivecoversBisonParserTest::testParseEpilogueMultipleTokensJoinedWithSpacecoversBisonParserTest::testParseExpectDirectivecoversBisonParserTest::testParseExpectDirectiveWithoutNumbercoversBisonParserTest::testParseFileSuccesscoversBisonParserTest::testParseIdentifierNotFollowedByColonIsSkippedcoversBisonParserTest::testParseLexParamDirectivecoversBisonParserTest::testParseMidRuleActioncoversBisonParserTest::testParseMinimalGrammarcoversBisonParserTest::testParseMultipleActionsLastWinscoversBisonParserTest::testParseMultipleDeclarationscoversBisonParserTest::testParseMultipleProloguesLastWinscoversBisonParserTest::testParseMultipleRulescoversBisonParserTest::testParseMultipleRulesWithSameNamecoversBisonParserTest::testParseNoRulesThrowsExceptioncoversBisonParserTest::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::testParseWithProloguecoversBisonTokenTest::testAsIntReadsANumberAsItIscoversBisonTokenTest::testAsIntReadsTextThatNamesNoNumberAsZerocoversBisonTokenTest::testAsStringReadsTextAsItIscoversBisonTokenTest::testAsStringRendersANumberAsItsDigitscoversBisonTokenTest::testOffsetcoversBisonTokenTest::testTypecoversBisonTokenTest::testValueIntcoversBisonTokenTest::testValueStringcovers
public function asString(): stringReads the value as text.
Returns
string The value, with a number rendered as its digitsTest cases 77
BisonParserTest::testParseActionBeforePreccoversBisonParserTest::testParseComplexGrammarcoversBisonParserTest::testParseDeclarationsSectionEndsAtEofcoversBisonParserTest::testParseDefineDirectiveWithIdentifierValuecoversBisonParserTest::testParseDefineDirectiveWithNumberValuecoversBisonParserTest::testParseDefineDirectiveWithoutIdentifiercoversBisonParserTest::testParseDefineDirectiveWithoutValuecoversBisonParserTest::testParseDefineDirectiveWithStringValuecoversBisonParserTest::testParseEmptyAlternativeWithoutEmptycoversBisonParserTest::testParseEmptyDeclarationsSectioncoversBisonParserTest::testParseEmptyTokenDirectivecoversBisonParserTest::testParseEpilogueMultipleTokensJoinedWithSpacecoversBisonParserTest::testParseExpectDirectivecoversBisonParserTest::testParseExpectDirectiveWithoutNumbercoversBisonParserTest::testParseFileSuccesscoversBisonParserTest::testParseIdentifierNotFollowedByColonIsSkippedcoversBisonParserTest::testParseLexParamDirectivecoversBisonParserTest::testParseMidRuleActioncoversBisonParserTest::testParseMinimalGrammarcoversBisonParserTest::testParseMultipleActionsLastWinscoversBisonParserTest::testParseMultipleDeclarationscoversBisonParserTest::testParseMultipleProloguesLastWinscoversBisonParserTest::testParseMultipleRulescoversBisonParserTest::testParseMultipleRulesWithSameNamecoversBisonParserTest::testParseNoRulesThrowsExceptioncoversBisonParserTest::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::testParseWithProloguecoversBisonTokenTest::testAsStringReadsTextAsItIscovers and callsBisonTokenTest::testAsStringRendersANumberAsItsDigitscovers and calls
Calls 1
- function-call
is_stringline 37
public function asInt(): intReads the value as a number.
Returns
int The value, with text that names no number read as zeroTest cases 8
BisonParserTest::testParseExpectDirectivecoversBisonParserTest::testParseRuleWithAllDirectivescoversBisonParserTest::testParseRuleWithDpreccoversBisonParserTest::testParseRuleWithDprecAndMergecoversBisonParserTest::testParseTokenDirectiveWithNumbercoversBisonParserTest::testParseTokenDirectiveWithNumberAndAliascoversBisonTokenTest::testAsIntReadsANumberAsItIscovers and callsBisonTokenTest::testAsIntReadsTextThatNamesNoNumberAsZerocovers and calls
Calls 1
- function-call
is_intline 47
Test cases 105§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 8
BisonTokenTest::testAsIntReadsANumberAsItIscovers and callsBisonTokenTest::testAsIntReadsTextThatNamesNoNumberAsZerocovers and callsBisonTokenTest::testAsStringReadsTextAsItIscovers and callsBisonTokenTest::testAsStringRendersANumberAsItsDigitscovers and callsBisonTokenTest::testOffsetcovers and callsBisonTokenTest::testTypecovers and callsBisonTokenTest::testValueIntcovers and callsBisonTokenTest::testValueStringcovers and calls
Other tests reaching this symbol 97
BisonParserTest::testParseActionBeforePreccoversBisonParserTest::testParseComplexGrammarcoversBisonParserTest::testParseDeclarationsSectionEndsAtEofcoversBisonParserTest::testParseDefineDirectiveWithIdentifierValuecoversBisonParserTest::testParseDefineDirectiveWithNumberValuecoversBisonParserTest::testParseDefineDirectiveWithoutIdentifiercoversBisonParserTest::testParseDefineDirectiveWithoutValuecoversBisonParserTest::testParseDefineDirectiveWithStringValuecoversBisonParserTest::testParseEmptyAlternativeWithoutEmptycoversBisonParserTest::testParseEmptyDeclarationsSectioncoversBisonParserTest::testParseEmptyTokenDirectivecoversBisonParserTest::testParseEpilogueMultipleTokensJoinedWithSpacecoversBisonParserTest::testParseExpectDirectivecoversBisonParserTest::testParseExpectDirectiveWithoutNumbercoversBisonParserTest::testParseFileSuccesscoversBisonParserTest::testParseIdentifierNotFollowedByColonIsSkippedcoversBisonParserTest::testParseLexParamDirectivecoversBisonParserTest::testParseMidRuleActioncoversBisonParserTest::testParseMinimalGrammarcoversBisonParserTest::testParseMultipleActionsLastWinscoversBisonParserTest::testParseMultipleDeclarationscoversBisonParserTest::testParseMultipleProloguesLastWinscoversBisonParserTest::testParseMultipleRulescoversBisonParserTest::testParseMultipleRulesWithSameNamecoversBisonParserTest::testParseNoRulesThrowsExceptioncoversBisonParserTest::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::testParseWithProloguecoversBisonPreambleReaderTestcallsBisonDirectiveReaderChainTestcallsDefineDirectiveReaderTestcallsExpectDirectiveReaderTestcallsParamDirectiveReaderTestcallsPrecedenceDirectiveReaderTestcallsStartDirectiveReaderTestcallsTokenDirectiveReaderTestcallsTypeDirectiveReaderTestcallsUnknownDirectiveReaderTestcallsActionScannerTestcallsBisonLexerTestcallsBisonScannerChainTestcallsBisonTokenStreamTestcallsDirectiveScannerTestcallsIdentifierScannerTestcallsNumberScannerTestcallsPunctuationScannerTestcallsQuotedLiteralScannerTestcallsTypeTagScannerTestcallsBisonAlternativeReaderTestcallsBisonRuleReaderTestcalls
Relations§
Instantiated in 10
- new SqlFaker\Compiler\Bison\Lexer\ActionScanner::scan() packages/sql-faker/src/Compiler/Bison/Lexer/ActionScanner.php:95
- new SqlFaker\Compiler\Bison\Lexer\BisonLexer::scan() packages/sql-faker/src/Compiler/Bison/Lexer/BisonLexer.php:60
- new SqlFaker\Compiler\Bison\Lexer\DirectiveScanner::scanSectionSeparator() packages/sql-faker/src/Compiler/Bison/Lexer/DirectiveScanner.php:66
- new SqlFaker\Compiler\Bison\Lexer\DirectiveScanner::scanPrologue() packages/sql-faker/src/Compiler/Bison/Lexer/DirectiveScanner.php:84
- new SqlFaker\Compiler\Bison\Lexer\DirectiveScanner::scanDirectiveName() packages/sql-faker/src/Compiler/Bison/Lexer/DirectiveScanner.php:108
- new SqlFaker\Compiler\Bison\Lexer\IdentifierScanner::scan() packages/sql-faker/src/Compiler/Bison/Lexer/IdentifierScanner.php:49
- new SqlFaker\Compiler\Bison\Lexer\NumberScanner::scan() packages/sql-faker/src/Compiler/Bison/Lexer/NumberScanner.php:46
- new SqlFaker\Compiler\Bison\Lexer\PunctuationScanner::scan() packages/sql-faker/src/Compiler/Bison/Lexer/PunctuationScanner.php:56
- new SqlFaker\Compiler\Bison\Lexer\QuotedLiteralScanner::scan() packages/sql-faker/src/Compiler/Bison/Lexer/QuotedLiteralScanner.php:47
- new SqlFaker\Compiler\Bison\Lexer\TypeTagScanner::scan() packages/sql-faker/src/Compiler/Bison/Lexer/TypeTagScanner.php:57
Type declarations 16
- type SqlFaker\Compiler\Bison\Lexer\ActionScanner packages/sql-faker/src/Compiler/Bison/Lexer/ActionScanner.php:54
- type SqlFaker\Compiler\Bison\Lexer\BisonLexer packages/sql-faker/src/Compiler/Bison/Lexer/BisonLexer.php:54
- type SqlFaker\Compiler\Bison\Lexer\BisonScanner packages/sql-faker/src/Compiler/Bison/Lexer/BisonScanner.php:35
- type SqlFaker\Compiler\Bison\Lexer\BisonTokenStream packages/sql-faker/src/Compiler/Bison/Lexer/BisonTokenStream.php:59
- type SqlFaker\Compiler\Bison\Lexer\BisonTokenStream packages/sql-faker/src/Compiler/Bison/Lexer/BisonTokenStream.php:73
- type SqlFaker\Compiler\Bison\Lexer\BisonTokenStream packages/sql-faker/src/Compiler/Bison/Lexer/BisonTokenStream.php:88
- type SqlFaker\Compiler\Bison\Lexer\BisonTokenStream packages/sql-faker/src/Compiler/Bison/Lexer/BisonTokenStream.php:114
- type SqlFaker\Compiler\Bison\Lexer\DirectiveScanner packages/sql-faker/src/Compiler/Bison/Lexer/DirectiveScanner.php:44
- type SqlFaker\Compiler\Bison\Lexer\DirectiveScanner packages/sql-faker/src/Compiler/Bison/Lexer/DirectiveScanner.php:61
- type SqlFaker\Compiler\Bison\Lexer\DirectiveScanner packages/sql-faker/src/Compiler/Bison/Lexer/DirectiveScanner.php:79
- type SqlFaker\Compiler\Bison\Lexer\DirectiveScanner packages/sql-faker/src/Compiler/Bison/Lexer/DirectiveScanner.php:96
- type SqlFaker\Compiler\Bison\Lexer\IdentifierScanner packages/sql-faker/src/Compiler/Bison/Lexer/IdentifierScanner.php:41
- type SqlFaker\Compiler\Bison\Lexer\NumberScanner packages/sql-faker/src/Compiler/Bison/Lexer/NumberScanner.php:40
- type SqlFaker\Compiler\Bison\Lexer\PunctuationScanner packages/sql-faker/src/Compiler/Bison/Lexer/PunctuationScanner.php:42
- type SqlFaker\Compiler\Bison\Lexer\QuotedLiteralScanner packages/sql-faker/src/Compiler/Bison/Lexer/QuotedLiteralScanner.php:40
- type SqlFaker\Compiler\Bison\Lexer\TypeTagScanner packages/sql-faker/src/Compiler/Bison/Lexer/TypeTagScanner.php:44