diff --git a/acat2/src/acat.cpp b/acat2/src/acat.cpp
index e9e6269e37c39f1eeea2055e30b353f0163509fe..3e6917527dd196c4a46dcc3b27bb1c1154e88789 100644
--- a/acat2/src/acat.cpp
+++ b/acat2/src/acat.cpp
@@ -28,6 +28,11 @@ void getRegExp(std::list<sax::Token>& tokens) {
 	std::cout << regexp;
 }
 
+void getString(std::list<sax::Token>& tokens) {
+	string::String string = alib::FromXMLParsers::stringParser.parseValue(tokens);
+	std::cout << string;
+}
+
 int main(int argc, char** argv) {
 	if(argc == 2 && std::string(argv[1])=="-v" ) {
 			std::cout << argv[0] << " version " << VERSION << "\n";
@@ -54,11 +59,13 @@ int main(int argc, char** argv) {
 		sax::SaxParseInterface::parseFile(argv[optind],tokens);
 	}
 
-	if (tokens.front().getData() == "automaton") {
+	if (alib::FromXMLParsers::automatonParser.first(tokens)) {
 		getAutomaton(tokens);
-	} else if (tokens.front().getData() == "regexp") {
+	} else if (alib::FromXMLParsers::regexpParser.first(tokens)) {
 		getRegExp(tokens);
+	} else if (alib::FromXMLParsers::stringParser.first(tokens)) {
+		getString(tokens);
 	} else {
-		throw alib::AlibException( "Expected root tag automaton, grammar or regexp. Read: " + tokens.front().getData());
+		throw alib::AlibException( "Expected root tag automaton, grammar, regexp or string. Read: " + tokens.front().getData());
 	}
 }