Heart of the mdc, the compiler!
  • D 98.5%
  • C++ 1.1%
  • Shell 0.3%
Find a file
2025-10-26 22:47:08 +01:00
error_reporting ErrorReporting: fix DlangReportCollector.clear 2024-11-05 11:45:46 +01:00
ir IR: add isAnyChar and isAnyString 2025-01-25 19:51:13 +01:00
mangle Add new mangle subpackage for name mangleing 2024-12-17 09:12:43 +01:00
parser ast: add note about the meaning of DeclarationBlock 2025-10-18 22:25:58 +02:00
scripts Adding bindings for error-reporting-cpp 2024-02-04 01:50:11 +01:00
sem Sem: pass parent scope to FuncToIr 2025-10-26 22:47:08 +01:00
test-suite Tests: fix semantic runner not validating ir output 2025-06-18 12:09:03 +02:00
.gitignore Update .gitignore 2024-04-22 11:47:54 +02:00
dub.json Fix root dub.json 2025-10-18 19:15:47 +02:00
LICENSE Adding bindings for error-reporting-cpp 2024-02-04 01:50:11 +01:00
readme.md Update readme.md 2025-02-04 13:49:58 +01:00

Mai's Dlang Compiler (mdc)

A modern reimplementation of the D programming language.

License

The code in this repository is licensed under AGPL-3.0-or-later; for more details see the LICENSE file in the repository.

Structure

  • error_reporting contains a package that allows using lib-error-reporting-cpp in dlang
  • ir contains a package for the complete IR
  • parser contains the complete parsing stage, including the AST
  • sem contains the complete semantic analysis step; i.e. transforming AST into IR
  • test-suite contains a test suite that tests the compiler at every stage

Roadmap

  • Seperate AST from the parser into it's own package
  • Implement semantic steps and an own IR (WIP)
  • Translate IR into LLVMIR & build it (NIY)