非常简单的omg idl(接口定义语言)解析器。这将解析idl文件并输出中间类对象。

idl_parser的Python项目详细描述


Travis Build StatusCoverage Status

说明

omg idl文件分析器。这个库只解析idl文件,并输出中间类型对象。

示例

"""
example for idl_parser package
"""fromidl_parserimportparserparser_=parser.IDLParser()idl_str="""
module my_module {
  struct Time {
    long sec;
    long usec;
  };

  typedef sequence<double> DoubleSeq;

  struct TimedDoubleSeq {
    Time tm;
    DoubleSeq data;
  };

  enum RETURN_VALUE {
    RETURN_OK,
    RETURN_FAILED,
  };

  interface DataGetter {
    RETURN_VALUE getData(out TimedDoubleSeq data);
  };

};
"""global_module=parser_.load(idl_str)my_module=global_module.module_by_name('my_module')dataGetter=my_module.interface_by_name('DataGetter')print'DataGetter interface'formindataGetter.methods:print'- method:'print'  name:',m.nameprint'  returns:',m.returns.nameprint'  arguments:'forainm.arguments:print'    name:',a.nameprint'    type:',a.typeprint'    direction:',a.directiondoubleSeq=my_module.typedef_by_name('DoubleSeq')print'typedef %s%s'%(doubleSeq.type.name,doubleSeq.name)timedDoubleSeq=my_module.struct_by_name('TimedDoubleSeq')print'TimedDoubleSeq'formintimedDoubleSeq.members:print'- member:'print'  name:',m.nameprint'  type:',m.type.name

如何安装

sudo pip install idl_parser

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX 11可编辑组合框引发IndexOutOfBoundsException   java选择数组中的数组元素   java我从来没有找到创建2D ArrayList的正确方法   java JPA查找orderById的顶部数据,并按字符串过滤Id   使用java在ejabberd中进行xmpp外部身份验证   从ajax调用向java传递点运算符   java如何使用ReadWriteLock   使用Spring控制器和jQueryAjax的java重定向   java使JFrame中的JPanel可滚动   java如何用多个。jar库?   java EditText在RecyclerView中失去了对滚动的关注   java为什么我们必须扩展Servlet或GenericServlet或HttpServlet来创建Servlet应用程序?如果不扩展,我们可以开发Servlet应用程序吗?   使用递归java查找数组中的最大值   具有不同字段数的html表单的java域传输对象   java文本视图扩展;不支持操作异常   java如何使用iText的HTMLWorker类将多语言HTML字符串呈现为PDF