diff --git a/Source/cmExprParser.y b/Source/cmExprParser.y
index 317b0ba..57820ec 100644
--- a/Source/cmExprParser.y
+++ b/Source/cmExprParser.y
@@ -150,6 +150,16 @@ term exp_MOD factor
{$<Number>$ = $<Number>1 % $<Number>3;}
factor:
+value
+{$<Number>$ = $<Number>1;}
+|
+exp_MINUS factor
+{$<Number>$ = -$<Number>2;}
+|
+exp_NOT factor
+{$<Number>$ = ~$<Number>2;}
+
+value:
exp_NUMBER
{$<Number>$ = $<Number>1;}
|