summaryrefslogtreecommitdiff
path: root/src/mem/slicc/parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/slicc/parser.py')
-rw-r--r--src/mem/slicc/parser.py14
1 files changed, 13 insertions, 1 deletions
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 '}'"