From 0e3feb79c22aeb2100bc5baf0e9663e096da485e Mon Sep 17 00:00:00 2001
From: Martin Zak <zakmart1@fit.cvut.cz>
Date: Sun, 17 Nov 2013 17:35:12 +0100
Subject: [PATCH] TuringMachine allows epsilon transitions

---
 alib/src/automaton/TM/TM.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/alib/src/automaton/TM/TM.cpp b/alib/src/automaton/TM/TM.cpp
index 02f80f6167..edb73c66b5 100644
--- a/alib/src/automaton/TM/TM.cpp
+++ b/alib/src/automaton/TM/TM.cpp
@@ -95,8 +95,10 @@ void TM::addTransition(const TransitionTM& transition) {
 		throw AutomatonException("State \"" + transition.getFrom().getName() + "\" doesn't exist.");
 	}
 
-	if (tapeAlphabet.find(transition.getInput()) == tapeAlphabet.end()) {
-		throw AutomatonException("Tape symbol \"" + transition.getInput().getSymbol() + "\" doesn't exist.");
+	if (transition.getInput().getSymbol() != "") {
+		if (tapeAlphabet.find(transition.getInput()) == tapeAlphabet.end()) {
+			throw AutomatonException("Tape symbol \"" + transition.getInput().getSymbol() + "\" doesn't exist.");
+		}
 	}
 
 	if (states.find(transition.getTo()) == states.end()) {
-- 
GitLab