Class: Skeem::SkmElement
- Inherits:
-
Struct
- Object
- Struct
- Skeem::SkmElement
show all
- Defined in:
- lib/skeem/skm_element.rb
Overview
Abstract class. Generalization of any S-expr element.
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(aPosition) ⇒ SkmElement
Returns a new instance of SkmElement.
6
7
8
|
# File 'lib/skeem/skm_element.rb', line 6
def initialize(aPosition)
self.position = aPosition
end
|
Instance Attribute Details
#position ⇒ Object
Returns the value of attribute position
5
6
7
|
# File 'lib/skeem/skm_element.rb', line 5
def position
@position
end
|
Instance Method Details
#accept(_visitor) ⇒ Object
Abstract method.
Part of the 'visitee' role in Visitor design pattern.
100
101
102
|
# File 'lib/skeem/skm_element.rb', line 100
def accept(_visitor)
raise NotImplementedError
end
|
#boolean? ⇒ Boolean
34
35
36
|
# File 'lib/skeem/skm_element.rb', line 34
def boolean?
false
end
|
#bound!(_frame) ⇒ Object
Notification that this procedure is bound to a variable
118
119
120
|
# File 'lib/skeem/skm_element.rb', line 118
def bound!(_frame)
end
|
#callable? ⇒ Boolean
10
11
12
|
# File 'lib/skeem/skm_element.rb', line 10
def callable?
false
end
|
#char? ⇒ Boolean
38
39
40
|
# File 'lib/skeem/skm_element.rb', line 38
def char?
false
end
|
#complex? ⇒ Boolean
18
19
20
|
# File 'lib/skeem/skm_element.rb', line 18
def complex?
false
end
|
#done! ⇒ Object
104
105
106
|
# File 'lib/skeem/skm_element.rb', line 104
def done!
end
|
#eqv?(other) ⇒ Boolean
70
71
72
|
# File 'lib/skeem/skm_element.rb', line 70
def eqv?(other)
equal?(other)
end
|
#evaluate(_runtime) ⇒ Object
89
90
91
|
# File 'lib/skeem/skm_element.rb', line 89
def evaluate(_runtime)
raise NotImplementedError, "Missing implementation of #{self.class.name}"
end
|
#inspect ⇒ Object
122
123
124
125
126
127
128
|
# File 'lib/skeem/skm_element.rb', line 122
def inspect
result = inspect_prefix.dup
result << inspect_specific
result << inspect_suffix
result
end
|
#integer? ⇒ Boolean
30
31
32
|
# File 'lib/skeem/skm_element.rb', line 30
def integer?
false
end
|
#list? ⇒ Boolean
50
51
52
|
# File 'lib/skeem/skm_element.rb', line 50
def list?
false
end
|
#null? ⇒ Boolean
54
55
56
|
# File 'lib/skeem/skm_element.rb', line 54
def null?
false
end
|
#number? ⇒ Boolean
14
15
16
|
# File 'lib/skeem/skm_element.rb', line 14
def number?
false
end
|
#pair? ⇒ Boolean
58
59
60
|
# File 'lib/skeem/skm_element.rb', line 58
def pair?
false
end
|
#procedure? ⇒ Boolean
62
63
64
|
# File 'lib/skeem/skm_element.rb', line 62
def procedure?
false
end
|
#quasiquote(_runtime) ⇒ Object
93
94
95
|
# File 'lib/skeem/skm_element.rb', line 93
def quasiquote(_runtime)
raise NotImplementedError, "Missing implementation of #{self.class.name}"
end
|
#quoted! ⇒ Object
108
109
110
|
# File 'lib/skeem/skm_element.rb', line 108
def quoted!
end
|
#rational? ⇒ Boolean
26
27
28
|
# File 'lib/skeem/skm_element.rb', line 26
def rational?
false
end
|
#real? ⇒ Boolean
22
23
24
|
# File 'lib/skeem/skm_element.rb', line 22
def real?
false
end
|
#skm_eq?(other) ⇒ Boolean
79
80
81
82
|
# File 'lib/skeem/skm_element.rb', line 79
def skm_eq?(other)
eqv?(other)
end
|
#skm_equal?(_other) ⇒ Boolean
74
75
76
77
|
# File 'lib/skeem/skm_element.rb', line 74
def skm_equal?(_other)
msg = "Missing implementation of method #{self.class.name}##{__method__}"
raise NotImplementedError, msg
end
|
#string? ⇒ Boolean
42
43
44
|
# File 'lib/skeem/skm_element.rb', line 42
def string?
false
end
|
#symbol? ⇒ Boolean
46
47
48
|
# File 'lib/skeem/skm_element.rb', line 46
def symbol?
false
end
|
#unquoted! ⇒ Object
112
113
114
|
# File 'lib/skeem/skm_element.rb', line 112
def unquoted!
end
|
#vector? ⇒ Boolean
66
67
68
|
# File 'lib/skeem/skm_element.rb', line 66
def vector?
false
end
|
#verbatim? ⇒ TrueClass, FalseClass
Returns true if quoted element is identical to itself.
85
86
87
|
# File 'lib/skeem/skm_element.rb', line 85
def verbatim?
false
end
|