Use Value instead of []byte in MaybeRuleAST
diff --git a/parser.go b/parser.go
index b16c7d5..78ac2e7 100644
--- a/parser.go
+++ b/parser.go
@@ -208,8 +208,13 @@
 		term = '='
 	}
 
+	v, _, err := parseExpr(expr, nil)
+	if err != nil {
+		panic(fmt.Errorf("parse %s:%d %v", p.mk.filename, p.lineno, err))
+	}
+
 	ast := &MaybeRuleAST{
-		expr:      expr,
+		expr:      v,
 		term:      term,
 		afterTerm: afterTerm,
 	}