Skip to content

Commit

Permalink
Rewriting in rbx
Browse files Browse the repository at this point in the history
  • Loading branch information
Josep M. Bach committed Jan 6, 2012
1 parent e0a668e commit fd94a09
Show file tree
Hide file tree
Showing 15 changed files with 894 additions and 503 deletions.
4 changes: 4 additions & 0 deletions lib/noscript.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
require_relative 'noscript/ast'
require_relative 'noscript/parser'
require_relative 'noscript/compiler'
require_relative 'noscript/generator'
require_relative 'noscript/scope'
require_relative 'noscript/code'
require_relative 'noscript/bootstrap'

module Noscript
end
4 changes: 3 additions & 1 deletion lib/noscript/ast.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@ module AST
end
end

require_relative 'ast/nodes'
require_relative 'ast/script'
# require_relative 'ast/node'
# require_relative 'ast/literal'
51 changes: 51 additions & 0 deletions lib/noscript/ast/literal.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
module Noscript
module AST
class Literal < Node
attr_accessor :value

def initialize(value)
@value = value
end

def visit(visitor)
visitor.literal self
end
end

class String < Literal
def initialize(value)
super value.to_s
end
end

class NilKind < Literal
def initialize
super nil
end

def visit(visitor)
visitor.nil_kind self
end
end

class TrueKind < Literal
def initialize
super true
end

def visit(visitor)
visitor.true_kind self
end
end

class FalseKind < Literal
def initialize
super false
end

def visit(visitor)
visitor.false_kind self
end
end
end
end
13 changes: 13 additions & 0 deletions lib/noscript/ast/node.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
module Noscript
module AST
class Node
def graph
Rubinius::AST::AsciiGrapher.new(self, Node).print
end

def visit(visitor)
raise NotImplementedError, "Don't know how to visit #{self.inspect}"
end
end
end
end
135 changes: 0 additions & 135 deletions lib/noscript/ast/nodes.rb

This file was deleted.

Loading

0 comments on commit fd94a09

Please sign in to comment.