Sha256: 4729fe0a41debe0e861449d09fad84dcf67ed701afa31805c72eccd7c800f8f0

Contents?: true

Size: 800 Bytes

Versions: 1

Compression:

Stored size: 800 Bytes

Contents

module Lrama
  class Grammar
    class ParameterizingRuleBuilder
      attr_reader name: String
      attr_reader parameters: Array[Lexer::Token]
      attr_reader rhs: Array[Grammar::ParameterizingRuleRhsBuilder]

      @required_parameters_count: Integer

      def initialize: (String name, Array[Lexer::Token] parameters, Array[Grammar::ParameterizingRuleRhsBuilder] rhs) -> void
      def build_rules: (Lexer::Token::InstantiateRule token, Array[Lexer::Token] actual_args, Counter rule_counter, untyped lhs_tag, Integer? line, Array[ParameterizingRuleBuilder] rule_builders) -> Array[Grammar::ParameterizingRule]

      private

      def validate_argument_number!: (Lexer::Token::InstantiateRule token) -> void
      def lhs: (Array[Lexer::Token] actual_args) -> Lexer::Token
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lrama-0.6.0 sig/lrama/grammar/parameterizing_rule_builder.rbs