Class: Yadriggy::EvalAll
- Inherits:
-
Eval
- Object
- Eval
- Yadriggy::EvalAll
show all
- Defined in:
- lib/yadriggy/eval_all.rb
Overview
Instance Method Summary
collapse
Methods inherited from Eval
#array_ref_field, #assign, #astree, #being_end, #command, #const, #const_path_field, #dots, #evaluate, #global_variable, #identifier, #identifier_or_call, #instance_variable, #label, #lambda_expr, #reserved, #variable_call
Instance Method Details
#array(expr) ⇒ Object
30
31
32
|
# File 'lib/yadriggy/eval_all.rb', line 30
def array(expr)
expr.elements.each {|e| evaluate(e) }
end
|
#array_ref(expr) ⇒ Object
65
66
67
68
|
# File 'lib/yadriggy/eval_all.rb', line 65
def array_ref(expr)
evaluate(expr.array)
expr.indexes.each {|e| evaluate(e) }
end
|
#begin_end(expr) ⇒ Object
103
104
105
106
|
# File 'lib/yadriggy/eval_all.rb', line 103
def begin_end(expr)
evaluate(expr.body)
evaluate(expr.rescue)
end
|
#binary(expr) ⇒ Object
49
50
51
52
|
# File 'lib/yadriggy/eval_all.rb', line 49
def binary(expr)
evaluate(expr.left)
evaluate(expr.right)
end
|
#block(expr) ⇒ Object
98
99
100
101
|
# File 'lib/yadriggy/eval_all.rb', line 98
def block(expr)
parameters(expr)
evaluate(expr.body)
end
|
#break_out(expr) ⇒ Object
90
91
92
|
# File 'lib/yadriggy/eval_all.rb', line 90
def break_out(expr)
expr.values.each {|e| evaluate(e) }
end
|
#call(expr) ⇒ Object
58
59
60
61
62
63
|
# File 'lib/yadriggy/eval_all.rb', line 58
def call(expr)
evaluate(expr.receiver)
expr.args.each {|e| evaluate(e) }
evaluate(expr.block_arg)
evaluate(expr.block)
end
|
#class_def(expr) ⇒ Object
131
132
133
134
135
136
|
# File 'lib/yadriggy/eval_all.rb', line 131
def class_def(expr)
evaluate(expr.name)
evaluate(expr.superclass)
evaluate(expr.body)
evaluate(expr.rescue)
end
|
#conditional(expr) ⇒ Object
70
71
72
73
74
75
76
77
78
|
# File 'lib/yadriggy/eval_all.rb', line 70
def conditional(expr)
evaluate(expr.cond)
evaluate(expr.then)
expr.all_elsif.each do |e|
evaluate(e[0])
evaluate(e[1])
end
evaluate(expr.else) unless expr.else.nil?
end
|
#const_path_ref(expr) ⇒ Object
40
41
42
43
|
# File 'lib/yadriggy/eval_all.rb', line 40
def const_path_ref(expr)
evaluate(expr.scope)
evaluate(expr.name)
end
|
#define(expr) ⇒ Object
110
111
112
113
114
115
116
|
# File 'lib/yadriggy/eval_all.rb', line 110
def define(expr)
evaluate(expr.singular)
evaluate(expr.name)
parameters(expr)
evaluate(expr.body)
evaluate(expr.rescue)
end
|
#exprs(expr) ⇒ Object
expressions, or progn in Lisp.
22
23
24
|
# File 'lib/yadriggy/eval_all.rb', line 22
def exprs(expr)
expr.expressions.each {|e| evaluate(e) }
end
|
#for_loop(expr) ⇒ Object
85
86
87
88
|
# File 'lib/yadriggy/eval_all.rb', line 85
def for_loop(expr)
evaluate(expr.set)
evaluate(expr.body)
end
|
#hash(expr) ⇒ Object
54
55
56
|
# File 'lib/yadriggy/eval_all.rb', line 54
def hash(expr)
expr.pairs.each {|p| p.each {|e| evaluate(e) }}
end
|
#loop(expr) ⇒ Object
80
81
82
83
|
# File 'lib/yadriggy/eval_all.rb', line 80
def loop(expr)
evaluate(expr.cond)
evaluate(expr.body)
end
|
#module_def(expr) ⇒ Object
125
126
127
128
129
|
# File 'lib/yadriggy/eval_all.rb', line 125
def module_def(expr)
evaluate(expr.name)
evaluate(expr.body)
evaluate(expr.rescue)
end
|
#name(expr) ⇒ Object
12
|
# File 'lib/yadriggy/eval_all.rb', line 12
def name(expr) end
|
#nil_value(expr) ⇒ Object
10
|
# File 'lib/yadriggy/eval_all.rb', line 10
def nil_value(expr) end
|
#number(expr) ⇒ Object
18
|
# File 'lib/yadriggy/eval_all.rb', line 18
def number(expr) end
|
#paren(expr) ⇒ Object
26
27
28
|
# File 'lib/yadriggy/eval_all.rb', line 26
def paren(expr)
evaluate(expr.expression)
end
|
#program(expr) ⇒ Object
144
145
146
|
# File 'lib/yadriggy/eval_all.rb', line 144
def program(expr)
evaluate(expr.elements)
end
|
#rescue_end(expr) ⇒ Object
118
119
120
121
122
123
|
# File 'lib/yadriggy/eval_all.rb', line 118
def rescue_end(expr)
evaluate(expr.body)
evaluate(expr.nested_rescue)
evaluate(expr.else)
evaluate(expr.ensure)
end
|
#return_values(expr) ⇒ Object
94
95
96
|
# File 'lib/yadriggy/eval_all.rb', line 94
def return_values(expr)
expr.values.each {|e| evaluate(e) }
end
|
#singular_class_def(expr) ⇒ Object
138
139
140
141
142
|
# File 'lib/yadriggy/eval_all.rb', line 138
def singular_class_def(expr)
evaluate(expr.name)
evaluate(expr.body)
evaluate(expr.rescue)
end
|
#string_interpolation(expr) ⇒ Object
34
35
36
|
# File 'lib/yadriggy/eval_all.rb', line 34
def string_interpolation(expr)
expr.contents.each {|e| evaluate(e) }
end
|
#string_literal(expr) ⇒ Object
38
|
# File 'lib/yadriggy/eval_all.rb', line 38
def string_literal(expr) end
|
#super_method(expr) ⇒ Object
16
|
# File 'lib/yadriggy/eval_all.rb', line 16
def super_method(expr) end
|
#symbol(expr) ⇒ Object
14
|
# File 'lib/yadriggy/eval_all.rb', line 14
def symbol(expr) end
|
#unary(expr) ⇒ Object
45
46
47
|
# File 'lib/yadriggy/eval_all.rb', line 45
def unary(expr)
evaluate(expr.operand)
end
|