Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Represents the symbol in the regular expression. The can't have any children. More...
#include <FormalRegExpSymbol.h>
Public Member Functions | |
FormalRegExpSymbol (SymbolType symbol) | |
Creates a new instance of the symbol node using the actual symbol to represent. More... | |
FormalRegExpSymbol< SymbolType > * | clone () const &override |
( ) const & More... | |
FormalRegExpSymbol< SymbolType > * | clone () &&override |
( ) const & More... | |
ext::smart_ptr< UnboundedRegExpElement< SymbolType > > | asUnbounded () const override |
( ) const & More... | |
bool | testSymbol (const SymbolType &symbol) const override |
void | computeMinimalAlphabet (ext::set< SymbolType > &alphabet) const override |
bool | checkAlphabet (const ext::set< SymbolType > &alphabet) const override |
const SymbolType & | getSymbol () const & |
SymbolType && | getSymbol () && |
std::strong_ordering | operator<=> (const FormalRegExpElement< SymbolType > &other) const override |
< SymbolType >::operator <=> ( const FormalRegExpElement < SymbolType > & other ) const; More... | |
std::strong_ordering | operator<=> (const FormalRegExpSymbol< SymbolType > &) const |
bool | operator== (const FormalRegExpElement< SymbolType > &other) const override |
< SymbolType >::operator == ( const FormalRegExpElement < SymbolType > & other ) const; More... | |
bool | operator== (const FormalRegExpSymbol< SymbolType > &) const |
void | operator>> (ext::ostream &out) const override |
< FormalRegExpElement < SymbolType > >::operator >> ( ext::ostream & ) More... | |
ext::smart_ptr< FormalRegExpElement< DefaultSymbolType > > | normalize () &&override |
< SymbolType >::normalize ( ) && More... | |
![]() | |
NullaryNode () | |
The default constructor of the class. More... | |
![]() | |
AnyaryNode (ext::ptr_array< Data, arity > c) | |
Constructor based on array of child nodes. More... | |
~AnyaryNode () noexcept override=default | |
Destructor of the class. More... | |
AnyaryNode (const AnyaryNode &other) | |
Copy constructor. More... | |
AnyaryNode (AnyaryNode &&other) noexcept | |
Move constructor. More... | |
AnyaryNode & | operator= (const AnyaryNode &other) |
Copy operator of assignment. More... | |
AnyaryNode & | operator= (AnyaryNode &&other) noexcept |
move operator of assignment. More... | |
const ext::ptr_array< Data, arity > & | getChildren () & |
Getter of the child nodes. More... | |
const ext::ptr_array< Data, arity > & | getChildren () const & |
Getter of the child nodes. More... | |
ext::ptr_array< Data, arity > && | getChildren () && |
Getter of the child nodes. More... | |
template<size_t N> | |
const Data & | getChild () const |
Getter of the child node based on compile time index. More... | |
template<size_t N> | |
Data & | getChild () |
Getter of the child node based on compile time index. More... | |
void | setChildren (ext::ptr_array< Data, arity > c) |
Setter of the child nodes. More... | |
template<size_t N> | |
void | setChild (const Data &d) |
Setter of the child node based on compile time index. More... | |
template<size_t N> | |
void | setChild (Data &&d) |
Setter of the child node based on compile time index. More... | |
ext::ptr_array< Data, arity >::iterator | begin () |
Getter of an iterator to the begining of children array. More... | |
ext::ptr_array< Data, arity >::const_iterator | begin () const |
Getter of an iterator to the begining of children array. More... | |
ext::ptr_array< Data, arity >::iterator | end () |
Getter of an iterator to the end of children array. More... | |
ext::ptr_array< Data, arity >::const_iterator | end () const |
Getter of an iterator to the end of children array. More... | |
Represents the symbol in the regular expression. The can't have any children.
The structure is derived from NullaryNode disallowing adding any child.
The node can be visited by the FormalRegExpElement < SymbolType >::Visitor
SymbolType | used for the terminal alphabet |
|
explicit |
Creates a new instance of the symbol node using the actual symbol to represent.
symbol | the value of the represented symbol |
|
override |
( ) const &
( ) const &
|
override |
Traverses the regexp tree and checks whether all symbols in the regexp tree are in the alphabet
alphabet |
|
override |
( ) const &
( ) const &
|
override |
( ) const &
( ) const &
|
override |
Traverses the regexp tree computing minimal alphabet needed by regexp
alphabet | All alphabet symbols encountered are added into this set |
SymbolType && regexp::FormalRegExpSymbol< SymbolType >::getSymbol | ( | ) | && |
Getter of the symbol.
const SymbolType & regexp::FormalRegExpSymbol< SymbolType >::getSymbol | ( | ) | const & |
Getter of the symbol.
|
inlineoverride |
< SymbolType >::normalize ( ) &&
Abstract class representing element in the formal regular expression. Can be an operator, special node, or a symbol.
SymbolType | used for the terminal alphabet < SymbolType >::normalize ( ) && |
|
inlineoverride |
< SymbolType >::operator <=> ( const FormalRegExpElement < SymbolType > & other ) const;
Abstract class representing element in the formal regular expression. Can be an operator, special node, or a symbol.
SymbolType | used for the terminal alphabet < SymbolType >::operator <=> ( const FormalRegExpElement < SymbolType > & other ) const; |
std::strong_ordering regexp::FormalRegExpSymbol< SymbolType >::operator<=> | ( | const FormalRegExpSymbol< SymbolType > & | other | ) | const |
The three way comparison implementation
other | the other instance |
other
.
|
inlineoverride |
< SymbolType >::operator == ( const FormalRegExpElement < SymbolType > & other ) const;
Abstract class representing element in the formal regular expression. Can be an operator, special node, or a symbol.
SymbolType | used for the terminal alphabet < SymbolType >::operator == ( const FormalRegExpElement < SymbolType > & other ) const; |
bool regexp::FormalRegExpSymbol< SymbolType >::operator== | ( | const FormalRegExpSymbol< SymbolType > & | other | ) | const |
The equality comparison implementation.
other | the other object to compare with. |
|
override |
< FormalRegExpElement < SymbolType > >::operator >> ( ext::ostream & )
< FormalRegExpElement < SymbolType > >::operator >> ( ext::ostream & )
|
override |