slicc: enable overloading in functions not in classes
authorBrad Beckmann <Brad.Beckmann@amd.com>
Mon, 20 Jul 2015 14:15:18 +0000 (09:15 -0500)
committerBrad Beckmann <Brad.Beckmann@amd.com>
Mon, 20 Jul 2015 14:15:18 +0000 (09:15 -0500)
commit8a54adc2a55c9858cb536fac3a9cd92bc47ce778
treead482d891914407192f8aa568711baecfe92e83c
parent0d00cbc97b47344e12e9eb943efb9ca29db66898
slicc: enable overloading in functions not in classes

For many years the slicc symbol table has supported overloaded functions in
external classes.  This patch extends that support to functions that are not
part of classes (a.k.a. no parent).  For example, this support allows slicc
to understand that mapAddressToRange is overloaded and the NodeID is an
optional parameter.
src/mem/protocol/RubySlicc_ComponentMapping.sm
src/mem/slicc/ast/EnumDeclAST.py
src/mem/slicc/ast/FuncCallExprAST.py
src/mem/slicc/ast/FuncDeclAST.py
src/mem/slicc/ast/InPortDeclAST.py
src/mem/slicc/ast/StateDeclAST.py
src/mem/slicc/symbols/Func.py
src/mem/slicc/symbols/Transition.py