summaryrefslogtreecommitdiff
path: root/tool/lrama/lib/lrama/grammar/reference.rb
blob: c56e7673a60d45b7cf6209f47e426c472877dfe7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
module Lrama
  class Grammar
    # type: :dollar or :at
    # name: String (e.g. $$, $foo, $expr.right)
    # number: Integer (e.g. $1)
    # index: Integer
    # ex_tag: "$<tag>1" (Optional)
    class Reference < Struct.new(:type, :name, :number, :index, :ex_tag, :first_column, :last_column, keyword_init: true)
      def value
        name || number
      end
    end
  end
end