From 842e5da731036b4f3af55243ff70838dba53adc2 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Thu, 16 Apr 2015 20:49:42 +0200 Subject: [PATCH] refactor --- aepsilon2/src/aepsilon.cpp | 42 +++++++++++++++----------------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/aepsilon2/src/aepsilon.cpp b/aepsilon2/src/aepsilon.cpp index 3c3907832c..2188fc904f 100644 --- a/aepsilon2/src/aepsilon.cpp +++ b/aepsilon2/src/aepsilon.cpp @@ -45,36 +45,28 @@ int main(int argc, char** argv) { sax::SaxParseInterface::parseStdin(tokens); } - if(efficient.getValue()) { - if(algorithm.getValue() == "outgoing") { + if(algorithm.getValue() == "outgoing") { + if(efficient.getValue()) alib::XmlDataFactory::toStdout(automaton::simplify::efficient::EpsilonRemoverOutgoing::remove(alib::XmlDataFactory::fromTokens<automaton::Automaton>(tokens))); - } else if(algorithm.getValue() == "incoming") { - alib::XmlDataFactory::toStdout(automaton::simplify::efficient::EpsilonRemoverIncoming::remove(alib::XmlDataFactory::fromTokens<automaton::Automaton>(tokens))); - } else if(algorithm.getValue() == "default") { - if(alib::XmlDataFactory::first<automaton::Automaton>(tokens)) - alib::XmlDataFactory::toStdout(automaton::simplify::efficient::EpsilonRemoverIncoming::remove(alib::XmlDataFactory::fromTokens<automaton::Automaton>(tokens))); - else if(alib::XmlDataFactory::first<grammar::Grammar>(tokens)) - throw exception::AlibException("NYI"); - else - throw exception::AlibException("Invalid formalism"); - } else { - throw exception::AlibException("Invalid algorithm"); - } - } else { - if(algorithm.getValue() == "outgoing") { + else alib::XmlDataFactory::toStdout(automaton::simplify::EpsilonRemoverOutgoing::remove(alib::XmlDataFactory::fromTokens<automaton::Automaton>(tokens))); - } else if(algorithm.getValue() == "incoming") { + } else if(algorithm.getValue() == "incoming") { + if(efficient.getValue()) + alib::XmlDataFactory::toStdout(automaton::simplify::efficient::EpsilonRemoverIncoming::remove(alib::XmlDataFactory::fromTokens<automaton::Automaton>(tokens))); + else alib::XmlDataFactory::toStdout(automaton::simplify::EpsilonRemoverIncoming::remove(alib::XmlDataFactory::fromTokens<automaton::Automaton>(tokens))); - } else if(algorithm.getValue() == "default") { - if(alib::XmlDataFactory::first<automaton::Automaton>(tokens)) + } else if(algorithm.getValue() == "default") { + if(alib::XmlDataFactory::first<automaton::Automaton>(tokens)) + if(efficient.getValue()) alib::XmlDataFactory::toStdout(automaton::simplify::EpsilonRemoverIncoming::remove(alib::XmlDataFactory::fromTokens<automaton::Automaton>(tokens))); - else if(alib::XmlDataFactory::first<grammar::Grammar>(tokens)) - alib::XmlDataFactory::toStdout(grammar::simplify::EpsilonRemover::remove(alib::XmlDataFactory::fromTokens<grammar::Grammar>(tokens))); else - throw exception::AlibException("Invalid formalism"); - } else { - throw exception::AlibException("Invalid algorithm"); - } + alib::XmlDataFactory::toStdout(automaton::simplify::efficient::EpsilonRemoverIncoming::remove(alib::XmlDataFactory::fromTokens<automaton::Automaton>(tokens))); + else if(alib::XmlDataFactory::first<grammar::Grammar>(tokens)) + alib::XmlDataFactory::toStdout(grammar::simplify::EpsilonRemover::remove(alib::XmlDataFactory::fromTokens<grammar::Grammar>(tokens))); + else + throw exception::AlibException("Invalid formalism"); + } else { + throw exception::AlibException("Invalid algorithm"); } return 0; -- GitLab