#ifndef Primitive_h #define Primitive_h #include "Tree_c.h" #define MAX_DES_CHAR 10 class Primitive { public: Primitive(void); virtual void execute(void* result, Tree& tree) = 0; virtual void setValue(void* value); void getNextArgument(void* result, Tree& tree); int getNumberOfArguments(); //&&&&&&&&&&&&&&&&&|>new - AA<|&&&&&&&&&&&&&&&&&&&&& //izvrsava proizvoljno podstablo - [0, nArguments_ - 1] void getChosenArgument(void *result, Tree& tree, int subTind); void AAgetNextArgument(void *result, Tree& tree); void AAgetChosenArgument(void *result, Tree& tree, int subTind); //&&&&&&&&&&&&&&&|>end new - AA<|&&&&&&&&&&&&&&&&&&& void setDesignation(std::string designation); std::string getDesignation(); virtual ~Primitive(void); protected: std::string designation_; int nArguments_; }; typedef boost::shared_ptr PrimitiveP; /*! Klasa Primitive predstavlja abstraktnu klasu iz koje se izvode konkretne subklase tipa Terminal (nezavisna varijabla, npr. "x") ili neke funkcije zbrajanja, oduzimanja, množenja i zašti?enog djeljenja... */ #endif