I am confused how bison will parse / resolve the conflict in this expression assuming "int" is a type and the first expression is typecasting and the second one is just a plain addition or if "a" is a type alias it is same as first. Assuming that language allows for giving alias names to a existing type.
x = (int)+b => typecast to "int" the "+b"
x = (a)+b => addition expression / typecast to "a" the "+b"
Bison has to know if the identifier in the bracket is a type or variable to be able to resolve it. How does it handle that ?