CN111221519B - Python-based CLI automatic export method - Google Patents

Python-based CLI automatic export method Download PDF

Info

Publication number
CN111221519B
CN111221519B CN201911102677.5A CN201911102677A CN111221519B CN 111221519 B CN111221519 B CN 111221519B CN 201911102677 A CN201911102677 A CN 201911102677A CN 111221519 B CN111221519 B CN 111221519B
Authority
CN
China
Prior art keywords
field
class
template
information
native
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.)
Active
Application number
CN201911102677.5A
Other languages
Chinese (zh)
Other versions
CN111221519A (en
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.)
Guangzhou Yinhan Technology Co ltd
Original Assignee
Guangzhou Yinhan 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 Guangzhou Yinhan Technology Co ltd filed Critical Guangzhou Yinhan Technology Co ltd
Priority to CN201911102677.5A priority Critical patent/CN111221519B/en
Publication of CN111221519A publication Critical patent/CN111221519A/en
Application granted granted Critical
Publication of CN111221519B publication Critical patent/CN111221519B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

The invention discloses a CLI automatic exporting method based on Python, which adopts a method of Class in C + +, firstly, when needing to export Class information, field description needed to be exported needs to be defined firstly, and the structure of the information is defined as follows: whether the structure is a generic template, whether the template is a name of a name field, whether the field is a field data group information list, whether the field is a public field group list, whether the field is an attribute field list, whether the Enum defines a list, whether the name field is a public method list, whether the structure is a virtual base class or not, and whether the name field is a type alias defines; then processing CxCursor grammar object with the type of CLASS _ DECL, and the specific method comprises the following steps: and recursively traversing the nodes of which the types are CLASS _ DECL, and when meeting a grammar object meeting the requirement, performing information analysis processing on the C + + source code by a preset flow. The invention realizes an automatic binding code generation scheme from C + + to C #, which comprises function export and class definition export of C + +, and generated packaging codes called by CLI.

Description

