+
+ const char* const pszFunction = fileBasename (argv[0]);
+
+ try {
+ if (strcasecmp (pszFunction, "if1") == 0)
+ return if1_main (argc, argv);
+ else if (strcasecmp (pszFunction, "if2") == 0)
+ return if2_main (argc, argv);
+ else if (strcasecmp (pszFunction, "ifexport") == 0)
+ return ifexport_main (argc, argv);
+ else if (strcasecmp (pszFunction, "ifinfo") == 0)
+ return ifinfo_main (argc, argv);
+ else if (strcasecmp (pszFunction, "phm2if") == 0)
+ return phm2if_main (argc, argv);
+ else if (strcasecmp (pszFunction, "phm2pj") == 0)
+ return phm2pj_main (argc, argv);
+ else if (strcasecmp (pszFunction, "phm2helix") == 0)
+ return phm2helix_main (argc, argv);
+ else if (strcasecmp (pszFunction, "pjHinterp") == 0)
+ return pjHinterp_main (argc, argv);
+ else if (strcasecmp (pszFunction, "pj2if") == 0)
+ return pj2if_main (argc, argv);
+ else if (strcasecmp (pszFunction, "pjinfo") == 0)
+ return pjinfo_main (argc, argv);
+ else if (strcasecmp (pszFunction, "pjrec") == 0)
+ return pjrec_main (argc, argv);
+ else if (strcasecmp (pszFunction, "linogram") == 0)
+ return linogram_main (argc, argv);
+ else {
+ std::cout << "Unknown function name: " << pszFunction << "\n";
+ if (s_bInteractive)
+ interactive_usage();
+ else
+ ctsimtext_usage (s_szProgramName);
+ return 1;
+ }
+ } catch (std::exception e) {
+ std::cerr << "Exception: " << e.what() << std::endl;
+ } catch (...) {
+ std::cerr << "Unknown exception caught\n";