IMPORTANT!!! ~~~~~~~~~~~~ This project is now finished and deprecated. Custom output generation has been integrated into the sablecc-indrek source tree. See svn+ssh://svn.sablecc.org/developers/indrek/sandbox/sablecc-indrek ====================================================================== This is an alternative language output generation system for the SableCC3 parser generator (http://www.sablecc.org/). The current outputs include: - Java - CSharp - C++ - output for the graphviz's dot tool The output is generated from SableCC generated XML files. The transformation stylesheets can be written either in the standard W3's XSL language or the XSS - XML-based SableCC Stylesheets. The XSL implementation used is Apache Xalan. Mozilla's Rhino JavaScript engine is also used. Installation ~~~~~~~~~~~~~ To run this you need the Xalan XSLT implementation. In case you have have Java 1.4.1 or later that is already included in your system. If not you have to get it from http://xml.apache.org/. You'll need the Xalan2 Java. Get a binary package. Other type of xslt processors will not work. Next place this directory to a safe permanent location. UNIX: Edit the 'sableccgen' and change variables inside the script. DOS: Edit the sableccgen.bat and change paths inside it to correct locations. UNIX: Next copy or link the script to your bin directory. Say /usr/local/bin. You're done. Running ~~~~~~~~ Run it by default and help should be printed: $ sableccgen Lets say you have a generated parser.xml file using this: $ sablecc -x grammar.sablecc3 To generate different outputs you can run this: $ sableccgen java parser.xml -d java -b -p src=src $ sableccgen csharp parser.xml -d csharp -b $ sableccgen cxx parser.xml -d cxx -b These commands will generate three parsers - for java, c# and and c++ languages into separate directories specified by -d. Build system will also be generated (-b). In case you have your own stylesheet run this: $ sableccgen xsl:my.xsl parser.xml or for the XSS language $ sableccgen xss:my.xss parser.xml For example to explicitly run the csharp generator $ sableccgen xss:/path/to/sableccgen-x.y/csharp/main.xss parser.xml Documentation ~~~~~~~~~~~~~~ See docs/xss.txt for XSS description.