summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/differentiator.hpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/differentiator.hpp b/include/differentiator.hpp
new file mode 100644
index 0000000..172166f
--- /dev/null
+++ b/include/differentiator.hpp
@@ -0,0 +1,27 @@
+/* PIA - Lenguajes Modernos de Programación
+ * FACULTAD DE CIENCIAS FÍSICO MATEMÁTICAS
+ * Luis Sebastián Martínez Vega - LCC */
+
+#include "expressions.hpp"
+#include <string>
+#ifndef DIFFERENTIATOR_H
+#define DIFFERENTIATOR_H
+
+class Differentiator {
+private:
+ Expression *differential;
+ Expression *ptr;
+public:
+ Differentiator();
+ Expression *visit(Literal *expr);
+ Expression *visit(Variable *expr);
+ Expression *visit(Function *expr);
+ Expression *visit(NegationExpression *expr);
+ Expression *visit(AddExpression *expr);
+ Expression *visit(SubExpression *expr);
+ Expression *visit(DivisionExpression *expr);
+ Expression *visit(MultiplicationExpression *expr);
+ Expression *visit(PowerExpression *expr);
+};
+
+#endif /* DIFFERENTIATOR_H */