CN110737431A - Software development method, development platform, terminal device and storage medium - Google Patents

Software development method, development platform, terminal device and storage medium Download PDF

Info

Publication number
CN110737431A
CN110737431A CN201910880857.XA CN201910880857A CN110737431A CN 110737431 A CN110737431 A CN 110737431A CN 201910880857 A CN201910880857 A CN 201910880857A CN 110737431 A CN110737431 A CN 110737431A
Authority
CN
China
Prior art keywords
language
development
service code
kinglang
service
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
CN201910880857.XA
Other languages
Chinese (zh)
Other versions
CN110737431B (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.)
Jin Zheng Science And Technology Co Ltd Of Shenzhen
Original Assignee
Jin Zheng Science And Technology Co Ltd Of Shenzhen
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 Jin Zheng Science And Technology Co Ltd Of Shenzhen filed Critical Jin Zheng Science And Technology Co Ltd Of Shenzhen
Priority to CN201910880857.XA priority Critical patent/CN110737431B/en
Publication of CN110737431A publication Critical patent/CN110737431A/en
Application granted granted Critical
Publication of CN110737431B publication Critical patent/CN110737431B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

The application is suitable for the technical field of software development, and provides software development methods, development platforms, terminal equipment and storage media.

Description

Software development method, development platform, terminal device and storage medium
Technical Field
The present application belongs to the technical field of software development, and in particular, relates to a software development method, a development platform, a terminal device, and a storage medium.
Background
At present, in the traditional method for software development in the securities industry, developers write standard C/C + + source codes, C/C + + language has a high learning threshold, and when developers directly write codes by using the C + + language, the development efficiency of the software platform is low.
In summary, the problem of low development efficiency exists in the current software development process.
Disclosure of Invention
In view of this, the embodiments of the present application provide software development methods, development platforms, terminal devices, and storage media, so as to solve the problem in the prior art that the development efficiency is low in the software development process.
An th aspect of an embodiment of the present application provides software development methods, including:
receiving configuration instructions, wherein the configuration instructions are used for predefining standardized parameters of the KingLang language, the KingLang language comprises an extended language and a second development language, and the standardized parameters of the extended language comprise extended language grammar, extended language semantics and extended language lexical;
acquiring a service code; wherein, the development language of the service code is KingLang language;
translating the service code using the extended language according to the standardized parameter of the extended language to obtain a new service code of a second development language;
reserving an original service code written by using the second development language in the original KingLang language;
synthesizing to obtain a source code file of a second development language; the source code file is synthesized by the new service code and the original service code;
and compiling the source code file to obtain an executable program.
In the embodiment, after the step of obtaining the service code, the method further includes:
checking a development language in the service code, and checking whether a definition parameter of the development language conforms to the predefined KingLang language standardized parameter;
if the definition parameters of the development language do not accord with the predefined KingLang language standardization parameters, judging that the service code is a non-legal code;
and displaying an error mark to the software development platform interface.
In an embodiment, the KingLang language comprises a C + + language, the KingLang language standardized parameters comprise C + + language standardized parameters, and the C + + language standardized parameters comprise C + + language syntax, C + + language semantics and C + + language lexical methods;
the step of translating the service code according to the standardized parameter of the th development language to obtain a source code file of a second development language includes:
checking whether the structural definitions of the C + + language in the service codes all conform to preset C + + language definition standardized parameters;
if the structure definitions of the C + + language all conform to the standardized parameters of the C + + language definition, the service codes of the original C + + language are reserved.
In an embodiment, translating the service code using the extended language according to the standardized parameter of the extended language to obtain a new service code of a second development language, includes:
inputting the development language of the service code to a language analysis engine;
constructing an abstract syntax tree; the nodes of the abstract syntax tree are used for the syntax structure of the service code;
traversing the abstract syntax tree to identify the business code of the extension language therein;
correspondingly converting the syntactic structure in the service code of the extension language into the syntactic structure of the C + + language to obtain a new service code of the C + + language; and establishing a correlation relationship between the syntactic structure of the extension language and the syntactic structure of the C + + language.
In an embodiment, before the step of receiving configuration instructions, said configuration instructions for predefining standardized parameters of KingLang language, further comprising:
selecting a database corresponding to the service code and establishing connection;
acquiring a data table in the database; the data table is preset with SQL statements;
and receiving a second configuration instruction, wherein the second configuration instruction is used for carrying out specified operation on the data table on a platform compiling code interface.
In , after the step of compiling and linking the source code file to obtain the executable program, the method further includes:
pushing the executable program to a middleware for running, and establishing a service related to the executable program;
and receiving test parameters set by a configuration user on a test interface, and calling the service to the test interface for testing.
In another embodiment, the step of receiving configuration instructions, the configuration instructions being for predefining standardized parameters in KingLang language, comprises:
establishing a project design flow chart; the project design flow chart is used for indicating the services supported by the project;
establishing a visual image of the business; the visual graph is used for arranging the business process.
A second aspect of an embodiment of the present application provides software development platforms, including:
a receiving module, configured to receive configuration instructions, where the configuration instructions are used to predefine standardized parameters of a KingLang language, where the KingLang language includes an extended language and a second development language, and the standardized parameters of the extended language include an extended language grammar, an extended language semantic and an extended language lexical;
, an obtaining module for obtaining a service code, wherein the development language of the service code is KingLang language;
the translation module is used for translating the service code using the extended language according to the standardized parameter of the extended language to obtain a new service code of a second development language;
the reservation module is used for reserving an original service code written by using the second development language in the original KingLang language;
the synthesis module is used for synthesizing a source code file of a second development language; the source code file is synthesized by the new service code and the original service code;
and the compiling module is used for compiling and linking the source code file to obtain the executable program.
A third aspect of the embodiments of the present application provides terminal devices, where the terminal device includes at least processors, a memory, and a computer program stored in the memory and operable on the at least processors, and the processor implements the steps in any of the method embodiments when executing the computer program.
A fourth aspect of an embodiment of the present application provides computer readable storage media storing a computer program which, when executed by a processor, performs the steps of the method of any of the preceding claims .
A fifth aspect of embodiments of the present application provides computer program products, which when run on a terminal device, causes the terminal device to execute the software development method of in any of the above aspects.
Compared with the prior art, the embodiment of the application has the advantages that: the KingLang language formed by combining the C + + language with the extension language is used for compiling related service codes, and corresponding source code files are obtained through conversion, so that the difficulty of compiling standard C + + language source code files by developers can be effectively reduced, and the software development efficiency is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a schematic flowchart of an implementation of a software development method provided in embodiment of the present application;
FIG. 2 is a macro project flow diagram of a software development platform provided in embodiment of the present application;
FIG. 3 is a flowchart of the development of a micro business graph of a software development platform according to an embodiment of the present disclosure;
FIG. 4 is a schematic flow chart of another implementation of the software development method provided in embodiment of the present application;
FIG. 5 is a schematic interface diagram of standard C + + source code of the software development platform according to embodiment of the present application;
FIG. 6 is a schematic interface diagram of a software development platform compiling code provided in embodiment of the present application;
FIG. 7 is a schematic flow chart illustrating yet another implementation of the software development method provided in embodiment of the present application;
fig. 8 is a schematic diagram of a concrete structure of an abstract syntax tree of the software development method provided in embodiment of the present application.
FIG. 9 is a schematic interface diagram of a compiled linked source code file of a software development platform provided in embodiment of the present application;
FIG. 10 is an interface diagram of unit testing of a software development platform provided in embodiment of the present application;
fig. 11 is a schematic structural diagram of a software development platform provided in the second embodiment of the present application;
fig. 12 is a schematic structural diagram of a terminal device according to a third embodiment of the present application.
Detailed Description
For those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be described clearly below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are partial embodiments, but not all embodiments, of the present application .
For example, a process, method or system, article, or apparatus that comprises the series of steps or elements is not limited to the listed steps or elements, but may alternatively include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
The software method provided by the embodiment of the present application may be applied to terminal devices such as a tablet computer, a notebook computer, an ultra-mobile personal computer (UMPC), a Personal Digital Assistant (PDA), and the like, and the embodiment of the present application does not limit the specific type of the terminal device.
Example
Referring to fig. 1, the present application provides software development methods, comprising:
s101, receiving configuration instructions, wherein the configuration instructions are used for predefining standardized parameters of a KingLang language, the KingLang language comprises an extended language and a second development language, and the standardized parameters of the extended language comprise extended language grammar, extended language semantics and extended language lexical methods;
s102, acquiring a service code; the development language of the service code is KingLang language.
The configuration instruction is a standardized parameter for defining a KingLang language, which is set by a developer in a development environment of the development platform, wherein the KingLang language can also be other languages such as JAVA or PHP, the standardized parameter sets a code expression format of the KingLang language for the developer, and different development languages can set corresponding language expression formats respectively, and specifically, the standardized parameter of the extension language comprises an extension language grammar, an extension language semantic and an extension language lexical, and can be identified and operated by an operation environment in the development platform.
In application, in the above-mentioned service codes in a software development project, projects correspond to or more service modules, and the services that each service module should execute on the development platform are different, and their corresponding service codes are also different or not identical, which is not limited herein.
In the embodiment, before step S101, the method further includes:
selecting a database corresponding to the service code and establishing connection;
acquiring a data table in the database; the data table is preset with SQL statements;
and receiving a second configuration instruction, wherein the second configuration instruction is used for carrying out specified operation on the data table on a compiling code interface of a development platform.
In the application, the database is used for storing data tables of a plurality of different SQL sentences, each data table contains or a plurality of SQL sentences, for the process of software development, developers need to compile a large number of SQL sentences all the time, and a plurality of SQL sentences are only basic single table adding, deleting, changing and searching operations, which are a large amount of low-level repeated labor.
In the embodiment, before step S101, the method further includes:
establishing a project design flow chart; the project design flow chart is used for indicating the services supported by the project;
establishing a visual image of the business; the visual graph is used for arranging the business process.
In the application, the project process is designed for the project at an initial stage, and includes setting a relevant service module that the project needs to operate, setting service types, service information and service files supported by the service module, and correspondingly setting functions, filling function information, generating a final function file, and the like, as specifically shown in fig. 2. The visualization graph is a specific design flow development diagram of the business module, and the visualization graph is provided with corresponding block diagrams such as database _ XA switching, SQL module, transaction submission, service _ out-of-reference writing (KingLang language code) and service error returning. Specifically, as shown in fig. 3, clicking the block diagram of the SQL module therein can link to a platform compiling code interface, display the SQL statement under the module, and write and modify the SQL statement; the click service _ out parameter is written into the block diagram, and may be linked to the platform compiled code interface to display the corresponding service code, or the service code may be compiled in the platform compiled code interface and then may be associated to the block diagram of the service function file, where the visual graph has a setting set by a developer, and may be added, deleted, modified, and the like, without limitation. According to the method and the system, the macroscopic project development flow is established at the initial stage of project creation, the specific business development flow in the macroscopic project development flow is established, and in the traditional software development process, the business development flow corresponding to the software can be obtained only by analyzing the business codes, so that the business process arrangement function of visual graphs is really intuitive.
In , the development language is KingLang language, and the development language standardized parameters are KingLang language standardized parameters.
Referring to fig. 4, after step S102, the method further includes:
s201, verifying the development language in the service code, and verifying whether the definition parameters of the development language conform to the predefined KingLang language standardized parameters;
s202, if the definition parameters of the development language do not accord with the predefined KingLang language standardization parameters, judging that the service code is a non-legal code;
and S203, displaying the error mark to a development platform interface.
In application, the KingLang language is a common language for security industry service development, and comprises a Chinese extension language and a C + + language, and the KingLang language can be used for programming service codes by using partial Chinese, so that the KingLang language is beneficial to programming and understanding of developers.
In the application, the service code in the KingLang language is checked, mainly to check whether the service code conforms to the KingLang language standardized parameters, wherein the check KingLang language standardized parameters include, but are not limited to, check code array length, check parameter type, check character and the like, and are not limited thereto.
In application, the error mark may be a red cross symbol, and when the mark is displayed in developing the platform interface, the wrong service code may also be displayed at the same time, so that the developer may quickly know the wrong service code, and change or revise the wrong service code, which is not limited to this.
Step S103, translating the service code using the extended language according to the standardized parameter of the extended language to obtain a new service code of a second development language.
And step S104, translating the service code using the extended language according to the standardized parameter of the extended language to obtain a new service code of a second development language.
And step S105, reserving an original service code written by using the second development language in the original KingLang language.
In a specific application, the second development language is a standard C + + language commonly used in security industry software development, the C + + language is english, and has a higher learning threshold of , and the KingLang language is a combination of an extension language of chinese and a standard C + + language, so that when programming service codes of the KingLang language, because the service codes have a chinese language, the programming difficulty is relatively low compared with a pure english C + + language, and the development efficiency of a programmer can be improved.
In , the step S103 includes:
checking whether the definitions of the extended languages in the service codes meet preset extended language standardized parameters or not;
and if the definitions of the extension languages all accord with the preset extension language standardized parameters, translating the service codes of the extension languages to obtain new service codes of a second development language.
In application, the definition of the above extension language includes but is not limited to:
KinglangStat KinglangServiceDeclaration | service _ variable syntax definition;
kinglangFunctionDeclaration | function _ variable syntax definition;
kinglangwrriteoutparams | service _ argument write syntax definition;
kinglingservicereturnfail | service _ error return syntax definition;
the KingLang syntax of KingLang writeoutparams | service _ out-of-reference write is used as an example for explanation:
// service _ out write syntax definition
kinglangWriteOutParams:WRITEOUTPARAMS'('kinglangDataSetIn*')”;';
// data set reference syntax definition
kinglangDataSetIn:'['expression']';
// keyword lexical definition
WRITEOUTPEAMS [ "service _ out _ refer write" ]';
the syntax of kinglangwingwriteoutparams consists of lexical "[ service _ argument write ]" and pair brackets "("), and 0 or more kinglangDataSetIn syntaxes, and finally ";" end ";
wherein, the lexical "[ service _ parameter write ]" is a keyword which needs to be matched with the grammar;
after the lexical key, "(" begin, several kingmarks DataSetIn in the middle, ")" and ";" end;
the kinglangDataSetIn syntax, in turn, starts with "[", plus expression syntax, and ends with "]".
The expression syntax may be variables, functions, or stacked "," split "variables.
So the KingLang syntax of KingLang writeoutparams (service _ refer write) can be either:
referring to FIG. 6:
[ service _ out _ write ] ([ FUNDID, PROJECTID, MONEYTYPE ]); ,
it can also be: [ service _ out _ write ] ([ FUNDID, PROJECTID, MONEYTYPE ] [ USERNAME, USEROLE ]); .
Therefore, the expanded language grammar, the expanded language semantics and the expanded language lexical method of the service code written by using the expanded language all need to conform to the standardized parameters of the expanded language, otherwise, the service code is not converted so as to avoid errors of the converted service code.
In an embodiment, the KingLang language includes C + + language, the KingLang language standardized parameters include C + + language standardized parameters, and the C + + language standardized parameters include C + + language syntax, C + + language semantics, and C + + language lexical methods, step S104 includes:
checking whether the structural definitions of the C + + language in the service codes all conform to preset C + + language standardized parameters;
if the structure definitions of the C + + language all conform to the standardized parameters of the C + + language, the service codes of the original C + + language are reserved.
In application, some service codes cannot be edited by adopting a Chinese extension language, so that the service codes can be directly programmed by adopting a C + + language to obtain a standard C + + source code file. Wherein, the standard C + + source code definition includes but is not limited to:
cppst block | block level element syntax definition;
cppwilestat | loop statement syntax definition;
cppIncluded; the method comprises the following steps of containing C/C + + standard input/output header file syntax definition; this is not limitative.
In the embodiment, referring to fig. 7, step S103 includes:
s301, inputting the development language of the service code to a language analysis engine;
s302, constructing an abstract syntax tree; the nodes of the abstract syntax tree are used for the syntax structure of the service code;
s303, traversing the abstract syntax tree, and identifying the service code of the extension language;
s304, correspondingly converting the syntactic structure in the service code of the extension language into a syntactic structure of the C + + language to obtain a new service code of the C + + language; and establishing a correlation relationship between the syntactic structure of the extension language and the syntactic structure of the C + + language.
In application, the language parsing engine includes but is not limited to a C + + language compiler, and particularly, the compiler translates source code into groups of instructions that can be efficiently converted into native code and independent of a CPU, and when executed, the real-time compiler converts them into CPU specific code.
In application, the structure of the abstract syntax tree is a grammar independent of the source language, that is, a context-free grammar used in a parsing stage, and is a tree representation of the abstract syntax structure of the source code, each node on the tree represents structures in the source code, specifically, taking simple a as b + C as an example, the abstract syntax tree constructed by the method can be specifically as shown in fig. 8, correspondingly, variables, operations, expressions and the like in the extension language are identified, and the formats are respectively applied to the standard C + + format, wherein the syntax structure of the extension language and the syntax structure of the C + + language are related in advance and stored in a development platform so as to be converted into a statement conforming to the C + + language specification, which is not limited.
And step S106, compiling and linking the source code file to obtain an executable program.
In application, a service code is a source file written by a developer in a language supported by a development tool, different source code files have different extensions according to different platforms, and on each platform, the source program extensions in the C + + language are the same, that is, C is, for example, test.c, and the source program in the C + + language is cpp, which is defined specifically with reference to the standard C + + source code. The executable program is a file for running, which is generated by compiling a source code file to generate an object file, and then linking the object file, and the executable program is run to generate a corresponding service program, as shown in fig. 9.
In the embodiment, after step S105, the method includes:
pushing the executable program to a middleware for running, and establishing a service related to the executable program;
and receiving test parameters set by a configuration user on a test interface, and calling the service to the test interface for testing.
In the application, the middleware is transaction management middleware (KCBP) developed and used in the securities industry, the KCBP is used as intermediate layers between a business application and an operating system and is responsible for correctly delivering transactions, managing the integrity of the transactions and scheduling the operation of the application program to ensure the high efficiency of the operation of the whole system, in particular, an executable program (service) is pushed to the KCBP to operate to establish the service, the service includes but is not limited to a commission service, a financial agent service, a financing or coupon service, and is not limited thereto, in the application, the test interface is used for testing whether the service corresponding to the established service can be normally used, and the test parameters include but are not limited to setting user ID, executable times, extension parameters and the like, and are not limited thereto, and are particularly shown in fig. 10.
According to the method and the device, the related service codes are compiled through the KingLang language formed by combining the C + + language with the extension language, and the corresponding source code files are obtained through conversion, so that the difficulty of compiling the standard C + + language source code files by developers can be effectively reduced, and the software development efficiency is improved.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
Example two
Referring to fig. 11, the present embodiment provides software development platforms 100, including:
the receiving module 10 is configured to receive configuration instructions, the configuration instructions are used for predefining standardized parameters of the KingLang language, wherein the KingLang language includes an extended language and a second development language, and the standardized parameters of the extended language include extended language grammar, extended language semantics and extended language lexical.
The th obtaining module 20 is used for obtaining the service code, wherein the development language of the service code is KingLang language.
The translation module 30 is configured to translate the service code using the extended language according to the standardized parameter of the extended language, so as to obtain a new service code of a second development language.
The reserving module 40 is configured to reserve an original service code written in the KingLang language by using the second development language.
The synthesis module 50 is used for synthesizing a source code file of a second development language; and the source code file is synthesized by the new service code and the original service code.
And the compiling module 60 is used for compiling and linking the source code file to obtain an executable program.
In , the software development platform 100 further includes a verification module, a determination module, and a display module.
The verification module is used for verifying the development language in the service code and verifying whether the definition parameters of the development language conform to the predefined KingLang language standardized parameters.
The judging module is used for judging the service code as a non-legal code if the definition parameter of the development language does not accord with the predefined KingLang language standardization parameter.
The display module is used for displaying the error mark to the interface of the software development platform.
In an embodiment, the KingLang language comprises a C + + language, the KingLang language standardized parameters comprise C + + language standardized parameters, and the C + + language standardized parameters comprise C + + language syntax, C + + language semantics and C + + language lexical methods;
the reservation module 40 is further configured to:
checking whether the structure definition of the C + + language in the service code conforms to the preset C + + language definition standardized parameters or not;
if the structure definitions of the C + + language all conform to the standardized parameters of the C + + language definition, the service codes of the original C + + language are reserved.
In the embodiment, translation module 30 is further configured to:
inputting the development language of the service code to a language analysis engine;
constructing an abstract syntax tree; the nodes of the abstract syntax tree are used for the syntax structure of the service code;
traversing the abstract syntax tree, identifying the service codes of the extension language, and translating the service codes into C + + source codes;
correspondingly converting the syntactic structure in the service code of the extension language into the syntactic structure of the C + + language to obtain a new service code of the C + + language; and establishing a correlation relationship between the syntactic structure of the extension language and the syntactic structure of the C + + language.
In the embodiment, the software development platform 100 further includes a establishing module, a second obtaining module, and a second receiving module.
setup module is in use for selecting database corresponding to the service code and setting up connection.
The second acquisition module is used for acquiring a data table in the database; and the data table is preset with SQL sentences.
The second receiving module is used for receiving a second configuration instruction, and the second configuration instruction is used for performing specified operation on the data table on a platform compiling code interface.
In the embodiment, software development platform 100 also includes a push module and a call module.
The pushing module is used for pushing the executable program to the middleware to run and establishing the business related to the executable program.
The calling module is used for receiving the testing parameters set by the configuration user on the testing interface and calling the service to the testing interface for testing.
In the embodiment, the software development platform 100 further includes a second setup module and a third setup module.
The second establishing module is used for establishing a project design flow chart; the project design flow chart is used for indicating the services supported by the project.
The third establishing module is used for establishing a visual image of the business; the visual graph is used for arranging the business process.
According to the method and the device, the related service codes are compiled through the KingLang language formed by combining the C + + language with the extension language, and the corresponding source code files are obtained through conversion, so that the difficulty of compiling the standard C + + language source code files by developers can be effectively reduced, and the software development efficiency is improved.
EXAMPLE III
Fig. 12 is a schematic diagram of a terminal device 80 provided in an embodiment of this application , as shown in fig. 12, the terminal device 80 of this embodiment includes a processor 803, a memory 801, and a computer program 802 stored in the memory 801 and operable on the processor 803, when the processor 803 executes the computer program 802, steps in the above-described embodiments of the software development method, such as steps S101 to S104 shown in fig. 1, are implemented, or when the processor 803 executes the computer program 802, functions of modules/units in the above-described embodiments of the apparatus are implemented.
For example, the computer program 802 may be divided into modules/units, the modules/units are stored in the memory 801 and executed by the processor 803 to accomplish the present application, the modules/units may be a series of computer program instruction segments capable of performing specific functions for describing the execution of the computer program 802 in the terminal device 80. for example, the computer program 802 may be divided into th receiving module, th obtaining module, translating module, retaining module, synthesizing module and compiling module, each of which has the following specific functions:
a receiving module, configured to receive configuration instructions, where the configuration instructions are configured to predefine standardized parameters of a KingLang language, where the KingLang language includes an extended language and a second development language, and the standardized parameters of the extended language include an extended language grammar, an extended language semantic, and an extended language lexical.
And , an obtaining module for obtaining the service code, wherein the development language of the service code is KingLang language.
And the translation module is used for translating the service code using the extended language according to the standardized parameter of the extended language to obtain a new service code of a second development language.
And the reservation module is used for reserving the original service code written by the second development language in the original KingLang language.
The synthesis module is used for synthesizing a source code file of a second development language; and the source code file is synthesized by the new service code and the original service code.
And the compiling module is used for compiling and linking the source code file to obtain the executable program.
The terminal device 80 may be a desktop computer, a notebook, a palm computer, a cloud server, or other computing devices. The terminal device may include, but is not limited to, a processor 803 and a memory 801. Those skilled in the art will appreciate that fig. 12 is merely an example of a terminal device 80 and does not constitute a limitation of terminal device 80 and may include more or fewer components than shown, or some components may be combined, or different components, e.g., the terminal device may also include input-output devices, network access devices, buses, etc.
The Processor 803 may be a Central Processing Unit (CPU), or may be any other general-purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Array (FPGA) or other Programmable logic device, discrete or transistor logic, discrete hardware components, etc.
The memory 801 may be an internal storage unit of the terminal device 80, such as a hard disk or a memory of the terminal device 80, the memory 801 may also be an external storage device of the terminal device 80, such as a plug-in hard disk provided on the terminal device 80, a Smart Memory Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), etc. in embodiments, the memory 801 may also include both an internal storage unit of the terminal device 80 and an external storage device, the memory 801 is used to store the computer program and other programs and data required by the terminal device, the memory 801 may also be used to temporarily store data that has been or will be output.
It is obvious to those skilled in the art that, for convenience and simplicity of description, only the division of the above functional units and modules is illustrated, and in practical applications, the above functions may be distributed by different functional units and modules as needed, that is, the internal structure of the apparatus is divided into different functional units or modules to complete all or part of the above described functions.
The present application further provides computer-readable storage media, where the computer-readable storage media store computer programs, and when the computer programs are executed by a processor, the computer programs implement the steps that can implement the above-mentioned method embodiments.
The present application provides computer program products, which when run on a mobile terminal, enable the mobile terminal to implement the steps of the above method embodiments when executed.
The integrated unit, if implemented as a software functional unit and sold or used as a stand-alone product, may be stored in computer readable storage media upon which it is understood that all or part of the processes of the methods of the embodiments described above are implemented, may be implemented by a computer program that may be stored in computer readable storage media, which when executed by a processor may implement the steps of the various method embodiments described above.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
For example, the above-described embodiments of the terminal device are merely illustrative, for example, the modules or units may be divided into logical functional divisions, and other divisions may be realized, for example, multiple units or components may be combined or integrated with another systems, or features may be omitted or not executed, in addition, point, the shown or discussed mutual coupling or direct coupling or communication connection may be through interfaces, indirect coupling or communication connection of devices or units, and may be electrical, mechanical or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, that is, may be located in places, or may also be distributed on multiple network units.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.

