Class: Skeem::SkmIdentifier

Inherits:
SkmSimpleDatum show all
Defined in:
lib/skeem/skm_simple_datum.rb

Overview

class

Direct Known Subclasses

SkmReserved

Instance Attribute Summary collapse

Attributes inherited from SkmSimpleDatum

#token, #value

Attributes inherited from SkmElement

#position

Instance Method Summary collapse

Methods inherited from SkmSimpleDatum

#==, #accept, create, #done!, #evaluate, #position, #quasiquote, #symbol

Methods inherited from SkmElement

#accept, #boolean?, #bound!, #callable?, #char?, #complex?, #done!, #eqv?, #evaluate, #inspect, #integer?, #list?, #null?, #number?, #pair?, #procedure?, #quasiquote, #rational?, #real?, #skm_eq?, #skm_equal?, #string?, #vector?

Constructor Details

#initialize(aToken, aRank, isVarName = false) ⇒ SkmIdentifier

Returns a new instance of SkmIdentifier.



190
191
192
193
# File 'lib/skeem/skm_simple_datum.rb', line 190

def initialize(aToken, aRank, isVarName = false)
  super(aToken, aRank)
  @is_var_name = isVarName
end

Instance Attribute Details

#is_var_nameTrueClass, FalseClass

Tells whether the identifier is used as a variable name.

Returns:

  • (TrueClass, FalseClass)


188
189
190
# File 'lib/skeem/skm_simple_datum.rb', line 188

def is_var_name
  @is_var_name
end

Instance Method Details

#init_value(aValue) ⇒ Object

Override



196
197
198
# File 'lib/skeem/skm_simple_datum.rb', line 196

def init_value(aValue)
  super(aValue.dup)
end

#quoted!Object



208
209
210
# File 'lib/skeem/skm_simple_datum.rb', line 208

def quoted!
  self.is_var_name = false
end

#symbol?Boolean

Returns:

  • (Boolean)


200
201
202
# File 'lib/skeem/skm_simple_datum.rb', line 200

def symbol?
  true
end

#unquoted!Object



212
213
214
# File 'lib/skeem/skm_simple_datum.rb', line 212

def unquoted!
  self.is_var_name = true
end

#verbatim?Boolean

Returns:

  • (Boolean)


204
205
206
# File 'lib/skeem/skm_simple_datum.rb', line 204

def verbatim?
  !is_var_name
end