Design-Pattern DSL with Editor Support
A domain-specific language for describing design patterns, with validation in VS Code and PlantUML generation.
Language engineering · course project2026Complete
- Role
- Course project in the master's programme at HTW Berlin.
- Patterns
- 4 in grammar
- Tests
- Parsing + validation
- Stack
- TypeScript, Langium, VS Code extension API, Node.js, Vitest, PlantUML
What it does
A textual language built with Langium for modelling classes, interfaces and design patterns (Observer, Strategy, Factory, Chain of Responsibility). A semantic validator checks references, inheritance and whether each participant's role fits its pattern; a VS Code extension shows errors while typing; a CLI compiles models into PlantUML class diagrams.
- Language
- Langium grammar
- Validator
- Tools
- VS Code extension
- CLI
- Output
- PlantUML diagrams
The hard part
Semantic validation beyond the grammar: resolving cross-references and checking that each role is valid for its pattern type.