Python-based CLI automatic export method
Technical Field
The invention relates to the technical field of computer game development, in particular to a CLI automatic exporting method based on Python.
Background
There are two methods for deriving CLI in the prior art:
1. using C + +/CLI as a proxy middle layer;
2. direct calls are implemented using PInvoke.
The first method comprises the following steps: the implementation is simple and intuitive, the class written by C + + can be called by C #, but the class can only be called by C + +/CLI, so that the cross-platform operation without Microsoft NET Framework can not be realized, and the implementation scheme can only be used in Windows platforms, particularly occasions where the use needs to be seen, and is feasible when the cross-platform is not considered.
The second method comprises the following steps: simple implementation is not troublesome, a function of C/C + + can be imported only by adding the DllImportAttribute characteristic, but the problem is that the Pinvoke cannot simply implement calling on the C + + class.
The related technical schemes used in domestic commercial products are basically the two, and the implementation method is a manual one-by-one writing interface export method or a code implementation class of a CLI. The defects are that the workload is large, the modification and maintenance cost is high, and a large amount of labor is needed.
Disclosure of Invention
The invention aims to provide a CLI automatic exporting method based on Python to solve the problems.
In order to achieve the above object, the present invention provides a CLI automated export method based on Python, which includes:
the method comprises the following steps:
by adopting the method of Class in C + +, firstly, when the Class information needs to be exported, the field description needed to be exported needs to be defined first, and the structure of the information is defined as follows: whether the structure is a generic template, whether the template is a name of a name field, whether the field is a field data group information list, whether the field is a public field group list, whether the field is an attribute field list, whether the Enum defines a list, whether the name field is a public method list, whether the structure is a virtual base class or not, and whether the name field is a type alias defines;
then processing CxCursor grammar object with the type of CLASS _ DECL, and the specific method comprises the following steps: and recursively traversing the nodes of which the types are CLASS _ DECL, and when meeting a grammar object meeting the requirement, performing information analysis processing on the C + + source code by a preset flow.
Further, the process is as follows:
step a1, acquiring current CxCursor, acquiring parent class information, judging whether derivation is needed, if so, deriving the parent class, and if not, skipping to step a 3;
step a2, acquiring the next CxCursor;
step a3, judging whether the child children are of the public Class/Struck, if so, traversing all types of child children, collecting Class information, repeating the collection traversal process, and jumping to the step a 2; if not, jumping to the step a 4;
step a4, judging whether the information is public typedef, if yes, collecting typedef information, if no, skipping to step a 5;
step a5, judging whether the field definition is public, if yes, generating a Navtive field, and jumping to step a2, if no, jumping to step a 6;
step a6, judging whether the Enum is public, if so, generating NavtiveEnum, skipping to step a2, and if not, skipping to step a 7;
step a7, judging whether the method is a public method, if so, generating native function, judging whether the method is a static method, if so, saving the method in a static method dictionary, skipping to step a2, if not, saving the method in a common method dictionary, and skipping to step a 2; if not, jumping to step a 8;
step a8, judging whether the structure function is a structure function, if so, generating a native function object, setting the native function object as a structure function type, reloading the structure function, storing the structure function into a structure function chain table, and jumping to the step a 2; if not, jumping to the step a 9;
at step a9, the current process is complete and jumps to step a 2.
Further, comprising: and exporting a method for exporting the Class, Enum, Field and Function in C + +, analyzing the semantics of the source code through the realized exporting of the common language type, acquiring the implementation detail information of the source code, and providing an important data source for generating the CLI source code through a template mapping method in the next step.
Further, comprising: in the method for exporting the Enum in the C + +, when CxCurso which is the Enum is detected, all child children are traversed, a dictionary for mapping the name to the field value is established, and the native Num class is stored.
Further, comprising: the method for exporting Field in C + + collects the following information when detecting the type is FIELD _ DECL: and acquiring a name, defining a type, judging whether the name is a constant or not, and storing a Navtive field class.
Further, comprising: METHOD of deriving a Function in C + +, when a type of CXX _ METHOD is detected, the following information is collected: whether a static function is available or not, whether a virtual function is available or not, a parameter list, return value information and default parameter value information are stored in a native function class.
Further, a Cheetah library is used as a template library for source code generation, and CLI source code generation is decomposed into: the method comprises the steps of generating a head part, generating a main body code of a corresponding type, generating a tail part to generate target codes step by step, and generating in a sectional mode, and is simultaneously suitable for generating a head file and a source file.
Further, the template of the Enum comprises a namespace declaration part, a type name application part and a value definition part, and declaration is finished;
and Field, the export of the template is directed to the generation of the attribute code to be used in C #, and the template comprises a ComponentModel definition Field and declares that the get ()/set () method is implemented.
Function, its templates are: return value, name, parameter list;
and Class, wherein the template of the Class comprises ComponentModel definition Field information and Class name definition of the Class, template calling for Enum declaration is generated, template calling for embedded Class declaration is generated, template calling for typedef declaration is generated, template calling for Field is generated, template calling for Function is generated, template calling for attribute is generated, and Class template declaration is ended.
Further, parsing the language class
native_class.py,
tive_enum.py,native_field.py,native_function.py,native_type.py,
Calling from native _ class
native_enum.py,native_field.py,native_function.py,native_type.py。
Further, Clang, a LibClang interface library of Python version, is a front-end implementation of LLVM, and currently, Microsoft Visual Studio compiler supports Clang to compile source code of C/C + + language family. The Clang front end development group of LLVM provides an interface library of Python.
Compared with the prior art, the CLI automatic exporting method based on Python provided by the invention has the following advantages: the invention realizes an automatic binding code generation scheme from C + + to C #, which comprises function export and class definition export of C + +, and generated packaging codes called by CLI.
Furthermore, the Python is innovatively used as a tool development language, the development and maintenance cost is low, and the implementation scheme is simple.
Furthermore, the invention firstly exports the source code to be exported into type information and the like from the lexical analysis and grammar analysis results by virtue of an LLVM compiling library, then uses a pre-defined template according to the type information, and generates a library by virtue of the template, thereby automatically generating the customized target language code in batch.
Furthermore, the method is suitable for large-scale engineering projects, the dependence of the header files of the large-scale projects is complex, library files needing to be used can be automatically analyzed by means of the libClang very convenient search dependence relationship, additional dependence is added, and the workload during pure manual coding can be remarkably reduced.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
FIG. 1 shows a semantic extraction analysis process of a Class in a C + + source code of a CLI automated export method based on Python according to an embodiment of the present invention;
FIG. 2 is a C + + parser relationship diagram provided in the first embodiment of the present invention;
FIG. 3 is a derived template of Enum according to a first embodiment of the present invention;
FIG. 4 is a first embodiment of the present invention, which provides a derived template for Field;
FIG. 5 is a diagram illustrating a derived template of Function according to a first embodiment of the present invention;
fig. 6 is a derivation template of SubClass according to the first embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1, it is shown a semantic extraction analysis process of a Class in a C + + source code of a CLI automated export method based on Python according to an embodiment of the present invention, and the process is as follows:
step a1, acquiring current CxCursor, acquiring parent class information, judging whether derivation is needed, if so, deriving the parent class, and if not, skipping to step a 3;
step a2, acquiring the next CxCursor;
step a3, judging whether the child children are of the public Class/Struck, if so, traversing all types of child children, collecting Class information, repeating the collection traversal process, and jumping to the step a 2; if not, jumping to the step a 4;
step a4, judging whether the information is public typedef, if yes, collecting typedef information, if no, skipping to step a 5;
step a5, judging whether the field definition is public, if yes, generating a Navtive field, and jumping to step a2, if no, jumping to step a 6;
step a6, judging whether the Enum is public, if so, generating NavtiveEnum, skipping to step a2, and if not, skipping to step a 7;
step a7, judging whether the method is a public method, if so, generating native function, judging whether the method is a static method, if so, saving the method in a static method dictionary, skipping to step a2, if not, saving the method in a common method dictionary, and skipping to step a 2; if not, jumping to step a 8;
step a8, judging whether the structure function is a structure function, if so, generating a native function object, setting the native function object as a structure function type, reloading the structure function, storing the structure function into a structure function chain table, and jumping to the step a 2; if not, jumping to the step a 9;
at step a9, the current process is complete and jumps to step a 2.
Specifically, the Python version of libClang interface library, Clang, is a front-end implementation of LLVM, and currently Microsoft Visual Studio compiler supports Clang to compile the source code of the C/C + + language family. The Clang front end development group of LLVM provides an interface library of Python. The embodiment of the invention provides a method for automatically generating target codes from a customized template through a Python script, and realizes the source codes which can adapt to various styles by using a widely-applied template library Cheetah and a customized CLI code template without modifying a code generation framework.
Specifically, the embodiment of the invention provides a method for exporting Class, Enum, Field and Function in C + +, basically realizes semantic analysis on a source code by exporting the common language types, acquires implementation detail information of the source code, and provides an important data source for generating a CLI source code through a template mapping method in the next step on the basis.
Specifically, the invention provides a method for exporting Enum in C + +, when CxCursor (a source code object which can be analyzed by a Clang compiler) of Enum is detected, all child children are traversed, a dictionary for mapping names to field values is established, and a NativeNum class is stored.
Specifically, the invention provides a method for exporting Field in C + +, when the type is FIELD _ DECL, the following information is collected: and acquiring a name, defining a type, judging whether the name is a constant or not, and storing a Navtive field class.
Specifically, an embodiment of the present invention provides a METHOD for deriving a Function in C + +, where the type is CXX _ METHOD, the following information is collected: whether a static function is available or not, whether a virtual function is available or not, a parameter list, return value information and default parameter value information are stored in a native function class.
Specifically, the invention provides a method for exporting Class (Class) in C + +, first, when Class (Class) information needs to be exported, field descriptions needed to be exported need to be defined first, and the structure of the information is defined as follows: whether the structure is a generic template, whether the template is a name of a name field, whether the field is a field data group information list, whether the field is a public field group list, whether the field is an attribute field list, whether the Enum defines a list, whether the name field is a public method list, whether the structure is a virtual base class, and whether the name field is a type alias defining list. Then, the CxCursor syntax object with the type CLASS _ DECL can be processed, and the specific method comprises the following steps: and recursively traversing the nodes of which the types are CLASS _ DECL, and when meeting the grammar objects meeting the requirements, performing information analysis processing on the C + + source codes according to the flow of the following FIG. 1.
Specifically, the invention provides a universal process method for generating templated CLI source code, which can be applied to all C + + source code files except a generic type. In the implementation scheme of the source code programming generation algorithm, a template language tool is needed, which is commonly used by Cheetah, LinQ and the like, and the scheme of the invention adopts a Cheetah library as a template library for source code generation and decomposes CLI source code generation into: generating a head part, generating a corresponding type of subject code, and generating a tail part to generate the target code step by step. The CLI code is formed by combining the header file and the source file, so that the sectional generation method is simultaneously suitable for generating the header file and the source file. The method is characterized in that the method comprises the steps of generating source codes and header files according to Enum, Field, Function and Class types, analyzing template codes by the generated Cheetah, and designing the types respectively. Taking Field as an example, the export of the template is directed to the generation of the attribute code to be used in C #, and the template includes a ComponentModel definition Field, stating, get ()/set () method implementation. Taking Function as an example, the templates include: return value, name, parameter list. Taking Class as an example, the template comprises component model definition Field information and Class name definition of the Class, template call of Enum declaration is generated, template call of embedded Class declaration is generated, template call of typedef declaration is generated, template call of Field is generated, template call of Function is generated, template call of attribute is generated, and declaration of Class template is finished.
Specifically, in the embodiment of the present invention, all the same methods are adopted, and even if the same methods are not executed on a Windows platform, the same methods can be objectively implemented on other operating system platforms, so that the implementation scheme related to the present invention is actually cross-platform, and the present invention is not specifically limited to the platform requirements.
Specifically, in an embodiment of the present invention, resolving python of a related class of C + + semantics is implemented as follows: referring to fig. 2, fig. 2 shows parsing language classes native _ class, native _ even, native _ field, native _ function, and native _ type, which are provided in the first embodiment of the present invention, and a calling relationship is shown in fig. 2, and other basic component classes are called from a parsing entry of native class and hold other components. Calling from native _ class
native_enum.py,native_field.py,native_function.py,native_type.py。
Please refer to fig. 3, fig. 4, fig. 5, and fig. 6, which illustrate a CLI template scheme of Cheetah according to a first embodiment of the present invention, wherein the CLI template scheme is used for generating a header file of a export class of a CLI.
FIG. 3 is a derived template of Enum according to a first embodiment of the present invention; FIG. 4 is a first embodiment of the present invention, which provides a derived template for Field; FIG. 5 is a diagram illustrating a derived template of Function according to a first embodiment of the present invention; fig. 6 is a derivation template of SubClass according to the first embodiment of the present invention.
The principles and embodiments of the present invention have been described herein using specific examples, which are provided only to help understand the method and the core concept of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, the specific embodiments and the application range may be changed. In view of the above, the present disclosure should not be construed as limiting the invention.

