DomainLang

Reuse the working language tools

The proposed CoreLang base would reuse working DSLSH and THE editor components and, where execution helps, the existing CREXX tools. The combined DomainLang path has not yet been built.

How it works

From business language to feedback and optional execution

The proposed DomainLang path would connect a domain vocabulary, through a new CoreLang parser, to working DSLSH, THE and CREXX components. Execution would remain optional.

  1. Domain vocabulary

    Words and distinctions that belong to the work, such as appointment, cancellation and working day.

  2. CoreLang common base

    Proposed shared structure, parser conventions and tool connections for suitable business-related languages.

  3. Parser, validation and editor feedback

    A new language parser would check the source; DSLSH and THE provide working ways to return structure and messages to an editor.

  4. Useful result

    Produce a checked document, rule, diagram, configuration or another form required by the business task.

  5. Optional CREXX execution

    Existing rxas, rxlink and RXVM tools can run suitable examples after a proposed RXAS generation step.

Read the connections
  • Domain vocabularyCoreLang common base: add the language-specific words.
  • CoreLang common baseParser: recognise and check the source.
  • ParserUseful result: return a checked form.
  • ParserOptional CREXX execution: generate RXAS only when execution helps.
DSLSH, THE and the CREXX tools already exist. The new CoreLang common base, its parser and the complete connection shown here remain proposed.

From a domain phrase to useful feedback

Under the proposed reuse model, a suitable business-related language would start with the common CoreLang base and add its own domain words. A new CoreLang parser would recognise the source and create a structured record of its meaning. Validation would then check the business rules and return a precise message to the author.

An editor sends document changes to DSLSH. DSLSH keeps the parser up to date and returns structured language information. THE CREXX Edition demonstrates that connection in a working editor and produces parser-backed HTML and TeX renderings. Its browser frontend is a working proof of concept with documented limits, not a production hosted editor.

Execute only when the language needs to run

When an example needs to execute, the proposed first path is to translate its checked meaning into readable RXAS. The existing rxas tool checks, optimises and assembles that source. rxlink combines modules, and RXVM runs the bytecode. Reusing these tools avoids building another runtime and does not make the source language a REXX dialect—a language variant that follows REXX syntax and behaviour.

The language’s business meaning remains its own. A descriptive language should not be forced to execute, and a language that does not fit the CREXX execution model should use another path. LLVM remains later backend research after the first CoreLang and RXAS examples work consistently.

Related work

What the other projects contribute

  • CoreLang is the proposed common syntax and toolchain base for suitable business-related languages.
  • DSLSH, THE and CREXX supply working components that the new DomainLang path can reuse.