title: What is the architecture behind Scratch programming blocks?
body: <p>I need to build a mini version of the programming blocks that are used in <a href="http://scratch.mit.edu/">Scratch</a> or later in snap! or openblocks.</p>
  
  <p>The code in all of them is big and hard to follow, especially in Scratch which is written in some kind of subset of SmallTalk, which I don't know.    </p>
  
  <p>Where can I find the algorithm they all use to parse the blocks and transform it into a set of instructions that work on something, such as animations or games as in Scratch?</p>
  
  <p>I am really interested in the algorithmic or architecture behind the concept of programming blocks.</p>