Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Concepts
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