summaryrefslogtreecommitdiffstats
path: root/apps/uscxml-transform.cpp
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-07-21 11:34:44 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-07-21 11:34:44 (GMT)
commitdc5f5ddfa10bf91524e6f7555c263eaea069dcb0 (patch)
tree576b15e7fe75476e8ece954b52aa88871941beb5 /apps/uscxml-transform.cpp
parent641117e7400e9e5ef0fa451f732eb9009f0914cb (diff)
downloaduscxml-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.cpp63
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