Sha256: ede8f8b1b32b5ca39ad98f5190c299150d6a7984dd586de97ff3c4bad10c10fa

Contents?: true

Size: 614 Bytes

Versions: 3

Compression:

Stored size: 614 Bytes

Contents

# frozen_string_literal: true

module Lrama
  class Grammar
    class ParameterizingRule
      class Rule
        attr_reader :name, :parameters, :rhs_list, :required_parameters_count, :tag, :is_inline

        def initialize(name, parameters, rhs_list, tag: nil, is_inline: false)
          @name = name
          @parameters = parameters
          @rhs_list = rhs_list
          @tag = tag
          @is_inline = is_inline
          @required_parameters_count = parameters.count
        end

        def to_s
          "#{@name}(#{@parameters.map(&:s_value).join(', ')})"
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lrama-0.7.0 lib/lrama/grammar/parameterizing_rule/rule.rb
lrama-0.6.11 lib/lrama/grammar/parameterizing_rule/rule.rb
lrama-0.6.10 lib/lrama/grammar/parameterizing_rule/rule.rb