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