
Domain-specific language modeling event-driven architectures using DDD concepts, keeping business vocabulary and compact syntax; parses EventStorming discoveries into docs, diagrams, OpenAPI/AsyncAPI and backend artifacts.
dsl-kotlin provides Kotlin Multiplatform parsers for both ZDL and ZFL.
Both languages are designed to be developer-friendly, compact, and machine-readable so they can be parsed and converted into software artifacts such as:
Usage:
<dependency>
<groupId>io.zenwave360.dsl</groupId>
<artifactId>dsl-kotlin-jvm</artifactId>
<version>${dsl-kotlin.version}</version>
</dependency>String zdlContent = "...";
ZdlParser parser = new ZdlParser();
ZdlModel model = parser.parseModel(zdlContent);
String zflContent = "...";
ZflParser flowParser = new ZflParser();
ZflModel flowModel = flowParser.parseModel(zflContent);NOTE: JVM version includes working ZdlParser and ZflParser implementations compiled from the Kotlin ANTLR4 target and also the Java target parser/lexer classes used by intellij-antlr-adapter.
NOTE: pending publishing to npm-registy
npm install @zenwave360/dslimport { parseZdl } from '@zenwave360/dsl';
import { parseZfl } from '@zenwave360/dsl';
const zdlContent = "...";
const zdlModel = parseZdl(zdlContent);
const zflContent = "...";
const zflModel = parseZfl(zflContent);dsl-kotlin provides Kotlin Multiplatform parsers for both ZDL and ZFL.
Both languages are designed to be developer-friendly, compact, and machine-readable so they can be parsed and converted into software artifacts such as:
Usage:
<dependency>
<groupId>io.zenwave360.dsl</groupId>
<artifactId>dsl-kotlin-jvm</artifactId>
<version>${dsl-kotlin.version}</version>
</dependency>String zdlContent = "...";
ZdlParser parser = new ZdlParser();
ZdlModel model = parser.parseModel(zdlContent);
String zflContent = "...";
ZflParser flowParser = new ZflParser();
ZflModel flowModel = flowParser.parseModel(zflContent);NOTE: JVM version includes working ZdlParser and ZflParser implementations compiled from the Kotlin ANTLR4 target and also the Java target parser/lexer classes used by intellij-antlr-adapter.
NOTE: pending publishing to npm-registy
npm install @zenwave360/dslimport { parseZdl } from '@zenwave360/dsl';
import { parseZfl } from '@zenwave360/dsl';
const zdlContent = "...";
const zdlModel = parseZdl(zdlContent);
const zflContent = "...";
const zflModel = parseZfl(zflContent);