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