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
318
319
320
|
# File 'lib/language/atom.rb', line 318
def <<(other)
And.new(left: self, right: other)
end
|
#>>(other) ⇒ Object
314
315
316
|
# File 'lib/language/atom.rb', line 314
def >>(other)
And.new(left: self, right: other)
end
|
#absent ⇒ Object
290
291
292
|
# File 'lib/language/atom.rb', line 290
def absent
Absent.new(parent: self)
end
|
#aka(name) ⇒ Object
306
307
308
|
# File 'lib/language/atom.rb', line 306
def aka(name)
Aka.new(parent: self, name: name)
end
|
#any ⇒ Object
282
283
284
|
# File 'lib/language/atom.rb', line 282
def any
Any.new
end
|
#ignore ⇒ Object
294
295
296
|
# File 'lib/language/atom.rb', line 294
def ignore
Ignore.new(parent: self)
end
|
#inspect ⇒ Object
338
339
340
|
# File 'lib/language/atom.rb', line 338
def inspect
to_s
end
|
#maybe ⇒ Object
298
299
300
|
# File 'lib/language/atom.rb', line 298
def maybe
Maybe.new(parent: self)
end
|
#parse(parser) ⇒ Object
330
331
332
|
# File 'lib/language/atom.rb', line 330
def parse(parser)
raise NotImplementedError.new("#{self.class}#parse")
end
|
#repeat(min = 0, max = nil) ⇒ Object
302
303
304
|
# File 'lib/language/atom.rb', line 302
def repeat(min = 0, max = nil)
Repeat.new(parent: self, min: min, max: max)
end
|
#rule(name) ⇒ Object
326
327
328
|
# File 'lib/language/atom.rb', line 326
def rule(name)
Rule.new(name: name)
end
|
#str(string) ⇒ Object
286
287
288
|
# File 'lib/language/atom.rb', line 286
def str(string)
Str.new(string: string)
end
|
#then(&block) ⇒ Object
322
323
324
|
# File 'lib/language/atom.rb', line 322
def then(&block)
Then.new(parent: self, block: block)
end
|
#to_s ⇒ Object
334
335
336
|
# File 'lib/language/atom.rb', line 334
def to_s
""
end
|
#|(other) ⇒ Object
310
311
312
|
# File 'lib/language/atom.rb', line 310
def |(other)
Or.new(left: self, right: other)
end
|