From 0c6cf7524983f0c8cadc2023aa6bd3b9ce734e81 Mon Sep 17 00:00:00 2001 From: Martin Zak <zakmart1@fit.cvut.cz> Date: Sun, 17 Nov 2013 17:20:53 +0100 Subject: [PATCH] Fixes aconvert --- aconvert/src/aconvert.cpp | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/aconvert/src/aconvert.cpp b/aconvert/src/aconvert.cpp index 682f5759d2..c327c15123 100644 --- a/aconvert/src/aconvert.cpp +++ b/aconvert/src/aconvert.cpp @@ -8,36 +8,41 @@ #include <iostream> +#include "automaton/AutomatonParser.h" #include "automaton/UnknownAutomaton.h" #include "AutomatonFactory.h" #include "AlibException.h" +#include "sax/SaxInterface.h" + +#include "DotConverter.h" using namespace std; using namespace automaton; +using namespace sax; using namespace alib; -#include "DotConverter.h" - int main(int argc, char** argv) { - - UnknownAutomaton automaton; - + list<Token> tokens; try { if (argc > 1) { if (string("-h").compare(argv[1]) == 0) { - cout << "Automaton parsing.\nUsage: catPDA [automaton.xml]\n"; + cout + << "Automaton converting tool. Supports only dot format at the moment.\nUsage: aconvert [automaton.xml]\n"; return -1; } - automaton = AutomatonFactory::fromFile(argv[1]); + SaxInterface::parseFile(argv[1], tokens); } else { - string input(istreambuf_iterator<char>(cin), (istreambuf_iterator<char>())); - automaton = AutomatonFactory::fromString(input); + string input(istreambuf_iterator<char>(cin), + (istreambuf_iterator<char>())); + SaxInterface::parseMemory(input, tokens); } - Automaton* knownAutomaton = AutomatonFactory::buildAutomaton(&automaton); - DotConverter::convert(*knownAutomaton,cout); + UnknownAutomaton unknownAutomaton = AutomatonParser::parse(tokens); + Automaton* automaton = AutomatonFactory::buildAutomaton(unknownAutomaton); + DotConverter::convert(*automaton, cout); + } catch (AlibException& e) { cout << e.what() << endl; return 0; -- GitLab