packages/sql-faker/src/Compiler/Bison/Ast/BisonPrecedenceDeclaration.php
1<?php
2
3declare(strict_types=1);
4
5namespace SqlFaker\Compiler\Bison\Ast;
6
7/**
8 * Represents a %left, %right, or %nonassoc declaration.
9 *
10 * Example: %left OR_SYM OR2_SYM
11 *
12 * @visibility root
13 */
14final class BisonPrecedenceDeclaration implements BisonDeclaration
15{
16 /**
17 * @param 'left'|'right'|'nonassoc'|'precedence' $associativity
18 * @param list<string> $symbols
19 */
20 public function __construct(
21 public readonly string $associativity,
22 public readonly ?string $typeTag,
23 public readonly array $symbols,
24 ) {
25 }
26}
27