diff --git a/sys/src/cmd/hoc/hoc.y b/sys/src/cmd/hoc/hoc.y index 673db5ae6..341202fe4 100644 --- a/sys/src/cmd/hoc/hoc.y +++ b/sys/src/cmd/hoc/hoc.y @@ -214,8 +214,8 @@ yylex(void) /* hoc6 */ return STRING; } switch (c) { - case '+': return follow('+', INC, follow('=', ADDEQ, '+')); - case '-': return follow('-', DEC, follow('=', SUBEQ, '-')); + case '+': return follow('+', INC, '+') == INC ? INC : follow('=', ADDEQ, '+'); + case '-': return follow('-', DEC, '-') == DEC ? DEC : follow('=', SUBEQ, '-'); case '*': return follow('=', MULEQ, '*'); case '/': return follow('=', DIVEQ, '/'); case '%': return follow('=', MODEQ, '%');