CN108874396A - The cross-compiler and Compilation Method of multi-platform multiple target language based on HLSL - Google Patents
The cross-compiler and Compilation Method of multi-platform multiple target language based on HLSL Download PDFInfo
- Publication number
- CN108874396A CN108874396A CN201810547153.6A CN201810547153A CN108874396A CN 108874396 A CN108874396 A CN 108874396A CN 201810547153 A CN201810547153 A CN 201810547153A CN 108874396 A CN108874396 A CN 108874396A
- Authority
- CN
- China
- Prior art keywords
- code
- hlsl
- platform
- multiple target
- target language
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
A kind of cross-compiler and Compilation Method of the multi-platform multiple target language based on HLSL, the compiler include:Code processor, lexical analyzer, syntax analyzer and code generator, wherein the code processor, for being pre-processed to HLSL code;The lexical analyzer generates mark for carrying out morphological analysis to pretreated HLSL code;The syntax analyzer constructs abstract syntax tree for carrying out syntactic analysis to the mark of generation;The code generator, for being generated and platform-independent intermediate code according to abstract syntax tree;And for intermediate code to be generated object language code.The cross-compiler and Compilation Method of multi-platform multiple target language based on HLSL of the invention, may be implemented the cross compile of multi-platform multiple target language.
Description
Technical field
The present invention relates to Shader Language technical fields, more particularly to a kind of multi-platform multiple target language based on HLSL
Cross-compiler and Compilation Method.
Background technique
Shader Language is a kind of development language for Programmable GPU pipeline, and the code that Shader Language is write can quilt
Shader compiler compiling becomes the instruction that GPU can be performed.At present common Shader Language have the HLSL for Direct3D,
For the GLSL of OpenGL, and for the MSL of Metal, grammer is incompatible from each other for these Shader Languages, and has
The respective compiler of platform alone.
With the development of technology, the especially rise of mobile platform, large-scale game engine require to support multi-platform, more
Graphic interface, in order to save development and maintenance cost, multi-platform general Shader Language becomes a common requirement.
Technical solution common at present has following three kinds:
1. encapsulating the difference between different Shader Languages using macrodefinition, the macro code write of this set is finally unfolded in each platform
For object language.The shortcomings that such scheme is that user is needed to be well understood by packed language difference, can just be write out just
True code.
2. developing a kind of newspeak, the language of cross compile to various target platforms usually also supports the figure based on node
Shape editing machine.The shortcomings that such scheme is heavy workload, and user is needed to learn a kind of newspeak or new edited work
Tool.
3. developer directly writes code using HLSL, using the compiler of Direct3D HLSL code compilation to DXBC
Bytecode, then convert from DXBC bytecode to other language.The shortcomings that such scheme is D3DCompiler only flat in Windows
Platform is available, other platforms need to call D3DCompiler using Wine, very inconvenient.
Summary of the invention
In order to solve the shortcomings of the prior art, it is multi-platform more based on HLSL that the purpose of the present invention is to provide a kind of
The cross compile of multi-platform multiple target language may be implemented in the cross-compiler and Compilation Method of object language.
To achieve the above object, the cross-compiler of the multi-platform multiple target language provided by the invention based on HLSL, packet
It includes:Code processor, lexical analyzer, syntax analyzer and code generator, wherein
The code processor, for being pre-processed to HLSL code;
The lexical analyzer generates mark for carrying out morphological analysis to pretreated HLSL code;
The syntax analyzer constructs abstract syntax tree for carrying out syntactic analysis to the mark of generation;
The code generator, for being generated and platform-independent intermediate code according to abstract syntax tree;And for will be intermediate
Code building object language code.
Further, the pretreated content includes:Expansion to reference document, the expansion to predefined macro remove
Annotation in code, and remove the dead code using macro control.
Further, the code generator further includes:Code optimizer is used to optimize intermediate code.
Further, the object language code contains reflective information, includes to tinter generation in the reflective information
The description of GPU resource situation is used in code.
Further, the graphic interface of the object language code and platform matches.
To achieve the above object, the cross compile method of the multi-platform multiple target language provided by the invention based on HLSL,
Include the following steps:
Write HLSL code;
HLSL code is pre-processed, morphological analysis, syntactic analysis, generation and platform-independent intermediate code, by intermediate generation
Code is converted into object language code;
Compiler target language code.
Further, the pretreated content includes:Expansion to reference document, the expansion to predefined macro remove
Annotation in code, and remove the dead code using macro control.
With platform-independent intermediate code, the step of intermediate code is converted into object language code, is further for the generation
Include the following steps:
Intermediate code is optimized.
Further, the object language code contains reflective information, includes to tinter generation in the reflective information
The description of GPU resource situation is used in code.
Further, the graphic interface of the object language code and platform matches.
The cross-compiler and Compilation Method of multi-platform multiple target language based on HLSL of the invention have beneficial below
Effect:
1)It is developed using HLSL, most of developer is familiar with, and can be multiplexed largely existing code and Open Source Code, drop
Low development cost;And it is functionally more perfect compared to GLSL.
2)It supports multi-platform, multiple target language, and can arbitrarily extend, add new object language.
3)It supports from intermediate code(IR)Reflective information is generated, developer can obtain tinter needs from reflective information
Resource and resource binding situation, developer be easier to setting GPU resource.
Other features and advantages of the present invention will be illustrated in the following description, also, partly becomes from specification
It obtains it is clear that understand through the implementation of the invention.
Detailed description of the invention
Attached drawing is used to provide further understanding of the present invention, and constitutes part of specification, and with it is of the invention
Embodiment together, is used to explain the present invention, and is not construed as limiting the invention.In the accompanying drawings:
Fig. 1 is the cross-compiler structural block diagram of the multi-platform multiple target language according to the present invention based on HLSL;
Fig. 2 is the cross compile method flow diagram of the multi-platform multiple target language according to the present invention based on HLSL.
Fig. 3 is according to the present invention by HLSL code conversion be object language code a kind of flow diagram.
Specific embodiment
Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings, it should be understood that preferred reality described herein
Apply example only for the purpose of illustrating and explaining the present invention and is not intended to limit the present invention.
Fig. 1 is the cross-compiler structural block diagram of the multi-platform multiple target language according to the present invention based on HLSL, such as Fig. 1
Shown, the cross-compiler 100 of the multi-platform multiple target language of the invention based on HLSL includes:Code processor 110, morphology
Analyzer 120, syntax analyzer 130 and code generator 140, wherein
Code processor 110, for being pre-processed to the HLSL code of input.Wherein, pretreated content includes:To reference
The expansion of file, the expansion to predefined macro, the annotation in removing codes, and remove the dead code using macro control.
Lexical analyzer 120, for carrying out morphological analysis to by pretreated HLSL code.Lexical analyzer 120
According to HLSL morphology specification rule predetermined, regular expression matching is carried out to the HLSL code that code processor 110 inputs,
Generate a series of marks(Token).Wherein, mark(Token)For language keyword, type, variable, the word in expression code
The information such as face constant and operator.For example, downstream code
float4 pos = matrix * input.pos;
Type float4 can be resolved to by lexical analyzer 120, variable pos, operator=, variable matrix, variable
Input, operator and variable pos, several token.
Preferably, lexical analyzer 120 is based on one group according to HLSL morphology specification rule predetermined, using Flex into
Row generates.
Syntax analyzer 130, for carrying out syntactic analysis to the mark of generation.Syntax analyzer 130 is according to HLSL grammer
Specification rule predetermined, the token inputted to lexical analyzer 120 are matched, and construct abstract syntax tree(AST).
Preferably, syntax analyzer 130 is based on one group according to HLSL syntax gauge rule predetermined, uses Bison
It is generated.
Code generator 140, for according to abstract syntax tree(AST)It generates and platform-independent intermediate code(IR,
intermediate representation);And it is used for intermediate code(IR)Generate object language code, as GLSL,
MSL etc..
Preferably, the generation of object language code uses visitor design pattern, and adding the new object language of one kind only needs
Adding the new visitor of one kind can realize.
It is highly preferred that reflective information can be generated, include pair in reflective information during generating object language code
The description of GPU resource situation, such as constant buffering are used in shader code(constant buffer)Structure, texture and
The information such as the register that sampler uses.Developer can obtain the resource and resource of tinter needs from reflective information
Binding situation, consequently facilitating developer be arranged GPU resource.
Preferably, code generator 140 further includes that code optimizer 141 is used for intermediate code(IR)It carries out excellent
Change.
The content of optimization includes:If is patrolled in expansion to inline code, the expansion to function call, the expansion to circulation
The simplification of judgement is collected, and removes the code that will not be run to(dead code)Deng.
The content of optimization further includes:Some optimizations to constant, for example, to it is some in code can be with the constant of definitive result
Carry out precomputation.For example, following two line code:
float a = 1.0;
float b = a + 0.5;
It will become following two line code by optimization:
float a = 1.0;
float b = 1.5;
Whether code generator 140 has code optimizer 141, be it is selectable, user can choose whether using code
Optimizer 141 optimizes.Certainly, it is optimized using code optimizer 141, compilation speed can be improved, and this is excellent
Change process can promote many performances to some older platforms.
Code generator 140 can be also used for the intermediate code that will optimize(IR)Object language code is generated, such as
GLSL, MSL etc..
Fig. 2 is the cross compile method flow diagram of the multi-platform multiple target language according to the present invention based on HLSL, below
Fig. 2 will be referred to, the cross compile method of the multi-platform multiple target language of the invention based on HLSL will be described in detail.
In step 210, HLSL code is write.
In the step, developer directly can write shader code using HLSL language.
In step 220, HLSL code is pre-processed, morphological analysis, syntactic analysis, is generated and platform-independent centre
Code(IR), by intermediate code(IR)It is converted into object language code, such as GLSL, MSL.
In the step, generate and platform-independent intermediate code(IR), by intermediate code(IR)It is converted into object language generation
The step of code, can also include step:It generates and platform-independent intermediate code(IR);To intermediate code(IR)It optimizes;
The intermediate code that will optimize(IR)It is converted into object language code, such as GLSL, MSL.
Preferably, HLSL code is pre-processed, morphological analysis, syntactic analysis, is generated and platform-independent intermediate generation
Code(IR), by intermediate code(IR)The step of being converted into object language code, as shown in figure 3, Fig. 3 is according to the present invention incites somebody to action
HLSL code conversion is a kind of flow diagram of object language code, is included the following steps:
In step 310, the HLSL code of input is pre-processed;Wherein, pretreated content includes:Exhibition to reference document
It opens, the expansion to predefined macro, the annotation in removing codes, and removes the dead code using macro control.
In step 320, morphological analysis is carried out to by pretreated HLSL code.
In the step, according to HLSL morphology specification rule predetermined, regular expressions are carried out to the HLSL code of input
Formula matching, generates a series of marks(Token).Wherein, mark(Token)For in expression code language keyword, type,
The information such as variable, literal constant and operator.For example, downstream code
float4 pos = matrix * input.pos;
It can be resolved to type float4, variable pos, operator=, variable matrix, variable i nput, operator, Yi Jibian
Measure pos, several token.
In the step, lexical analyzer can be generated using Flex, is held according to HLSL morphology specification rule predetermined
This step of row.
In step 330, syntactic analysis is carried out to the mark of generation.
In the step, according to HLSL syntax gauge rule predetermined, the token of input is matched, is constructed
Abstract syntax tree(AST).
In the step, can according to HLSL morphology specification rule predetermined, using Bison generative grammar analyzer,
Execute this step.
In step 340, according to abstract syntax tree(AST)It generates and platform-independent intermediate code(IR, intermediate
representation).
In step 350, to intermediate code(IR)It optimizes.
This step be can selection operation, user also can choose without optimization, but optimization compilation speed can be improved,
And this optimization process can promote many performances to some older platforms.
Wherein, the content of optimization includes:Expansion to inline code, the expansion to function call, the expansion to circulation are right
The simplification of if logic judgment, and remove the code that will not be run to(dead code)Deng.
The content of optimization further includes:Some optimizations to constant, for example, to it is some in code can be with the constant of definitive result
Carry out precomputation.For example, following two line code:
float a = 1.0;
float b = a + 0.5;
It will become following two line code by optimization:
float a = 1.0;
float b = 1.5;
In step 360, by intermediate code(IR)(It can be the IR optimized)Generate object language code, such as GLSL, MSL.
In the step, the generation of object language code uses visitor design pattern, adds a kind of new object language
Needing to add the new visitor of one kind can realize.
Preferably, during generating object language code, reflective information can be generated, include opposite in reflective information
The description of GPU resource situation, such as constant buffering are used in color device code(constant buffer)Structure, texture and adopt
The information such as the register that sample device uses.Developer can obtain the resource and resource of tinter needs from reflective information
Situation is bound, consequently facilitating GPU resource is arranged in developer.
In step 230, compiler target language code.
In the step, final compiling is carried out using object language code of the respective compiler of platform to generation.
Introduce the intersection of the multi-platform multiple target language the present invention is based on HLSL in detail below with reference to specific embodiment
The technical solution of Compilation Method.
The HLSL shader code that developer writes, to different platform, different graphic interfaces carries out different processing:
1)For using the platform of Direct3D, such as Windows, Windows Phone, directly compiled using D3DCompiler
Translate HLSL code.
2)For using the platform of OpenGL, such as Linux, Android, using of the invention based on the multi-platform of HLSL
HLSL code compilation is GLSL code, then is compiled by the shader compiler of OpenGL by the cross compile of multiple target language
It translates.
3)For using the platform of Metal, such as Mac, iOS, the multi-platform multiple target of the invention based on HLSL is used
HLSL code compilation is MSL code, then is compiled by Metal compiler by the cross compile of language.
4)For using the platform of Vulkan, such as Windows, Linux, Android, using of the invention based on HLSL
The cross compile of multi-platform multiple target language by HLSL code compilation be GLSL suitable for Vulkan, then by glslang work
Tool is compiled as Spir-V.
The cross-compiler and Compilation Method of multi-platform multiple target language based on HLSL of the invention have beneficial below
Effect:
1)It is developed using HLSL, most of developer is familiar with, and can be multiplexed largely existing code and Open Source Code, drop
Low development cost;And it is functionally more perfect compared to GLSL.
2)It supports multi-platform, multiple target language, and can arbitrarily extend, add new object language.
3)It supports from intermediate code(IR)Reflective information is generated, developer can obtain tinter needs from reflective information
Resource and resource binding situation, developer be easier to setting GPU resource.
Those of ordinary skill in the art will appreciate that:The foregoing is only a preferred embodiment of the present invention, and does not have to
In the limitation present invention, although the present invention is described in detail referring to the foregoing embodiments, for those skilled in the art
For, still can to foregoing embodiments record technical solution modify, or to part of technical characteristic into
Row equivalent replacement.All within the spirits and principles of the present invention, any modification, equivalent replacement, improvement and so on should all include
Within protection scope of the present invention.
Claims (10)
1. a kind of cross-compiler of the multi-platform multiple target language based on HLSL, which is characterized in that including:Code processor,
Lexical analyzer, syntax analyzer and code generator, wherein
The code processor, for being pre-processed to HLSL code;
The lexical analyzer generates mark for carrying out morphological analysis to pretreated HLSL code;
The syntax analyzer constructs abstract syntax tree for carrying out syntactic analysis to the mark of generation;
The code generator, for being generated and platform-independent intermediate code according to abstract syntax tree;And for will be intermediate
Code building object language code.
2. the cross-compiler of the multi-platform multiple target language according to claim 1 based on HLSL, which is characterized in that institute
Stating pretreated content includes:Expansion to reference document, the expansion to predefined macro, the annotation in removing codes, Yi Jiyi
Remove the dead code using macro control.
3. the cross-compiler of the multi-platform multiple target language according to claim 1 based on HLSL, which is characterized in that institute
Stating code generator further includes:Code optimizer is used to optimize intermediate code.
4. the cross-compiler of the multi-platform multiple target language according to claim 1 based on HLSL, which is characterized in that institute
State object language code and contain reflective information, include in the reflective information in shader code use GPU resource situation
Description.
5. the cross-compiler of the multi-platform multiple target language according to claim 1 based on HLSL, which is characterized in that institute
The graphic interface for stating object language code and platform matches.
6. a kind of cross compile method of the multi-platform multiple target language based on HLSL, which is characterized in that include the following steps:
Write HLSL code;
HLSL code is pre-processed, morphological analysis, syntactic analysis, generation and platform-independent intermediate code, by intermediate generation
Code is converted into object language code;
Compiler target language code.
7. the cross compile method of the multi-platform multiple target language according to claim 6 based on HLSL, which is characterized in that
The pretreated content includes:Expansion to reference document, the expansion to predefined macro, the annotation in removing codes, and
Remove the dead code using macro control.
8. the cross compile method of the multi-platform multiple target language according to claim 6 based on HLSL, which is characterized in that
With platform-independent intermediate code, the step of intermediate code is converted into object language code further comprises following for the generation
Step:
Intermediate code is optimized.
9. the cross compile method of the multi-platform multiple target language according to claim 6 based on HLSL, which is characterized in that
The object language code contains reflective information, include in the reflective information in shader code use GPU resource feelings
The description of condition.
10. the cross compile method of the multi-platform multiple target language according to claim 6 based on HLSL, feature exist
In the graphic interface of the object language code and platform matches.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810547153.6A CN108874396A (en) | 2018-05-31 | 2018-05-31 | The cross-compiler and Compilation Method of multi-platform multiple target language based on HLSL |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810547153.6A CN108874396A (en) | 2018-05-31 | 2018-05-31 | The cross-compiler and Compilation Method of multi-platform multiple target language based on HLSL |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108874396A true CN108874396A (en) | 2018-11-23 |
Family
ID=64336415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810547153.6A Withdrawn CN108874396A (en) | 2018-05-31 | 2018-05-31 | The cross-compiler and Compilation Method of multi-platform multiple target language based on HLSL |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108874396A (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109681A (en) * | 2019-05-08 | 2019-08-09 | 上海携程商务有限公司 | The conversion method and system of code between different platform |
CN110187885A (en) * | 2019-06-10 | 2019-08-30 | 合肥本源量子计算科技有限责任公司 | A kind of the intermediate code generation method and device of the compiling of quantum program |
CN110471666A (en) * | 2019-07-18 | 2019-11-19 | 五八有限公司 | Code automatic switching method and device, code converter and medium |
CN110865815A (en) * | 2019-11-12 | 2020-03-06 | 广州泳泳信息科技有限公司 | Many-platform compiling and publishing system and method for shader language |
CN110908867A (en) * | 2019-11-21 | 2020-03-24 | 北京字节跳动网络技术有限公司 | Task completion judgment method and device, storage medium and electronic equipment |
CN111367528A (en) * | 2020-02-27 | 2020-07-03 | 王建 | Compiling method and device of software development kit, software development system and server |
CN111381817A (en) * | 2020-03-25 | 2020-07-07 | 北京字节跳动网络技术有限公司 | Method, device, medium and electronic equipment for realizing cross-platform multi-language development |
CN111796867A (en) * | 2019-07-11 | 2020-10-20 | 厦门雅基软件有限公司 | Shader conversion method and device and electronic equipment |
CN111813381A (en) * | 2020-06-22 | 2020-10-23 | 北京字节跳动网络技术有限公司 | Method, device, medium and electronic equipment for generating executable program in cross-platform mode |
CN111813380A (en) * | 2019-04-29 | 2020-10-23 | 厦门雅基软件有限公司 | Coloring data processing method and device based on game engine and electronic equipment |
CN113703779A (en) * | 2021-09-06 | 2021-11-26 | 武汉市字节码科技有限公司 | Cross-platform multi-language compiling method and ultra-light Internet of things virtual machine |
CN114077433A (en) * | 2021-11-18 | 2022-02-22 | 大连东软信息学院 | Cross-platform modular shader language general integration method |
CN116301906A (en) * | 2023-05-22 | 2023-06-23 | 安徽华可智能科技有限公司 | Modularized C language universal compiler |
CN116661800A (en) * | 2023-06-06 | 2023-08-29 | 广州正是网络科技有限公司 | Shader cross compiling method, system and storage medium based on HLSL language |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101017458A (en) * | 2007-03-02 | 2007-08-15 | 北京邮电大学 | Software safety code analyzer based on static analysis of source code and testing method therefor |
CN101533454A (en) * | 2009-04-14 | 2009-09-16 | 北京飞天诚信科技有限公司 | Compiling method and compiler |
CN101894236A (en) * | 2010-07-28 | 2010-11-24 | 北京华夏信安科技有限公司 | Software homology detection method and device based on abstract syntax tree and semantic matching |
CN102077251A (en) * | 2008-06-27 | 2011-05-25 | 微软公司 | Shader interfaces |
WO2012083266A2 (en) * | 2010-12-17 | 2012-06-21 | Microsoft Corporation | Fusing debug information from different compiler stages |
-
2018
- 2018-05-31 CN CN201810547153.6A patent/CN108874396A/en not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101017458A (en) * | 2007-03-02 | 2007-08-15 | 北京邮电大学 | Software safety code analyzer based on static analysis of source code and testing method therefor |
CN102077251A (en) * | 2008-06-27 | 2011-05-25 | 微软公司 | Shader interfaces |
CN101533454A (en) * | 2009-04-14 | 2009-09-16 | 北京飞天诚信科技有限公司 | Compiling method and compiler |
CN101894236A (en) * | 2010-07-28 | 2010-11-24 | 北京华夏信安科技有限公司 | Software homology detection method and device based on abstract syntax tree and semantic matching |
WO2012083266A2 (en) * | 2010-12-17 | 2012-06-21 | Microsoft Corporation | Fusing debug information from different compiler stages |
CN102637136A (en) * | 2010-12-17 | 2012-08-15 | 微软公司 | Fusing debug information from different compiler stages |
Non-Patent Citations (2)
Title |
---|
WEIXIN_30639719: "UE4--图像编程----着色器开发----HLSL 交叉编译器", 《CSDN: HTTPS://BLOG.CSDN.NET/WEIXIN_30639719/ARTICLE/DETAILS/96033062》 * |
陈朔鹰等著: "《C语言程序设计基础教程》", 30 September 1994, 北京:兵器工业出版社 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813380A (en) * | 2019-04-29 | 2020-10-23 | 厦门雅基软件有限公司 | Coloring data processing method and device based on game engine and electronic equipment |
CN111813380B (en) * | 2019-04-29 | 2022-11-08 | 厦门雅基软件有限公司 | Coloring data processing method and device based on game engine and electronic equipment |
CN110109681A (en) * | 2019-05-08 | 2019-08-09 | 上海携程商务有限公司 | The conversion method and system of code between different platform |
CN110109681B (en) * | 2019-05-08 | 2023-06-09 | 上海携程商务有限公司 | Method and system for converting codes between different platforms |
CN110187885A (en) * | 2019-06-10 | 2019-08-30 | 合肥本源量子计算科技有限责任公司 | A kind of the intermediate code generation method and device of the compiling of quantum program |
CN111796867A (en) * | 2019-07-11 | 2020-10-20 | 厦门雅基软件有限公司 | Shader conversion method and device and electronic equipment |
CN110471666A (en) * | 2019-07-18 | 2019-11-19 | 五八有限公司 | Code automatic switching method and device, code converter and medium |
CN110865815A (en) * | 2019-11-12 | 2020-03-06 | 广州泳泳信息科技有限公司 | Many-platform compiling and publishing system and method for shader language |
CN110908867A (en) * | 2019-11-21 | 2020-03-24 | 北京字节跳动网络技术有限公司 | Task completion judgment method and device, storage medium and electronic equipment |
CN110908867B (en) * | 2019-11-21 | 2024-05-10 | 北京字节跳动网络技术有限公司 | Task completion judging method and device, storage medium and electronic equipment |
CN111367528A (en) * | 2020-02-27 | 2020-07-03 | 王建 | Compiling method and device of software development kit, software development system and server |
CN111381817A (en) * | 2020-03-25 | 2020-07-07 | 北京字节跳动网络技术有限公司 | Method, device, medium and electronic equipment for realizing cross-platform multi-language development |
CN111813381A (en) * | 2020-06-22 | 2020-10-23 | 北京字节跳动网络技术有限公司 | Method, device, medium and electronic equipment for generating executable program in cross-platform mode |
CN113703779A (en) * | 2021-09-06 | 2021-11-26 | 武汉市字节码科技有限公司 | Cross-platform multi-language compiling method and ultra-light Internet of things virtual machine |
CN113703779B (en) * | 2021-09-06 | 2024-04-16 | 王喆 | Cross-platform multi-language compiling method and ultra-light Internet of things virtual machine |
CN114077433A (en) * | 2021-11-18 | 2022-02-22 | 大连东软信息学院 | Cross-platform modular shader language general integration method |
CN114077433B (en) * | 2021-11-18 | 2024-05-03 | 大连东软信息学院 | Cross-platform modularized shader language universal integration method |
CN116301906A (en) * | 2023-05-22 | 2023-06-23 | 安徽华可智能科技有限公司 | Modularized C language universal compiler |
CN116661800A (en) * | 2023-06-06 | 2023-08-29 | 广州正是网络科技有限公司 | Shader cross compiling method, system and storage medium based on HLSL language |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874396A (en) | The cross-compiler and Compilation Method of multi-platform multiple target language based on HLSL | |
Anand et al. | CertiCoq: A verified compiler for Coq | |
CN110825384A (en) | ST language compiling method, system and compiler based on LLVM | |
US6874140B1 (en) | Debug annotations | |
US8850414B2 (en) | Direct access of language metadata | |
JPH08202545A (en) | Object-oriented system and method for generation of target language code | |
Hong et al. | The application guide of mixed programming between MATLAB and other programming languages | |
CA2249042A1 (en) | Method for generating a java bytecode data flow graph | |
CN102830975A (en) | Method and device for code conversion from assembly language to high-level language | |
CN101344855A (en) | Control method and apparatus based on specific object in compiled tracing code | |
CN109799971A (en) | A kind of file creating apparatus and method | |
CN112379917A (en) | Browser compatibility improving method, device, equipment and storage medium | |
CN105302719A (en) | Mutation test method and apparatus | |
CN102289362A (en) | Segmented symbolic execution device and working method thereof | |
Appel et al. | The Zephyr compiler infrastructure | |
Fischer et al. | Abstract syntax trees-and their role in model driven software development | |
US7117490B2 (en) | Method and apparatus for doing program analysis | |
US20150020051A1 (en) | Method and apparatus for automated conversion of software applications | |
CN102541614A (en) | Code analysis-based method for automatically analyzing input-output data of calculation module | |
Zhao et al. | Deepdsl: A compilation-based domain-specific language for deep learning | |
Clement et al. | Flacc: Towards OpenACC support for Fortran in the LLVM Ecosystem | |
CN107203406A (en) | A kind of processing method of Based on Distributed storage organization | |
Chen et al. | A Conversion Framework of the Continuous Modeling Languages Based on ANTLR4 | |
CN108492168A (en) | Property tax industry audit emulation mode | |
Boyland et al. | Attributed transformational code generation for dynamic compilers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20181123 |