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