A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/kimtth/small-dsl-eclipse-debug below:

kimtth/small-dsl-eclipse-debug: ๐Ÿ‘€โ–ถ๏ธ [archived] Exploring the Programming Languages Engineering, Domain-Specific Language, Integration with the Eclipse Debug UI, and the Fundamental Features of an Interpreter and Debugger.

Language Engineering as a Toy Language โ€” the name is Small D. Integrated with the Eclipse Debug UI ๐Ÿž, it provides a simple interpreter and debugger.

  1. org.xtext.labs.mydsl.interpreter is fully developed and designed based on parsing results. Itโ€™s not a built-in feature of the Xtend framework.
  2. The interpreter is integrated with the Eclipse Debug UI โ€” this is an independent module, not relying on Xtend.
  3. Code editor functionalities are provided and fixed by the Xtend framework.
  4. Minimap view and deployment are implemented via Eclipse plugin development.
  5. ANTLR parses the language definition file at org.xtext.labs.mydsl/src/org/xtext/labs/Mydsl.xtext. Once parsing is complete and the AST is generated, it becomes the foundation for all language customization and engineering.
What and Why is small D? โ“

Small D is a toy language for exploring Language Engineering.
โ€œDโ€ stands for DSL (Domain-Specific Language). Unlike general-purpose languages like C or Java, DSLs are tailored for specific tasks or domains.

Normally, implementing a new language doesnโ€™t make sense for time- or budget-constrained projects. But sometimes, it's necessary. Unfortunately, simple and practical references are hard to find, and most DSLs are proprietary, making examples rare.

Even finding debugger documentation often leads to low-level gdb or obscure references โ€” not practical for newcomers. Thatโ€™s why I created a small language with essential IDE features for learning purposes.

I hope it helps you, too. ๐Ÿ™Œ

Features of the small D Project ๐ŸŒŸ 1. small DSL language with Xtext โœ๏ธ

Features:

๐Ÿงฑ Xtext documentation is sparse, sometimes outdated, and the community is small โ€” but it's still better than nothing.

2. Debuggable Interpreter & Debugger ๐Ÿ› 3. Integration with Eclipse Debug UI ๐ŸŽ›๏ธ

4. Eclipse Product for Deploying ๐Ÿš€

๐Ÿ› ๏ธ For installers:

Use Inno Setup โ€” free and easy ๐Ÿ’ธ

5. Java & C# Generator ๐Ÿ”„

๐Ÿ’ก Pascal is a well-known language that supports call-by-reference.

Sample code can be found in org.xtext.labs.mydsl.product/src

Supported Types & Constructs Standard Functions (for testing only) ๐Ÿงช
  1. Import the project into Eclipse
  2. Export org.xtext.labs.mydsl.interpreter as a Runnable JAR
  3. Copy the JAR to your path
  4. Open DSLDeveloper.product
  5. Use Eclipse Product Export Wizard (in Overview tab)
  6. Create a new DSL file from MyDsl project

Reference: Robert Wlochโ€™s Blog

1. In the Plug-ins tab change the Launch with select box to plug-ins select below only and uncheck the Target Platform subtree and check the two options below the plug-ins list. In the search field above the plug-ins list enter equinox. and check the equinox.ds plug-in: In the filtered list also check the equinox.util plug-in: Now enter appl in the search field and check the ui.ide.application plug-in:
2. Switch to the Configuration tab and check Clear the configuration area before launching. This ensures that runtime Eclipse doesn't cache plug-in configuration which avoids occational pitfalls.
3. The last change needs to be done in the Common tab. Switch the radio choice to Shared file and enter the Project Explorer path to the product plug-in: /de.rowlo.testgenerator.testdsl.product. This will tell Eclipse to save that run configuration in a launcher file in the specified location:
4. Finally switch back to the Plug-ins tab, clear the search filter and check the checkbox Validate plug-ins automatically prior to launching. Then click several times on Add Required Plug-ins right of the plug-ins list. You can stop clicking when the number of selected plug-ins does not change no more. To check if nothing's missing click on Validate Plug-ins. Eclipse should tell you that no problems were detected. Click on Apply and Close the dialog now.
  1. Xtext

  2. Language Engineering

  3. Eclipse Debugger

  4. Deploying as Product

โš ๏ธ Known issue: Sometimes, Variables view is empty after suspend.

Workaround: switch view or reload it. Details

๐Ÿ™‡ Many thanks to StackOverflow!

Ports used:

If port error occurs:

cmd> netstat -ona | findstr 0.0:29777
TCP    0.0.0.0:29777      0.0.0.0:0      LISTENING       3116

cmd> taskkill /F /PID 3116

๐Ÿ›‘ PID 3116 will be terminated

ยฉ 2017 kimtth


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4