Claims (8)

1. A CLI automatic exporting method based on Python is characterized by comprising the following steps:
by adopting the method of Class in C + +, firstly, when the Class information needs to be exported, the field description needed to be exported needs to be defined first, and the structure of the information is defined as follows: whether the structure is a generic template, whether the template is a name of a name field, whether the field is a field data group information list, whether the field is a public field group list, whether the field is an attribute field list, whether the Enum defines a list, whether the name field is a public method list, whether the structure is a virtual base class or not, and whether the name field is a type alias defines;
then processing CxCursor grammar object with the type of CLASS _ DECL, and the specific method comprises the following steps: recursively traversing the nodes of which the types are CLASS _ DECL, and when meeting a grammatical object meeting requirements, performing information analysis processing on the C + + source code by a preset flow;
exporting a method for exporting Class, Enum, Field and Function in C + + information, performing semantic analysis on a source code through the realized exporting of the common language type, acquiring implementation detail information of the source code, and providing an important data source for generating a CLI source code through a template mapping method in the next step;
the Cheetah library is used as a template library for source code generation, and CLI source code generation is decomposed into the following components: the method comprises the steps of generating a head part, generating a main body code of a corresponding type, generating a tail part to generate target codes step by step, and generating in a sectional mode, and is simultaneously suitable for generating a head file and a source file.
2. The automated Python-based CLI derivation method according to claim 1, wherein the process is:
step a1, acquiring current CxCursor, acquiring parent class information, judging whether derivation is needed, if so, deriving the parent class, and if not, skipping to step a 3;
step a2, acquiring the next CxCursor;
step a3, judging whether the child children are of the public Class/Struck, if so, traversing all types of child children, collecting Class information, repeating the collection traversal process, and jumping to the step a 2; if not, jumping to the step a 4;
step a4, judging whether the information is public typedef, if yes, collecting typedef information, if no, skipping to step a 5;
step a5, judging whether the field definition is public, if yes, generating a Navtive field, and jumping to step a2, if no, jumping to step a 6;
step a6, judging whether the Enum is public, if so, generating NavtiveEnum, skipping to step a2, and if not, skipping to step a 7;
step a7, judging whether the method is a public method, if so, generating native function, judging whether the method is a static method, if so, saving the method in a static method dictionary, skipping to step a2, if not, saving the method in a common method dictionary, and skipping to step a 2; if not, jumping to step a 8;
step a8, judging whether the structure function is a structure function, if so, generating a native function object, setting the native function object as a structure function type, reloading the structure function, storing the structure function into a structure function chain table, and jumping to the step a 2; if not, jumping to the step a 9;
at step a9, the current process is complete and jumps to step a 2.
3. The automated Python-based CLI derivation method according to claim 2, comprising: in the method for exporting the Enum in the C + +, when CxCursor which is the Enum is detected, all child children are traversed, a dictionary for mapping names to field values is established, and the native Num class is stored.
4. The automated Python-based CLI derivation method according to claim 2, comprising: the method for exporting Field in C + + collects the following information when detecting the type is FIELD _ DECL: and acquiring a name, defining a type, judging whether the name is a constant or not, and storing a Navtive field class.
5. The automated Python-based CLI derivation method according to claim 2, comprising: METHOD of deriving a Function in C + +, when a type of CXX _ METHOD is detected, the following information is collected: whether a static function is available or not, whether a virtual function is available or not, a parameter list, return value information and default parameter value information are stored in a native function class.
6. The Python-based CLI automated exporting method according to claim 2, wherein said Enum, its templates include a namespace declaration section, a type name application section, a value definition section, and a declaration end;
the export of the template of the Field aims at the generation of the attribute code to be used in the C #, the template of the Field comprises a componentModel definition Field, and the declaration is realized by a get ()/set () method;
function, its templates are: return value, name, parameter list;
and Class, wherein the template of the Class comprises ComponentModel definition Field information and Class name definition of the Class, template calling for Enum declaration is generated, template calling for embedded Class declaration is generated, template calling for typedef declaration is generated, template calling for Field is generated, template calling for Function is generated, template calling for attribute is generated, and Class template declaration is ended.
7. The Python-based CLI automated export method of claim 2, wherein the parsing language class
native_class.py,
native_enum.py,native_field.py,native_function.py,native_type.py,
Calling from native _ class
native_enum.py,native_field.py,native_function.py,native_type.py。
8. The Python-based CLI automation export method according to claim 2, characterized in that Python version of libclean interface library, Clang is a front-end implementation of LLVM, current microsoft Visual Studio compiler supports Clang to compile source code of C/C + + language family; the Clang front end development group of LLVM provides an interface library of Python.
CN201911102677.5A 2019-11-12 2019-11-12 Python-based CLI automatic export method Active CN111221519B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911102677.5A CN111221519B (en) 2019-11-12 2019-11-12 Python-based CLI automatic export method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911102677.5A CN111221519B (en) 2019-11-12 2019-11-12 Python-based CLI automatic export method

