/* PIA - Lenguajes Modernos de Programación * FACULTAD DE CIENCIAS FÍSICO MATEMÁTICAS * Luis Sebastián Martínez Vega - LCC */ #include #include #include #include #include #include #include "include/parser.hpp" #include "include/expressions.hpp" #include "include/exceptions.hpp" #include "include/differentiator.hpp" #include "include/simplifier.hpp" using std::string, std::cin, std::cout, std::getline, std::vector, std::begin, std::end, std::endl; int main() { int counter = 1; string input; Parser parser; Expression *tree = NULL, *simplified = NULL, *diff = NULL; cout << ">> "; while(getline(cin, input)) { try { tree = parser.parse(input); } catch(const ParserException &e) { cout << e.showMsg() << "\n"; cout << ">> "; tree = NULL; continue; } diff = deriv(tree); simplified = simplify(diff); cout << "OUT " << counter << ": " << simplified->getRepr() << "\n"; cout << ">> "; delete tree; delete simplified; delete diff; tree = NULL; simplified = NULL; diff = NULL; ++counter; } cout << "Adiós!\n" << endl; return 0; }