Class: Musa::GenerativeGrammar::Implementation::FinalNode Private

Inherits:
Node
  • Object
show all
Defined in:
lib/musa-dsl/generative/generative-grammar.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Terminal node with fixed content.

Represents a leaf node in the grammar tree with constant content.

API:

  • private

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(content, attributes) ⇒ void

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

  • node content

  • node attributes

API:

  • private



470
471
472
473
# File 'lib/musa-dsl/generative/generative-grammar.rb', line 470

def initialize(content, attributes)
  super()
  @element = OptionElement.new(content, attributes)
end

Instance Attribute Details

#attributesHash (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

node attributes

Returns:

  • the current value of attributes

API:

  • private



460
461
462
# File 'lib/musa-dsl/generative/generative-grammar.rb', line 460

def attributes
  @attributes
end

#contentObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

node content

Returns:

  • the current value of content

API:

  • private



460
461
462
# File 'lib/musa-dsl/generative/generative-grammar.rb', line 460

def content
  @content
end

Instance Method Details

#_options(parent: nil, &condition) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

API:

  • private



476
477
478
479
480
481
482
483
484
485
486
487
488
# File 'lib/musa-dsl/generative/generative-grammar.rb', line 476

def _options(parent: nil, &condition)
  parent ||= []

  if block_given?
    if yield(parent + [@element])
      [[@element]]
    else
      []
    end
  else
    [[@element]]
  end
end