In This Article

Overview

The Language Designer tool is an application that has many helpful features for quickly developing language definitions. It is an option when installing the WPF controls.

This application uses several of the WPF Studio control products, such as Ribbon, Docking & MDI, Editors, Navigation, PropertyGrid, and SyntaxEditor, and is a nice showcase of what you can do with our products.

Its main goal is to provide you with a user interface for creating a language project, which is essentially a profile about a syntax language. Various language features such as a lexer and classification types can be configured and in some cases tested right within the application. Then code generation can be performed to output code files that allow for a related syntax language to be used in your own applications with the SyntaxEditor control.

Getting Started

This topic covers essential information about using the application, such as how to start it, what is a language project, how to open/save language projects, use the ribbon user interface and Properties tool window, and get started defining the general properties for a language.

See the Getting Started topic for more information.

Lexer Configuration Pane

The lexer for a language is very important since it is a building block for supporting many language features such as tokenization, syntax highlighting, and more.

See the Lexer Configuration Pane topic for more information.

AST Nodes Configuration Pane

The AST Nodes configuration pane is used to design the type-specific AST node classes that can be code generated by the Language Designer, and used with the LL(*) Parser Framework.

See the AST Nodes Configuration Pane topic for more information.

Other Configuration Panes

The Language Designer has several other configuration panes that are described in this topic.

See the Other Configuration Panes topic for more information.

Building a Project

Once you have configured your language project and are ready to start testing it or generating code, it's time to build the project. Building a project examines the project and reports whether there are any errors, warnings, or messages that you should be aware of.

See the Building a Project topic for more information.

Live Test

The Language Designer Live Test pane allows you to try various aspects of your language out before performing any code generation.

See the Live Test topic for more information.

Code Generation

The Language Designer's main purpose is to generate code that allows you to load custom syntax languages at run-time in your applications.

See the Code Generation topic for more information.

LL Parser Debugger

The Language Designer LL Parser Debugger pane allows you to load an assembly which contains a non-abstract ILLParser implementation class and debug the grammar.

See the LL Parser Debugger topic for more information.