All Projects → plugbee → dslforge

plugbee / dslforge

Licence: other
A generator of domain-specific language (DSL) editors for web applications and cloud IDEs.

Programming Languages

javascript
184084 projects - #8 most used programming language
java
68154 projects - #9 most used programming language
Xtend
68 projects
HTML
75241 projects

Projects that are alternatives of or similar to dslforge

Che
The Kubernetes-Native IDE for Developer Teams
Stars: ✭ 6,572 (+8781.08%)
Mutual labels:  eclipse, cloud-ide
glsp-server
Java-based server framework of the graphical language server platform
Stars: ✭ 25 (-66.22%)
Mutual labels:  emf
Contentassist
A code assist plugin for Eclipse.
Stars: ✭ 174 (+135.14%)
Mutual labels:  eclipse
Sculptor
Sculptor is a code generator that applies the concepts from Domain-Driven Design and Domain Specific Languages.
Stars: ✭ 220 (+197.3%)
Mutual labels:  eclipse
Formatter Maven Plugin
Formatter Maven Plugin
Stars: ✭ 187 (+152.7%)
Mutual labels:  eclipse
Tern.java
Use tern.js in Java context
Stars: ✭ 246 (+232.43%)
Mutual labels:  eclipse
Eclipse Instasearch
Eclipse plug-in for fast code search
Stars: ✭ 165 (+122.97%)
Mutual labels:  eclipse
Code-Runner
A portal for programmers to code online
Stars: ✭ 50 (-32.43%)
Mutual labels:  ace
shr5rcp
The shadowrun 5 rich client platfrom is a model driven project for managing shadowrun resources. A shadowrun 5 character generator for example ...
Stars: ✭ 50 (-32.43%)
Mutual labels:  emf
Iceoryx
iceoryx - true zero-copy inter-process-communication
Stars: ✭ 208 (+181.08%)
Mutual labels:  eclipse
Erlide eclipse
Eclipse IDE for Erlang
Stars: ✭ 206 (+178.38%)
Mutual labels:  eclipse
J2c
Java to C++ translator
Stars: ✭ 189 (+155.41%)
Mutual labels:  eclipse
Aws Toolkit Eclipse
AWS Toolkit for Eclipse – an open-source plugin for developing, deploying, and managing AWS applications.
Stars: ✭ 252 (+240.54%)
Mutual labels:  eclipse
Vorto
Vorto Project
Stars: ✭ 179 (+141.89%)
Mutual labels:  eclipse
libemf2svg
Microsoft (MS) EMF to SVG conversion library
Stars: ✭ 75 (+1.35%)
Mutual labels:  emf
Autorefactor
Eclipse plugin to automatically refactor Java code bases
Stars: ✭ 168 (+127.03%)
Mutual labels:  eclipse
Bndtools
ARCHIVED: The contents of this repo have been merged into the `bnd` repo.
Stars: ✭ 197 (+166.22%)
Mutual labels:  eclipse
Sonarlint Eclipse
SonarLint for Eclipse
Stars: ✭ 231 (+212.16%)
Mutual labels:  eclipse
tomcatplugin
Tomcat plugin for Eclipse
Stars: ✭ 63 (-14.86%)
Mutual labels:  eclipse
owl-verbalizer
OWL verbalizer: making machine-readable knowledge also human-readable
Stars: ✭ 31 (-58.11%)
Mutual labels:  ace

DSL Forge

DSL Forge is a framework for the development of domain-specific language (DSL) editors for web applications and cloud IDEs. It allows to get web-based textual editors automatically from ANTLR grammars. From the language grammar specification, JavaScript parser and lexer are automatically generated and embedded into Cloud9’s ACE editor.

Check out the live demo!

The framework comes with two code generators which take the grammars expressed with Xtext or ANTLR and generate two variants of editors.

  • Generate Web Editor from ANTLR produces a text editor with JavaScript parser and lexer from ANTLR v3. You get an ACE editor tailored for the language definition which runs fully on the client side. This editor has no backend, use it for integration with JavaScript servers.
  • Generate Web Editor from Xtext produces a plugin to be packaged with the original Xtext plugin into a workbench application enabling precise interaction between the client and the server.

Editor Features

Below the complete list of features bound by default in the generated editors.

  • Syntax highlighting,
  • Syntax validation,
  • Content assist,
  • Sever-side semantic validation,
  • Scoping,
  • Template proposals,
  • Text hovering,
  • Default Key bindings,
  • Undo/Redo Support,
  • Code Folding,
  • Brace Matching.

Use Cases

Below some examples of use cases showing how the generated editors can be integrated with Web IDEs, forms, HTML5 canvas, guiders, and many other popular JavaScript frameworks.

  • The following use case is a petrinet form made up of an embedded textual editor integrated with D3.js framework. The form is available in the live demo, open the petrinet project folder, right click on a petrinet model file, and select "Open with form editor".

  • The following use case is an online coding game made with DSL Forge. It comes with a domain-specific language for specifying the actions of a robot, a remote debugger, next to a canvas animation made with Phaser.js. The game is free and publicly available on CodingPark.

  • The following example is an ANTLR v4 web editor embedded in the live demo, it demonstrates the integration of the editor with guiders based on the Guiders.js framework.

Installation

  1. Install Eclipse The current DSL Forge Tooling is based on Eclipse Neon packages. To know which package is the most appropriate for you, select one of the following alternatives.
  • Eclipse IDE for Java EE Developers You want a static web project with a full integration of ANTLR v3 (v4 is following) and ACE that you can easily debug in the browser. The recommended package in this case is Eclipse IDE for Java EE Developers as it comes with a simple HTTP Preview server easy to debug. The generator outputs the language mode and worker, and does the integration with the lexer/parser generated by ANTLR in the worker script. Once you update the grammar specification file, the parser/lexer are regenerated automatically on save, the language mode/worker are regenerated from contextual menu.

  • Eclipse for RCP and RAP Developers You want a closer integration with Eclipse Modeling tools such as Xtext and EMF, trigger code generation, do live compilation and execute some generated artefacts, you’d better install Eclipse for RCP and RAP Developers. The tooling comes with a set of runtime plugins that will make the integration of your tool chains (e.g. transformations written in Xtend, Xpand, and Java) very easy. The editor is generated together with a target platform and a build script. The target platform is a super set of the Basic Equinox Target, it contains runtime plugins providing services such as workspace management, persistency, etc. The build script outputs a war bundle that you can deploy either in OSGI environments (Jetty) or JEE environments (Tomcat).

  1. Install DSL Forge Tooling Use the regular update site.

Usage

The two usage scenarios are documented on the website.

Generate Web Editor from Xtext

Generate Web Editor from ANTLR

See tutorial

Documentation

Additional usage informationn and technical details can be found below:

If you still need help, please open an issue we'll try to help as much as possible in a reasonable time.

If you need professional support, drop an email to [email protected].

Contributing

We actively encourage and support contributions! DSL Forge is open source, feel free to fork the repository and enhance the tool the way you want.

License

DSL Forge program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which is available at http://www.eclipse.org/legal/epl-v10.html

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].