summaryrefslogtreecommitdiff
path: root/src/mem/slicc
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2014-04-19 09:00:31 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2014-04-19 09:00:31 -0500
commit183100b8cbe137da906631166f6664e4ef1bb612 (patch)
tree69e58be3ec8dd43a932706383596c8410035cca3 /src/mem/slicc
parenta1570f544f7eb24d87a664038705ae6801862eab (diff)
downloadgem5-183100b8cbe137da906631166f6664e4ef1bb612.tar.xz
ruby: slicc: slight change to rule for transitions
It had an unnecessary pairs token which is being removed.
Diffstat (limited to 'src/mem/slicc')
-rw-r--r--src/mem/slicc/ast/DeclAST.py2
-rw-r--r--src/mem/slicc/ast/TransitionDeclAST.py7
-rw-r--r--src/mem/slicc/parser.py16
-rw-r--r--src/mem/slicc/symbols/Transition.py4
4 files changed, 14 insertions, 15 deletions
diff --git a/src/mem/slicc/ast/DeclAST.py b/src/mem/slicc/ast/DeclAST.py
index 1adb31321..8b0f4ea96 100644
--- a/src/mem/slicc/ast/DeclAST.py
+++ b/src/mem/slicc/ast/DeclAST.py
@@ -28,7 +28,7 @@
from slicc.ast.AST import AST
class DeclAST(AST):
- def __init__(self, slicc, pairs):
+ def __init__(self, slicc, pairs = None):
super(DeclAST, self).__init__(slicc, pairs)
def files(self, parent=None):
diff --git a/src/mem/slicc/ast/TransitionDeclAST.py b/src/mem/slicc/ast/TransitionDeclAST.py
index 41e5b9aff..2de707940 100644
--- a/src/mem/slicc/ast/TransitionDeclAST.py
+++ b/src/mem/slicc/ast/TransitionDeclAST.py
@@ -29,9 +29,9 @@ from slicc.ast.DeclAST import DeclAST
from slicc.symbols import Transition
class TransitionDeclAST(DeclAST):
- def __init__(self, slicc, request_types, states, events, next_state, pairs,
+ def __init__(self, slicc, request_types, states, events, next_state,
actions):
- super(TransitionDeclAST, self).__init__(slicc, pairs)
+ super(TransitionDeclAST, self).__init__(slicc)
self.request_types = request_types
self.states = states
@@ -69,6 +69,5 @@ class TransitionDeclAST(DeclAST):
self.error("Invalid event: %s is not part of machine: %s" % \
(event, machine))
t = Transition(self.symtab, machine, state, event, next_state,
- self.actions, self.request_types, self.location,
- self.pairs)
+ self.actions, self.request_types, self.location)
machine.addTransition(t)
diff --git a/src/mem/slicc/parser.py b/src/mem/slicc/parser.py
index d0d26afe8..1a8fbd937 100644
--- a/src/mem/slicc/parser.py
+++ b/src/mem/slicc/parser.py
@@ -278,20 +278,20 @@ class SLICC(Grammar):
p[0] = ast.OutPortDeclAST(self, p[3], p[5], p[7], p[8])
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])
+ "decl : TRANS '(' idents ',' idents ',' ident ')' idents"
+ p[0] = ast.TransitionDeclAST(self, [], p[3], p[5], p[7], p[9])
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])
+ "decl : TRANS '(' idents ',' idents ')' idents"
+ p[0] = ast.TransitionDeclAST(self, [], p[3], p[5], None, p[7])
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])
+ "decl : TRANS '(' idents ',' idents ',' ident ')' idents idents"
+ p[0] = ast.TransitionDeclAST(self, p[9], p[3], p[5], p[7], p[10])
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])
+ "decl : TRANS '(' idents ',' idents ')' idents idents"
+ p[0] = ast.TransitionDeclAST(self, p[7], p[3], p[5], None, p[8])
def p_decl__extern0(self, p):
"decl : EXTERN_TYPE '(' type pairs ')' SEMI"
diff --git a/src/mem/slicc/symbols/Transition.py b/src/mem/slicc/symbols/Transition.py
index 96bb0056c..4a7a72a6c 100644
--- a/src/mem/slicc/symbols/Transition.py
+++ b/src/mem/slicc/symbols/Transition.py
@@ -29,9 +29,9 @@ from slicc.symbols.Symbol import Symbol
class Transition(Symbol):
def __init__(self, table, machine, state, event, nextState, actions,
- request_types, location, pairs):
+ request_types, location):
ident = "%s|%s" % (state, event)
- super(Transition, self).__init__(table, ident, location, pairs)
+ super(Transition, self).__init__(table, ident, location)
self.state = machine.states[state]
self.event = machine.events[event]