@@ -1312,12 +1312,30 @@ def p_forever_statement(self, p):
13121312
13131313 ######################################################################
13141314 def p_instance (self , p ):
1315- 'instance : ID parameterlist ID LPAREN instance_ports RPAREN SEMICOLON'
1316- p [0 ] = Instance (p [1 ], p [3 ], p [5 ], p [2 ])
1315+ 'instance : ID parameterlist instance_bodylist SEMICOLON'
1316+ instancelist = []
1317+ for instance_name , instance_ports in p [3 ]:
1318+ instancelist .append ( Instance (p [1 ], instance_name , instance_ports , p [2 ]) )
1319+ p [0 ] = InstanceList ( tuple (instancelist ) )
13171320
13181321 def p_instance_or (self , p ):
1319- 'instance : SENS_OR parameterlist ID LPAREN instance_ports RPAREN SEMICOLON'
1320- p [0 ] = Instance (p [1 ], p [3 ], p [5 ], p [2 ])
1322+ 'instance : SENS_OR parameterlist instance_bodylist SEMICOLON'
1323+ instancelist = []
1324+ for instance_name , instance_ports in p [3 ]:
1325+ instancelist .append ( Instance (p [1 ], instance_name , instance_ports , p [2 ]) )
1326+ p [0 ] = InstanceList ( tuple (instancelist ) )
1327+
1328+ def p_instance_bodylist (self , p ):
1329+ 'instance_bodylist : instance_bodylist COMMA instance_body'
1330+ p [0 ] = p [1 ] + (p [3 ],)
1331+
1332+ def p_instance_bodylist_one (self , p ):
1333+ 'instance_bodylist : instance_body'
1334+ p [0 ] = (p [1 ],)
1335+
1336+ def p_instance_body (self , p ):
1337+ 'instance_body : ID LPAREN instance_ports RPAREN'
1338+ p [0 ] = (p [1 ], p [3 ],)
13211339
13221340 def p_parameterlist (self , p ):
13231341 'parameterlist : DELAY LPAREN param_args RPAREN'
0 commit comments