ruby: Allows boolean and string defaults for StateMachine parameters
authorBrad Beckmann <Brad.Beckmann@amd.com>
Sat, 30 Jan 2010 04:29:24 +0000 (20:29 -0800)
committerBrad Beckmann <Brad.Beckmann@amd.com>
Sat, 30 Jan 2010 04:29:24 +0000 (20:29 -0800)
src/mem/slicc/parser.py

index 4db034bab2dafb91e5056d1b990fa66b411776ec..99b8fa5f40dce219af1b394b278d64734ae0702d 100644 (file)
@@ -421,10 +421,22 @@ class SLICC(Grammar):
         "param : type STAR ident"
         p[0] = ast.FormalParamAST(self, p[1], p[3], None, True)
 
-    def p_param__default(self, p):
+    def p_param__pointer_default(self, p):
+        "param : type STAR ident '=' STRING"
+        p[0] = ast.FormalParamAST(self, p[1], p[3], p[5], True)
+
+    def p_param__default_number(self, p):
         "param : type ident '=' NUMBER"
         p[0] = ast.FormalParamAST(self, p[1], p[2], p[4])
 
+    def p_param__default_bool(self, p):
+        "param : type ident '=' LIT_BOOL"
+        p[0] = ast.FormalParamAST(self, p[1], p[2], p[4])
+
+    def p_param__default_string(self, p):
+        "param : type ident '=' STRING"
+        p[0] = ast.FormalParamAST(self, p[1], p[2], p[4])
+
     # Idents and lists
     def p_idents__braced(self, p):
         "idents : '{' identx '}'"