PortfolioWriting
Subscribe
Blog/Portfolio Projects
AGPrevious · Portfolio ProjectsAnagrams Game (Original Browser Version)Next · Portfolio ProjectsFull-Stack Blog Platform with EJS and PostgreSQLFS
Portfolio Projects28 April 2026

EasyChess: A Domain-Specific Language for Chess Notation

Building a chess DSML with syntax highlighting, validation, and code generation using Java, Xtext, and Xtend.

EasyChess: A Domain-Specific Language for Chess Notation

EasyChess is a domain-specific modeling language (DSML) for chess notation, built with Xtext and Xtend inside the Eclipse IDE ecosystem.

What is a DSML?

A domain-specific modeling language lets domain experts express ideas in their own vocabulary rather than a general-purpose programming language. For chess, that means writing game notation in a form that can be validated, highlighted, and transformed automatically.

The Language

EasyChess allows you to write annotated chess games like:

game KasparovVsDeepBlue1997 {
  white: "Kasparov"
  black: "Deep Blue"
  
  1. e4 e5
  2. Nf3 Nc6
  3. Bb5 a6
}

The toolchain validates move legality, highlights syntax, and can generate PGN output.

Technical Stack

  • Xtext for grammar definition and parser generation

  • Xtend for code generation (PGN export)

  • JUnit for grammar validation tests

  • Eclipse IDE as the host platform

Lessons Learned

Xtext's grammar DSL is powerful but has a steep learning curve. The most interesting challenge was implementing move validation — chess rules are deceptively complex once you account for en passant, castling rights, and check detection.

Source: GitHub

In this series

Portfolio Projects

  1. Project 1Anagrams Architecture Notes
  2. Project 2Building a SQL Database Engine in C
  3. Project 3Anagrams Game (Original Browser Version)
  4. Project 4EasyChess: A Domain-Specific Language for Chess Notation
  5. Project 5Full-Stack Blog Platform with EJS and PostgreSQL
  6. Project 6Automated Departmental Report Generator
  7. Project 7AI-Powered Fitness Tracker
  8. Project 8Model Surveillance Satellite — Team Project
  9. Project 9LoopBridge, carrying a Figma system into a working platform
  10. Project 10Stitch Bloom, building a shop around how the owner takes orders
  11. Project 11DeRivian Care, from a business plan to a working supported living site
  12. Project 12Sunab Telecommunications, designing around an invisible service
  13. Project 13Pengana Concept, one group website with distinct business areas
More reading
  • Computer SystemsComputer Systems6 May 2026
  • SupplementalHow My C Database Stores Rows in a B+ Tree6 May 2026
  • ArticleTesting a new post in Prod1 May 2026
  • MiscellaneousWelcome to My Blog28 Apr 2026
  • ArticleBlog Platform — Features Demo24 Apr 2026
All articles →
AGPrevious · Portfolio ProjectsAnagrams Game (Original Browser Version)Next · Portfolio ProjectsFull-Stack Blog Platform with EJS and PostgreSQLFS
WorkAboutBlogContact
[email protected]+44 7881 177717London, UK
GitHub LinkedIn X / Twitter
Previous site (v1)
VICTOR NABASUVictor Nabasu
© 2026 Victor Nabasu. All rights reserved.Software Engineer · Full-Stack Developer