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()); } }