|
Please send any feedback to:
|
|
|
|
gSym is a research project, the aim of which is to create a graphical software development environment and language workbench.
Some of the ideas which lie behind gSym are described in the paper "Extensible Programming for the 21st Century" by Gregory V. Wilson,
from the University of Toronto. Rather than representing the program source code as text, it is represented as an AST
(abstract syntax tree), enhanced with comments, and layout information. A presentation system presents the code to the user, so that
they can edit in a familiar way, rather than having to interact with an AST directly.
This can permit syntactic skinning, extensible languages, and other possibilities....
|
|
Prototype 5
A large portion of gSym was recently rewritten in Java for performance reasons.
The document model used by gSym (the AST) is sort of LISP-like; a tree of nodes, where a node is either a list of nodes, or a string.
Language support is handled by a plugin for each language. There is currently one available for Python 2.5. A language plugin
supplies a parser, built using gSym's parsing expression grammar / parser combinator system (which supports left-recursive grammars).
This converts source text, as the user types it, into an AST. The plugin supplies a presentation system / view, which describes how each
AST node is rendered to the screen. gSym's presentation architecture allows graphical views if desired, divide expressions are rendered
as fractions, and power expressions use superscript.
The editing workflow is currently somewhat underdeveloped. However, Python 2.5 code can be imported into gSym and viewed, and edited
to a limited extent.
|
|
| Quickstart and Documentation |
Source / SVN
Ensure that Java version 6 is installed. You will need to install the JDK too.
You will need to install Eclipse in order to compile and build gSym.
Next you will need Jython. As of writing, the latest version of Jython available
from the Jython SVN will work. Do an SVN check out; currently the SVN url is:
https://jython.svn.sourceforge.net/svnroot/jython/trunk/
Build Jython according to the build instructions on the Jython website
Developer guide. Test Jython to ensure that it works.
Start Eclipse, and import the gSym eclipse project. The Java portion of gSym will now build.
You should now be able to run gSym by typing:
> jython gsyn.py
In the gSym project directory.
|
|
|