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++ 表达式