102 static Expression parse (String::CharPointerType& stringToParse,
String& parseError);
115 virtual String getScopeUID()
const;
129 virtual double evaluateFunction (
const String& functionName,
130 const double* parameters,
int numParameters)
const;
140 virtual void visit (
const Scope&) = 0;
150 virtual void visitRelativeScope (
const String& scopeName,
Visitor& visitor)
const;
159 double evaluate()
const;
166 double evaluate (
const Scope& scope)
const;
171 double evaluate (
const Scope& scope,
String& evaluationError)
const;
182 Expression adjustedToGiveNewResult (
double targetValue,
const Scope& scope)
const;
188 bool operator== (
const Symbol&)
const noexcept;
189 bool operator!= (
const Symbol&)
const noexcept;
206 bool referencesSymbol (
const Symbol& symbol,
const Scope& scope)
const;
209 bool usesAnySymbols()
const;
227 Type getType() const noexcept;
230 String getSymbolOrFunction() const;
235 int getNumInputs() const;