diff options
author | HombreLaser <sebastian-440@live.com> | 2022-04-21 11:05:39 -0500 |
---|---|---|
committer | HombreLaser <sebastian-440@live.com> | 2022-04-21 11:05:39 -0500 |
commit | c88da3e10da5ddac6eca479e3bcac8e3b26d86fa (patch) | |
tree | f0b5e451eb0fcab82f23a24963eb64b51692f31e /include/simplifier.hpp | |
parent | e72326081fe216b207e8cfa94e8db5c6d6de19dc (diff) |
Añadidas reglas de simplificación
Diffstat (limited to 'include/simplifier.hpp')
-rw-r--r-- | include/simplifier.hpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/simplifier.hpp b/include/simplifier.hpp index 948c569..dcc3225 100644 --- a/include/simplifier.hpp +++ b/include/simplifier.hpp @@ -1,3 +1,7 @@ +/* PIA - Lenguajes Modernos de Programación + * FACULTAD DE CIENCIAS FÍSICO MATEMÁTICAS + * Luis Sebastián Martínez Vega - LCC */ + #ifndef SIMPLIFIER_H #define SIMPLIFIER_H #include "expressions.hpp" @@ -5,12 +9,14 @@ class Simplifier { private: void simplifyChildren(Expression *root, Expression *left, Expression *right); + Expression *ruleEval(Expression *expr); Expression *ruleMultiplyByOne(MultiplicationExpression *expr); Expression *ruleDivideByOne(DivisionExpression *expr); Expression *ruleMultiplyByZero(MultiplicationExpression *expr); Expression *ruleZeroDivision(DivisionExpression *expr); Expression *ruleOnePower(PowerExpression *expr); Expression *ruleZeroPower(PowerExpression *expr); + Expression *addZero(AddExpression *expr); public: Expression *visit(Variable *expr); Expression *visit(Literal *expr); |