Monday, May 26, 2014

myLOGO

One of the programming languages that I love is LOGO. Yes, it is a programming language, although it is limited for drawing. I started using it when I was about 7 years old. Using LOGO formed my perception of computers in general and of programming specifically.

One of the first project I did when I started learning C# by myself (when I was doing my B.Sc) was a tool for running LOGO commands and displaying the results - "myLOGO". It also supported definition of custom procedures (using "ED <proc-name> ... END"). You can download the project here (RAR file). Here is a screenshot:
myLOGO, implemented using C# and WinForms

Then, few years later I started focusing on Java. After a while I started developing plugins for Eclipse. This introduced me with SWT (Standard Widget Toolkit). As a result of my need for understanding SWT better, as a standalone, I decided to implement myLOGO again, only this time in Java & SWT. Doing so I also added support in loops (i.e. the REPEAT command). You can download the project here (ZIP file). Here is a screenshot:
myLOGO, implemented using Java & SWT
The code is hosted in GitHub: https://github.com/yinonavraham/myLOGO

It includes a parser, an AST (Abstract Syntax Tree), design-time and run-time models, UI, etc. I implemented it in a way it can be embedded as a library in other projects. I will elaborate in a future post on another project in which I did exactly that - an Eclipse plugin for developing LOGO scripts.

No comments:

Post a Comment