CN113326048B - Floating point number calculation precision processing method, system, medium and device - Google Patents

Floating point number calculation precision processing method, system, medium and device Download PDF

Info

Publication number
CN113326048B
CN113326048B CN202110707266.XA CN202110707266A CN113326048B CN 113326048 B CN113326048 B CN 113326048B CN 202110707266 A CN202110707266 A CN 202110707266A CN 113326048 B CN113326048 B CN 113326048B
Authority
CN
China
Prior art keywords
operator
syntax tree
abstract syntax
babel
ast
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
CN202110707266.XA
Other languages
Chinese (zh)
Other versions
CN113326048A (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.)
Shanghai Wanxiang Blockchain Inc
Original Assignee
Shanghai Wanxiang Blockchain Inc
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 Shanghai Wanxiang Blockchain Inc filed Critical Shanghai Wanxiang Blockchain Inc
Priority to CN202110707266.XA priority Critical patent/CN113326048B/en
Publication of CN113326048A publication Critical patent/CN113326048A/en
Application granted granted Critical
Publication of CN113326048B publication Critical patent/CN113326048B/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/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Image Processing (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

The invention provides a floating point number calculation precision processing method, a system, a medium and equipment, comprising the following steps: step 1: a babel compiler is started to compile the JS codes, and the JS codes are converted into an abstract syntax tree form; and 2, step: traversing the abstract syntax tree, positioning each code node of the four arithmetic operations, obtaining the contents of left and right nodes of the four arithmetic operation statements, creating an abstract syntax tree of a patch code according to the operator type and the attribute values of the left and right nodes, and replacing the abstract syntax tree of the currently positioned code node of the four arithmetic operations with the newly created abstract syntax tree; and step 3: and generating a new JS code according to the modified and replaced abstract syntax tree, and performing four arithmetic operations without precision calculation. The invention converts the four operation related codes into the patch codes with the processed operation precision, improves the development efficiency and can furthest reduce the risks caused by human mistakes or negligence.

Description

Floating point number calculation precision processing method, system, medium and device
Technical Field
The present invention relates to the field of data processing technologies, and in particular, to a floating-point number calculation precision processing method, system, medium, and device. In particular to a processing method for JS floating point number calculation precision based on a babel compiler.
Background
At present, more and more applications are developed based on a JavaScript technology stack, financial type applications often involve more money calculation containing decimal places at the front end, and because the number type in the JavaScript is realized based on a double-precision floating point type of IEEE 754 standard, the precision of the double-precision floating point type number is lost during operation. Therefore, the processing of computational accuracy is a loop that has to be considered in terms involving JavaScript floating point number computations.
Common processing strategies are as follows: 1. the method is characterized in that adding, subtracting, multiplying and dividing tool functions which are specially used for processing the four fundamental operation precisions of the floating point number are packaged in advance, and the principle of processing the operation precisions in the adding, subtracting, multiplying and dividing tool functions is as follows: in the effective range of the integer supported by JavaScript, the operation precision of the integer does not have a problem, so the decimal is expanded by corresponding multiple of 10, the decimal is converted into the integer for operation, and the integer operation result is converted back to the numerical value containing decimal places. 2. Locations in code that involve floating point operations are computed using tool functions instead of JavaScript native code.
By writing the following shapes: add (0.1, 0.2) type patch code, instead of written directly as: 0.1+ 0.2.
However, this solution is inefficient, error prone and imposes a certain mental burden on the developer. And when the complex floating point number mixed four-arithmetic operation code needs to be written, the problems of excessively deep nesting of function calling and complicated coding exist, and the calculation result is very easy to be abnormal due to human negligence or carelessness.
Patent document CN104199831A (application number: CN 201410373530.0) discloses an information processing method and apparatus; the method comprises the following steps: identifying a basic element in the SQL code based on a first strategy; performing combined operation on the basic elements analyzed from the SQL codes to obtain SQL sentences, and constructing a syntax tree; traversing the SQL sentences in the syntax tree, and correspondingly constructing nodes for the basic elements in the traversed SQL sentences based on the types of the basic elements in the traversed SQL sentences and the corresponding relations between the types of the basic elements and the nodes to obtain intermediate language description of the syntax tree; and constructing a data flow graph corresponding to the SQL code based on the intermediate language description of the syntax tree.
Disclosure of Invention
Aiming at the defects in the prior art, the invention aims to provide a floating-point number calculation precision processing method, a floating-point number calculation precision processing system, a floating-point number calculation precision processing medium and floating-point number calculation precision processing equipment.
The floating point number calculation precision processing method provided by the invention comprises the following steps:
step 1: a babel compiler is started to compile the JS codes, and the JS codes are converted into an abstract syntax tree form;
and 2, step: traversing the abstract syntax tree, positioning each code node of the four arithmetic operations, obtaining the contents of left and right nodes of the four arithmetic operation statements, creating an abstract syntax tree of a patch code according to the operator type and the attribute values of the left and right nodes, and replacing the abstract syntax tree of the currently positioned code node of the four arithmetic operations with the newly created abstract syntax tree;
and step 3: and generating a new JS code according to the modified and replaced abstract syntax tree, and performing four arithmetic operations without precision calculation.
Preferably, before and after replacing the abstract syntax tree, the JS code is packaged by webpack, and the abstract syntax tree is backed up.
Preferably, the abstract syntax tree is traversed by using a visitor mode, and all the signature and binary expression nodes are visited to obtain four operator types.
Preferably, the operator type includes: + operator, - = operator, and/operator;
aiming at a + operator and a + = operator, generating an adding function accAdd in an introduction tool function package;
generating a subtraction function accSub in an introduction tool function package aiming at an operator and an operator;
aiming at an operator, generating a multiplication function accMul in an introduced tool function package;
aiming at the operator, generating a division function accDiv in an introduced tool function packet;
and taking the attribute values of the left and right nodes of the operator as an abstract syntax tree template called by the function parameters.
The floating point number calculation precision processing system provided by the invention comprises:
a module M1: a babel compiler is started to compile the JS codes, and the JS codes are converted into an abstract syntax tree form;
a module M2: traversing the abstract syntax tree, positioning each code node of the four arithmetic operations, obtaining the contents of left and right nodes of the four arithmetic operation statements, creating an abstract syntax tree of a patch code according to the operator type and the attribute values of the left and right nodes, and replacing the abstract syntax tree of the currently positioned code node of the four arithmetic operations with the newly created abstract syntax tree;
a module M3: and generating a new JS code according to the modified and replaced abstract syntax tree, and performing four arithmetic operations without precision calculation.
Preferably, before and after the abstract syntax tree is replaced, the JS codes are packaged through the webpack, and the abstract syntax tree is backed up.
Preferably, the abstract syntax tree is traversed by using a visitor mode, and all the signature and binary expression nodes are visited to obtain four operator types.
Preferably, the operator type includes: + operator, - = operator, and/operator;
aiming at a + operator and a + = operator, generating an adding function accAdd in an introduction tool function package;
generating a subtraction function accSub in an introduction tool function package aiming at an operator and an operator;
aiming at an operator, generating a multiplication function accMul in an introduced tool function package;
aiming at the operator, generating a division function accDiv in an introduced tool function packet;
and taking the attribute values of the left and right nodes of the operator as an abstract syntax tree template called by the function parameters.
According to the present invention, a computer-readable storage medium is provided, in which a computer program is stored, which, when being executed by a processor, carries out the steps of the method.
The invention provides a floating point number calculation precision processing device, which comprises: a controller;
the controller includes the computer-readable storage medium storing a computer program which, when executed by a processor, implements the steps of the floating-point number calculation precision processing method; alternatively, the controller comprises the floating point number calculation precision processing system.
Compared with the prior art, the invention has the following beneficial effects:
(1) The invention can carry out stable and efficient automatic conversion without manually compiling any patch code;
(2) The method is simple and easy to configure, and can be seamlessly integrated with a modern front-end project which uses babel to compile JavaScript at will, so that developers can concentrate on service codes more, and extra mental burden can not be brought.
Drawings
Other features, objects and advantages of the invention will become more apparent upon reading of the detailed description of non-limiting embodiments with reference to the following drawings:
fig. 1 is a flow chart of precision processing in a modern front-end webpack-based project.
Fig. 2 is a flow chart of the internal operation of the present invention.
Detailed Description
The present invention will be described in detail with reference to specific examples. The following examples will aid those skilled in the art in further understanding the present invention, but are not intended to limit the invention in any manner. It should be noted that variations and modifications can be made by persons skilled in the art without departing from the concept of the invention. All falling within the scope of the present invention.
Example 1:
the floating point number calculation precision processing method provided by the invention comprises the following steps: step 1: a babel compiler is started to compile the JS codes, and the JS codes are converted into an abstract syntax tree form; step 2: traversing the abstract syntax tree, positioning each code node of the four arithmetic operations, acquiring the left and right node contents of the four arithmetic operation statements, creating an abstract syntax tree of a patch code according to the operator type and the attribute values of the left and right nodes, and replacing the abstract syntax tree of the currently positioned four arithmetic operation code nodes with the newly created abstract syntax tree; and 3, step 3: and generating a new JS code according to the modified and replaced abstract syntax tree, and performing four arithmetic operations without precision calculation.
Before and after the abstract syntax tree is replaced, the JS codes are packaged through webpack, and the abstract syntax tree is backed up. And traversing the abstract syntax tree by using a visitor mode, and visiting all the signature and binary expression nodes to obtain four operator types. The operator type includes: + operator, - = operator, and/operator; aiming at a + operator and a + = operator, generating an adding function accAdd in an introducing tool function packet; generating a subtraction function accSub in an introduction tool function package aiming at an operator and an operator; aiming at an operator, generating a multiplication function accMul in an introduced tool function package; aiming at the operator, generating a division function accDiv in an introduced tool function packet; and taking the attribute values of the left and right nodes of the operator as an abstract syntax tree template called by the function parameters.
The floating point number calculation precision processing system provided by the invention comprises: a module M1: a babel compiler is started to compile the JS codes, and the JS codes are converted into an abstract syntax tree form; a module M2: traversing the abstract syntax tree, positioning each code node of the four arithmetic operations, obtaining the contents of left and right nodes of the four arithmetic operation statements, creating an abstract syntax tree of a patch code according to the operator type and the attribute values of the left and right nodes, and replacing the abstract syntax tree of the currently positioned code node of the four arithmetic operations with the newly created abstract syntax tree; a module M3: and generating a new JS code according to the modified and replaced abstract syntax tree, and performing four arithmetic operations without precision calculation.
Before and after the abstract syntax tree is replaced, the JS codes are packaged through webpack, and the abstract syntax tree is backed up. And traversing the abstract syntax tree by using a visitor mode, and visiting all the signature and binary expression nodes to obtain four operator types. The operator types include: + operator, - = operator, and/operator; aiming at a + operator and a + = operator, generating an adding function accAdd in an introduction tool function package; generating a subtraction function accSub in an introduction tool function package aiming at an operator and an operator; aiming at an operator, generating a multiplication function accMul in an introduced tool function package; aiming at the operator, generating a division function accDiv in an introduced tool function packet; and taking the attribute values of the left and right nodes of the operator as an abstract syntax tree template called by the function parameters.
According to the present invention, a computer-readable storage medium is provided, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method.
The invention provides a floating point number calculation precision processing device, which comprises: a controller; the controller includes the computer-readable storage medium storing a computer program which, when executed by a processor, implements the steps of the floating-point number calculation precision processing method; alternatively, the controller comprises the floating point number calculation precision processing system.
Example 2:
example 2 is a preferred example of example 1.
babel is a JavaScript code translator, webpack is a front-end code packaging tool, modern front-end projects are often developed under an environment built based on webpack, and all codes are finally packaged through webpack. In webpack, with the loader mechanism provided by webpack, the JS code is processed before being packed by using the webel through the webel-loader.
As shown in fig. 1, a main flowchart for processing the problem of the computation precision of the JavaScript floating point number in the front-end project construction flow based on webpack of the present invention includes:
step 1: configuring JS codes in the webpack configuration file, processing the JS codes by using a babel-loader, and adding an accuracy processing plug-in the babel configuration file;
step 2: after the configuration file is ready, starting a webpack packing command to pack the code;
and step 3: the webpack reads a JS code, and the JS code is handed to the babel-loader;
and 4, step 4: the babel-loader calls the babel and the precision processing plug-in to modify the AST;
and 5: and the babel transmits the processed code to the webpack through the babel-loader for packing.
Fig. 2 is a specific flowchart of the automated processing of the accuracy problem by the apparatus of the present invention, which includes:
step S01: after the JavaScript code is analyzed by the babel through the babel/server module to obtain the AST, calling the device to traverse the AST, and visiting all assigneExpression nodes and BinaryExpression nodes;
step S02: different AST modules are created by analyzing the operator types present in the corresponding assignementexpression, binaryxpression. Specifically, the method comprises the following steps: for the +, + = operator, an AST template will be created that calls the add function; for the-, - = operator, an AST template will be created that calls the subtraction function; for the operator, an AST template will be created that calls the multiplication function; for the/operator, an AST template that calls a division function will be created;
step S03: and replacing the AST nodes related to the four arithmetic operations in the original code according to the newly created AST template to realize the conversion of the original code. Finally, the babel generates a new code after the new AST is converted through a babel/generate module, and finally the converted new code contains a patch code for processing the calculation precision.
Those skilled in the art will appreciate that, in addition to implementing the systems, apparatus, and various modules thereof provided by the present invention in purely computer readable program code, the same procedures can be implemented entirely by logically programming method steps such that the systems, apparatus, and various modules thereof are provided in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Therefore, the system, the device and the modules thereof provided by the present invention can be considered as a hardware component, and the modules included in the system, the device and the modules thereof for implementing various programs can also be considered as structures in the hardware component; modules for performing various functions may also be considered to be both software programs for performing the methods and structures within hardware components.
The foregoing description of specific embodiments of the present invention has been presented. It is to be understood that the present invention is not limited to the specific embodiments described above, and that various changes or modifications may be made by one skilled in the art within the scope of the appended claims without departing from the spirit of the invention. The embodiments and features of the embodiments of the present application may be combined with each other arbitrarily without conflict.

Claims (4)

1. A floating point number calculation precision processing method is characterized by comprising the following steps:
step 1: a babel compiler is started to compile the JS codes, and the JS codes are converted into an abstract syntax tree form;
and 2, step: traversing the abstract syntax tree, positioning each code node of the four arithmetic operations, acquiring the left and right node contents of the four arithmetic operation statements, creating an abstract syntax tree of a patch code according to the operator type and the attribute values of the left and right nodes, and replacing the abstract syntax tree of the currently positioned four arithmetic operation code nodes with the newly created abstract syntax tree;
and step 3: generating a new JS code according to the modified and replaced abstract syntax tree, and performing four arithmetic operations without precision calculation;
before and after the abstract syntax tree is replaced, packing the JS codes through webpack, and backing up the abstract syntax tree;
traversing the abstract syntax tree by using a visitor mode, and visiting all signature and binary expression nodes to obtain four operator types;
the operator type includes: + operator, - = operator, and/operator;
aiming at a + operator and a + = operator, generating an adding function accAdd in an introducing tool function packet;
generating a subtraction function accSub in an introduced tool function package aiming at an operator-operator and an operator, = operator;
aiming at an operator, generating a multiplication function accMUl in an introduced tool function package;
aiming at the operator, generating a division function accDiv in an introduced tool function packet;
taking attribute values of left and right nodes of an operator as an abstract syntax tree template called by function parameters;
the procedure for processing the problem of JavaScript floating point number calculation precision in the front-end project construction procedure based on webpack is as follows: configuring JS codes in the webpack configuration file, processing the JS codes by using a babel-loader, and adding an accuracy processing plug-in the babel configuration file; after the configuration file is ready, starting a webpack packing command to pack the codes; the webpack reads the JS code, and the JS code is handed to the babel-loader; the babel-loader calls the babel and the precision processing plug-in to modify the AST; the babel transmits the processed codes to the webpack through a babel-loader for packing;
the process of automatically processing the precision problem comprises the following steps: the method comprises the steps that after a babel analyzes a JavaScript code through a babel/parser module to obtain an AST, the device is called to traverse the AST, and all assignment expression nodes and Binaryexpression nodes are visited; creating different AST modules by analyzing operator types existing in corresponding assignementeExpression and binary Expression, and creating an AST template for calling an addition function for +, + = operators; for the-, - = operator, an AST template will be created that calls the subtraction function; for the operator, an AST template will be created that calls the multiplication function; for the/operator, an AST template that calls a division function will be created; replacing AST nodes related to four arithmetic operations in the original code according to the newly created AST template to realize the conversion of the original code; finally, the babel generates a new code after the new AST is converted through a babel/generate module, and finally the converted new code contains a patch code for processing the calculation precision.
2. A floating-point number computation precision processing system, comprising:
a module M1: a babel compiler is started to compile the JS codes, and the JS codes are converted into an abstract syntax tree form;
a module M2: traversing the abstract syntax tree, positioning each code node of the four arithmetic operations, obtaining the contents of left and right nodes of the four arithmetic operation statements, creating an abstract syntax tree of a patch code according to the operator type and the attribute values of the left and right nodes, and replacing the abstract syntax tree of the currently positioned code node of the four arithmetic operations with the newly created abstract syntax tree;
a module M3: generating a new JS code according to the modified and replaced abstract syntax tree, and performing four arithmetic operations without precision calculation;
before and after the abstract syntax tree is replaced, packing the JS codes through webpack, and backing up the abstract syntax tree;
traversing the abstract syntax tree by using a visitor mode, and visiting all signature and binary expression nodes to obtain four operator types;
the operator type includes: + operator, - = operator, and/operator;
aiming at a + operator and a + = operator, generating an adding function accAdd in an introducing tool function packet;
generating a subtraction function accSub in an introduction tool function package aiming at an operator and an operator;
aiming at an operator, generating a multiplication function accMul in an introduced tool function package;
aiming at the operator, generating a division function accDiv in an introduced tool function packet;
taking attribute values of left and right nodes of an operator as an abstract syntax tree template called by function parameters;
the procedure for processing the problem of JavaScript floating point number calculation precision in the front-end project construction procedure based on webpack is as follows: configuring JS codes in the webpack configuration file, processing the JS codes by using a babel-loader, and adding an accuracy processing plug-in the babel configuration file; after the configuration file is ready, starting a webpack packing command to pack the codes; the webpack reads the JS code, and the JS code is handed to the babel-loader; the babel-loader calls the babel and the precision processing plug-in to modify the AST; the babel transmits the processed codes to the webpack through a babel-loader for packing;
the process of automatically processing the precision problem comprises the following steps: after the JavaScript code is analyzed by the babel through the babel/server module to obtain the AST, calling the device to traverse the AST, and visiting all assigneExpression nodes and BinaryExpression nodes; creating different AST modules by analyzing operator types existing in corresponding assignementeExpression and binary Expression, and creating an AST template for calling an addition function for +, + = operators; for the-, - = operator, an AST template will be created that calls the subtraction function; for the operator, an AST template will be created that calls the multiplication function; for the/operator, an AST template that calls a division function will be created; replacing the AST nodes related to the four arithmetic operations in the original code according to the newly created AST template to realize the conversion of the original code; and finally, the babel generates a new converted code from the new AST through a babel/general module, and the finally converted new code contains a patch code for processing the calculation precision.
3. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method as claimed in claim 1.
4. A floating-point number computation precision processing apparatus, comprising: a controller;
the controller comprising a computer readable storage medium of claim 3 having a computer program stored thereon, which when executed by a processor implements the steps of the floating point number computation precision processing method of claim 1; alternatively, the controller comprises the floating point number computational precision processing system of claim 2.
CN202110707266.XA 2021-06-24 2021-06-24 Floating point number calculation precision processing method, system, medium and device Active CN113326048B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110707266.XA CN113326048B (en) 2021-06-24 2021-06-24 Floating point number calculation precision processing method, system, medium and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110707266.XA CN113326048B (en) 2021-06-24 2021-06-24 Floating point number calculation precision processing method, system, medium and device

Publications (2)

Publication Number Publication Date
CN113326048A CN113326048A (en) 2021-08-31
CN113326048B true CN113326048B (en) 2023-01-17

Family

ID=77424608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110707266.XA Active CN113326048B (en) 2021-06-24 2021-06-24 Floating point number calculation precision processing method, system, medium and device

Country Status (1)

Country Link
CN (1) CN113326048B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110609693A (en) * 2019-08-15 2019-12-24 平安国际智慧城市科技股份有限公司 Code updating method and device based on data standardization and terminal equipment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199831B (en) * 2014-07-31 2017-10-24 深圳市腾讯计算机系统有限公司 Information processing method and device
US10140099B2 (en) * 2016-06-01 2018-11-27 The Mathworks, Inc. Systems and methods for generating code from executable models with floating point data
CN108228187B (en) * 2018-01-02 2020-03-17 南京大学 Global optimization method of numerical program
CN109542406B (en) * 2018-11-05 2020-07-17 清华大学 Parallel solving method and system for mode development
CN111078188A (en) * 2019-12-16 2020-04-28 广东三维家信息科技有限公司 Floating point data processing method and device in JavaScript operation and electronic equipment
CN112015430A (en) * 2020-09-07 2020-12-01 平安国际智慧城市科技股份有限公司 JavaScript code translation method and device, computer equipment and storage medium
CN112379917B (en) * 2020-11-19 2023-10-20 康键信息技术(深圳)有限公司 Browser compatibility improving method, device, equipment and storage medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110609693A (en) * 2019-08-15 2019-12-24 平安国际智慧城市科技股份有限公司 Code updating method and device based on data standardization and terminal equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Babel的公共构件程序设计;黄吉亚等;《科技风》;20090325(第06期);全文 *

Also Published As

Publication number Publication date
CN113326048A (en) 2021-08-31

Similar Documents

Publication Publication Date Title
US9122540B2 (en) Transformation of computer programs and eliminating errors
CN110149800B (en) Apparatus for processing abstract syntax tree associated with source code of source program
CN111796831B (en) Compiling method and device for multi-chip compatibility
US8458681B1 (en) Method and system for optimizing the object code of a program
CN110955431A (en) Processing method and device of compiling environment
US20110126179A1 (en) Method and System for Dynamic Patching Software Using Source Code
Collard et al. A lightweight transformational approach to support large scale adaptive changes
US20110246962A1 (en) State machine expressions in database operators
CN111309335A (en) Plug-in application compiling method and device and computer readable storage medium
CN104298594A (en) Automatic detection and positioning method for source code mid-value miscalculation
CN103744684A (en) Heterogeneous hardware and software collaborative developing method and system
CN107179982B (en) Cross-process debugging method and device
US9454382B2 (en) Verification of UML state machines
CN113326048B (en) Floating point number calculation precision processing method, system, medium and device
CN109828796B (en) Plug-in calling method and device based on microkernel architecture
CN115098158A (en) SDK packaging method and device, computer equipment and storage medium
US11573777B2 (en) Method and apparatus for enabling autonomous acceleration of dataflow AI applications
US8806465B2 (en) Refactor exception class hierarchy for reduced footprint and faster application start
CN115268918A (en) Automatic conversion method from C + + code to C code based on rule template
Nguyen et al. Hardware-dependent proofs of numerical programs
CN114064114A (en) Dynamic library generation method and device
CN110554867B (en) Application processing method and device
US20170249131A1 (en) Compilation apparatus and compiling method
CN111880803A (en) Software construction method and device applied to multiple platforms
US20230176823A1 (en) Automatic generation of source code implementing a regular expression

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