[发明专利]基于HLSL的多平台多目标语言的交叉编译器及编译方法在审
| 申请号: | 201810547153.6 | 申请日: | 2018-05-31 |
| 公开(公告)号: | CN108874396A | 公开(公告)日: | 2018-11-23 |
| 发明(设计)人: | 翟佳龙 | 申请(专利权)人: | 苏州蜗牛数字科技股份有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 北京德崇智捷知识产权代理有限公司 11467 | 代理人: | 王金双 |
| 地址: | 215000 江苏省*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 多目标 多平台 交叉编译器 编译 预处理 抽象语法树 词法分析器 代码处理器 代码生成器 语法分析器 中间代码 语言 目标语言代码 词法分析 交叉编译 平台无关 语法分析 编译器 构建 | ||
1.一种基于HLSL的多平台多目标语言的交叉编译器,其特征在于,包括:代码处理器、词法分析器、语法分析器和代码生成器,其中,
所述代码处理器,用于对HLSL代码进行预处理;
所述词法分析器,用于对预处理后的HLSL代码进行词法分析,生成记号;
所述语法分析器,用于对生成的记号进行语法分析,构建出抽象语法树;
所述代码生成器,用于根据抽象语法树生成与平台无关的中间代码;以及用于将中间代码生成目标语言代码。
2.根据权利要求1所述的基于HLSL的多平台多目标语言的交叉编译器,其特征在于,所述预处理的内容包括:对引用文件的展开,对预定义宏的展开,移除代码中的注释,以及移除掉使用宏控制的无用代码。
3.根据权利要求1所述的基于HLSL的多平台多目标语言的交叉编译器,其特征在于,所述代码生成器还包括:代码优化器,其用于对中间代码进行优化。
4.根据权利要求1所述的基于HLSL的多平台多目标语言的交叉编译器,其特征在于,所述目标语言代码含有反射信息,所述反射信息中包含着对着色器代码中使用GPU资源情况的描述。
5.根据权利要求1所述的基于HLSL的多平台多目标语言的交叉编译器,其特征在于,所述目标语言代码与平台的图形接口相匹配。
6.一种基于HLSL的多平台多目标语言的交叉编译方法,其特征在于,包括以下步骤:
编写HLSL代码;
对HLSL代码进行预处理,词法分析,语法分析,生成与平台无关的中间代码,将中间代码转换成目标语言代码;
编译目标语言代码。
7.根据权利要求6所述的基于HLSL的多平台多目标语言的交叉编译方法,其特征在于,所述预处理的内容包括:对引用文件的展开,对预定义宏的展开,移除代码中的注释,以及移除掉使用宏控制的无用代码。
8.根据权利要求6所述的基于HLSL的多平台多目标语言的交叉编译方法,其特征在于,所述生成与平台无关的中间代码,将中间代码转换成目标语言代码的步骤进一步包括以下步骤:
对中间代码进行优化。
9.根据权利要求6所述的基于HLSL的多平台多目标语言的交叉编译方法,其特征在于,所述目标语言代码含有反射信息,所述反射信息中包含着对着色器代码中使用GPU资源情况的描述。
10.根据权利要求6所述的基于HLSL的多平台多目标语言的交叉编译方法,其特征在于,所述目标语言代码与平台的图形接口相匹配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州蜗牛数字科技股份有限公司,未经苏州蜗牛数字科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810547153.6/1.html,转载请声明来源钻瓜专利网。





