Scala, without relying on any existing code or libraries.ToyIDE is an imitation of a full-featured IDE plus toy languages (imperative, functional) with complete IDE support, interpreters and compilers. All the parts were built from scratch in
The project is purely educational. It is a product of a long vacation in the country and a desire to learn how all this stuff really works.
Although I applied evolutionary design in the development (to uncover the reasons behind architecture), it turns out that many techniques in the code come close to commonly used patterns. I learned a lot from the project and hope it might be useful to the people who want to know more about lexers, parsers, AST, Java bytecode and other similar fun, but tricky things.
Update: Jason Zaugg endorsed the project as “open-source Scala application with simplicity and taste”
Source code is 100% Scala (including ~800 unit tests which run in < 3 seconds).
Download binaries: toyide-1.2.3-bin.zip (7.5 MB)