Sha256: aa4ab86adb51f53a24ea0c0b75ded15f51a118252c9bc57e9e40375e8f516295

Contents?: true

Size: 400 Bytes

Versions: 11

Compression:

Stored size: 400 Bytes

Contents

require 'rubygems'
require 'sexp'

module Roodi
  module Core
    class VisitableSexp < Sexp
      def accept(visitor)
        visitor.visit(self)
      end
      
      def node_type
        first
      end
      
      def children
        sexp_body.select {|each| each.class == VisitableSexp }
      end
      
      def is_language_node?
        first.class == Symbol
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
roodi-1.1.0 lib/roodi/core/visitable_sexp.rb
roodi-0.5 lib/roodi/core/visitable_sexp.rb
roodi-1.3.5 lib/roodi/core/visitable_sexp.rb
roodi-1.3.0 lib/roodi/core/visitable_sexp.rb
roodi-1.3.4 lib/roodi/core/visitable_sexp.rb
roodi-1.1.1 lib/roodi/core/visitable_sexp.rb
roodi-1.3.2 lib/roodi/core/visitable_sexp.rb
roodi-1.3.7 lib/roodi/core/visitable_sexp.rb
roodi-1.3.3 lib/roodi/core/visitable_sexp.rb
roodi-1.3.6 lib/roodi/core/visitable_sexp.rb
roodi-1.2.0 lib/roodi/core/visitable_sexp.rb