Subscribe (RSS)

Quick Links

About Actipro

Actipro Software has been creating .NET user interface control products for Windows Forms since its inception. More recently, Actipro has become a pioneer in the .NET 3.0 WPF control development arena.
Tuesday, 7 July 2009 05:20 by Bill Henning (Actipro)

First look: SyntaxEditor language template builder wizard

The SyntaxEditor for WPF product includes a Language Designer tool that helps you define some information about a syntax language and it generates C# or VB code for you that can be included in your project.  The goal of the tool is to save you time, especially on tedious tasks related to building a language.

The current version of the tool, while helpful, still is nowhere near where we envision taking it.  We have a lot of plans for it and in this post I’d like to reveal a prototype of one of the next features we hope to add in the future: the Language Template Builder.

The language template builder wizard

The concept of the new wizard is this.  When starting to develop a new syntax language, you’d run this wizard.  It would ask you some general questions about your language.  After you finished the wizard, it would auto-generate some of the language project for you, based on your answers.

Language Template

The Line Terminators and Identifiers configuration page

Above you can see a page that is asking about if line terminators are significant in your language and also, the general pattern for identifiers. 

There are numerous other pages as well that cover everything from how numbers are formed, to multiple comment and string syntax specifications.

Language Template (2)

The Strings (Primary Syntax) configuration page

The screenshot above shows the wizard asking about the primary syntax for strings.  Note how easy it is to quickly select how strings are formed, if delimiters can be escaped, and whether line terminators in a string terminate the string.

Lexical parser generation

The main goal behind this wizard is to make it simple to pop out a lexical parser definition and related classification types and highlighting styles, all of which are part of a language project.

A common question of our existing product is: what is the easiest way to get started building a language?  We hope that with this new wizard we will be able to address that question directly by making it possible to build the foundation for a new language in a few minutes of work.

What would you like to see?

We are still prototyping out this wizard.  But now is the perfect opportunity for you to voice your opinion.  What features would you like to see added to it?  Please post your comments if you have any suggestions.  Thanks!

Tags:   ,
Categories:   In development | Actipro | WPF
Actions:   Submit to DotNetKicks | E-mail | Permalink | Comments (3) | Comment RSS




Comments

sam United States

for the string

an option such as @ in c# would be great

perhabs to be able to handle two formats:
one for single line, ex: "abc",
the other one for multine line, ex: """abc
def"""

thanks
sam

July 7, 2009 at 19:26  

Bill Henning (Actipro) United States

Hi Sam,

Good comment, and on another page we allow a secondary syntax for strings with similar options to the one in the screenshot.  So in C# you could make the @" syntax secondary with its own distinct options.  In some other languages, the primary syntax could be " (double quote) based and the secondary syntax could be ' (single quote) based.

July 7, 2009 at 19:30  

The Actipro Blog - WPF and WinForms Development

Actipro Blog 2009 Q3 posting summary

Actipro Blog 2009 Q3 posting summary

October 1, 2009 at 09:41  

Add comment



  Country flag

biuquote
  • Comment
  • Preview
Loading





We moderate all comments to block comment spam