CN113326048A - 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
CN113326048A
CN113326048A CN202110707266.XA CN202110707266A CN113326048A CN 113326048 A CN113326048 A CN 113326048A CN 202110707266 A CN202110707266 A CN 202110707266A CN 113326048 A CN113326048 A CN 113326048A
Authority
CN
China
Prior art keywords
operator
syntax tree
abstract syntax
point number
floating point
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.)
Granted
Application number
CN202110707266.XA
Other languages
Chinese (zh)
Other versions
CN113326048B (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)
  • Devices For Executing Special Programs (AREA)
  • Image Processing (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; step 2: 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 invention relates to the technical field of data processing, in particular to 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. 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 the double-precision floating point type of the 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: within the effective range of integers supported by JavaScript, the operation precision of the integers cannot be problematic, so that the decimal is expanded by a corresponding multiple of 10 to convert the decimal into the integer for operation, and then the integer operation result is converted back to a numerical value containing decimal digits. 2. Locations in code that involve floating point operations are computed using tool functions instead of JavaScript native code.
By writing the following shapes: patch code such as add (0.1,0.2) instead of written directly as: native JavaScript computing code such 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 No. CN201410373530.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 construct 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;
step 2: 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 the visitor mode, and all the signature and binary expression nodes are visited to obtain four operator types.
Preferably, the operator type includes: + operator, + ═ operator, - ═ 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 the introduced tool function package aiming at 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:
module M1: a babel compiler is started to compile the JS codes, and the JS codes are converted into an abstract syntax tree form;
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;
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 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 the visitor mode, and all the signature and binary expression nodes are visited to obtain four operator types.
Preferably, the operator type includes: + operator, + ═ operator, - ═ 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 the introduced tool function package aiming at 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 assist those skilled in the art in further understanding the invention, but are not intended to limit the invention in any way. It should be noted that it would be obvious to those skilled in the art that various changes and modifications can be made without departing from the spirit 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, 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.
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, - ═ 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 the introduced tool function package aiming at 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: module M1: a babel compiler is started to compile the JS codes, and the JS codes are converted into an abstract syntax tree form; 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; 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 type includes: + operator, + ═ operator, - ═ 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 the introduced tool function package aiming at 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 codes;
and step 3: the webpack reads the 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 addition function; for-, -operator, an AST template will be created that calls a 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. 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.
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 (10)

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;
step 2: 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.
2. The floating point number calculation precision processing method of claim 1, wherein the JS code is packed by webpack before and after replacing the abstract syntax tree, and the abstract syntax tree is backed up.
3. The floating point number computation precision processing method of claim 1, characterized in that the abstract syntax tree is traversed using a visitor pattern, accessing all signature and binary expression nodes, resulting in four operator types.
4. The floating point number computation precision processing method of claim 1, characterized in that the operator type comprises: + operator, + ═ operator, - ═ 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 the introduced tool function package aiming at 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.
5. A floating point number computational precision processing system, comprising:
module M1: a babel compiler is started to compile the JS codes, and the JS codes are converted into an abstract syntax tree form;
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;
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.
6. The floating point number computation precision processing system of claim 5, wherein the JS code is packaged by webpack and the abstract syntax tree is backed up before and after replacing the abstract syntax tree.
7. The floating point number computation precision processing system of claim 5, wherein the abstract syntax tree is traversed using a visitor pattern, accessing all signature and binary expression nodes, resulting in four operator types.
8. The floating point number computation precision processing system of claim 5, characterized in that the operator type comprises: + operator, + ═ operator, - ═ 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 the introduced tool function package aiming at 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.
9. 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 of any one of claims 1 to 4.
10. A floating point number calculation precision processing apparatus, comprising: a controller;
the controller comprising a computer readable storage medium of claim 9 having a computer program stored thereon, which when executed by a processor implements the steps of the floating point number computational precision processing method of any one of claims 1 to 4; alternatively, the controller comprises the floating point number computational precision processing system of any of claims 5 to 8.
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 true CN113326048A (en) 2021-08-31
CN113326048B 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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199831A (en) * 2014-07-31 2014-12-10 深圳市腾讯计算机系统有限公司 Information processing method and device
US20170351493A1 (en) * 2016-06-01 2017-12-07 The Mathworks, Inc. Systems and methods for generating code from executable models with floating point data
CN108228187A (en) * 2018-01-02 2018-06-29 南京大学 A kind of global optimization method of mathematical program
CN109542406A (en) * 2018-11-05 2019-03-29 清华大学 Parallel implementation method and system for mode development
CN110609693A (en) * 2019-08-15 2019-12-24 平安国际智慧城市科技股份有限公司 Code updating method and device based on data standardization and terminal equipment
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
CN112379917A (en) * 2020-11-19 2021-02-19 康键信息技术(深圳)有限公司 Browser compatibility improving method, device, equipment and storage medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199831A (en) * 2014-07-31 2014-12-10 深圳市腾讯计算机系统有限公司 Information processing method and device
US20170351493A1 (en) * 2016-06-01 2017-12-07 The Mathworks, Inc. Systems and methods for generating code from executable models with floating point data
CN108228187A (en) * 2018-01-02 2018-06-29 南京大学 A kind of global optimization method of mathematical program
CN109542406A (en) * 2018-11-05 2019-03-29 清华大学 Parallel implementation method and system for mode development
CN110609693A (en) * 2019-08-15 2019-12-24 平安国际智慧城市科技股份有限公司 Code updating method and device based on data standardization and terminal equipment
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
CN112379917A (en) * 2020-11-19 2021-02-19 康键信息技术(深圳)有限公司 Browser compatibility improving method, device, equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄吉亚等: "基于Babel的公共构件程序设计", 《科技风》 *

Also Published As

Publication number Publication date
CN113326048B (en) 2023-01-17

Similar Documents

Publication Publication Date Title
EP2523108B1 (en) Processing method
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
US9122540B2 (en) Transformation of computer programs and eliminating errors
JP4157016B2 (en) Compiler apparatus and compiling method
Collard et al. A lightweight transformational approach to support large scale adaptive changes
CN104298594A (en) Automatic detection and positioning method for source code mid-value miscalculation
CN111427583A (en) Component compiling method and device, electronic equipment and computer readable storage medium
Gómez-Londoño et al. Do you have space for dessert? A verified space cost semantics for CakeML programs
US20230004365A1 (en) Multistage compiler architecture
US9454382B2 (en) Verification of UML state machines
Gallagher et al. From big-step to small-step semantics and back with interpreter specialisation
CN114064114A (en) Dynamic library generation method and device
US8966463B2 (en) Eliminating redundant function calls
CN113326048B (en) Floating point number calculation precision processing method, system, medium and device
CN111158665A (en) Code generation method and device, electronic equipment and storage medium
CN111475150A (en) Cross-language binding method, device, equipment and storage medium
US11714609B2 (en) Automatic generation of source code implementing a regular expression
Nguyen et al. Hardware-dependent proofs of numerical programs
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
US20170249131A1 (en) Compilation apparatus and compiling method
CN117785213B (en) Front-end construction tool and construction method based on Rust development
Bellenot et al. ROOT 6 and beyond: TObject, C++ 14 and many cores.
CN114579135B (en) Installation package generation method and device

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