Claims (10)

1, software development method, comprising:
receiving configuration instructions, wherein the configuration instructions are used for predefining standardized parameters of the KingLang language, the KingLang language comprises an extended language and a second development language, and the standardized parameters of the extended language comprise extended language grammar, extended language semantics and extended language lexical;
acquiring a service code; wherein, the development language of the service code is KingLang language;
translating the service code using the extended language according to the standardized parameter of the extended language to obtain a new service code of a second development language;
reserving an original service code written by using the second development language in the original KingLang language;
synthesizing a source code file of a second development language; the source code file is synthesized by the new service code and the original service code;
and compiling and linking the source code file to obtain the executable program.
2. The software development method of claim 1, further comprising, after the step of obtaining the service code:
checking a development language in the service code, and checking whether a definition parameter of the development language conforms to the predefined KingLang language standardized parameter;
if the definition parameters of the development language do not accord with the predefined KingLang language standardization parameters, judging that the service code is a non-legal code;
and displaying an error mark to the software development platform interface.
3. The software development method of claim 1 wherein said KingLang language comprises C + + language; the KingLang language standardized parameters comprise C + + language standardized parameters, and the C + + language standardized parameters comprise C + + language grammar, C + + language semantics and C + + language lexical methods;
the step of reserving the original service code written by the second development language in the original KingLang language comprises the following steps:
checking whether the structural definitions of the C + + language in the service codes all conform to preset C + + language standardized parameters;
if the structure definitions of the C + + language all conform to the standardized parameters of the C + + language, the service codes of the original C + + language are reserved.
4. The software development method according to claim 3, wherein translating the service code using the extension language according to the standardized parameter of the extension language to obtain a new service code of a second development language comprises:
inputting the development language of the service code to a language analysis engine;
constructing an abstract syntax tree; the nodes of the abstract syntax tree are used for the syntax structure of the service code;
traversing the abstract syntax tree to identify the business code of the extension language therein;
correspondingly converting the syntactic structure in the service code of the extension language into the syntactic structure of the C + + language to obtain a new service code of the C + + language; and establishing a correlation relationship between the syntactic structure of the extension language and the syntactic structure of the C + + language.
5. The software development method of claim 1, further comprising, prior to the step of receiving configuration instructions, said configuration instructions being for predefining standardized parameters of KingLang's language:
selecting a database corresponding to the service code and establishing connection;
acquiring a data table in the database; the data table is preset with SQL statements;
and receiving a second configuration instruction, wherein the second configuration instruction is used for carrying out specified operation on the data table on a platform compiling code interface.
6. The software development method of claim 1, wherein after the step of compiling and linking the source code file to obtain the executable program, the method further comprises:
pushing the executable program to a middleware for running, and establishing a service related to the executable program;
and receiving test parameters set by a configuration user on a test interface, and calling the service to the test interface for testing.
7. The software development method of claim 1, wherein receiving th configuration instructions, said th configuration instructions being preceded by the step of predefining standardized parameters of KingLang language, comprises:
establishing a project design flow chart; the project design flow chart is used for indicating the services supported by the project;
establishing a visual image of the business; the visual graph is used for arranging the business process.
8, software development platform, comprising:
a receiving module, configured to receive configuration instructions, where the configuration instructions are used to predefine standardized parameters of a KingLang language, where the KingLang language includes an extended language and a second development language, and the standardized parameters of the extended language include an extended language grammar, an extended language semantic and an extended language lexical;
, an obtaining module for obtaining a service code, wherein the development language of the service code is KingLang language;
the translation module is used for translating the service code using the extended language according to the standardized parameter of the extended language to obtain a new service code of a second development language;
the reservation module is used for reserving an original service code written by using the second development language in the original KingLang language;
the synthesis module is used for synthesizing a source code file of a second development language; the source code file is synthesized by the new service code and the original service code;
and the compiling module is used for compiling and linking the source code file to obtain the executable program.
Terminal device of , comprising at least processors, a memory and a computer program stored in the memory and executable on the at least processors, characterized in that the processor implements the steps of the method according to any of claims 1 to 7 and when executing the computer program.
10, 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 according to any of claims 1 to 7 or .
CN201910880857.XA 2019-09-18 2019-09-18 Software development method, development platform, terminal device and storage medium Active CN110737431B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910880857.XA CN110737431B (en) 2019-09-18 2019-09-18 Software development method, development platform, terminal device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910880857.XA CN110737431B (en) 2019-09-18 2019-09-18 Software development method, development platform, terminal device and storage medium

