|
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 |