Class: Sexp

Inherits:
Object
  • Object
show all
Defined in:
lib/roodi/core/visitable_sexp.rb

Instance Method Summary collapse

Instance Method Details

#accept(visitor) ⇒ Object



5
6
7
# File 'lib/roodi/core/visitable_sexp.rb', line 5

def accept(visitor)
  visitor.visit(self)
end

#childrenObject



13
14
15
# File 'lib/roodi/core/visitable_sexp.rb', line 13

def children
  find_all { | sexp | Sexp === sexp }
end

#is_language_node?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/roodi/core/visitable_sexp.rb', line 17

def is_language_node?
  first.class == Symbol
end

#node_typeObject



9
10
11
# File 'lib/roodi/core/visitable_sexp.rb', line 9

def node_type
  first
end

#visitable_childrenObject



21
22
23
24
# File 'lib/roodi/core/visitable_sexp.rb', line 21

def visitable_children
  parent = is_language_node? ? sexp_body : self
  parent.children
end