节点文献

基于C语言实现的IDL编译器

An IDL Compiler Designed and Implemented by C Language

  • 推荐 CAJ下载
  • PDF下载
  • 不支持迅雷等下载工具,请取消加速工具后下载。

【作者】 李颖胡明

【Author】 LI Ying,HU Ming(School of Communication & Information Engineering,UESTC,Chengdu 611731,China)

【机构】 电子科技大学通信与信息工程学院

【摘要】 对象管理组织指定的CORBA规范是分布式对象计算的中间件标准,它允许透明地访问远程对象,同时支持异构系统的互操作,其中,IDL编译器是分布式计算环境的基本开发工具。为了开发出具有高效性和可维护性的IDL编译器,文中首先提出了用C语言设计实现的IDL编译器三模块设计模式,然后讨论了IDL编译器在实现过程中所涉及到的数据结构、顶层接口、函数执行流程等,最后对文中实现的IDL编译器进行了测试。结果表明,文中设计实现的IDL编译器能成功地完成IDL到C++的转换;极大地缩减开源CORBA产品ACE/TAO(TAO:The ACE ORB)使用的IDL编译器TAO_idl编译出来的桩和框架的大小;当给常量进行赋值时,如果它们都属于数值型或者字符型,而赋值运算符两边的类型不一致时,文中设计实现的IDL编译器能极好地改善TAO_idl,在赋值时进行类型转换的问题。

【Abstract】 The CORBA specification,which is standardized by the Object Management Group(OMG),is a middleware standard for distributed object computing.It allows transparently access to remote objects and supports the interoperability of heterogeneous systems.And IDL compiler is a basic development tools for the distributed computing environments.In order to develop a high-efficiency and maintainable IDL compiler,firstly,explore a three-module development model of IDL compiler.Then it discusses some technical problems such as data structures,top-level interface and some function execution flow chart in the process of design and implementation of the compiler.At last,carry out tests.The results show that the IDL compiler designed and implemented by C can translate IDL to C++ successfully,and it can reduce the size of stub and skeleton which were produced by TAO’s IDL compiler.And also when it comes to assign a value to a constant variable,the IDL compiler implemented can improve the type conversion problem of TAO’s IDL compiler,when two sides of the assignment operator are not the same type but both of them are numeric or character type.

【关键词】 CORBA接口定义语言IDL编译器C语言
【Key words】 CORBAIDLIDL compilerClanguage
【基金】 中央高校基金(ZYGX2010J012)
  • 【文献出处】 计算机技术与发展 ,Computer Technology and Development , 编辑部邮箱 ,2013年03期
  • 【分类号】TP314
  • 【被引频次】13
  • 【下载频次】189
节点文献中: 

本文链接的文献网络图示:

本文的引文网络