Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Represents formal regular expression structure. Regular expression is stored as a tree of FormalRegExpElements. More...
#include <FormalRegExpStructure.h>
Public Member Functions | |
FormalRegExpStructure () | |
Creates a new instance of the expression structure. Defaultly created structure is empty expression. More... | |
FormalRegExpStructure (FormalRegExpElement< SymbolType > &&structure) | |
Creates a new instance of the expression structure. The new instance contains structure as provided by the parameter. More... | |
FormalRegExpStructure (const FormalRegExpElement< SymbolType > &structure) | |
Creates a new instance of the expression structure. The new instance contains structure as provided by the parameter. More... | |
FormalRegExpStructure (const UnboundedRegExpStructure< SymbolType > &other) | |
Creates a new instance based on unbounded representation. The new instance contains structure converted to formal representation. More... | |
const FormalRegExpElement< SymbolType > & | getStructure () const |
FormalRegExpElement< SymbolType > & | getStructure () |
void | setStructure (FormalRegExpElement< SymbolType > &¶m) |
void | setStructure (const FormalRegExpElement< SymbolType > &structure) |
FormalRegExpStructure< DefaultSymbolType > | normalize () && |
Performs the type normalization of the regexp structure. More... | |
Friends | |
ext::ostream & | operator<< (ext::ostream &out, const FormalRegExpStructure< SymbolType > &structure) |
Strucuture printer to the stream. More... | |
bool | operator<=> (const FormalRegExpStructure< SymbolType > &first, const FormalRegExpStructure< SymbolType > &second) |
Three way comparison operator implementation for the expression structure. More... | |
bool | operator== (const FormalRegExpStructure< SymbolType > &first, const FormalRegExpStructure< SymbolType > &second) |
Equality operator implementation for the expression structure. More... | |
Represents formal regular expression structure. Regular expression is stored as a tree of FormalRegExpElements.
SymbolType | used for the terminal alphabet |
|
explicit |
Creates a new instance of the expression structure. Defaultly created structure is empty expression.
|
explicit |
Creates a new instance of the expression structure. The new instance contains structure as provided by the parameter.
structure | the expression structure. |
|
explicit |
Creates a new instance of the expression structure. The new instance contains structure as provided by the parameter.
structure | the expression structure. |
|
explicit |
Creates a new instance based on unbounded representation. The new instance contains structure converted to formal representation.
other | the structure in unbounded representation |
FormalRegExpElement< SymbolType > & regexp::FormalRegExpStructure< SymbolType >::getStructure |
Getter of the root of the structure.
const FormalRegExpElement< SymbolType > & regexp::FormalRegExpStructure< SymbolType >::getStructure |
Getter of the root of the structure.
|
inline |
Performs the type normalization of the regexp structure.
void regexp::FormalRegExpStructure< SymbolType >::setStructure | ( | const FormalRegExpElement< SymbolType > & | structure | ) |
Sets the root node of the expression structure
structure | new root node of the structure |
void regexp::FormalRegExpStructure< SymbolType >::setStructure | ( | FormalRegExpElement< SymbolType > && | param | ) |
Sets the root node of the expression structure
structure | new root node of the structure |
|
friend |
Strucuture printer to the stream.
out | the output stream |
structure | the structure to print |
|
friend |
Three way comparison operator implementation for the expression structure.
first | the first instance |
second | the second instance |
|
friend |
Equality operator implementation for the expression structure.
first | the first instance |
second | the second instance |