class

Arborist::MutexAlt

Inherits Reference / Object

Mutually exclusive terminal alternation A terminal expression, like Terminal, that captures a set of mutually exclusive equal-length strings. If this is ever extended to strings of different length, then none of the strings in the set may be a substring of another string in the set. The range operator can be implemented in terms of this expression. e.g. "a" | "b" | "c" e.g. "abc" | "def" | "xyz"

Constructors

new(strings : Set(String))
Source

Instance methods

eval(matcher) : ParseTree | Nil

returns String | Nil

Source
label(label : String) : MutexAlt
Source
label
Source
label=(label : String | Nil)
Source
preorder_traverse(matcher, visit : Expr -> _, visited_nodes : Set(Expr))
Source
strings
Source
to_s

Returns a nicely readable and concise string representation of this object, typically intended for users.

This method should usually not be overridden. It delegates to #to_s(IO) which can be overridden for custom implementations.

Also see #inspect.

Source