MCPcopy Create free account
hub / github.com/KDE/labplot / parse

Method parse

src/backend/gsl/Parser.cpp:12–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10}
11
12double Parser::parse(const char* string, const char* locale) {
13 DEBUG_PARSER("PARSER: parse('" << string << "') len = " << (int)strlen(string));
14 DEBUG_PARSER("********************************");
15
16 /* be sure that the symbol table has been initialized */
17 if (variable_symbols.empty() || static_symbols.empty()) {
18 init_table();
19 }
20 mLastErrorMessage.clear();
21
22 param p;
23 p.locale = locale;
24 p.parser = this;
25 p.string = string;
26 /* pdebug("PARSER: Call yyparse() for \"%s\" (len = %d)\n", p.string, (int)strlen(p.string)); */
27
28 /* parameter for yylex */
29 mResult = NAN; /* default value */
30 mParseErrors = 0; /* reset error count */
31 yyparse(&p);
32
33 mResult = p.result;
34 mVariablesCounter = p.variablesCounter;
35 mParseErrors = p.errorCount;
36 DEBUG_PARSER("PARSER: parse() DONE (result = " << mResult << ", errors = " << parseErrors() << ")");
37 DEBUG_PARSER("*******************************");
38
39 if (mUsedSymbolsStateMachine == UsedSymbols::Initialize)
40 mUsedSymbolsStateMachine = UsedSymbols::Only;
41
42 return mResult;
43}
44
45double Parser::parse_with_vars(const char* str, const parser_var* vars, int nvars, const char* locale) {
46 DEBUG_PARSER("PARSER: parse_with_var('" << str << "') len = " << (int)strlen(str));

Callers 15

updateContentMethod · 0.45
updateContentMethod · 0.45
updateContentMethod · 0.45
updateContentMethod · 0.45
updateContentMethod · 0.45
isValidMethod · 0.45
tryEvaluateCartesianMethod · 0.45
tryEvaluatePolarMethod · 0.45
tryEvaluateParametricMethod · 0.45
RangeMethod · 0.45
func_fFunction · 0.45
func_dfFunction · 0.45

Calls 2

emptyMethod · 0.45
clearMethod · 0.45

Tested by 8

testBasicsMethod · 0.36
testFunction1ArgumentMethod · 0.36
testErrorsMethod · 0.36
testVariablesMethod · 0.36
testLocaleMethod · 0.36