Publications (2)

Publication Number Publication Date
CN111221519A CN111221519A (en) 2020-06-02
CN111221519B true CN111221519B (en) 2020-11-27

Family

ID=70828993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911102677.5A Active CN111221519B (en) 2019-11-12 2019-11-12 Python-based CLI automatic export method

Country Status (1)

Country Link
CN (1) CN111221519B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667324B (en) * 2020-12-30 2023-12-05 凌云光技术股份有限公司 Method and device for calling command class in command mode

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740458B1 (en) * 2011-06-23 2017-08-22 The Mathworks, Inc. Restricting class inheritance relationships
CN110427331A (en) * 2019-09-03 2019-11-08 四川长虹电器股份有限公司 The method for automatically generating performance test script based on interface testing tool

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473901B1 (en) * 2009-06-12 2013-06-25 The Mathworks, Inc. Non-literal representation of programming language code
US10180900B2 (en) * 2016-04-15 2019-01-15 Red Hat Israel, Ltd. Recordation of user interface events for script generation
CN109298865A (en) * 2018-09-13 2019-02-01 天津龙拳风暴科技有限公司 Realize the method and device of game skill programmable
CN109614106B (en) * 2018-12-21 2022-04-19 北京龙创悦动网络科技有限公司 C + + program compiling method and device
CN109783084A (en) * 2019-01-18 2019-05-21 广州思坦德计算机信息科技有限公司 A kind of computer code automatic generation method, system, device and storage medium
CN110362295A (en) * 2019-05-27 2019-10-22 深圳壹账通智能科技有限公司 Code generating method, device, computer installation and storage medium
CN110347603B (en) * 2019-07-12 2023-08-15 北京精密机电控制设备研究所 An artificial intelligence automated software testing system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740458B1 (en) * 2011-06-23 2017-08-22 The Mathworks, Inc. Restricting class inheritance relationships
CN110427331A (en) * 2019-09-03 2019-11-08 四川长虹电器股份有限公司 The method for automatically generating performance test script based on interface testing tool

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Python的CLI自动化测试方法的研究与实现;徐彩霞;《中国优秀硕士学位论文全文数据库_信息科技辑》;20190115;全文 *

