Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
RandomRegExpFactory.h
Go to the documentation of this file.
1
6#pragma once
7
8#include <alib/set>
9#include <ext/ptr_vector>
10
12
13namespace regexp {
14
15namespace generate {
16
23public:
34 static regexp::UnboundedRegExp < std::string > generateUnboundedRegExp( size_t leafNodes, size_t height, size_t alphabetSize, bool randomizedAlphabet );
35
47 template < class SymbolType >
49
50private:
51 template < class SymbolType >
52 static regexp::UnboundedRegExp < SymbolType > SimpleUnboundedRegExp( size_t n, size_t h, const ext::ptr_vector < regexp::UnboundedRegExpElement < SymbolType > > & elems);
53
54 template < class SymbolType >
55 static ext::ptr_value < regexp::UnboundedRegExpElement < SymbolType > > SimpleUnboundedRegExpElement(size_t n, size_t h, const ext::ptr_vector < regexp::UnboundedRegExpElement < SymbolType > > & elems);
56};
57
58} /* namespace generate */
59
60} /* namespace regexp */
61
Class representing wrapper of dynamically allocated object behaving like rvalue reference.
Definition: ptr_value.hpp:40
Implementation of vector storing dynamicaly allocated instances of given type. The class mimicks the ...
Definition: ptr_vector.hpp:44
Definition: set.hpp:44
Definition: UnboundedRegExpElement.h:62
Unbounded regular expression represents regular expression. It describes regular languages....
Definition: UnboundedRegExp.h:80
Definition: RandomRegExpFactory.h:22
static regexp::UnboundedRegExp< std::string > generateUnboundedRegExp(size_t leafNodes, size_t height, size_t alphabetSize, bool randomizedAlphabet)
Definition: RandomRegExpFactory.cpp:21
Definition: BarSymbol.cpp:12
Definition: ToAutomaton.h:15