strusAnalyzer  0.17
patternLexerInterface.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016 Patrick P. Frey
3  *
4  * This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7  */
10 #ifndef _STRUS_ANALYZER_PATTERN_LEXER_INTERFACE_HPP_INCLUDED
11 #define _STRUS_ANALYZER_PATTERN_LEXER_INTERFACE_HPP_INCLUDED
12 #include <vector>
13 #include <string>
14 
15 namespace strus
16 {
18 class PatternLexerInstanceInterface;
19 
22 {
23 public:
26 
29  virtual std::vector<std::string> getCompileOptionNames() const=0;
30 
34 
37  virtual const char* getDescription() const=0;
38 };
39 
40 } //namespace
41 #endif
42 
Interface for building the automaton for detecting lexems used as basic entities by pattern matching ...
Definition: patternLexerInstanceInterface.hpp:23
virtual const char * getDescription() const =0
Get a description of this pattern lexem detector for user help.
Interface for instantiating the data structure of an automaton for detecting lexems used as basic ent...
Definition: patternLexerInterface.hpp:21
virtual PatternLexerInstanceInterface * createInstance() const =0
Create an instance to build the regular expressions for a lexem matcher.
virtual std::vector< std::string > getCompileOptionNames() const =0
Get the list of option names you can pass to PatternLexerInstanceInterface::compile.
virtual ~PatternLexerInterface()
Destructor.
Definition: patternLexerInterface.hpp:25