MADARA  3.2.3
madara::expression::UnaryOperator Class Referenceabstract

Abstract base class for all parse tree node operators. More...

Inheritance diagram for madara::expression::UnaryOperator:
madara::expression::Symbol 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

 UnaryOperator (logger::Logger &logger, Symbol *right, int precedence_=1)
 constructor More...
 
virtual ~UnaryOperator (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 for all parse tree node operators.

See also
Add, Subtract, Multiply, Divide

Definition at line 940 of file Interpreter.cpp.

Constructor & Destructor Documentation

madara::expression::UnaryOperator::UnaryOperator ( logger::Logger logger,
Symbol right,
int  precedence_ = 1 
)

constructor

Definition at line 1907 of file Interpreter.cpp.

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

destructor

Definition at line 1915 of file Interpreter.cpp.

Member Function Documentation

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

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 virtualinherited

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  )
inlinevirtualinherited

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_
inherited

Definition at line 143 of file Interpreter.cpp.

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

left and right pointers

Definition at line 142 of file Interpreter.cpp.

int madara::expression::Symbol::precedence_
inherited

Definition at line 145 of file Interpreter.cpp.

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

Definition at line 144 of file Interpreter.cpp.


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