From d42152742ba245fd1c1611d4e7377cd31b84ed4a Mon Sep 17 00:00:00 2001 From: Brad Beckmann Date: Fri, 29 Jan 2010 20:29:24 -0800 Subject: ruby: Allows boolean and string defaults for StateMachine parameters --- src/mem/slicc/parser.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/mem/slicc') diff --git a/src/mem/slicc/parser.py b/src/mem/slicc/parser.py index 4db034bab..99b8fa5f4 100644 --- a/src/mem/slicc/parser.py +++ b/src/mem/slicc/parser.py @@ -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 '}'" -- cgit v1.2.3