Talk:Compiler/syntax analyzer
Unary operator precedence
In the grmmmar, the definition of primary is:
primary = Identifier | Integer | '(' expr ')' | ('+' | '-' | '!') expr ;
which makes the unary operators the lowest precedence? Should that be:
primary = Identifier | Integer | '(' expr ')' | ('+' | '-' | '!') primary ;
which would be more usual? If I read it correctly, the C reference implementation does treat unary operators as highest precedence.