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 | July 28, 2015 |
VisualWorks parcels | July 28, 2015 |
VASmalltalk applications | July 28, 2015 |
For Pharo, you can load SmaCC using:
Metacello new baseline: 'SmaCC'; repository: 'github://j-brant/SmaCC/src'; load
These files contain several packages. Not all packages are available for all Smalltalks.
Package | Description |
SmaCC Namespace | The SmaCC namespace and is only available for VisualWorks. |
SmaCC Runtime | The runtime part of SmaCC. All parsers created with SmaCC will need this package. |
SmaCC GLR Runtime | The runtime for GLR parsers created with SmaCC. All GLR parsers created with SmaCC need this package. |
SmaCC Development | Code to create new parsers. It is only needed if you are creating new parsers. |
SmaCC Development UI | GUI front end to the SmaCC Development package. |
SmaCC Source Editing | A special string implementation that is used by the SmaCC Rewrite Engine when transforming code. |
SmaCC Rewrite Engine | Code to transform ASTs parsed by SmaCC. |
SmaCC Rewrite Engine UI | GUI front end to the SmaCC Rewrite Engine. Currently, this package is only available for Dolphin. |
SmaCC Server Session | An abstract Dolphin session manager that is used by the SmaCC Rewrite Server and SmaCC Rewrite Server Worker packages. |
SmaCC Rewrite Server | A simple server that can be used to run multiple rewriters across several images. On Dolphin, this package requires Udo Schneider's NotifyView and Ian Bartholomew's MultipleFileOpenDialog packages. |
SmaCC Rewrite Server Worker | The worker threads that connect to the SmaCC Rewrite Server and use the SmaCC Rewrite Engine package. |
SmaCC Tests | Tests for the SmaCC Runtime, SmaCC GLR Runtime, and SmaCC Development packages. |
SmaCC Rewrite Engine Tests | Tests for the SmaCC Rewrite Engine package. |
SmaCC Smalltalk Parser | An example Smalltalk parser that parses the VisualWorks syntax. It cannot parse some VisualWorks specific syntax (e.g., qualified references) in a non-VW image as we use some VW specific methods. |
SmaCC C Parser | A simple C grammar - it does not handle any preprocessor definitions so its usefulness is severely limited. |
SmaCC CSharp | C# grammar that has been annotated to generate ASTs so you can use it to transform code using the SmaCC Rewrite Engine. |
SmaCC Java | Java grammar that has been annotated to generate ASTs. |
SmaCC JavaScript | JavaScript grammar that has been annotated to generate ASTs. |
SmaCC CSV Parser | A CSV file parser. |
SmaCC Debugging Support | Custom debugger and inspector for Pharo. |
SmaCC Generic Smalltalk Parser | A generic Smalltalk parser that generates SmaCC ASTs instead of using the AST nodes from the Refactoring Browser like the SmaCC Smalltalk Parser uses. |
SmaCC Line Parser | A simple text file parser that separates the lines. It can handle all of the standard line ending conventions. |
SmaCC Swift | A start of a Swift parser. The grammar needs to be updated for the latest Swift release and to fully annotate the nodes to generate ASTs. |
SmaCC Parse Tree Comparison | Command line program to compare two files to see if their ASTs are equal. Return 0 if equal, and non 0 if they are not equal of some problem occurred. |
SmaCC Rewrite Engine Command Line | Command line program that executes a rewriter transformation file. |