示例#1
0
    void parse_options(const command_line_parser& parser)
    {
      super::parse_options(parser);

      m_rewrite = (parser.options.count("no-rewrite")==0);
      m_sumelm  = (parser.options.count("no-sumelm")==0);
      m_pretty = (parser.options.count("pretty")!=0);

      if (parser.options.count("end-phase")>0)
      {
        std::string phase = parser.option_argument("end-phase");

        if (std::strncmp(phase.c_str(), "pa", 3) == 0)
        {
          m_end_phase = PH_PARSE;
        }
        else if (std::strncmp(phase.c_str(), "tc", 3) == 0)
        {
          m_end_phase = PH_TYPE_CHECK;
        }
        else
        {
          throw parser.error("option -p has illegal argument '" + phase + "'");
        }
      }

      m_action_rename_filename = parser.option_argument("renamefile");
    }
示例#2
0
    void parse_options(const command_line_parser& parser)
    {
      using namespace mcrl2::lts;

      ltsinfo_base::parse_options(parser);

      if (0 < parser.arguments.size())
      {
        infilename = parser.arguments[0];
      }
      if (1 < parser.arguments.size())
      {
        throw parser.error("too many file arguments");
      }

      if (parser.options.count("in"))
      {
        if (1 < parser.options.count("in"))
        {
          throw parser.error("multiple input formats specified; can only use one");
        }

        intype = mcrl2::lts::detail::parse_format(parser.option_argument("in"));
        if (intype == lts_none || intype == lts_dot)
        {
          throw parser.error("option -i/--in has illegal argument '" +
                       parser.option_argument("in") + "'");
        }
      }
    }
示例#3
0
 void parse_options(const command_line_parser& parser)
 {
   super::parse_options(parser);
   if (parser.options.count("lps"))
   {
     lps_filename = parser.option_argument("lps");
   }
   if (parser.options.count("network"))
   {
     network_filename = parser.option_argument("network");
   }
 }
示例#4
0
    /// Parse the non-default options.
    void parse_options(const command_line_parser& parser)
    {
      super::parse_options(parser);

      std::string s = parser.option_argument("option1");
      std::cout << "option o: " << s << std::endl;

      int i = parser.option_argument_as<int>("option2");
      std::cout << "option i: " << i << std::endl;

      bool b = parser.option_argument_as<bool>("option3");
      std::cout << "option b: " << std::boolalpha << b << std::endl;

      bool a = parser.options.count("option4") > 0;
      std::cout << "option a: " << std::boolalpha << a << std::endl;

      if (0 < parser.arguments.size())
      {
        std::string s = parser.arguments[0];
        std::cout << "positional option 1: " << s << std::endl;
      }

      std::cout << "--- parser arguments ---" << std::endl;
      for (command_line_parser::option_map::const_iterator i = parser.options.begin(); i != parser.options.end(); ++i)
      {
        std::cout << i->first << " -> " << i->second << std::endl;
      }
    }
示例#5
0
 void parse_options(const command_line_parser& parser)
 {
   super::parse_options(parser);
   m_strategy = parser.option_argument_as<absinthe_strategy>("strategy");
   m_abstraction_file = parser.option_argument("abstraction-file");
   m_print_used_function_symbols = parser.options.count("used-function-symbols") > 0;
   m_enable_logging = parser.options.count("enable-logging") > 0;
 }
示例#6
0
 void parse_options(const command_line_parser& parser)
 {
   super::parse_options(parser);
   if (parser.options.count("formula"))
   {
     formula_filename = parser.option_argument("formula");
   }
   preprocess_modal_operators = parser.options.count("preprocess-modal-operators") > 0;
   structured  = parser.options.count("structured") > 0;
   timed       = parser.options.count("timed") > 0;
   unoptimized = parser.options.count("unoptimized") > 0;
 }