classSymbolPrinter
final class SymbolPrinter
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
Writes symbols, tags and literals the way Bison spells them.
Methods§
public function __construct(private Escapes $escapes = new \BisonParser\Scanner\Escapes())public function symbol(Symbol $symbol): stringWrites a symbol.
Parameters
$symbol | Symbol | The symbol |
Returns
string The identifier, or the quoted literalTest cases 1
Called from 5
- method-call BisonParser\Printer\DeclarationPrinter::print() packages/bison-parser/src/Printer/DeclarationPrinter.php:62
- method-call BisonParser\Printer\DeclarationPrinter::targets() packages/bison-parser/src/Printer/DeclarationPrinter.php:177
- method-call BisonParser\Printer\DeclarationPrinter::entries() packages/bison-parser/src/Printer/DeclarationPrinter.php:199
- method-call BisonParser\Printer\RhsPrinter::print() packages/bison-parser/src/Printer/RhsPrinter.php:48
- method-call BisonParser\Printer\RhsPrinter::print() packages/bison-parser/src/Printer/RhsPrinter.php:52
Calls 5
- class-const SymbolKind::Identifier() line 40
- class-const SymbolKind::CharLiteral() line 41
- method-call Escapes::encode() line 41
- class-const SymbolKind::String() line 42
- method-call SymbolPrinter::string() line 42
public function string(string $text): stringWrites a string literal.
Parameters
$text | string | The decoded text |
Returns
string The quoted literalTest cases 1
Called from 4
- method-call BisonParser\Printer\DeclarationPrinter::option() packages/bison-parser/src/Printer/DeclarationPrinter.php:81
- method-call BisonParser\Printer\DeclarationPrinter::define() packages/bison-parser/src/Printer/DeclarationPrinter.php:161
- method-call BisonParser\Printer\DeclarationPrinter::entries() packages/bison-parser/src/Printer/DeclarationPrinter.php:204
- method-call BisonParser\Printer\SymbolPrinter::symbol() packages/bison-parser/src/Printer/SymbolPrinter.php:42
Calls 1
- method-call Escapes::encode() line 55
public function tag(Tag $tag): stringWrites a tag between angle brackets.
Parameters
$tag | Tag | The tag |
Returns
string The tag as written in a grammarTest cases 1
public function code(string $code): stringWrites braced code.
Parameters
$code | string | The code without its braces |
Returns
string The code between bracesTest cases 1
Called from 8
- method-call BisonParser\Printer\DeclarationPrinter::print() packages/bison-parser/src/Printer/DeclarationPrinter.php:59
- method-call BisonParser\Printer\DeclarationPrinter::print() packages/bison-parser/src/Printer/DeclarationPrinter.php:60
- method-call BisonParser\Printer\DeclarationPrinter::union() packages/bison-parser/src/Printer/DeclarationPrinter.php:106
- method-call BisonParser\Printer\DeclarationPrinter::props() packages/bison-parser/src/Printer/DeclarationPrinter.php:118
- method-call BisonParser\Printer\DeclarationPrinter::code() packages/bison-parser/src/Printer/DeclarationPrinter.php:130
- method-call BisonParser\Printer\DeclarationPrinter::define() packages/bison-parser/src/Printer/DeclarationPrinter.php:162
- method-call BisonParser\Printer\RhsPrinter::print() packages/bison-parser/src/Printer/RhsPrinter.php:49
- method-call BisonParser\Printer\RhsPrinter::print() packages/bison-parser/src/Printer/RhsPrinter.php:50
Private surface 1§
Implementation details, listed for orientation only.
private Escapes $escapes = new \BisonParser\Scanner\Escapes()Test cases 9§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 4
Other tests reaching this symbol 5
BisonGrammarCompilerTestcallsBisonGrammarReaderTestcallsDeclarationPrinterTestcallsPrinterTestcallsRhsPrinterTestcalls
Relations§
Instantiated in 2
Method calls 17
- method-call BisonParser\Printer\DeclarationPrinter::print() packages/bison-parser/src/Printer/DeclarationPrinter.php:59
- method-call BisonParser\Printer\DeclarationPrinter::print() packages/bison-parser/src/Printer/DeclarationPrinter.php:60
- method-call BisonParser\Printer\DeclarationPrinter::print() packages/bison-parser/src/Printer/DeclarationPrinter.php:62
- method-call BisonParser\Printer\DeclarationPrinter::option() packages/bison-parser/src/Printer/DeclarationPrinter.php:81
- method-call BisonParser\Printer\DeclarationPrinter::union() packages/bison-parser/src/Printer/DeclarationPrinter.php:106
- method-call BisonParser\Printer\DeclarationPrinter::props() packages/bison-parser/src/Printer/DeclarationPrinter.php:118
- method-call BisonParser\Printer\DeclarationPrinter::code() packages/bison-parser/src/Printer/DeclarationPrinter.php:130
- method-call BisonParser\Printer\DeclarationPrinter::define() packages/bison-parser/src/Printer/DeclarationPrinter.php:161
- method-call BisonParser\Printer\DeclarationPrinter::define() packages/bison-parser/src/Printer/DeclarationPrinter.php:162
- method-call BisonParser\Printer\DeclarationPrinter::targets() packages/bison-parser/src/Printer/DeclarationPrinter.php:177
- method-call BisonParser\Printer\DeclarationPrinter::targets() packages/bison-parser/src/Printer/DeclarationPrinter.php:177
- method-call BisonParser\Printer\DeclarationPrinter::entries() packages/bison-parser/src/Printer/DeclarationPrinter.php:199
- method-call BisonParser\Printer\DeclarationPrinter::entries() packages/bison-parser/src/Printer/DeclarationPrinter.php:204
- method-call BisonParser\Printer\RhsPrinter::print() packages/bison-parser/src/Printer/RhsPrinter.php:48
- method-call BisonParser\Printer\RhsPrinter::print() packages/bison-parser/src/Printer/RhsPrinter.php:49
- method-call BisonParser\Printer\RhsPrinter::print() packages/bison-parser/src/Printer/RhsPrinter.php:50
- method-call BisonParser\Printer\RhsPrinter::print() packages/bison-parser/src/Printer/RhsPrinter.php:52