diff options
Diffstat (limited to 'src/mem/slicc/parser.py')
-rw-r--r-- | src/mem/slicc/parser.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/mem/slicc/parser.py b/src/mem/slicc/parser.py index f35a3691a..e4f3ba952 100644 --- a/src/mem/slicc/parser.py +++ b/src/mem/slicc/parser.py @@ -270,11 +270,19 @@ class SLICC(Grammar): def p_decl__trans0(self, p): "decl : TRANS '(' idents ',' idents ',' ident pairs ')' idents" - p[0] = ast.TransitionDeclAST(self, p[3], p[5], p[7], p[8], p[10]) + p[0] = ast.TransitionDeclAST(self, [], p[3], p[5], p[7], p[8], p[10]) def p_decl__trans1(self, p): "decl : TRANS '(' idents ',' idents pairs ')' idents" - p[0] = ast.TransitionDeclAST(self, p[3], p[5], None, p[6], p[8]) + p[0] = ast.TransitionDeclAST(self, [], p[3], p[5], None, p[6], p[8]) + + def p_decl__trans2(self, p): + "decl : TRANS '(' idents ',' idents ',' ident pairs ')' idents idents" + p[0] = ast.TransitionDeclAST(self, p[10], p[3], p[5], p[7], p[8], p[11]) + + def p_decl__trans3(self, p): + "decl : TRANS '(' idents ',' idents pairs ')' idents idents" + p[0] = ast.TransitionDeclAST(self, p[8], p[3], p[5], None, p[6], p[9]) def p_decl__extern0(self, p): "decl : EXTERN_TYPE '(' type pairs ')' SEMI" |