SmaCC Download
SmaCC is available for free use under the MIT license. However, we request that if you create a parser for some widely available language, you make it available for others to use.
| Description | Date |
| Dolphin packages | May 4, 2010 |
| VisualWorks parcels | May 4, 2010 |
These files contain several packages.
| Package | Description |
| SmaCC Namespace | Defines the SmaCC namespace and is only available for VisualWorks. |
| SmaCC Runtime | Contains the runtime part of SmaCC. All parsers created with SmaCC will need this package. |
| SmaCC GLR Runtime | Contains the runtime for GLR parsers created with SmaCC. All GLR parsers created with SmaCC need this package. |
| SmaCC Development | Contains code to create new parsers. It is only needed if you are creating new parsers. |
| SmaCC Development UI | Contains a GUI front end to the SmaCC Development package. |
| SmaCC Source Editing | Contains a special string implementation that is used by the SmaCC Rewrite Engine when transforming code. |
| SmaCC Rewrite Engine | Contains code to transform ASTs parsed by SmaCC. |
| SmaCC Rewrite Engine UI | Contains a GUI front end to the SmaCC Rewrite Engine. Currently, this package is only available for Dolphin, but in the future, it should be available for VisualWorks. |
| SmaCC Server Session | Contains an abstract Dolphin session manager that is used by the SmaCC Rewrite Server and SmaCC Rewrite Server Worker packages. |
| SmaCC Rewrite Server | Contains a simple server that can be used to run multiple rewriters across several images. This package requires Udo Schneider's NotifyView and Ian Bartholomew's MultipleFileOpenDialog packages. |
| SmaCC Rewrite Server Worker | Contains the worker threads that connect to the SmaCC Rewrite Server and use the SmaCC Rewrite Engine package. |
| SmaCC Tests | Contains tests for the SmaCC Runtime, SmaCC GLR Runtime, and SmaCC Development packages. |
| SmaCC Rewrite Engine Tests | Contains tests for the SmaCC Rewrite Engine package. |
| SmaCC Smalltalk Parser | Contains an example SmaCC Smalltalk parser. It parses the VisualWorks syntax so it is more complex than the ANSI Smalltalk syntax. Also, you cannot parse some VisualWorks specific syntax (e.g., qualified references) in a Dolphin image as we use some VisualWorks specific methods. |
| SmaCC C Parser | Contains a simple C grammar. It does not handle any preprocessor definitions so its usefulness is severely limited. |
| SmaCC CSharp | Contains a C# grammar. The grammar has been partially annotated to generate ASTs so you can use it to transform code using the SmaCC Rewrite Engine. The grammar hasn't been fully annotated yet, so it may not work for all valid C# programs. |
| SmaCC Java | Contains a Java grammar that has been annotated to generate ASTs. |