Class: Lrama::Grammar::Binding

Inherits:
Object
  • Object
show all
Defined in:
lib/lrama/grammar/binding.rb

Instance Method Summary collapse

Constructor Details

#initialize(params, actual_args) ⇒ Binding

Returns a new instance of Binding.



11
12
13
14
# File 'lib/lrama/grammar/binding.rb', line 11

def initialize(params, actual_args)
  @actual_args = actual_args
  @param_to_arg = build_param_to_arg(params, @actual_args)
end

Instance Method Details

#concatenated_args_str(token) ⇒ Object



23
24
25
# File 'lib/lrama/grammar/binding.rb', line 23

def concatenated_args_str(token)
  "#{token.rule_name}_#{format_args(token)}"
end

#resolve_symbol(sym) ⇒ Object



17
18
19
20
# File 'lib/lrama/grammar/binding.rb', line 17

def resolve_symbol(sym)
  return create_instantiate_rule(sym) if sym.is_a?(Lexer::Token::InstantiateRule)
  find_arg_for_param(sym)
end