Also Published As

Publication number Publication date
CN111221519A (en) 2020-06-02

Similar Documents

Publication Publication Date Title
CN110825384A (en) ST language compiling method, system and compiler based on LLVM
US20040158820A1 (en) System for generating an application framework and components
US8806452B2 (en) Transformation of computer programs and eliminating errors
CN1105802A (en) Incremental build system
US20130152061A1 (en) Full fidelity parse tree for programming language processing
CN102880468B (en) Code intelligent prompting method and system for electronic control unit (ECU) program development
US20210279045A1 (en) Integrated development environment for developing and compiling query language schemas for application program interfaces
CN104932905A (en) Automatic code generation method from AADL to C language
CN106843840A (en) A kind of version evolving annotation multiplexing method of source code based on similarity analysis
JPH1083293A (en) Error correction compiler
CN113220309B (en) Multi-language Modelica component batch generation system and method
CN105243018A (en) Object-oriented class test data generation method
CN111880785A (en) Program code conversion method and device and electronic equipment
CN111221519B (en) Python-based CLI automatic export method
CN111158665B (en) Code generation method and device, electronic equipment and storage medium
CN110879710B (en) Method for automatically converting RPG program into JAVA program
CN112905232B (en) Program code parallel corpus mining method and system based on syntax analysis tree
JP2010140407A (en) Source code inspection device
KR101743463B1 (en) Source code translator independent to platform
CN117608656A (en) Mixed front end frame migration method based on AST and LLM
CN113641361B (en) Code hiding method and device based on Clang
CN110018816B (en) Virtual machine control system based on C/C + + compiling system and control method thereof
CN113961238A (en) Object conversion method and device, electronic equipment and storage medium
CN113986210A (en) Script engine execution method and system supporting script customization
CN113360410A (en) Test method of C code software and readable storage medium

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
GR01 Patent grant
GR01 Patent grant