Class: Lrama::Grammar::Binding
- Inherits:
-
Object
- Object
- Lrama::Grammar::Binding
- Defined in:
- lib/lrama/grammar/binding.rb
Instance Method Summary collapse
- #concatenated_args_str(token) ⇒ Object
-
#initialize(params, actual_args) ⇒ Binding
constructor
A new instance of Binding.
- #resolve_symbol(sym) ⇒ Object
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 = map_params_to_args(params, @actual_args) end |
Instance Method Details
#concatenated_args_str(token) ⇒ Object
28 29 30 |
# File 'lib/lrama/grammar/binding.rb', line 28 def concatenated_args_str(token) "#{token.rule_name}_#{token_to_args_s_values(token).join('_')}" end |
#resolve_symbol(sym) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/lrama/grammar/binding.rb', line 17 def resolve_symbol(sym) if sym.is_a?(Lexer::Token::InstantiateRule) Lrama::Lexer::Token::InstantiateRule.new( s_value: sym.s_value, location: sym.location, args: resolved_args(sym), lhs_tag: sym.lhs_tag ) else param_to_arg(sym) end end |