SourceForge Logo
Contact

Please send any feedback to:



Get gSym
Latest release: No release yet
Changes:
- Required packages -

Please ensure that these
are installed first:

Java Runtime Environment v6:
home
Java JDK v6:
home
Jython 2.5:
home
Eclipse:
home

- SVN -

SVN repository
Browse


Sourceforge download page
About gSym
What is gSym?

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....



Project Status
Prototype status

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
Quickstart

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.