Class: Language::Atom
- Inherits:
-
Object
show all
- Defined in:
- lib/language/atom.rb,
lib/language/atom/any.rb,
lib/language/atom/repeat.rb
Defined Under Namespace
Classes: Absent, Aka, And, Any, Ignore, Maybe, Or, Repeat, Str, Then
Instance Method Summary
collapse
Instance Method Details
#<<(other) ⇒ Object
305
306
307
|
# File 'lib/language/atom.rb', line 305
def <<(other)
And.new(left: self, right: other)
end
|
#>>(other) ⇒ Object
301
302
303
|
# File 'lib/language/atom.rb', line 301
def >>(other)
And.new(left: self, right: other)
end
|
#absent ⇒ Object
277
278
279
|
# File 'lib/language/atom.rb', line 277
def absent
Absent.new(parent: self)
end
|
#aka(name) ⇒ Object
293
294
295
|
# File 'lib/language/atom.rb', line 293
def aka(name)
Aka.new(parent: self, name:)
end
|
#any ⇒ Object
269
270
271
|
# File 'lib/language/atom.rb', line 269
def any
Any.new
end
|
#ignore ⇒ Object
281
282
283
|
# File 'lib/language/atom.rb', line 281
def ignore
Ignore.new(parent: self)
end
|
#inspect ⇒ Object
321
322
323
|
# File 'lib/language/atom.rb', line 321
def inspect
to_s
end
|
#maybe ⇒ Object
285
286
287
|
# File 'lib/language/atom.rb', line 285
def maybe
Maybe.new(parent: self)
end
|
#parse(_parser) ⇒ Object
313
314
315
|
# File 'lib/language/atom.rb', line 313
def parse(_parser)
raise NotImplementedError, "#{self.class}#parse"
end
|
#repeat(minimum = 0, maximum = nil) ⇒ Object
289
290
291
|
# File 'lib/language/atom.rb', line 289
def repeat(minimum = 0, maximum = nil)
Repeat.new(parent: self, minimum:, maximum:)
end
|
#str(string) ⇒ Object
273
274
275
|
# File 'lib/language/atom.rb', line 273
def str(string)
Str.new(string:)
end
|
#then(&block) ⇒ Object
309
310
311
|
# File 'lib/language/atom.rb', line 309
def then(&block)
Then.new(parent: self, block:)
end
|
#to_s ⇒ Object
317
318
319
|
# File 'lib/language/atom.rb', line 317
def to_s
""
end
|
#|(other) ⇒ Object
297
298
299
|
# File 'lib/language/atom.rb', line 297
def |(other)
Or.new(left: self, right: other)
end
|