lisp-interpreter 0.5.3 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/log +372 -0
- data/bin/zakichan.bat +1 -1
- data/lib/lisp/interpreter/core/boolean.rb +5 -4
- data/lib/lisp/interpreter/core/list.rb +0 -14
- data/lib/lisp/interpreter/core/object.rb +5 -1
- data/lib/lisp/interpreter/core/strings.rb +4 -9
- data/lib/lisp/interpreter/helpers/validator.rb +4 -0
- data/lib/lisp/interpreter/helpers/value_finder.rb +9 -12
- data/lib/lisp/interpreter/parser.rb +2 -2
- data/lib/lisp/interpreter/tokenizer.rb +1 -5
- data/lib/lisp/interpreter/version.rb +1 -1
- metadata +4 -4
- data/bin/start.rb +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7b69555e6b942229a9982e2038a24cbc2236fdf
|
4
|
+
data.tar.gz: 3740d722f9c977d2c4867f8a9fa5d9c8b44bb20c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b93723e5efccf4d2725350e62b23632ce5aba3676004776f411a6940608b2b12663242825ed7d810b36b40b5b944e423bd4cf34a215b3b61273649173caf0ae
|
7
|
+
data.tar.gz: 9044d44cf5308d5fdf62530fa9a0dbd767dc2eb598a5c57d4bfd655f64b5a8102db58ba72e5b95ce092567ad68dea4db948ba1cfed6ae0eb1c498b5b5cf58205
|
data/bin/log
ADDED
@@ -0,0 +1,372 @@
|
|
1
|
+
D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/object.rb:26:in `list?': undefined local variable or method `size' for Infinity:Float (NameError)
|
2
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/object.rb:47:in `block in type'
|
3
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/object.rb:47:in `each'
|
4
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/object.rb:47:in `type'
|
5
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/numbers.rb:50:in `block in convert_to_num'
|
6
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/numbers.rb:49:in `each'
|
7
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/numbers.rb:49:in `convert_to_num'
|
8
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/numbers.rb:100:in `*'
|
9
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:70:in `call_predefined_method'
|
10
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
11
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
12
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
13
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
14
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
15
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
16
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
17
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
18
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
19
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
20
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
21
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
22
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
23
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
24
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
25
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
26
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
27
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
28
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
29
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
30
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
31
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
32
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
33
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
34
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
35
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
36
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
37
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
38
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
39
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
40
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
41
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
42
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
43
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
44
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
45
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
46
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
47
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
48
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
49
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
50
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
51
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
52
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
53
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
54
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
55
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
56
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
57
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
58
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
59
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
60
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
61
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
62
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
63
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
64
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
65
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
66
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
67
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
68
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
69
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
70
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
71
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
72
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
73
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
74
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
75
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
76
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
77
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
78
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
79
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
80
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
81
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
82
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
83
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
84
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
85
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
86
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
87
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
88
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
89
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
90
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
91
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
92
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
93
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
94
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
95
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
96
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
97
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
98
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
99
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
100
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
101
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
102
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
103
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
104
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
105
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
106
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
107
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
108
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
109
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
110
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
111
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
112
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
113
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
114
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
115
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
116
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
117
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
118
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
119
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
120
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
121
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
122
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
123
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
124
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
125
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
126
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
127
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
128
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
129
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
130
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
131
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
132
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
133
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
134
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
135
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
136
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
137
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
138
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
139
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
140
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
141
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
142
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
143
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
144
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
145
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
146
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
147
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
148
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
149
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
150
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
151
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
152
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
153
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
154
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
155
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
156
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
157
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
158
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
159
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
160
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
161
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
162
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
163
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
164
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
165
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
166
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
167
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
168
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
169
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
170
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
171
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
172
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
173
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
174
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
175
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
176
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
177
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
178
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
179
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
180
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
181
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
182
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
183
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
184
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
185
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
186
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
187
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
188
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
189
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
190
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
191
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
192
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
193
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
194
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
195
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
196
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
197
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
198
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
199
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
200
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
201
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
202
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
203
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
204
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
205
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
206
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
207
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
208
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
209
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
210
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
211
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
212
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
213
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
214
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
215
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
216
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
217
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
218
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
219
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
220
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
221
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
222
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
223
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
224
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
225
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
226
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
227
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
228
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
229
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
230
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
231
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
232
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
233
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
234
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
235
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
236
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
237
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
238
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
239
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
240
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
241
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
242
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
243
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
244
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
245
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
246
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
247
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
248
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
249
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
250
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
251
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
252
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
253
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
254
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
255
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
256
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
257
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
258
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
259
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
260
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
261
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
262
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
263
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
264
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
265
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
266
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
267
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
268
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
269
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
270
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
271
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
272
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
273
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
274
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
275
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
276
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
277
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
278
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
279
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
280
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
281
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
282
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
283
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
284
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
285
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
286
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
287
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
288
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
289
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
290
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
291
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
292
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
293
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
294
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
295
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
296
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
297
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
298
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
299
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
300
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
301
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
302
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
303
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
304
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
305
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
306
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
307
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
308
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
309
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
310
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
311
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
312
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
313
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
314
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
315
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
316
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
317
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
318
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
319
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
320
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
321
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
322
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
323
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
324
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
325
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
326
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
327
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
328
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
329
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
330
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
331
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
332
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
333
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
334
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
335
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
336
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
337
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
338
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
339
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
340
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
341
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
342
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
343
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
344
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
345
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
346
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
347
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
348
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
349
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
350
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
351
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:68:in `call_predefined_method'
|
352
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
353
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
354
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
355
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/boolean.rb:42:in `if'
|
356
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:66:in `call_predefined_method'
|
357
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
358
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:45:in `find_value_helper'
|
359
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:57:in `find_next_value'
|
360
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/helpers/value_finder.rb:6:in `find_all_values'
|
361
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:189:in `define_func_helper'
|
362
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:146:in `proc_lambda_helper'
|
363
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/core/functional.rb:157:in `block in proc_lambda'
|
364
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:59:in `special_check_proc'
|
365
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:64:in `call_predefined_method'
|
366
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:44:in `calc_input_val'
|
367
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/tokenizer.rb:27:in `tokenize'
|
368
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/parser.rb:85:in `parse'
|
369
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/parser.rb:29:in `block in run'
|
370
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/parser.rb:21:in `loop'
|
371
|
+
from D:/Github/Ruby-Project/lisp-interpreter/lib/lisp/interpreter/parser.rb:21:in `run'
|
372
|
+
from ../lib/lisp/interpreter/run.rb :4:in `<main>'
|
data/bin/zakichan.bat
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
@echo off
|
2
|
-
start cmd /C "title lisp-interpreter & ruby
|
2
|
+
start cmd /C "title lisp-interpreter & ruby ../lib/lisp/interpreter/run.rb' 2> log & echo Error occured. & timeout 2 > NUL & echo Logging into file 'log'. & timeout 2 > NUL & pause"
|
@@ -3,10 +3,10 @@ module SchemeBooleansHelper
|
|
3
3
|
def if_idx_helper(other)
|
4
4
|
if other[0] == '('
|
5
5
|
idx = find_bracket_idx other, 0
|
6
|
-
|
6
|
+
other[idx + 1..-1]
|
7
7
|
else
|
8
8
|
_, other = find_next_value other
|
9
|
-
|
9
|
+
other
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
@@ -14,7 +14,7 @@ module SchemeBooleansHelper
|
|
14
14
|
if expr == '#f'
|
15
15
|
if_idx_helper other
|
16
16
|
else
|
17
|
-
|
17
|
+
other
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -38,6 +38,7 @@ module SchemeBooleans
|
|
38
38
|
raise arg_err_build 3, 0 if other.empty?
|
39
39
|
expr, other = find_next_value other
|
40
40
|
raise arg_err_build 3, other.size + 1 if other.size < 2
|
41
|
-
if_helper expr, other
|
41
|
+
res = if_helper expr, other
|
42
|
+
(find_next_value res)[0]
|
42
43
|
end
|
43
44
|
end
|
@@ -1,9 +1,5 @@
|
|
1
1
|
# Helper functions for SchemeLists
|
2
2
|
module SchemeListsHelper
|
3
|
-
def evaluate_list(tokens, no_quotes)
|
4
|
-
find_all_values_list_evaluate tokens, no_quotes
|
5
|
-
end
|
6
|
-
|
7
3
|
def no_eval_list(tokens, no_quotes = false)
|
8
4
|
result = []
|
9
5
|
until tokens.empty?
|
@@ -22,16 +18,6 @@ module SchemeListsHelper
|
|
22
18
|
end
|
23
19
|
end
|
24
20
|
|
25
|
-
def find_all_values_list_evaluate(tokens, no_quotes = false)
|
26
|
-
result = []
|
27
|
-
until tokens.empty?
|
28
|
-
x, tokens = find_next_value tokens
|
29
|
-
x = x[1..-2] if no_quotes && (check_for_string x.to_s)
|
30
|
-
result << x
|
31
|
-
end
|
32
|
-
result
|
33
|
-
end
|
34
|
-
|
35
21
|
def build_list(values)
|
36
22
|
'\'(' + values.join(' ') + ')'
|
37
23
|
end
|
@@ -4,7 +4,7 @@ require 'bigdecimal'
|
|
4
4
|
# Object class
|
5
5
|
class Object
|
6
6
|
def number?
|
7
|
-
match(
|
7
|
+
match(/^[\+\-]?\d*\.?\d+(?:[Ee][\+\-]?\d+)?$/)
|
8
8
|
end
|
9
9
|
|
10
10
|
def to_num
|
@@ -47,6 +47,10 @@ class Object
|
|
47
47
|
fns.each { |t| return '<' + t + '>' if send t + '?' }
|
48
48
|
end
|
49
49
|
|
50
|
+
def to_char
|
51
|
+
'#\\' + (self == ' ' ? 'space' : self)
|
52
|
+
end
|
53
|
+
|
50
54
|
private
|
51
55
|
|
52
56
|
def object_split
|
@@ -27,10 +27,6 @@ module SchemeStringsHelper
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
-
def build_character(char)
|
31
|
-
'#\\' + (char == ' ' ? 'space' : char)
|
32
|
-
end
|
33
|
-
|
34
30
|
def remove_carriage(str)
|
35
31
|
str = str[1..-2]
|
36
32
|
str.gsub('\n', '').gsub('\r', '').gsub('\t', '').strip.squeeze(' ')
|
@@ -38,7 +34,7 @@ module SchemeStringsHelper
|
|
38
34
|
|
39
35
|
def arg_function_validator(other, vars = 1)
|
40
36
|
raise arg_err_build other.size, vars if other.size != vars
|
41
|
-
res = other[0..vars - 1].reject
|
37
|
+
res = other[0..vars - 1].reject(&:string?)
|
42
38
|
raise type_err '<string>', res[0].type unless res.empty?
|
43
39
|
res
|
44
40
|
end
|
@@ -55,7 +51,7 @@ module SchemeStringsHelper
|
|
55
51
|
end
|
56
52
|
|
57
53
|
def substring_validator(from, to)
|
58
|
-
valid =
|
54
|
+
valid = from.number? && (to.nil? || to.number?)
|
59
55
|
type = [from, to].first { |t| t.type if t.type != 'number' }
|
60
56
|
raise type_err '<number>', type unless valid
|
61
57
|
end
|
@@ -74,8 +70,7 @@ module SchemeStrings
|
|
74
70
|
|
75
71
|
def string?(other)
|
76
72
|
raise arg_err_build 1, other.size if other.size != 1
|
77
|
-
|
78
|
-
result ? '#t' : '#f'
|
73
|
+
other[0].string? ? '#t' : '#f'
|
79
74
|
end
|
80
75
|
|
81
76
|
def strlen(other)
|
@@ -108,7 +103,7 @@ module SchemeStrings
|
|
108
103
|
|
109
104
|
def strlist(other)
|
110
105
|
arg_function_validator other
|
111
|
-
result = other[0][1..-2].chars.map
|
106
|
+
result = other[0][1..-2].chars.map(&:to_char)
|
112
107
|
build_list result
|
113
108
|
end
|
114
109
|
|
@@ -56,4 +56,8 @@ module Validator
|
|
56
56
|
idx = find_bracket_idx fn, 1 if fn[idx] == '\''
|
57
57
|
raise no_procedure_build fn[0..idx].join if f.nil? && (!f.is_a? Proc)
|
58
58
|
end
|
59
|
+
|
60
|
+
def validate_call_method(m_name)
|
61
|
+
raise no_procedure_build m_name.to_s if valid_var m_name.to_s
|
62
|
+
end
|
59
63
|
end
|
@@ -18,13 +18,6 @@ module ValueFinder
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
def find_next_function_value(other)
|
22
|
-
idx = (find_bracket_idx other, 0)
|
23
|
-
value = calc_input_val other[0..idx]
|
24
|
-
other = other[idx + 1..other.size]
|
25
|
-
[value, other]
|
26
|
-
end
|
27
|
-
|
28
21
|
def size_for_list_elem(values)
|
29
22
|
result = []
|
30
23
|
values.each do |v|
|
@@ -37,19 +30,23 @@ module ValueFinder
|
|
37
30
|
result.size
|
38
31
|
end
|
39
32
|
|
40
|
-
def
|
33
|
+
def find_list_value(other)
|
41
34
|
value = no_eval_list other[2..(find_bracket_idx other, 1) - 1]
|
42
35
|
[(build_list value), other[3 + (size_for_list_elem value)..-1]]
|
43
36
|
end
|
44
37
|
|
38
|
+
def find_next_raw_value(other)
|
39
|
+
[(get_var other[0].to_s), other[1..-1]]
|
40
|
+
end
|
41
|
+
|
45
42
|
def find_value_helper(other)
|
46
43
|
if other[0] == '('
|
47
|
-
|
44
|
+
idx = find_idx_for_list other
|
45
|
+
[(calc_input_val other[0..idx]), other[idx + 1..-1]]
|
48
46
|
elsif other[0..1].join == '\'('
|
49
|
-
|
47
|
+
find_list_value other
|
50
48
|
else
|
51
|
-
|
52
|
-
[value, other[1..-1]]
|
49
|
+
find_next_raw_value other
|
53
50
|
end
|
54
51
|
end
|
55
52
|
|
@@ -51,7 +51,7 @@ class Parser
|
|
51
51
|
msg
|
52
52
|
end
|
53
53
|
|
54
|
-
def
|
54
|
+
def read_file_execute_lines(f, expr)
|
55
55
|
last_value = ''
|
56
56
|
f.each do |line|
|
57
57
|
expr << line
|
@@ -66,7 +66,7 @@ class Parser
|
|
66
66
|
def read_file_executor(file)
|
67
67
|
f = File.open(file)
|
68
68
|
expr = ''
|
69
|
-
|
69
|
+
read_file_execute_lines f, expr
|
70
70
|
end
|
71
71
|
|
72
72
|
def read_file(token)
|
@@ -25,7 +25,7 @@ class Tokenizer
|
|
25
25
|
@other = token
|
26
26
|
begin
|
27
27
|
calc_input_val @other
|
28
|
-
rescue ZeroDivisionError, RuntimeError => e
|
28
|
+
rescue SystemStackError, ZeroDivisionError, RuntimeError => e
|
29
29
|
e.message
|
30
30
|
end
|
31
31
|
end
|
@@ -60,10 +60,6 @@ class Tokenizer
|
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
63
|
-
def validate_call_method(m_name)
|
64
|
-
raise no_procedure_build m_name.to_s if valid_var m_name.to_s
|
65
|
-
end
|
66
|
-
|
67
63
|
def call_predefined_method(m_name, arr)
|
68
64
|
return special_check_proc m_name, arr if m_name.is_a? Proc
|
69
65
|
if DO_NOT_CALCULATE_FUNCTIONS.include? m_name
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lisp-interpreter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zaki Petrov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-08-
|
11
|
+
date: 2017-08-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -67,8 +67,8 @@ files:
|
|
67
67
|
- LICENSE.txt
|
68
68
|
- README.md
|
69
69
|
- Rakefile
|
70
|
+
- bin/log
|
70
71
|
- bin/setup
|
71
|
-
- bin/start.rb
|
72
72
|
- bin/zakichan.bat
|
73
73
|
- lib/lisp/interpreter.rb
|
74
74
|
- lib/lisp/interpreter/core/boolean.rb
|
@@ -113,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
113
113
|
version: '0'
|
114
114
|
requirements: []
|
115
115
|
rubyforge_project:
|
116
|
-
rubygems_version: 2.
|
116
|
+
rubygems_version: 2.6.12
|
117
117
|
signing_key:
|
118
118
|
specification_version: 4
|
119
119
|
summary: Lisp interpreter gem
|
data/bin/start.rb
DELETED