cumbia formula plugin 4.x
cuformulaparser.h
Go to the documentation of this file.
1#ifndef CUFORMULAPARSER_H
2#define CUFORMULAPARSER_H
3
4#include <QMap>
5#include <QStringList>
6#include <QString>
7#include <vector>
8#include <cuvariant.h>
9#include <cuformulaplugininterface.h> // formula regexp patterns
10
12
13
14class CuFormulaParser : public CuFormulaParserI
15{
16public:
19
20 const char states[MaxState][32] = {
21 "ReadingsIncomplete", "CompileOk", "CompileError", "ValueNotScalar",
22 "ToDoubleConversionFailed", "", "", "", "", "", "", "", "MaxState"
23 };
24
26
28
29 bool parse(const QString& expression);
30
31 size_t sourcesCount() const;
32
33 std::vector<std::string> sources() const;
34
35 std::string joinedSources() const;
36
37 std::string source(size_t i) const;
38
39 void updateSource(size_t i, const std::string& s);
40
41 long indexOf(const std::string& src) const;
42
43 QString expression() const;
44
45 QString formula() const;
46
47 QString preparedFormula() const;
48
49 QString message() const;
50
51 QString name() const;
52
53 bool error() const;
54
55 QString normalizedFormulaPattern() const;
56
57 bool isNormalized(const QString& expr) const;
58
59 bool isValid(const QString& expr) const;
60
61 const char* formula_regexp_pattern = FORMULA_RE;
62
63private:
65
66 QString m_makePreparedFormula() const;
67};
68
69#endif // CUFORMULAPARSER_H
Definition: cuformulaparser.cpp:5
Definition: cuformulaparser.h:15
const char states[MaxState][32]
Definition: cuformulaparser.h:20
bool parse(const QString &expression)
Definition: cuformulaparser.cpp:35
QString normalizedFormulaPattern() const
Definition: cuformulaparser.cpp:200
long indexOf(const std::string &src) const
Definition: cuformulaparser.cpp:150
bool error() const
Definition: cuformulaparser.cpp:195
QString name() const
Definition: cuformulaparser.cpp:190
std::vector< std::string > sources() const
Definition: cuformulaparser.cpp:104
QString formula() const
Definition: cuformulaparser.cpp:163
const char * formula_regexp_pattern
Definition: cuformulaparser.h:61
~CuFormulaParser()
Definition: cuformulaparser.cpp:30
size_t sourcesCount() const
Definition: cuformulaparser.cpp:99
CuFormulaParser()
Definition: cuformulaparser.cpp:17
QString preparedFormula() const
Definition: cuformulaparser.cpp:168
QString expression() const
Definition: cuformulaparser.cpp:158
QString message() const
Definition: cuformulaparser.cpp:185
State
Definition: cuformulaparser.h:17
@ CompileError
Definition: cuformulaparser.h:17
@ ValueNotScalar
Definition: cuformulaparser.h:17
@ CompileOk
Definition: cuformulaparser.h:17
@ MaxState
Definition: cuformulaparser.h:18
@ ReadingsIncomplete
Definition: cuformulaparser.h:17
@ ToDoubleConversionFailed
Definition: cuformulaparser.h:18
@ Undefined
Definition: cuformulaparser.h:17
std::string source(size_t i) const
Definition: cuformulaparser.cpp:118
bool isNormalized(const QString &expr) const
Definition: cuformulaparser.cpp:205
bool isValid(const QString &expr) const
CuFormulaParser::isValid returns true if a formula is valid.
Definition: cuformulaparser.cpp:220
void updateSource(size_t i, const std::string &s)
CuFormulaParser::updateSource updates the source at position i with the new source name s.
Definition: cuformulaparser.cpp:142
std::string joinedSources() const
Definition: cuformulaparser.cpp:109