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 PDF

Info

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
Application number
CN201810547153.6A
Other languages
Chinese (zh)
Inventor
翟佳龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Snail Digital Technology Co Ltd
Original Assignee
Suzhou Snail Digital Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Snail Digital Technology Co Ltd filed Critical Suzhou Snail Digital Technology Co Ltd
Priority to CN201810547153.6A priority Critical patent/CN108874396A/en
Publication of CN108874396A publication Critical patent/CN108874396A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic 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

The cross-compiler and Compilation Method of multi-platform multiple target language based on HLSL
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.
CN201810547153.6A 2018-05-31 2018-05-31 The cross-compiler and Compilation Method of multi-platform multiple target language based on HLSL Withdrawn CN108874396A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
WEIXIN_30639719: "UE4--图像编程----着色器开发----HLSL 交叉编译器", 《CSDN: HTTPS://BLOG.CSDN.NET/WEIXIN_30639719/ARTICLE/DETAILS/96033062》 *
陈朔鹰等著: "《C语言程序设计基础教程》", 30 September 1994, 北京:兵器工业出版社 *

Cited By (19)

* Cited by examiner, † Cited by third party
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