The desire to scratch below the surface of debugging

What it does

mkide is a gui application that is triggered from the command line and allows the user to edit a code file and interact with blocked sections of code as if the user was editing text with scratch.

How we built it

The building process was split into to two steps. I myself focused on the creating a GUI as well as taking in strings of code and generating blocks of code that can be re-positioned and snapped in place. Heman wrote a general purpose lexer and parser that is capable of reading any given language, and storing the sectioned pieces of code into an abstract syntax tree.

Challenges we ran into

The main issue we ran into occurred when parsing the code into an abstract syntax tree. Building this part of the project caused us to rewrite both of our systems twice before a working implementation worked.

Accomplishments that we're proud of

We have a functional scheme parser that allows us to write our restructured code blocks out to the main file. We also have a functional UI that is capable of taking in keyboard short-cuts and making the editing experience great again!

What we learned

We learned to not write our own yacc. 10/10 would not do again

What's next for mkide

Distributing the application as a terminal command on npm and pip

Built With

Share this project: