Home > User Support > CoverageMaster winAMS FAQ

CoverageMaster winAMS FAQ

CasePlayer2 Analysis

019_07: How do I fix a CasePlayer2 analysis, "CasePlayer2-E-SYN : ; expected." error?

Question:

When running a CasePlayer2 analysis to create documents, I get the following "CasePlayer2-E-SYN : ; expected." message. How can I fix it?

Answer:

This error occurs when the source code includes descriptions incompatible with the ANSI-C standard, such as compiler specific keywords. Since CasePlayer2 doesn't recognize the keyword, it cannot analyze the statement correctly and this error is displayed.

The following sample message indicates that line #2 of etos.c contains an incorrect description.

CasePlayer2-E-SYN : ; expected.
C:\Program Files\GAIO\CasePlayer2\sample\C_program\etos.c(2)

For example, the following line would cause this error.

direct int var1;

The "direct" statement is a compiler specific descriptor and is incompatible with ANSI-C. Therefore, an analysis error occurs.

It is possible to register non-standard keywords in CasePlayer2 to fix the error.
In this case, we can set CasePlayer2 to treat "direct" as a keyword to specify a storage class.

In the "Settings" tab,  double-click "C Option Parameters", register the following in the "User Keyword" window.

Keyword: direct,  Type: STRAGE,  Postfix description: (empty)

 

The "User keyword" and "Replacement keyword" settings are stored in the *.rvc file. The *.rvc file is a text file automatically generated in the CasePlayer2 project folder (the folder where the *.vproj file is located). See the example below.

Additional Examples

INT32 val;

Register "INT32" keyword as "TYPE" type to analyze as a type.

Keyword: INT32,  Type: TYPE,  Postfix description: (empty)

near int p1;

Register "near" keyword as "TYPEATT" type to analyze as a type modifier.

Keyword: near,  Type: TYPEATT,  Postfix description: (empty) 

__asm (" ....... ")

Register "__asm" keyword as "ASM" type to analyze as an inline assembly description.

Keyword: __asm,  Type: ASM,  Postfix description: (EXPRESSION)

#define _ARMABI __declispec(__nothrow) __pure
_ARMABI volatile int *func(void);

Register " __declipsec" and "__pure" keywords as "IGNORE" type to ignore during analysis.

Keyword: __declipsec,  Type: IGNORE,  Postfix description: (EXPRESSION)
Keyword: __pure,  Type: IGNORE,  Postfix description: (empty)


Related Technical Tips Search

Other technical tips in GAIO's web site can be searched for using the links below.

Search key word link: Analysis error | User keyword
Technical Tips Google Search


Information Links