Spoofax requires no separate binary packages or native installation, but for the development of plugins we strongly recommend you change the Eclipse configuration to better accommodate meta-programming.
Please change the eclipse.ini
file to include the following options just after the -vmargs argument:
-Xss8m -Xms256m -Xmx1024m -XX:MaxPermSize=256m -server -Djava.net.preferIPv4Stack=true
This sets an 8 MB stack size and 1024 MB of virtual memory (adjust downwards for low-memory systems). The eclipse.ini
file is located in the installation directory of Eclipse, and typically in /Applications/eclipse/Eclipse.app/Contents/MacOS
for Mac OS X. An example of a file after the changes is provided here.
Note that every option appears on a separate line, with no following spaces, and that the memory options appear after the -vmargs
option. The -Xmx
and -Xms
options replace corresponding options that may have been in the existing file. Setting these options ensures that Eclipse has sufficient memory to dynamically load editors and is prepared for a full meta-programming environment.
You can install the Spoofax language workbench using the update site mechanism of Eclipse. Go to the Help>Software Updates menu in Eclipse. Then select "Add...", enter the site name "Spoofax", and the update site URL:
http://spoofax.org/update/stable
Now select Spoofax (you may have to reselect the update site you just entered), and follow the steps of the wizard.
An unstable, but somewhat tested build can be installed from the unstable update site. The unstable build should only be used when bleeding edge features are needed.
http://spoofax.org/update/unstable
If you know what you are doing, and/or you want to help out with testing and development, the latest build can be installed from the nightly update site. These builds are untested!
http://spoofax.org/update/nightly
The Eclipse Web Toolkit Platform (WTP) conflicts with Spoofax editors that use extensions that are associated to the XML content type. The following extensions are affected: ent, dtd, mod, html, htm, xhtml, htpl, wml, shtml, shtm, xmi, xml, xsl, xslt, wsdl, xsd, exsd, xmi, xsl, xslt, xsd. Note that the Eclipse for Java Developers distribution includes WTP, so we recommend using the "Eclipse 3.7 classic" distribution instead.
A workaround is available for deployed plugins only. The workaround is to add a content type to the plugin.xml of your editor as follows:
<extension point="org.eclipse.core.contenttype.contentTypes"> <content-type base-type="org.eclipse.core.runtime.properties" file-extensions="ent" id="entlang.entfile" name="Entlang file" priority="normal"> </content-type> </extension>
Spoofax/IMP is open source software and is licensed under the GNU Lesser General Public License (LGPL).
We keep track of all resolved issues at our YellowGrass issue tracker. Below is an overview of released versions. We also maintain a roadmap of past and future versions.