[发明专利]编解码器生成装置及方法在审
申请号: | 201310698083.1 | 申请日: | 2013-12-18 |
公开(公告)号: | CN103677952A | 公开(公告)日: | 2014-03-26 |
发明(设计)人: | 李同军 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编解码器 生成 装置 方法 | ||
本发明实施例提供一种编解码器生成装置及方法。该方法包括:将数据格式类描述文件的字符序列解析为多个单词符号;根据语法规则对所述多个单词符号进行语法分析,生成语法树;遍历所述语法树的各节点,创建与所述各节点对应的子编解码器单元,将各所述子编解码器单元串成与所述语法树对应的编解码器对象树;其中,各所述子编解码器单元包括组合类型的编解码器单元或简单类型的编解码器单元,所述组合类型的编解码器单元位于所述编解码器对象树的分支节点或根节点,所述简单类型的编解码器单元位于所述编解码器对象树的叶子节点,所述编解码器对象树的根节点的编解码接口为所述编解码器的编解码入口。
技术领域
本发明实施例涉及通信技术,尤其涉及一种编解码器生成装置及方法。
背景技术
抽象语法标记(Abstract Syntax Notation One,简称ASN.1)是一种国际标准,描述了一种对数据进行表示、编码、传输和解码的数据格式。在任何需要以数字方式发送信息的地方,都可以基于ASN.1发送各种形式的信息(声频、视频、数据等等)。
现有技术中,ASN.1编解码器主要以插件的形式实现。具体地,先编写ASN.1文件,再用对应的代码自动生成工具将该ASN.1文件转化为C或C++或java源文件,最后将源文件编译成动态链接库或jar包,该动态链接库或jar包以插件的形式存在,并供应用程序调用。
然而,在制作插件的过程中,需要将ASN.1文件转化为C或C++或java源文件,再进行编译,这种以插件形式存在的编解码器的制作过程比较复杂和繁琐。
发明内容
本发明实施例提供一种编解码器生成装置及方法,以简化编解码器的制作过程。
第一方面,本发明实施例提供一种编解码器生成装置,包括:
词法分析模块,用于将数据格式类描述文件的字符序列解析为多个单词符号;
语法分析模块,用于根据语法规则对所述多个单词符号进行语法分析,生成语法树;
语法树遍历模块,用于遍历所述语法树的各节点,创建与所述各节点对应的子编解码器单元,将各所述子编解码器单元串成与所述语法树对应的编解码器对象树;
其中,各所述子编解码器单元包括组合类型的编解码器单元或简单类型的编解码器单元,所述组合类型的编解码器单元位于所述编解码器对象树的分支节点或根节点,所述简单类型的编解码器单元位于所述编解码器对象树的叶子节点,所述编解码器对象树的根节点的编解码接口为所述编解码器的编解码入口。
结合第一方面,在第一方面的第一种可能的实现方式中,所述语法分析模块具体用于:
根据语法规则对所述多个单词符号进行语法分析,生成语法树,并确定所述语法树各节点的属性信息以及所述语法树的嵌套结构;
所述语法树遍历模块具体用于:
遍历所述语法树的各节点,根据各节点的属性信息,创建与所述各节点对应的子编解码器,并根据所述语法树的嵌套结构,将各所述子编解码器单元串成与所述语法树对应的编解码器对象树,并将所述编解码器对象树存储在内存中。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述装置还包括:
编解码库,用于向各所述子编解码器单元提供无状态编解码工具函数,以使各所述子编解码器单元对所述无状态编解码工具函数进行调用。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述装置还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310698083.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种醋酸乙酯废气回收利用系统
- 下一篇:一种陈醋