diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-07-21 11:34:44 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-07-21 11:34:44 (GMT) |
commit | dc5f5ddfa10bf91524e6f7555c263eaea069dcb0 (patch) | |
tree | 576b15e7fe75476e8ece954b52aa88871941beb5 /apps/uscxml-transform.cpp | |
parent | 641117e7400e9e5ef0fa451f732eb9009f0914cb (diff) | |
download | uscxml-dc5f5ddfa10bf91524e6f7555c263eaea069dcb0.zip uscxml-dc5f5ddfa10bf91524e6f7555c263eaea069dcb0.tar.gz uscxml-dc5f5ddfa10bf91524e6f7555c263eaea069dcb0.tar.bz2 |
try / catch blocks for applications and work on dot output
Diffstat (limited to 'apps/uscxml-transform.cpp')
-rw-r--r-- | apps/uscxml-transform.cpp | 63 |
1 files changed, 33 insertions, 30 deletions
diff --git a/apps/uscxml-transform.cpp b/apps/uscxml-transform.cpp index d0c3524..245a89c 100644 --- a/apps/uscxml-transform.cpp +++ b/apps/uscxml-transform.cpp @@ -161,41 +161,44 @@ int main(int argc, char** argv) { HTTPServer::getInstance(30444, 30445, NULL); Interpreter interpreter; - if (inputFile.size() == 0 || inputFile == "-") { - LOG(INFO) << "Reading SCXML from STDIN"; - std::stringstream ss; - std::string line; - while (std::getline(std::cin, line)) { - ss << line; + try { + if (inputFile.size() == 0 || inputFile == "-") { + LOG(INFO) << "Reading SCXML from STDIN"; + std::stringstream ss; + std::string line; + while (std::getline(std::cin, line)) { + ss << line; + } + interpreter = Interpreter::fromXML(ss.str()); + } else { + interpreter = Interpreter::fromURI(inputFile); + } + if (!interpreter) { + LOG(ERROR) << "Cannot create interpreter from " << inputFile; + exit(EXIT_FAILURE); } - interpreter = Interpreter::fromXML(ss.str()); - } else { - interpreter = Interpreter::fromURI(inputFile); - } - if (!interpreter) { - LOG(ERROR) << "Cannot create interpreter from " << inputFile; - exit(EXIT_FAILURE); - } - - if (toPromela) { - Interpreter flatInterpreter = ChartToFSM::flatten(interpreter); - if (outputFile.size() == 0 || outputFile == "-") { - FSMToPromela::writeProgram(std::cout, flatInterpreter); - } else { - std::ofstream outStream; - outStream.open(outputFile.c_str()); - FSMToPromela::writeProgram(outStream, flatInterpreter); - outStream.close(); + if (toPromela) { + Interpreter flatInterpreter = ChartToFSM::flatten(interpreter); + + if (outputFile.size() == 0 || outputFile == "-") { + FSMToPromela::writeProgram(std::cout, flatInterpreter); + } else { + std::ofstream outStream; + outStream.open(outputFile.c_str()); + FSMToPromela::writeProgram(outStream, flatInterpreter); + outStream.close(); + } + exit(EXIT_SUCCESS); } - exit(EXIT_SUCCESS); - } - if (toFlat) { - std::cout << ChartToFSM::flatten(interpreter).getDocument(); - exit(EXIT_SUCCESS); + if (toFlat) { + std::cout << ChartToFSM::flatten(interpreter).getDocument(); + exit(EXIT_SUCCESS); + } + } catch (Event e) { + std::cout << e << std::endl; } - return EXIT_SUCCESS; }
\ No newline at end of file |