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 PDF

Info

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
Application number
CN2013101201821A
Other languages
Chinese (zh)
Other versions
CN103150200B (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201310120182.1A priority Critical patent/CN103150200B/en
Publication of CN103150200A publication Critical patent/CN103150200A/en
Application granted granted Critical
Publication of CN103150200B publication Critical patent/CN103150200B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

A kind of computerese converting system and C language are to the conversion method of MSVL language
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.
CN201310120182.1A 2013-04-08 2013-04-08 A kind of C language is to the conversion method of MSVL language Active CN103150200B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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