Archive for October, 2011

ToyIDE

Posted in Programming, Scala, Software on October 22nd, 2011 by Pavel – Comments Off on ToyIDE

ToyIDE LogoToyIDE 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 Scala, without relying on any existing code or libraries.

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.4-bin.zip (7.5 MB)

ToyIDE: Main Window
Continue reading →