On this page ...

 

Next

Arrow right

Welcome, Language Engineer!

Freon is a Language Workbench, a tool for creating mini languages, which are also known as Domain Specific Languages (DSLs). Freon generates an integrated set of editor, scoper, typer, and validator for your mini-language from a small set of definitions. Together we call this the work environment for your language.

The core of Freon is a TypeScript/JavaScript framework for building web-based, projectional editors. Editing expressions in a projectional editor is a well-known challenge. What makes the Freon framework unique is the fact that it has built-in support for expressions, so you can easily make a projectional editor that allows for a more natural editing experience.

We assume that people who want to use Freon know at least the basics of making mini languages. For instance, the terms metamodel, abstract syntax tree, scope, concrete syntax, parsing, etc., should be familiar. If you are not, please first refer to other sources, for instance the book ‘Building User-Friendly DSLs’ written by Meinte Boersma. If you just need to refresh your knowledge, refer to Freon Terminology. Furthermore, a little knowledge of UML will come in handy, but this is not a true requirement.

To clarify our terminology: on this site, the Freon user is called a language engineer. The people that will be using the generated work environment are simply called users.

So welcome, language engineer, to the world of Freon. This documentation is meant for you. It explains how Freon can help you in creating a language, and building a work environment for it. If you have questions that are not answered in this documentation, please get in contact with the Freon team, for instance via email at info@openmodeling.nl.

Have fun!

 

Next

Arrow right
© 2018 - 2025 Freon contributors - Freon is open source under the MIT License.