lisp-interpreter 0.3.3 → 0.3.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b6584d9c2b08667819afb7881eb05cb0bf48ef8e
|
4
|
+
data.tar.gz: 925a17053ce726096af39feca3c3323ba1c2c522
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f77bb6673b06e2ade1e66b9b6ecb505cc22bb61e9412082fdd73f1edc17f0286753c3cbf199807fd6d8b62d34960e494c488a5e95885036e1c076f8a6f81787c
|
7
|
+
data.tar.gz: 6569b82688035c53ed943e8955b2cde78aadedb648d2f7d62a45eae9d2138db314af86f5429ea06291beabb0a845f5c31b4b4bf4d9d318bf38ce14299e9cf920
|
@@ -28,12 +28,6 @@ module SchemeChecker
|
|
28
28
|
false
|
29
29
|
end
|
30
30
|
|
31
|
-
def check_instance_var(var)
|
32
|
-
return false if var.is_a? Proc
|
33
|
-
return false unless valid_var_name var
|
34
|
-
instance_variable_defined?("@#{var}")
|
35
|
-
end
|
36
|
-
|
37
31
|
def check_for_symbol(var)
|
38
32
|
var = var.join('') if var.is_a? Array
|
39
33
|
return true if var == '#\space'
|
@@ -42,4 +36,10 @@ module SchemeChecker
|
|
42
36
|
return true if is_instance_var && (check_for_character get_var var)
|
43
37
|
false
|
44
38
|
end
|
39
|
+
|
40
|
+
def check_instance_var(var)
|
41
|
+
return false if var.is_a? Proc
|
42
|
+
return false unless valid_var_name var
|
43
|
+
@procs.key? var.to_s
|
44
|
+
end
|
45
45
|
end
|
@@ -163,7 +163,7 @@ module FunctionalSchemeHelper
|
|
163
163
|
def define_var(var, values)
|
164
164
|
raise arg_err_build 1, values.size if values.size != 1
|
165
165
|
raise 'Invalid variable name' unless valid_var_name var
|
166
|
-
|
166
|
+
set_var var, values[0]
|
167
167
|
end
|
168
168
|
|
169
169
|
def set_values_define(other, params, args)
|
@@ -61,30 +61,20 @@ module TokenizerHelper
|
|
61
61
|
|
62
62
|
def set_reserved_keywords
|
63
63
|
@reserved.each do |key, value|
|
64
|
-
|
64
|
+
@procs[key.to_s] = value
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
68
|
-
def
|
68
|
+
def set_var(var, value)
|
69
|
+
raise 'Cannot predefine reserved keyword' if @reserved.key? var.to_s
|
69
70
|
valid = (valid_var value.to_s) || (value.is_a? Proc)
|
70
71
|
raise 'Invalid parameter' unless valid
|
71
|
-
|
72
|
-
remove_instance_variable("@#{var}") if check_instance_var var
|
73
|
-
@procs[var] = value if value.is_a? Proc
|
74
|
-
else
|
75
|
-
@procs.delete var
|
76
|
-
set_var var, value
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
def set_var(var, value)
|
81
|
-
raise 'Cannot predefine reserved keyword' if @reserved.key? var
|
82
|
-
instance_variable_set("@#{var}", value)
|
72
|
+
@procs[var] = value
|
83
73
|
end
|
84
74
|
|
85
75
|
def get_var(var)
|
86
76
|
check = check_instance_var var
|
87
|
-
return
|
77
|
+
return @procs[var.to_s] if check
|
88
78
|
val = (predefined_method_caller [var])
|
89
79
|
return val unless val.nil?
|
90
80
|
valid = valid_var var
|
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.3.
|
4
|
+
version: 0.3.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-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|