>A few weeks ago I blogged about a RelaxNG Compact Syntax editor and how I was trying to use XText to generate the editor. Since that time, with the help of the XText folks, I’ve worked around a few of the big hurdles. First thing to note is that there isn’t a one-to-one relationship mapping between EBNF and XText. This can make getting an existing grammar implemented trickier than it needs to be. With a little hand holding of XText, and lots of cursing later, I have a mostly working editor.
If there are multiple levels the attributes end tag “}” is being flagged in error. I haven’t worked out yet why this is happening, but every other grammar example I can toss at the editor seems to be validating correctly now. XText in some ways is being pushed to it’s limits with the RelaxNG DSL. It’s being very picky on how the grammar has to be setup. One major limitation in my opinion is not being able to handle the following with out compilation errors:
Pattern “+” Pattern
This makes for some ugly work arounds in the XText language to get it to generate the desired syntax and error handling.
With this said, I’m still impressed by the ability of generated Editor, and look forward to future versions of XText. It’s a tool that can be useful, depending on the need.