Constant new versions of ECMAScript and Snap!, and lack of time, keep me from working on this project.
After so much time without being mantained and a lot of new technologies and ideas that have come up since it's inception, this project would benefit from a full rewrite.
That being said, thinking about and implementing this project was a lot of fun and maybe one day I'll revisit it as a generalistic ECMAScript subset generator.
SnapSubset allows the user to easily create a functional program that consists of a subset of Snap*!*.
This is a WIP and much can still be done. If it gets worked on will depend on the success of Snapp*!* and other projects that may use SnapSubset.
SnapSubset works by modifying Snap*!*'s source code, deleting part of it and rewriting the remaining subset to keep it functional. The deleted parts are defined by the user using info files.
SnapSubset comes with the .info files used to create the reduced version of Snap*!* featured in Snapp*!*.
Create an executable at http://snapp.citilab.eu/ using the Presentation mode only option to see what the end result looks like.
Copy the working folder and SnapSubset.jar to whatever folder you like.
Put your .info files into /working/info/ and execute SnapSubset.jar through the command-line.
Comming soon
- At least Java 8
The grammar has been written for Antlr4.
SnapSubset
written by Adrian Hintze adrian.hintze AT est.fib.upc.edu
Copyright (C) 2015 by Adrian Hintze
SnapSubset is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.