实验指导 step2:一元运算符

step2 中,我们要给整数常量增加一元运算:取负 -、按位取反 ~ 以及逻辑非 !

语法上,我们需要修改 expression 的定义,从 expression : Integer 变成:

expression : unary unary : Integer | ('-'|'!'|'~') unary

三个操作的语义和 C 以及常识相同,例如 ~0 == -1!!2 == 1。 稍微一提,关于按位取反,我们使用补码存储 int;关于逻辑非,只有 0 表示逻辑假,其他的 int 都是逻辑真。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""