MADARA  3.2.3
madara::expression::SystemCall Class Referenceabstract

Abstract base class for operators with 3+ potential subnodes. More...

Inheritance diagram for madara::expression::SystemCall:
madara::expression::TernaryOperator madara::expression::Operator madara::expression::Symbol madara::expression::ClearVariable madara::expression::Cos madara::expression::DeleteVariable madara::expression::Eval madara::expression::ExpandEnv madara::expression::ExpandStatement madara::expression::Fragment madara::expression::GetClock madara::expression::GetTime madara::expression::GetTimeSeconds madara::expression::Isinf madara::expression::LogLevel madara::expression::Power madara::expression::Print madara::expression::PrintSystemCalls madara::expression::RandDouble madara::expression::RandInt madara::expression::ReadFile madara::expression::SetClock madara::expression::SetFixed madara::expression::SetPrecision madara::expression::SetScientific madara::expression::Sin madara::expression::Size madara::expression::Sleep madara::expression::SquareRoot madara::expression::Tan madara::expression::ToBuffer madara::expression::ToDouble madara::expression::ToDoubles madara::expression::ToHostDirs madara::expression::ToInteger madara::expression::ToIntegers madara::expression::ToString madara::expression::Type madara::expression::WriteFile

Public Member Functions

 SystemCall (madara::knowledge::ThreadSafeContext &context_)
 constructor More...
 
virtual ~SystemCall (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

madara::knowledge::ThreadSafeContextcontext_
 Context for variables. More...
 
Symbolleft_
 
logger::Loggerlogger_
 left and right pointers More...
 
ComponentNodes nodes_
 
int precedence_
 
Symbolright_
 

Detailed Description

Abstract base class for operators with 3+ potential subnodes.

See also
Both

Definition at line 189 of file Interpreter.cpp.

Constructor & Destructor Documentation

madara::expression::SystemCall::SystemCall ( madara::knowledge::ThreadSafeContext context_)

constructor

Definition at line 2101 of file Interpreter.cpp.

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

destructor

Definition at line 2109 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

madara::knowledge::ThreadSafeContext& madara::expression::SystemCall::context_

Context for variables.

Definition at line 199 of file Interpreter.cpp.

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.

ComponentNodes madara::expression::TernaryOperator::nodes_
inherited

Definition at line 181 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: