cpptest-on-call:
CPPTEST_ON_CALL(函数-id) -> 触发器-代码 ;
触发器-代码:
语句-序列
语句-序列:
语句
语句序列 -> 语句
语句:
表达式-语句
if-语句
return-语句
复合-语句
表达式-语句:
赋值-表达式
赋值-表达式:
逻辑-或-表达式
逻辑-或-表达式 -> Assign() -> 赋值-表达式
逻辑-或-表达式 -> Assign(value) [仅限 C++]
逻辑-或-表达式:
逻辑-和-表达式
逻辑-或-表达式 -> Or() -> 逻辑-和-表达式
逻辑-或-表达式 -> Or(value) [仅限 C++]
逻辑-和-表达式:
相等-表达式
逻辑-和-表达式 -> And()
->
相等-表达式
逻辑-和-表达式 -> And(value) [仅限 C++]
相等-表达式:
关系-表达式
相等-表达式 -> Equal()
-> 关系-表达式
相等-表达式 -> NotEqual()
-> 关系-表达式
相等-表达式 -> Equal(
value
)
[仅限 C++]
相等-表达式 ->
NotEqual(
value)
[仅限 C++]
关系-表达式:
加法
-表达式
关系-表达式 -> Less()
-> 加法-表达式
关系-表达式 -> Greater()
-> 加法-表达式
关系-表达式 -> LessOrEqual()
-> 加法-表达式
关系-表达式 -> GreaterOrEqual()
-> 加法-表达式
关系-表达式 -> Less(value) [仅限 C++]
关系-表达式 -> Greater(value) [仅限 C++]
关系-表达式 -> LessOrEqual(value) [仅限 C++]
关系-表达式 -> GreaterOrEqual(value) [仅限 C++]
加法-表达式:
乘法-表达式
加法-表达式 -> Plus() -> 乘法-表达式
加法-表达式 -> Minus() -> 乘法-表达式
加法-表达式 -> Plus(value) [仅限 C++] 加法-表达式 -> Minus(value) [仅限 C++]
乘法-表达式:
一元-表达式
乘法-表达式 ->
Multiply()
-> 一元-表达式
乘法-表达式 -> Divide()
-> 一元-表达式
乘法-表达式 -> Multiply(
value
) [仅限 C++]
乘法-表达式 -> Divide(
value
) [仅限 C++]
一元-表达式:
后缀-表达式
Not() -> 一元-表达式
Inc() -> 一元-表达式
Dec() -> 一元-表达式
Inc(value) [仅限 C++]
Dec(value) [仅限 C++]
后缀-表达式:
基本
-表达式
后缀-表达式 ->
At()
-> 基本-表达式
后缀-表达式 -> Field(field-name
)
后缀-表达式 ->
FieldByExpr()
-> 基本-表达式
后缀-表达式 -> At(
value
) [仅限 C++]
后缀-表达式 ->
Field(
value
)
[仅限 C++]
基本-表达式:
参数
-表达式
值-表达式
LP() -> 赋值-表达式 -> RP()
执行-表达式 Assert(message) [已弃用]
Fail(message)
Report(message)
RunId()
参数-表达式:
Arg(argument-name)
ArgByExpr() -> 基本-表达式
值-表达式:
简单-值-表达式
指针-值-表达式 引用-值-表达式
对象-值-表达式
通用-值-表达式
[仅限 C++]
简单-值-表达式:
Char(char-value)
SChar(signed-char-value)
UChar(unsigned-char-value)
Wchar(wchar_t-value)
Short(short-value)
UShort(ushort-value)
Int(int-value)
UInt(uint-value)
Long(long-value)
Ulong(ulong-value) LLong(llong-value)
ULLong(ullong-value)
Float(float-value)
Double(double-value)
LDouble(long-double-value)
Func((tgr_func_ptr)funcion-pointer-value)
指针-值-表达式:
VoidPtr(void-ptr-value)
CharPtr(char-ptr-value)
SCharPtr(signed-char-ptr-value)
UCharPtr(unsigned-char-ptr-value)
WCharPtr(wchar_t-ptr-value)
ShortPtr(short-ptr-value)
UShortPtr(ushort-ptr-value)
IntPtr(int-ptr-value) UIntPtr(uint-ptr-value)
LongPtr(long-ptr-value)
ULongPtr(ulong-ptr-value)
LLongPtr(llong-ptr-value)
ULLongPtr(ullong-ptr-value)
FloatPtr(float-ptr-value)
DoublePtr(double-ptr-value)
LDoublePtr(long-double-ptr-value)
Ptr(void-ptr-value, element-type)
引用-值-表达式:
CharRef(char-ptr-value)
SCharRef(signed-char-ptr-value)
UCharRef(unsigned-char-ptr-value)
WCharRef(wchar_t-ptr-value)
ShortRef(short-ptr-value)
UShortRef(ushort-ptr-value)
IntRef(int-ptr-value)
UIntRef(uint-ptr-value)
LongRef(long-ptr-value)
ULongRef(ulong-ptr-value)
LLongRef(llong-ptr-value)
ULLongRef(ullong-ptr-value)
FloatRef(float-ptr-value)
DoubleRef(double-ptr-value)
LDoubleRef(long-double-ptr-value)
VoidPtrRef(void-ptr-value) Ref(void-ptr-type, element-type)
对象-值-表达式:
Object(obj-pointer, class-type)
通用-值-表达式 [仅限 C++]:
Value(value)
执行-表达式:
Execute((tgr_external_func_ptr)external-function)
执行-表达式 -> WithArg(argument-name) -> 基本-表达式
if-语句:
If() -> 条件 -> 语句
If() -> 条件 -> 语句 -> Else() -> 语句
条件:
赋值-表达式
return-语句:
Return() -> 赋值-表达式
Return(value) [仅限 C++]
复合-语句:
LB() -> RB()
LB() -> 语句-序列 -> RB()
值[仅限 C++]:
内置类型或指针类型的 C/C++ 表达式
ByRef(lvalue)
lvalue[仅限 C++]:
C/C++ lvalue 表达式
外部-函数:
具有 tgr_external_func_ptr 定义的特殊签名的 C/C++ 函数
指令:
FileLine(file-name, line)
Line(line)
field-name、argument-name、message、file-name:
与常量 char* 类型兼容的类型的 C/C++ 表达式