Building my own programming language in Dart to learn how languages work
Hi everyone, I've recently started working on a small side project called Doro++. The goal isn't to create the next Python, Rust, or Java. I mainly started this project because I wanted to understand what actually happens behind the scenes in programming languages instead of only using frameworks and tools every day.
As a Flutter developer, I realized there are many concepts I've heard about for years lexers, parsers, ASTs, interpreters, compilers, memory management, and diagnostics but never had the chance to build myself.
So I decided to learn by building. One idea I'm exploring with Doro++ is making code more readable and making error messages more helpful for beginners. Instead of only saying that something is wrong, I'd like the language to explain what went wrong and suggest how to fix it.
Example syntax:
let age = 22
if age is greater than 18 {
print "Adult"
}
Current progress:
✅ Interpreter
✅ Variables
✅ Expressions
✅ Conditions
✅ Friendly diagnostics
✅ Lexer
✅ Parser (in progress)
✅ AST (in progress)
The entire project is currently being built in Dart.
I'd love to hear feedback from people who have worked on compilers, interpreters, language tooling, or educational programming languages. Are there any books, resources, or common mistakes I should watch out for as the project grows?
Github repo: https://github.com/bacsantiago/doro-plus-plus.git