Class: AjLisp::PrimitiveLoad

Inherits:
Primitive show all
Defined in:
lib/ajlisp/primitive_load.rb

Constant Summary collapse

@@instance =
nil

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Primitive

#evaluate

Class Method Details

.instanceObject



9
10
11
12
# File 'lib/ajlisp/primitive_load.rb', line 9

def self.instance
  @@instance = new unless @@instance
  return @@instance
end

Instance Method Details

#apply(context, args) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/ajlisp/primitive_load.rb', line 14

def apply(context, args)       
   result = nil
   
   args.each do |filename|
     source = FileSource.new filename # File.expand_path(filename, File.dirname(__FILE__))

     lexer = Lexer.new source
     parser = Parser.new lexer
     expr = parser.parseExpression
     
     
     while expr
       result = AjLisp::evaluate AjLisp::context, expr
       expr = parser.parseExpression
     end
   end
     
   return result
end