Try the demo

Introduction

Gentleman is a web-based projectionnal editor generator. It allows you to express and interact with your DSL.

What is a projectionnal editor?

In a classic editor, such as a source code editor, you enter a sequence of character (program) that will then be analysed by a parser. It checks the program for syntactic correctness and constructs an abstract syntax tree (AST) from the character sequence. The AST contains all the semantic information expressed by the program and omit the details (ie: grouping parentheses, semicolon).

With projectional editors, we avoid the parsing. As you edit the program, the AST is modified directly. This technique involves a projection engine that creates some representation of the AST for you to interact with. Every program element is stored as a node with a unique ID (UID) in the AST and references are based on actual pointers. This additional capability turns the AST into an ASG, an abstract syntax graph.

Why use it?

Compatibility

IE Edge Chrome Firefox Safari
10 pass pass pass check