Publications (2)

Publication Number Publication Date
CN110737431A true CN110737431A (en) 2020-01-31
CN110737431B CN110737431B (en) 2023-07-14

Family

ID=69268041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910880857.XA Active CN110737431B (en) 2019-09-18 2019-09-18 Software development method, development platform, terminal device and storage medium

Country Status (1)

Country Link
CN (1) CN110737431B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111381817A (en) * 2020-03-25 2020-07-07 北京字节跳动网络技术有限公司 Method, device, medium and electronic equipment for realizing cross-platform multi-language development

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040167784A1 (en) * 2003-02-21 2004-08-26 Motionpoint Corporation Dynamic language translation of web site content
EP2608026A1 (en) * 2011-12-16 2013-06-26 Schneider Electric Automation Gmbh Method for generating a software module for a field device from a device description file and device description file
CN106919434A (en) * 2017-03-22 2017-07-04 恒生电子股份有限公司 A kind of code generating method and device
CN109032606A (en) * 2018-07-10 2018-12-18 北京小米移动软件有限公司 The process of compilation method, apparatus and terminal of native applications program
CN109101269A (en) * 2018-08-30 2018-12-28 长沙软工信息科技有限公司 A kind of Software Delivery method and device, electronic equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040167784A1 (en) * 2003-02-21 2004-08-26 Motionpoint Corporation Dynamic language translation of web site content
EP2608026A1 (en) * 2011-12-16 2013-06-26 Schneider Electric Automation Gmbh Method for generating a software module for a field device from a device description file and device description file
CN106919434A (en) * 2017-03-22 2017-07-04 恒生电子股份有限公司 A kind of code generating method and device
CN109032606A (en) * 2018-07-10 2018-12-18 北京小米移动软件有限公司 The process of compilation method, apparatus and terminal of native applications program
CN109101269A (en) * 2018-08-30 2018-12-28 长沙软工信息科技有限公司 A kind of Software Delivery method and device, electronic equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
田欢;: "在ASP.NET2.0中自动化构建数据访问层" *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111381817A (en) * 2020-03-25 2020-07-07 北京字节跳动网络技术有限公司 Method, device, medium and electronic equipment for realizing cross-platform multi-language development

Also Published As

Publication number Publication date
CN110737431B (en) 2023-07-14

Similar Documents

Publication Publication Date Title
CN112015430B (en) JavaScript code translation method, device, computer equipment and storage medium
US9280442B1 (en) System and method for generating coverage reports for software unit tests
CN103218294B (en) A kind of adjustment method of embedded system, debugging conversion equipment and system
US9122540B2 (en) Transformation of computer programs and eliminating errors
KR101770292B1 (en) Computer-executable model reverse engineering method and apparatus performing the same
CN108037913B (en) Method for converting xUML4MC model into MSVL (modeling, simulation and verification language) program and computer-readable storage medium
CN101751281A (en) System and method for generating compiler
CN111427583A (en) Component compiling method and device, electronic equipment and computer readable storage medium
CN114153459A (en) Interface document generation method and device
CN115952758A (en) Chip verification method and device, electronic equipment and storage medium
CN116755669A (en) Low code development method and tool based on DSL language operation model
CN112286784B (en) Test case generation method, device, server and storage medium
US10839124B1 (en) Interactive compilation of software to a hardware language to satisfy formal verification constraints
CN114791808A (en) Data flow graph generation method and device
Li et al. Breeze graph grammar: a graph grammar approach for modeling the software architecture of big data‐oriented software systems
CN113885876A (en) Parameter checking method, device, storage medium and computer system
Irwin et al. Object oriented metrics: Precision tools and configurable visualisations
CN113238739A (en) Plug-in development and data acquisition method, device, electronic equipment and medium
Savic et al. Use case specification at different levels of abstraction
CN110737431A (en) Software development method, development platform, terminal device and storage medium
CN116414689A (en) Interface parameter verification method and system based on reflection mechanism
CN113626644B (en) Format conversion method and device for business process data
Schraps et al. Semantic annotation of a formal grammar by SemanticPatterns
CN113138767A (en) Code language conversion method, device, electronic equipment and storage medium
CN111694729A (en) Application testing method and device, electronic equipment and computer readable 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