Module: StlLoader
- Includes:
- SchemeStl
- Included in:
- Tokenizer
- Defined in:
- lib/lisp/interpreter/core/loader.rb
Overview
Module for loading stl functions and keywords
Constant Summary
Constants included
from SchemeStl
SchemeStl::DO_NOT_CALCULATE_FUNCTIONS, SchemeStl::PREDEFINED_FUNCTIONS, SchemeStl::RESERVED_KEYWORDS, SchemeStl::SPECIAL_CHARACTER_FUNCTIONS
Instance Method Summary
collapse
Instance Method Details
#init_do_not_calculate_fn ⇒ Object
23
24
25
|
# File 'lib/lisp/interpreter/core/loader.rb', line 23
def init_do_not_calculate_fn
DO_NOT_CALCULATE_FUNCTIONS
end
|
#init_functions ⇒ Object
27
28
29
|
# File 'lib/lisp/interpreter/core/loader.rb', line 27
def init_functions
SPECIAL_CHARACTER_FUNCTIONS
end
|
#init_predefined ⇒ Object
31
32
33
|
# File 'lib/lisp/interpreter/core/loader.rb', line 31
def init_predefined
PREDEFINED_FUNCTIONS
end
|
#init_reserved_fn ⇒ Object
35
36
37
|
# File 'lib/lisp/interpreter/core/loader.rb', line 35
def init_reserved_fn
RESERVED_KEYWORDS
end
|
#initialize ⇒ Object
13
14
15
16
17
18
19
20
21
|
# File 'lib/lisp/interpreter/core/loader.rb', line 13
def initialize
@other = []
@procs = {}
@do_not_calculate = init_do_not_calculate_fn
@reserved = init_reserved_fn
set_reserved_keywords
@functions = init_functions.dup
init_predefined.each { |f| @functions[f] = f }
end
|
#set_reserved_keywords ⇒ Object
39
40
41
42
43
|
# File 'lib/lisp/interpreter/core/loader.rb', line 39
def set_reserved_keywords
@reserved.each do |key, value|
@procs[key.to_s] = value
end
end
|