38 #include "lib/cplex.h" 39 #include "lib/ntextd.h" 41 #include "system/program.h" 77 if (result !=
nullptr)
89 if (result !=
nullptr)
115 if (block !=
nullptr)
118 if (result ==
nullptr)
172 #if defined(UNIX
) || defined(HAIKU) || defined(AMIGA) 212 #if defined(AMIGA) || defined(TERMIOS) || defined(WINDOWS) 496 if (
token ==
nullptr)
508 if (
token ==
nullptr)
696 if (base < 2 || base > 32)
734 if (digits < 0 || digits > 15)
ErrorNode(const char *input, const char *message, const char *parameter, int pos)
virtual int GetIntegerValue()=0
Use of the square root of -2 in a syntax tree.
DivisionNode(ExpressionNode *left, ExpressionNode *right)
SilentStatement(StatementNode *statement)
AbsoluteNode(ExpressionNode *expression)
void Add(SyntaxNode *node)
Delete variable or function.
ExpressionNode * ParsePower()
ExpressionNode * ParseExpression()
Logic related to the help statement.
A sequence of statements in a syntax tree.
ListStatement(const char *directory)
Encapsulates an lexical analyzer. Provides token for the parser.
HelpStatement(const char *ident)
Base class for all statements in a syntax tree.
SyntaxNode * ParseEvaluation()
Set number of significant digits to show.
Evaluate arithmetic expression.
SyntaxNode * ParseDefault()
Base class for all nodes in a syntax tree.
NumericValueNode(Number *value)
bool Expect(Symbol symbol)
ExpressionNode * ParseAddSubstract()
PrefsStatement(Symbol argument)
ExecuteStatement(const char *file)
SyntaxNode * ParsePromptStatement()
PowerNode(ExpressionNode *left, ExpressionNode *right)
Tokens are created by the Lexical Analyzer and provides an intermediate state for input consumed by t...
PlotStatement(const char *name, const char *parameter)
SyntaxNode * ParseDeleteStatement()
DeleteStatement(const char *name, const char *argument)
Constructor used to delete a function.
MultiplicationNode(ExpressionNode *left, ExpressionNode *right)
Use of PI in a syntax tree.
Variable * InsertTemporaryVariable(Variable *variable)
Variable * GetVariable(const char *name) const
OutputStatement()
Constructor used to show number of active digits.
PromptStatement(char *prompt)
A syntax node able to list all user defined functions.
AssignmentNode(VariableNode *variable, ExpressionNode *expression)
SyntaxNode * ParseListStatement()
Load or save preferences.
ExpressionNode * ParseUnary()
ExpressionNode * ParseIdent()
HelpStatement(Symbol argument)
VariableNode(Variable *variable)
Token * GetLastToken() const
ExpressionNode * ParseNumber()
SyntaxNode * ParseDigistStatement()
Variable * CreateVariable(const char *name)
class FunctionList * Functions
Variable * CreateVariable(const char *name)
AdditionNode(ExpressionNode *left, ExpressionNode *right)
Token * GetFirstToken() const
virtual Number * Parse(const char *text)
UnaryNode(ExpressionNode *expression)
FunctionNode * GetFunctionCall(const char *function, ExpressionNode *value) const
Parser(const char *input)
void SetExpression(ExpressionNode *expression)
SyntaxNode * ParseHelpStatement()
virtual double GetRealValue()=0
A syntax node able to define a user defined function.
Change numeral output system.
DrawStatement(const char *name, const char *parameter)
ExpressionNode * ParseAtomic()
Statement to list all user defined variables.
ExpressionNode * ParseFactor()
DigitsStatement(unsigned int digits)
Constructor used to show number of active digits.
ErrorNode(const char *input, int pos)
Represent a complex number with 2 components of 15 significant digits.
SyntaxNode * ParseDrawStatement()
SyntaxNode * ParseStatement()
ShowStatement(const char *file)
Clear the console window.
class VariableList * Variables
LoadStatement(const char *file)
Represents an error message encapsulated in a syntax tree.
Use of a variable in a syntax tree.
Use of a numeric value in a syntax tree.
ComplexNumber(double real, double imag)
Base class for all numeral systems.
void RemoveTemporaryVariable()
DeleteStatement(Symbol symbol)
Constructor used to delete either all variable or functions.
SyntaxNode * ParsePrefsStatement()
SubtractionNode(ExpressionNode *left, ExpressionNode *right)
Base class for all nodes related to mathematical expressions.
Mutes the output of another statement.
DecimalSystem(unsigned int digits)
SyntaxNode * TryParseStatement()
SyntaxNode * Parse()
Parses the input into a syntax tree.
OutputStatement(unsigned int base)
Constructor used to set number of active digits.
SyntaxNode * ParseFileStatement()
static bool IsSystemFunction(const char *name)
class NumeralSystem * Input
SyntaxNode * ParseNumeralStatement()
FactorialNode(ExpressionNode *expression)
UserFunction * GetFunctionDef(const char *name)
Encapsulates a recursive descent parser.
DigitsStatement()
Constructor used to show number of active digits.
Use of Euler's number in a syntax tree.
SaveStatement(const char *file)
SyntaxNode * ParseFunctionDef()
EvalStatement(ExpressionNode *expression)
DeleteStatement(const char *name)
Constructor used to delete a Variable.
Use of last result in a syntax tree.