[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[news.eclipse.technology.ldt] Re: Beyond textual represenations...

Mike Kaufman wrote:
Regarding 2, I'll admit that dynamically redefining grammars in specific context sounds like an interesting idea. But what problem does it solve? How does Maya let one express something more elegantly or efficiently when compared to vanilla java? Perhaps more to the point, it sounds like the new parsing techniques necessary to make Maya work were already figured out, while it isn't at all clear that the user-interface for tools operating direcly on an AST is well-defined. And if the user ever changes source code, you would need to parse to build your AST. So you still have to write a parser.

I might add that dynamic redefining grammars in specific context does not require giving up plain text. This was done in lisp, schema, and dylan. This was done in SGML/XML.

I have personally done in GTL project. Some obsolete demos are available at downloads section of http://sourceforge.net/projects/xc4j (you will need to download both files gtl-parser package contains doc-file with description of idea). Basically GTL is an attempt to enable SGML/XML like infrastructure for languages with programmer friendly surface syntaxes. XML is good for data because of infrastructure, but it is very poor as base for surface syntax of programming langauges. As it is possible to see in the demos, GTL is somewhat more freindly for programmers (not that was too difficult given XML langauge).

The published demos shows how grammar may be defined that builds structural and presentation ASTs. There is also a demo how presentation ASTs might be used to create syntax highlighted source as html.

The project has no funding so work is being done in periodic burst mode. The project pace so far is glacical.

I'm currently working on simplifying grammar definition language (current one is just EMF XMI) and generic GTL editor with syntax highlighting. That is why I'm interested in LDT and Webtools SSE projects. Both might simplify my work.

Constantine