class

Panini::Language

Inherits Reference < Object

Constants

EPSILON = Lang.from(Alphabet::EPSILON)
PHI = Lang.new

Constructors

new(operation : Regularity, *constituents : Language, ignore_epsilon = false)
Source
new(*, membership = NO_MEMBERSHIP, criterion : String -> Bool = REJECT_ALL, alphabet : Panini::Alphabet = Alphabet::NIL, min_size : Int32 = 0, max_size : Int32 = INFINITY, name : String = Helper.random_name)
Source
new(*, alphabets : Tuple, **named_args)
Source

Class methods

from(criterion : String -> Bool)
Source
from(*strings : String)
Source
from(*symbols : Char)
Source

Instance methods

**(n, ignore_epsilon = false)
Source
+(other : self, ignore_epsilon = false)

concatenation

Source
|(other : self)

union

Source
~

closure

Source
alphabet
Source
criterion

TODO replace with REJECT_ALL?

Source
includes?(string : String)

only membership is inclusion type, rest all are in reality exclusion types if membership test passes, language contains the string if other tests fail, language does not contain the string if all other tests pass, only then language contains the string

Source
includes_epsilon?
Source
max_size
Source
membership
Source
min_size
Source
name
Source
nfa_datum
Source
regular?
Source
to_dfa
Source
to_nfa
Source
words(size)
Source

Nested types