Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Data Structures | Public Member Functions | Static Public Member Functions
regexp::simplify::RegExpOptimize Class Reference

#include <RegExpOptimize.h>

Public Member Functions

template<class SymbolType >
FormalRegExp< SymbolType > optimize (const FormalRegExp< SymbolType > &regexp)
 
template<class SymbolType >
FormalRegExpStructure< SymbolType > optimize (const FormalRegExpStructure< SymbolType > &regexp)
 
template<class SymbolType >
UnboundedRegExp< SymbolType > optimize (const UnboundedRegExp< SymbolType > &regexp)
 
template<class SymbolType >
UnboundedRegExpStructure< SymbolType > optimize (const UnboundedRegExpStructure< SymbolType > &regexp)
 
template<class SymbolType >
ext::smart_ptr< FormalRegExpElement< SymbolType > > optimizeInner (const FormalRegExpElement< SymbolType > &node)
 

Static Public Member Functions

template<class SymbolType >
static regexp::UnboundedRegExp< SymbolType > optimize (const regexp::UnboundedRegExp< SymbolType > &regexp)
 
template<class SymbolType >
static regexp::UnboundedRegExpStructure< SymbolType > optimize (const regexp::UnboundedRegExpStructure< SymbolType > &regexp)
 
template<class SymbolType >
static void optimize (regexp::UnboundedRegExpAlternation< SymbolType > &alt, bool recursive=true)
 
template<class SymbolType >
static void optimize (regexp::UnboundedRegExpConcatenation< SymbolType > &concat, bool recursive=true)
 
template<class SymbolType >
static void optimize (regexp::UnboundedRegExpIteration< SymbolType > &iter, bool recursive=true)
 
template<class SymbolType >
static regexp::FormalRegExp< SymbolType > optimize (const regexp::FormalRegExp< SymbolType > &regexp)
 
template<class SymbolType >
static regexp::FormalRegExpStructure< SymbolType > optimize (const regexp::FormalRegExpStructure< SymbolType > &regexp)
 
template<class SymbolType >
static void optimize (regexp::FormalRegExpElement< SymbolType > &element)
 

Member Function Documentation

◆ optimize() [1/12]

template<class SymbolType >
FormalRegExp< SymbolType > regexp::simplify::RegExpOptimize::optimize ( const FormalRegExp< SymbolType > &  regexp)
Here is the call graph for this function:

◆ optimize() [2/12]

template<class SymbolType >
FormalRegExpStructure< SymbolType > regexp::simplify::RegExpOptimize::optimize ( const FormalRegExpStructure< SymbolType > &  regexp)

◆ optimize() [3/12]

template<class SymbolType >
static regexp::FormalRegExp< SymbolType > regexp::simplify::RegExpOptimize::optimize ( const regexp::FormalRegExp< SymbolType > &  regexp)
static

◆ optimize() [4/12]

template<class SymbolType >
static regexp::FormalRegExpStructure< SymbolType > regexp::simplify::RegExpOptimize::optimize ( const regexp::FormalRegExpStructure< SymbolType > &  regexp)
static

◆ optimize() [5/12]

template<class SymbolType >
static regexp::UnboundedRegExp< SymbolType > regexp::simplify::RegExpOptimize::optimize ( const regexp::UnboundedRegExp< SymbolType > &  regexp)
static

Implements a regexp simplification algorithm that is transforming the regular expression to be smaller.

Template Parameters
SymbolTypethe type of symbols in the regular expression
Parameters
regexpthe simplified regexp
Returns
the simlified regexp
Here is the caller graph for this function:

◆ optimize() [6/12]

template<class SymbolType >
static regexp::UnboundedRegExpStructure< SymbolType > regexp::simplify::RegExpOptimize::optimize ( const regexp::UnboundedRegExpStructure< SymbolType > &  regexp)
static

\override

◆ optimize() [7/12]

template<class SymbolType >
UnboundedRegExp< SymbolType > regexp::simplify::RegExpOptimize::optimize ( const UnboundedRegExp< SymbolType > &  regexp)
Here is the call graph for this function:

◆ optimize() [8/12]

template<class SymbolType >
UnboundedRegExpStructure< SymbolType > regexp::simplify::RegExpOptimize::optimize ( const UnboundedRegExpStructure< SymbolType > &  regexp)
Here is the call graph for this function:

◆ optimize() [9/12]

template<class SymbolType >
void regexp::simplify::RegExpOptimize::optimize ( regexp::FormalRegExpElement< SymbolType > &  element)
static
Here is the call graph for this function:

◆ optimize() [10/12]

template<class SymbolType >
void regexp::simplify::RegExpOptimize::optimize ( regexp::UnboundedRegExpAlternation< SymbolType > &  alt,
bool  recursive = true 
)
static

\override

Here is the call graph for this function:

◆ optimize() [11/12]

template<class SymbolType >
void regexp::simplify::RegExpOptimize::optimize ( regexp::UnboundedRegExpConcatenation< SymbolType > &  concat,
bool  recursive = true 
)
static

\override

Here is the call graph for this function:

◆ optimize() [12/12]

template<class SymbolType >
void regexp::simplify::RegExpOptimize::optimize ( regexp::UnboundedRegExpIteration< SymbolType > &  iter,
bool  recursive = true 
)
static

\override

Here is the call graph for this function:

◆ optimizeInner()

template<class SymbolType >
ext::smart_ptr< FormalRegExpElement< SymbolType > > regexp::simplify::RegExpOptimize::optimizeInner ( const FormalRegExpElement< SymbolType > &  node)

The documentation for this class was generated from the following files: