CN103150200A - Computer language transformation system and transformation method from C language to MSVL (Modeling, Simulation and Verification Language) - Google Patents
Computer language transformation system and transformation method from C language to MSVL (Modeling, Simulation and Verification Language) Download PDFInfo
- Publication number
- CN103150200A CN103150200A CN2013101201821A CN201310120182A CN103150200A CN 103150200 A CN103150200 A CN 103150200A CN 2013101201821 A CN2013101201821 A CN 2013101201821A CN 201310120182 A CN201310120182 A CN 201310120182A CN 103150200 A CN103150200 A CN 103150200A
- Authority
- CN
- China
- Prior art keywords
- statement
- language
- msvl
- converted
- exp
- 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
Links
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
The invention relates to a computer language transformation system. The computer language transformation system is used for transforming C language program into MSVL (Modeling, Simulation and Verification Language) program, and comprises a lexical analysis module, a syntax analysis module and a transformation processing module, wherein the lexical analysis module is used for transforming character sequences into word sequences; the character sequences comprise definitions of key words, identification characters, constants, operators, header files and comment lines in C language; the syntax analysis module is used for identifying specific sentences in C language based on related lexical rules of C language specified in yacc (Yet Another Compiler Compiler); and the transformation processing module is used for transforming C language into MSVL language according to a language transformation rule between C language and MSVL language.
Description
Technical field
The present invention relates to computer programming language C language technology field, relate in particular to a kind of C language construction statement to the conversion method of the corresponding statement of MSVL.
Background technology
The C language is a kind of programming language of general, process type, is widely used in the exploitation of system and application software.Have efficient, flexibly, feature richness, characteristics such as transplantability that expressiveness is strong and higher, enjoy favor in the programmer.The formal new draft internation standard C11 of C language that announces of 2011ISO has improved the compatibility to C++, and new characteristic has been increased in the C language.New function comprises the support multithreading, based on supporting Unicode under ISO/IEC TR19769:2004 standard, provides more multiplex macro definition in inquiry float characteristic and static statement function.Although the C language is widely used in the exploitation of sorts of systems and software, guarantee that its correctness and security become a huge challenge.It is an effective means of verification system correctness that model detects, but the abstract model that will extract C programmer becomes difficult point and the challenge of facing at present.
Sequential logic has been widely used in the fields such as soft project, Design of Digital Circuit as a kind of system modelling and verification tool.Projection sequential logic (PTL) is expanded ITL, temporal logic language MSVL is that of PTL can carry out subset, it is a sequential logic programming language that integrates modeling (Modeling), emulation (Simulation) and checking (Verification), it is unified in the modeling of system and the description of character in same logical framework, by the character of model detection technique verification system.The projection sequential logic is in real-time and commingled system, particularly formal description and the checking aspect of safety critical system are also exceedingly useful, for example, the manned space system is the hybrid real-time system of a complexity, in order to guarantee Security of the system and reliability, traditional method of testing can not meet the demands far away, and the verification technique of different forms is very useful.
In addition, language construction and the C language of projection sequential logic programming language MSVL are extremely similar, are easy to produce corresponding transformational relation.By realizing the conversion from the C language to the MSVL language, target program after transforming is verified, utilized the thought that transforms of equal value, can realize the extraction to C language formalization model, and can carry out model to this model and detect, this will improve the safety and reliability of C programmer greatly.
Summary of the invention
The invention provides a kind of computerese converting system, it can become the C language conversion MSVL language, detects with the program to the C language.It specifically comprises, a kind of computerese converting system, and it is used for converting C programmer to the MSVL language program, it is characterized in that: it comprises,
Lexical Analysis Module, it is converted to word sequence with character string, and described character string comprises the definition of key word, identifier, constant, operational symbol, header file and comment line in the C language;
Syntax Analysis Module, it is based on the relevant morphological rule of the C language of defined in yacc, and then identifies specific statement in the C language;
The conversion process module, it becomes MSVL language with language conversion rule between the MSVL language with the C language conversion according to the C language.
The present invention also provides the conversion method of a kind of C language to the MSVL language, and it provides Lexical Analysis Module, syntax Analysis Module and conversion process module, it is characterized in that: said method comprising the steps of;
The first step: C programmer is imported Lexical Analysis Module, and this step comprises character string is converted to word sequence, and described character string comprises the definition of key word, identifier, constant, operational symbol, header file and comment line in the C language;
Second step: the word conductance that obtains in step 1 is entered syntax Analysis Module, and this step comprises the relevant morphological rule based on the C language of defined in yacc, and then identifies specific statement in the C language;
The 3rd step: the C language statement sequence that the second step grammatical analysis is identified converts corresponding MSVL statement to according to corresponding transformation rule in the conversion process module;
The 4th step: use sequential operational character "; " connect the MSVL statement sequence that obtains, obtain the MSVL program.
On the basis of technique scheme, the structured statement in the C language described in syntax Analysis Module comprises basic representation statement, while statement, if statement, if-else statement, for statement, switch statement, printf statement and scanf statement.
On the basis of technique scheme, in the C language described in described syntax Analysis Module, the conditional statement of the loop body of the while statement of structured statement, for statement and if statement, if-else statement is a statement block.
On the basis of technique scheme, the language conversion rule between described C language and MSVL language comprises expression formula transformation rule, statement transformation rule and statement block transformation rule.。
On the basis of technique scheme, the transformation rule of described expression formula is as follows:
Expression formula is transformed, suppose that x and y are standard symbols, e represents a constant or variable, and is as follows with reference to rule:
IF expression is e, is converted into the MSVL expression formula and returns to e;
IF expression is [x++|x--], is converted into MSVL statement x:=x+1and skip or x:=x-1and skip;
IF expression is x=y, is converted into MSVL statement x:=y and skip;
IF expression is x==y, is converted into MSVL statement x==y;
IF expression is x[+ ,-, * ,/, %, unequal to] y, be converted into MSVL expression formula x[+ ,-, * ,/, %, unequal to] y;
IF expression is x*=y (*=[<| 〉]), is converted into MSVL expression formula x=y or x*y;
IF expression be x[+|-|*|/| %]=y, be converted into x:=x[+|-|*|/| %] y and skip;
IF expression is x﹠amp; ﹠amp; Y is converted into MSVL statement x and skip;
IF expression is x||y, is converted into MSVL statement x or y;
IF expression is x, and y is converted into MSVL statement x, y;
IF expression is (x), is converted into the MSVL statement and is (x);
On the basis of technique scheme,
Basic statement is transformed, suppose that exp is a constant expression, block is a statement block, and s represents a complete statement, and x is a variable, and parameter represents a character string, and rule is with reference to as follows:
If statement is dummy statement, is converted into dummy statement;
If statement is exp, is converted into exp;
If statement is x=exp, is converted into x:=exp and skip;
If statement is the if statement, uses the transformation rule of IF statement that statement is changed;
If statement is that { block} is converted into MSVL statement while (exp) { block} to while (exp);
If statement is the int declarative statement, uses the transformation rule of declarative statement that statement is changed;
If statement is for (s exp1; Exp2) { block} is converted into s while (exp) { block; Exp2};
If statement is that (" parameter " exp), is converted into output (exp) to printf;
If statement is that (" parameter " exp), is converted into input (exp) to scanf;
Wherein, as follows to the transformation rule of IF statement:
If statement shape such as if (exp) be s, be converted into if (exp) then{s}
If { block} is converted into if (exp) then{s} for statement shape such as if (exp)
If { block1}else{block2} is converted into if (exp) then{block1}else{block2} for statement shape such as if (exp)
If { { block2} is converted into if (exp1) then{block1}else if (exp2) { block2} to block1}else if (exp2) for statement shape such as if (exp1)
Suppose that var_list represents the variable that row connect with ", ", exp_list represents the expression formula that row connect with ", ", and ei is a symbol that occurs in exp_list, and the transformation rule of declarative statement is as follows:
If declarative statement is int x, be converted into int x;
If declarative statement is int var_list, be converted into int var_list;
If declarative statement is int x=exp, be converted into int x; X=exp and skip;
If declarative statement is int exp_list, use the rule of declarative statement to transform to each expression formula wherein, convert respectively corresponding independently MSVL statement language to.
On the basis of technique scheme, the transformation rule of described basic statement is for the conversion of statement block, and one by one every basic statement transformed respectively, until in statement block, all statements transform complete.
With respect to prior art, the present invention can realize the conversion to c program by the C language conversion being become the MSVL language by to the transformation definition of basic statement, and obtains MSVL language of equal value and can carry out the simulation result that obtains c program equally.The character that needs can be verified represents with the propositional logic of MSVL, c program is converted to the MSVL program, what therefore Construction of A Model and property description used is same language, makes modeling and checking carry out under same logical framework, just can realize easily the model of C programmer is detected.The modeling of MSVL and the logical foundations of model checking method are the sequential logics that belongs to formalization method, send elsewhere bright with non-formal C programmer, with formal method, its model is detected, guaranteed the validity and reliability that model that c program is built is verified and detected.Can with formal language, it be carried out model and detect with after the C language compilation program of being familiar with, guarantee that program safety is reliable.
Description of drawings
Fig. 1 is the flow process frame diagram that the present invention detects the C programmer model.
Embodiment
The invention provides a kind of computerese converting system, it can become the C language conversion MSVL language, detects with the program to the C language.It specifically comprises, a kind of computerese converting system, it is used for converting C programmer to the MSVL language program, it comprises, Lexical Analysis Module, Lexical Analysis Module is converted to word sequence with character string, and character string comprises the definition of key word, identifier, constant, operational symbol, header file and comment line in the C language; Also comprise syntax Analysis Module, syntax Analysis Module is based on the relevant morphological rule of the C language of defined in yacc, and then identifies specific statement in the C language; Also comprise the conversion process module, the conversion process module becomes MSVL language with language conversion rule between the MSVL language with the C language conversion according to the C language.
Please refer to Fig. 1, the below introduces and uses computerese converting system of the present invention the C language conversion to be become the method for MSVL language.
The first step: C programmer is imported Lexical Analysis Module, and this step comprises character string is converted to word sequence, and described character string comprises the definition of key word, identifier, constant, operational symbol, header file and comment line in the C language.
Through after lexical analysis, program has become the sequence of key word, constant, identifier and operational symbol, wherein will be left in the basket after the part of the header file in C programmer and comment section identification, can not send into next module.In the above-mentioned C linguistic source program of asking highest common factor and lowest common multiple, the lexical analysis rule of using has:
1. run into header file #include<stdio.h〉statement, do not do any operation;
2. run into key word return label title, as int return to INT, main returns to MAIN;
3. run into identifier and return to this mark of Yacc syntax analyzer, as num1, num2, a etc.;
4. run into operational symbol and return to the token name of operational symbol, as unequal to ,=, %, * etc.;
5. run into the space and be left in the basket, do not do any operation.
So far, define by morphological rule, realized the function of utilizing the lex lexical analysis to carry out lexical analysis to the program of source language C language.
Second step: the word conductance that obtains in step 1 is entered syntax Analysis Module, and this step comprises the relevant morphological rule based on the C language of defined in yacc, and then identifies specific statement in the C language.
As shown in Figure 2, c program to input is realized lexical analysis with the lex lexical analyzer, the word stream that generates and mark stream are as the input of yacc syntax analyzer, syntactic analyser is according to the relevant morphological rule of the C language of defined in the yacc file, and then identify specific statement, that identifies has: the basic representation statement (as a<b), while statement and if statement, and the statement block in if statement and while statement.
The 3rd step: the C language statement sequence that the second step grammatical analysis is identified converts corresponding MSVL statement to according to corresponding transformation rule in the conversion process module;
The 4th step: use sequential operational character "; " connect the MSVL statement sequence that obtains, obtain the MSVL program.
Structured statement in C language described in syntax Analysis Module comprises basic representation statement, while statement, if statement, if-else statement, for statement, switch statement, printf statement and scanf statement.
In C language described in syntax Analysis Module, the conditional statement of the loop body of the while statement of structured statement, for statement part and if statement, if-else statement partly is regarded as a statement block.
The definition transformation rule comprises that definition is to expression formula transformation rule, statement transformation rule and statement block transformation rule.
On the basis of technique scheme, the transformation rule of described expression formula is as follows:
Expression formula is transformed, suppose that x and y are standard symbols, e represents a constant or variable, and is as follows with reference to rule:
IF expression is e, is converted into the MSVL expression formula and returns to e;
IF expression is [x++|x--], is converted into MSVL statement x:=x+1and skip or x:=x-1and skip;
IF expression is x=y, is converted into MSVL statement x:=y and skip;
IF expression is x==y, is converted into MSVL statement x==y;
IF expression is x[+ ,-, * ,/, %, unequal to] y, be converted into MSVL expression formula x[+ ,-, * ,/, %, unequal to] y;
IF expression is x*=y (*=[<| 〉]), is converted into MSVL expression formula x=y or x*y;
IF expression be x[+|-|*|/| %]=y, be converted into x:=x[+|-|*|/| %] y and skip;
IF expression is x﹠amp; ﹠amp; Y is converted into MSVL statement x and skip;
IF expression is x||y, is converted into MSVL statement x or y;
IF expression is x, and y is converted into MSVL statement x, y;
IF expression is (x), is converted into the MSVL statement and is (x);
The following describes statement transformation rule and statement block transformation rule, basic statement is transformed, basic statement comprises statement and statement block, suppose that exp is a constant expression, block is a statement block, and s represents a complete statement, and x is a variable, parameter represents a character string, and rule is with reference to as follows:
If statement is dummy statement, is converted into dummy statement;
If statement is exp, is converted into exp;
If statement is x=exp, is converted into x:=exp and skip;
If statement is the if statement, uses the transformation rule of IF statement that statement is changed;
If statement is that { block} is converted into MSVL statement while (exp) { block} to while (exp);
If statement is the int declarative statement, uses the transformation rule of declarative statement that statement is changed;
If statement is for (s exp1; Exp2) { block} is converted into s while (exp) { block; Exp2};
If statement is that (" parameter " exp), is converted into output (exp) to printf;
If statement is that (" parameter " exp), is converted into input (exp) to scanf;
Wherein, as follows to the transformation rule of IF statement:
If statement shape such as if (exp) be s, be converted into if (exp) then{s}
If { block} is converted into if (exp) then{s} for statement shape such as if (exp)
If { block1}else{block2} is converted into if (exp) then{block1}else{block2} for statement shape such as if (exp)
If { { block2} is converted into if (exp1) then{block1}else if (exp2) { block2} to block1}else if (exp2) for statement shape such as if (exp1)
Suppose that var_list represents the variable that row connect with ", ", exp_list represents the expression formula that row connect with ", ", and ei is a symbol that occurs in exp_list, and the transformation rule of declarative statement is as follows:
If declarative statement is int x, be converted into int x;
If declarative statement is int var_list, be converted into int var_list;
If declarative statement is int x=exp, be converted into int x; X=exp and skip;
If declarative statement is int exp_list, use the rule of declarative statement to transform to each expression formula wherein, convert respectively corresponding independently MSVL declarative statement to.
The transformation rule of basic statement is for the conversion of statement block, and one by one every basic statement transformed respectively, until in statement block, all statements transform complete.
Claims (8)
1. computerese converting system, it is used for converting C programmer to the MSVL language program, it is characterized in that: it comprises,
Lexical Analysis Module, it is converted to word sequence with character string, and described character string comprises the definition of key word, identifier, constant, operational symbol, header file and comment line in the C language;
Syntax Analysis Module, it is based on the relevant morphological rule of the C language of defined in yacc, and then identifies specific statement in the C language;
The conversion process module, it becomes MSVL language with language conversion rule between the MSVL language with the C language conversion according to the C language.
2. a C language is to the conversion method of MSVL language, and it provides Lexical Analysis Module, syntax Analysis Module and conversion process module, it is characterized in that: said method comprising the steps of;
The first step: C programmer is imported Lexical Analysis Module, and this step comprises character string is converted to word sequence, and described character string comprises the definition of key word, identifier, constant, operational symbol, header file and comment line in the C language;
Second step: the word conductance that obtains in step 1 is entered syntax Analysis Module, and this step comprises the relevant morphological rule based on the C language of defined in yacc, and then identifies specific statement in the C language;
The 3rd step: the C language statement sequence that the second step grammatical analysis is identified converts corresponding MSVL statement to according to corresponding transformation rule in the conversion process module;
The 4th step: use sequential operational character "; " connect the MSVL statement sequence that obtains, obtain the MSVL program.
3. a kind of C language according to claim 2 to the conversion method of MSVL language, is characterized in that: the structured statement in the C language described in syntax Analysis Module comprises basic representation statement, while statement, if statement, if-else statement, for statement, switch statement, printf statement and scanf statement.
4. a kind of C language according to claim 2 to the conversion method of MSVL language, is characterized in that: in the C language described in described syntax Analysis Module, the conditional statement of the loop body of the while statement of structured statement, for statement part and if statement, if-else statement is a statement block.
5. a kind of C language according to claim 1 to the conversion method of MSVL language, is characterized in that: the language conversion rule between described C language and MSVL language comprises expression formula transformation rule, statement transformation rule and statement block transformation rule.
6. a kind of C language according to claim 5 is to the conversion method of MSVL language, and it is characterized in that: the transformation rule of described expression formula is as follows:
Expression formula is transformed, suppose that x and y are standard symbols, e represents a constant or variable, and is as follows with reference to rule:
IF expression is e, is converted into the MSVL expression formula and returns to e;
IF expression is [x++|x--], is converted into MSVL statement x:=x+1and skip or x:=x-1and skip;
IF expression is x=y, is converted into MSVL statement x:=y and skip;
IF expression is x==y, is converted into MSVL statement x==y;
IF expression is x[+ ,-, * ,/, %, unequal to] y, be converted into MSVL expression formula x[+ ,-, * ,/, %, unequal to] y;
IF expression is x*=y (*=[<| 〉]), is converted into MSVL expression formula x=y or x*y;
IF expression be x[+|-|*|/| %]=y, be converted into x:=x[+|-|*|/| %] y and skip;
IF expression is x﹠amp; ﹠amp; Y is converted into MSVL statement x and skip;
IF expression is x||y, is converted into MSVL statement x or y;
IF expression is x, and y is converted into MSVL statement x, y;
IF expression is (x), is converted into the MSVL statement and is (x).
7. a kind of C language as claimed in claim 5 to the conversion method of MSVL language, is characterized in that: described statement transformation rule and statement block transformation rule are as follows,
Basic statement is transformed, suppose that exp is a constant expression, block is a statement block, and s represents a complete statement, and x is a variable, and parameter represents a character string, and rule is with reference to as follows:
If statement is, is converted into;
If statement is exp, is converted into exp;
If statement is x=exp, is converted into x:=exp and skip;
If statement is the if statement, uses the transformation rule of IF statement that statement is changed;
If statement is that { block} is converted into MSVL statement while (exp) { block} to while (exp);
If statement is the int declarative statement, uses the transformation rule of declarative statement that statement is changed;
If statement is for (s exp1; Exp2) { block} is converted into s while (exp) { block};
If statement is that (" parameter " exp), is converted into output (exp) to printf;
If statement is that (" parameter " exp), is converted into input (exp) to scanf;
Wherein, as follows to the transformation rule of IF statement:
If statement shape such as if (exp) be s, be converted into if (exp) then{s}
If { block} is converted into if (exp) then{s} for statement shape such as if (exp)
If { block1}else{block2} is converted into if (exp) then{block1}else{block2} for statement shape such as if (exp)
If statement is that { { block2} is converted into if (exp1) then{block1}else if (exp2) { block2} to block1}else if (exp2) to if (exp1)
Suppose that var_list represents the variable that row connect with ", ", exp_list represents the expression formula that row connect with ", ", and ei is a symbol that occurs in exp_list, and the transformation rule of declarative statement is as follows:
If declarative statement is int x, be converted into int x;
If declarative statement is int var_list, be converted into int var_list;
If declarative statement is int x=exp, be converted into int x; X=exp and skip;
If declarative statement is int exp_list, use the rule of declarative statement to transform to each expression formula wherein, convert respectively corresponding independently MSVL statement language to.
8. a kind of C language according to claim 5 is to the conversion method of MSVL language, it is characterized in that: the transformation rule of described basic statement is for the conversion of statement block, and one by one every basic statement is transformed respectively, until in statement block, all statements transform complete.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310120182.1A CN103150200B (en) | 2013-04-08 | 2013-04-08 | A kind of C language is to the conversion method of MSVL language |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310120182.1A CN103150200B (en) | 2013-04-08 | 2013-04-08 | A kind of C language is to the conversion method of MSVL language |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103150200A true CN103150200A (en) | 2013-06-12 |
CN103150200B CN103150200B (en) | 2016-08-03 |
Family
ID=48548300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310120182.1A Active CN103150200B (en) | 2013-04-08 | 2013-04-08 | A kind of C language is to the conversion method of MSVL language |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103150200B (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455362A (en) * | 2013-09-27 | 2013-12-18 | 西安电子科技大学 | Automatic hardware language transformation system |
CN104503816A (en) * | 2014-12-30 | 2015-04-08 | 西安电子科技大学 | System for automatically converting hardware language VHDL (Vhsic Hardware Description Language) into MSVL (Modeling, Simulation and Verification Language) |
CN104572072A (en) * | 2014-12-01 | 2015-04-29 | 北京百度网讯科技有限公司 | MVC (model view controller) mode-based language transformation method and equipment for program |
CN104657190A (en) * | 2015-02-14 | 2015-05-27 | 南威软件股份有限公司 | Method for enhancing function of switch statement based on C language family |
CN104657542A (en) * | 2015-01-27 | 2015-05-27 | 西安电子科技大学 | MSVL (Modeling, Simulation and Verification Language)-based Petri network model detection method |
CN106991166A (en) * | 2017-03-31 | 2017-07-28 | 北京奇艺世纪科技有限公司 | A kind of big data processing method and processing device |
CN108037913A (en) * | 2017-12-21 | 2018-05-15 | 西安邮电大学 | A kind of conversion method of xUML4MC models to MSVL LISP program LISPs, computer program |
CN108090053A (en) * | 2018-01-09 | 2018-05-29 | 亢世勇 | A kind of language conversion output device and method |
CN109739512A (en) * | 2018-12-28 | 2019-05-10 | 江苏极光网络技术有限公司 | A kind of analytical type language text formula analysis conversion method |
CN109885307A (en) * | 2019-01-07 | 2019-06-14 | 西安邮电大学 | Conversion method of the library the pthread multithreading c program to MSVL program, computer program |
CN112306470A (en) * | 2020-10-19 | 2021-02-02 | 南京航空航天大学 | Method for simplifying, converting and automatically verifying complex synchronous language program |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000029678A (en) * | 1998-05-18 | 2000-01-28 | Ntt Communication Ware Kk | Program language conversion method, device therefor and recording medium |
CN1503459A (en) * | 2002-11-27 | 2004-06-09 | 华为技术有限公司 | Protocol conversion device and method based on text character stream report |
CN101499015A (en) * | 2009-03-18 | 2009-08-05 | 北京和利时系统工程有限公司 | Method and converter for converting high level language to other high level languages |
CN102012991A (en) * | 2010-11-09 | 2011-04-13 | 北京神舟航天软件技术有限公司 | Static analysis-based checking method of safety rules of C language |
CN102222004A (en) * | 2011-07-01 | 2011-10-19 | 福建富士通信息软件有限公司 | Method for transforming switch special language into C language |
-
2013
- 2013-04-08 CN CN201310120182.1A patent/CN103150200B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000029678A (en) * | 1998-05-18 | 2000-01-28 | Ntt Communication Ware Kk | Program language conversion method, device therefor and recording medium |
CN1503459A (en) * | 2002-11-27 | 2004-06-09 | 华为技术有限公司 | Protocol conversion device and method based on text character stream report |
CN101499015A (en) * | 2009-03-18 | 2009-08-05 | 北京和利时系统工程有限公司 | Method and converter for converting high level language to other high level languages |
CN102012991A (en) * | 2010-11-09 | 2011-04-13 | 北京神舟航天软件技术有限公司 | Static analysis-based checking method of safety rules of C language |
CN102222004A (en) * | 2011-07-01 | 2011-10-19 | 福建富士通信息软件有限公司 | Method for transforming switch special language into C language |
Non-Patent Citations (1)
Title |
---|
YAN YU,ZHENHUA DUAN,CONG TIAN,AND MENGFEI YANG: "Model Checking C Programs with MSVL", 《STRUCTURED OBJECT-ORIENTED FORMAL LANGUAGE AND METHOD》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455362A (en) * | 2013-09-27 | 2013-12-18 | 西安电子科技大学 | Automatic hardware language transformation system |
CN104572072A (en) * | 2014-12-01 | 2015-04-29 | 北京百度网讯科技有限公司 | MVC (model view controller) mode-based language transformation method and equipment for program |
CN104572072B (en) * | 2014-12-01 | 2017-09-29 | 北京百度网讯科技有限公司 | A kind of language transfer method and equipment to the program based on MVC pattern |
CN104503816B (en) * | 2014-12-30 | 2017-09-19 | 西安电子科技大学 | A kind of hardware language VHDL to MSVL automated conversion system |
CN104503816A (en) * | 2014-12-30 | 2015-04-08 | 西安电子科技大学 | System for automatically converting hardware language VHDL (Vhsic Hardware Description Language) into MSVL (Modeling, Simulation and Verification Language) |
CN104657542B (en) * | 2015-01-27 | 2017-12-19 | 西安电子科技大学 | A kind of Petri net model detection method based on MSVL |
CN104657542A (en) * | 2015-01-27 | 2015-05-27 | 西安电子科技大学 | MSVL (Modeling, Simulation and Verification Language)-based Petri network model detection method |
CN104657190A (en) * | 2015-02-14 | 2015-05-27 | 南威软件股份有限公司 | Method for enhancing function of switch statement based on C language family |
CN104657190B (en) * | 2015-02-14 | 2018-05-11 | 南威软件股份有限公司 | A kind of method of the enhancing switch statement function based on C language family |
CN106991166A (en) * | 2017-03-31 | 2017-07-28 | 北京奇艺世纪科技有限公司 | A kind of big data processing method and processing device |
CN108037913A (en) * | 2017-12-21 | 2018-05-15 | 西安邮电大学 | A kind of conversion method of xUML4MC models to MSVL LISP program LISPs, computer program |
CN108037913B (en) * | 2017-12-21 | 2021-08-17 | 西安邮电大学 | Method for converting xUML4MC model into MSVL (modeling, simulation and verification language) program and computer-readable storage medium |
CN108090053A (en) * | 2018-01-09 | 2018-05-29 | 亢世勇 | A kind of language conversion output device and method |
CN109739512A (en) * | 2018-12-28 | 2019-05-10 | 江苏极光网络技术有限公司 | A kind of analytical type language text formula analysis conversion method |
CN109739512B (en) * | 2018-12-28 | 2022-04-12 | 江苏极光网络技术有限公司 | Analytic language text type analysis and conversion method |
CN109885307A (en) * | 2019-01-07 | 2019-06-14 | 西安邮电大学 | Conversion method of the library the pthread multithreading c program to MSVL program, computer program |
CN109885307B (en) * | 2019-01-07 | 2022-03-01 | 西安邮电大学 | Method for converting pthread library multithread C program into MSVL program and computer program |
CN112306470A (en) * | 2020-10-19 | 2021-02-02 | 南京航空航天大学 | Method for simplifying, converting and automatically verifying complex synchronous language program |
Also Published As
Publication number | Publication date |
---|---|
CN103150200B (en) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150200A (en) | Computer language transformation system and transformation method from C language to MSVL (Modeling, Simulation and Verification Language) | |
CN112100054B (en) | Data management and control oriented program static analysis method and system | |
US8806452B2 (en) | Transformation of computer programs and eliminating errors | |
CN103336760A (en) | Method and device based on reverse engineering for automatically generating software documents | |
CN107220539B (en) | Demand-based IMA security verification analysis method | |
CN107704382A (en) | Towards Python function call path generating method and system | |
US20080244541A1 (en) | Code translator and method of automatically translating modeling language code to hardware language code | |
CN103455362A (en) | Automatic hardware language transformation system | |
CN111222141B (en) | Automobile electronic control unit code vulnerability analysis method and system | |
CN109857458B (en) | ANTLR-based AltaRica3.0 flattening transformation method | |
CN108763064A (en) | A kind of code tester generation method and device based on black box function and machine learning | |
Bozzano et al. | Symbolic model checking and safety assessment of altarica models | |
CN110543407A (en) | Static analysis method for performance of identity intelligent contract | |
CN103914379A (en) | Automatic fault injection and fault detecting method and system | |
Fischer et al. | Abstract syntax trees-and their role in model driven software development | |
CN109359055B (en) | Data testing method and device | |
Balsini et al. | Generation of Simulink monitors for control applications from formal requirements | |
CN104731705B (en) | A kind of dirty data propagation path based on complex network finds method | |
CN105354035A (en) | Method for compiling test case of web engineering | |
CN117093222A (en) | Code parameter abstract generation method and system based on improved converter model | |
CN109471637B (en) | Circuit diagram examination script debugging method | |
Küster et al. | Towards explicit behavioral consistency concepts in the UML | |
EP2535813B1 (en) | Method and device for generating an alert during an analysis of performance of a computer application | |
CN107291435B (en) | Quantitative analysis method for hybrid AADL model in uncertain environment | |
Zafar et al. | Syntax-tree regular expression based DFA formalconstruction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |