History log of /gem5/src/mem/slicc/symbols/SymbolTable.py
Revision Date Author Comments
# 14184:11ac1337c5e2 16-Aug-2019 Gabe Black <gabeblack@google.com>

mem: Move ruby protocols into a directory called ruby_protocol.

Now that the gem5 protocols are split out, it would be nice to put them
in their own protocol directory. It's also confusing to have files
called *_protocol which are not in the protocol directory.

Change-Id: I7475ee111630050a2421816dfd290921baab9f71
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20230
Reviewed-by: Gabe Black <gabeblack@google.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>


# 11283:4cc8b312f026 20-Jul-2015 Tony Gutierrez <anthony.gutierrez@amd.com>

ruby: slicc: have a static MachineType

This patch is imported from reviewboard patch 2551 by Nilay.
This patch moves from a dynamically defined MachineType to a statically
defined one. The need for this patch was felt since a dynamically defined
type prevents us from having types for which no machine definition may
exist.

The following changes have been made:
i. each machine definition now uses a type from the MachineType enumeration
instead of any random identifier. This required changing the grammar and the
*.sm files.
ii. MachineType enumeration defined statically in RubySlicc_Exports.sm.
* * *
normal protocol fixes for nilay's parser machine type fix


# 10985:d87a25259254 20-Jul-2015 Brad Beckmann <Brad.Beckmann@amd.com>

slicc: fix error in conflicing symbol declaration


# 10953:1b21c87b7c18 20-Jul-2015 David Hashe <david.hashe@amd.com>

slicc: isinstance bugfix

This fix prevents spurious errors when searching for a symbol that may be
located in one of multiple symbol tables.


# 9767:82758c79a71f 18-Jun-2013 Lena Olson <lena@cs.wisc.edu>

ruby: fix slicc compiler to complain about duplicate symbols

Previously, .sm files were allowed to use the same name for a type and a
variable. This is unnecessarily confusing and has some bad side effects, like
not being able to declare later variables in the same scope with the same type.
This causes the compiler to complain and die on things like Address Address.

Committed by: Nilay Vaish <nilay@cs.wisc.edu>


# 9302:c2e70a9bc340 15-Oct-2012 Nilay Vaish <nilay@cs.wisc.edu>

ruby: improved support for functional accesses
This patch adds support to different entities in the ruby memory system
for more reliable functional read/write accesses. Only the simple network
has been augmented as of now. Later on Garnet will also support functional
accesses.
The patch adds functional access code to all the different types of messages
that protocols can send around. These messages are functionally accessed
by going through the buffers maintained by the network entities.
The patch also rectifies some of the bugs found in coherence protocols while
testing the patch.

With this patch applied, functional writes always succeed. But functional
reads can still fail.


# 9219:258753d3bc47 12-Sep-2012 Jason Power <power.jg@gmail.com>

Ruby: Modify Scons so that we can put .sm files in extras
Also allows for header files which are required in slicc generated
code to be in a directory other than src/mem/ruby/slicc_interface.


# 8453:82fc1267d3bb 05-Jul-2011 Nathan Binkert <nate@binkert.org>

slicc: cleanup slicc code and make it less verbose


# 6999:f226c098c393 10-Mar-2010 Nathan Binkert <nate@binkert.org>

slicc: have a central mechanism for creating a code_formatter.
This makes it easier to add global variables like protocol


# 6877:2a1a3d916ca8 29-Jan-2010 Steve Reinhardt <steve.reinhardt@amd.com>

ruby: Make SLICC-generated objects SimObjects.
Also add SLICC support for state-machine parameter defaults
(passed through to Python as SimObject Param defaults).


# 6794:b431ec0ad43d 18-Nov-2009 Brad Beckmann <Brad.Beckmann@amd.com>

ruby: added error message to isinstance check
Added error message when a symbol is not an instance of a particular expected
type.


# 6657:ef5fae93a3b2 22-Sep-2009 Nathan Binkert <nate@binkert.org>

slicc: Pure python implementation of slicc.
This is simply a translation of the C++ slicc into python with very minimal
reorganization of the code. The output can be verified as nearly identical
by doing a "diff -wBur".

Slicc can easily be run manually by using util/slicc