Class: Language::Atom
- Inherits:
-
Object
show all
- Defined in:
- lib/language/atom.rb
Direct Known Subclasses
Absent, Aka, And, Any, Ignore, Maybe, Or, Repeat, Rule, Str, Then
Defined Under Namespace
Classes: Absent, Aka, And, Any, Ignore, Maybe, Or, Repeat, Rule, Str, Then
Instance Method Summary
collapse
Instance Method Details
#<<(other) ⇒ Object
319
320
321
|
# File 'lib/language/atom.rb', line 319
def <<(other)
And.new(left: self, right: other)
end
|
#>>(other) ⇒ Object
315
316
317
|
# File 'lib/language/atom.rb', line 315
def >>(other)
And.new(left: self, right: other)
end
|
#absent ⇒ Object
291
292
293
|
# File 'lib/language/atom.rb', line 291
def absent
Absent.new(parent: self)
end
|
#aka(name) ⇒ Object
307
308
309
|
# File 'lib/language/atom.rb', line 307
def aka(name)
Aka.new(parent: self, name: name)
end
|
#any ⇒ Object
283
284
285
|
# File 'lib/language/atom.rb', line 283
def any
Any.new
end
|
#ignore ⇒ Object
295
296
297
|
# File 'lib/language/atom.rb', line 295
def ignore
Ignore.new(parent: self)
end
|
#inspect ⇒ Object
339
340
341
|
# File 'lib/language/atom.rb', line 339
def inspect
to_s
end
|
#maybe ⇒ Object
299
300
301
|
# File 'lib/language/atom.rb', line 299
def maybe
Maybe.new(parent: self)
end
|
#parse(parser) ⇒ Object
331
332
333
|
# File 'lib/language/atom.rb', line 331
def parse(parser)
raise NotImplementedError.new("#{self.class}#parse")
end
|
#repeat(min = 0, max = nil) ⇒ Object
303
304
305
|
# File 'lib/language/atom.rb', line 303
def repeat(min = 0, max = nil)
Repeat.new(parent: self, min: min, max: max)
end
|
#rule(name) ⇒ Object
327
328
329
|
# File 'lib/language/atom.rb', line 327
def rule(name)
Rule.new(name: name)
end
|
#str(string) ⇒ Object
287
288
289
|
# File 'lib/language/atom.rb', line 287
def str(string)
Str.new(string: string)
end
|
#then(&block) ⇒ Object
323
324
325
|
# File 'lib/language/atom.rb', line 323
def then(&block)
Then.new(parent: self, block: block)
end
|
#to_s ⇒ Object
335
336
337
|
# File 'lib/language/atom.rb', line 335
def to_s
""
end
|
#|(other) ⇒ Object
311
312
313
|
# File 'lib/language/atom.rb', line 311
def |(other)
Or.new(left: self, right: other)
end
|