MADARA  3.2.3
madara::expression::Symbol Class Referenceabstract

Abstract base class of all parse tree nodes. More...

Inheritance diagram for madara::expression::Symbol:
madara::expression::ArrayRef madara::expression::List madara::expression::Number madara::expression::Operator madara::expression::UnaryOperator madara::expression::Variable madara::expression::VariableCompare madara::expression::Assignment madara::expression::Divide madara::expression::Equality madara::expression::GreaterThan madara::expression::GreaterThanEqual madara::expression::Implies madara::expression::Inequality madara::expression::LessThan madara::expression::LessThanEqual madara::expression::Modulus madara::expression::Subtract madara::expression::TernaryOperator madara::expression::VariableDecrement madara::expression::VariableDivide madara::expression::VariableIncrement madara::expression::VariableMultiply madara::expression::ForLoop madara::expression::Negate madara::expression::Not madara::expression::Postdecrement madara::expression::Postincrement madara::expression::Predecrement madara::expression::Preincrement madara::expression::SquareRootUnary

Public Member Functions

 Symbol (logger::Logger &logger, Symbol *left, Symbol *right, int precedence_=0)
 constructor More...
 
virtual ~Symbol (void)
 destructor More...
 
virtual int add_precedence (int accumulated_precedence)=0
 
virtual ComponentNodebuild (void)=0
 abstract method for building an Expression ExpressionTree Node More...
 
virtual int precedence (void)
 abstract method for returning precedence level (higher value means higher precedence More...
 

Public Attributes

Symbolleft_
 
logger::Loggerlogger_
 left and right pointers More...
 
int precedence_
 
Symbolright_
 

Detailed Description

Abstract base class of all parse tree nodes.

Definition at line 117 of file Interpreter.cpp.

Constructor & Destructor Documentation

madara::expression::Symbol::Symbol ( logger::Logger logger,
Symbol left,
Symbol right,
int  precedence_ = 0 
)

constructor

Definition at line 1867 of file Interpreter.cpp.

madara::expression::Symbol::~Symbol ( void  )
virtual

destructor

Definition at line 1876 of file Interpreter.cpp.

Member Function Documentation

virtual int madara::expression::Symbol::add_precedence ( int  accumulated_precedence)
pure virtual

Implemented in madara::expression::Divide, madara::expression::Modulus, madara::expression::Multiply, madara::expression::Not, madara::expression::Preincrement, madara::expression::Predecrement, madara::expression::Postincrement, madara::expression::Postdecrement, madara::expression::Negate, madara::expression::SquareRootUnary, madara::expression::ForLoop, madara::expression::ConstArray, madara::expression::Function, madara::expression::LessThan, madara::expression::LessThanEqual, madara::expression::GreaterThan, madara::expression::GreaterThanEqual, madara::expression::Inequality, madara::expression::Equality, madara::expression::Assignment, madara::expression::Implies, madara::expression::Sequence, madara::expression::ReturnRight, madara::expression::Both, madara::expression::Or, madara::expression::And, madara::expression::Add, madara::expression::Subtract, madara::expression::List, madara::expression::VariableCompare, madara::expression::VariableMultiply, madara::expression::VariableIncrement, madara::expression::VariableDivide, madara::expression::VariableDecrement, madara::expression::ArrayRef, madara::expression::Variable, madara::expression::Number, madara::expression::SetClock, madara::expression::GetTimeSeconds, madara::expression::GetTime, madara::expression::GetClock, madara::expression::LogLevel, madara::expression::Isinf, madara::expression::Type, madara::expression::Sleep, madara::expression::ToString, madara::expression::ToIntegers, madara::expression::ToInteger, madara::expression::ToHostDirs, madara::expression::ToDoubles, madara::expression::ToDouble, madara::expression::ToBuffer, madara::expression::SetScientific, madara::expression::SetPrecision, madara::expression::SetFixed, madara::expression::Size, madara::expression::WriteFile, madara::expression::ReadFile, madara::expression::RandInt, madara::expression::RandDouble, madara::expression::PrintSystemCalls, madara::expression::SquareRoot, madara::expression::Power, madara::expression::Tan, madara::expression::Sin, madara::expression::Cos, madara::expression::Print, madara::expression::Fragment, madara::expression::ExpandStatement, madara::expression::ExpandEnv, madara::expression::Eval, madara::expression::DeleteVariable, and madara::expression::ClearVariable.

virtual ComponentNode* madara::expression::Symbol::build ( void  )
pure virtual

abstract method for building an Expression ExpressionTree Node

Implemented in madara::expression::Divide, madara::expression::Modulus, madara::expression::Multiply, madara::expression::Not, madara::expression::Preincrement, madara::expression::Predecrement, madara::expression::Postincrement, madara::expression::Postdecrement, madara::expression::Negate, madara::expression::SquareRootUnary, madara::expression::ForLoop, madara::expression::ConstArray, madara::expression::Function, madara::expression::LessThan, madara::expression::LessThanEqual, madara::expression::GreaterThan, madara::expression::GreaterThanEqual, madara::expression::Inequality, madara::expression::Equality, madara::expression::Assignment, madara::expression::Implies, madara::expression::Sequence, madara::expression::ReturnRight, madara::expression::Both, madara::expression::Or, madara::expression::And, madara::expression::Add, madara::expression::Subtract, madara::expression::List, madara::expression::VariableCompare, madara::expression::VariableMultiply, madara::expression::VariableIncrement, madara::expression::VariableDivide, madara::expression::VariableDecrement, madara::expression::ArrayRef, madara::expression::Variable, madara::expression::Number, madara::expression::SetClock, madara::expression::GetTimeSeconds, madara::expression::GetTime, madara::expression::GetClock, madara::expression::LogLevel, madara::expression::Isinf, madara::expression::Type, madara::expression::Sleep, madara::expression::ToString, madara::expression::ToIntegers, madara::expression::ToInteger, madara::expression::ToHostDirs, madara::expression::ToDoubles, madara::expression::ToDouble, madara::expression::ToBuffer, madara::expression::SetScientific, madara::expression::SetPrecision, madara::expression::SetFixed, madara::expression::Size, madara::expression::WriteFile, madara::expression::ReadFile, madara::expression::RandInt, madara::expression::RandDouble, madara::expression::PrintSystemCalls, madara::expression::SquareRoot, madara::expression::Power, madara::expression::Tan, madara::expression::Sin, madara::expression::Cos, madara::expression::Print, madara::expression::Fragment, madara::expression::ExpandStatement, madara::expression::ExpandEnv, madara::expression::Eval, madara::expression::DeleteVariable, and madara::expression::ClearVariable.

virtual int madara::expression::Symbol::precedence ( void  )
inlinevirtual

abstract method for returning precedence level (higher value means higher precedence

Definition at line 129 of file Interpreter.cpp.

Member Data Documentation

Symbol* madara::expression::Symbol::left_

Definition at line 143 of file Interpreter.cpp.

logger::Logger* madara::expression::Symbol::logger_

left and right pointers

Definition at line 142 of file Interpreter.cpp.

int madara::expression::Symbol::precedence_

Definition at line 145 of file Interpreter.cpp.

Symbol* madara::expression::Symbol::right_

Definition at line 144 of file Interpreter.cpp.


The documentation for this class was generated from the following file: