diff --git a/the-super-tiny-compiler.js b/the-super-tiny-compiler.js index c57f1ac..cc61f97 100755 --- a/the-super-tiny-compiler.js +++ b/the-super-tiny-compiler.js @@ -107,8 +107,8 @@ * 1. *Parsing* is taking raw code and turning it into a more abstract * representation of the code. * - * 2. *Transformation* takes this abstract representation and manipulates to do - * whatever the compiler wants it to. + * 2. *Transformation* takes this abstract representation and manipulates it to + * do whatever the compiler wants it to. * * 3. *Code Generation* takes the transformed representation of the code and * turns it into new code. @@ -333,7 +333,7 @@ * * Code generators work several different ways, some compilers will reuse the * tokens from earlier, others will have created a separate representation of - * the code so that they can print node linearly, but from what I can tell most + * the code so that they can print nodes linearly, but from what I can tell most * will use the same AST we just created, which is what we’re going to focus on. * * Effectively our code generator will know how to “print” all of the different @@ -629,7 +629,7 @@ function parser(tokens) { // (add 2 (subtract 4 2)) // // You'll also notice that in our tokens array we have multiple closing - // parenthesis. + // parentheses. // // [ // { type: 'paren', value: '(' }, @@ -850,8 +850,8 @@ function transformer(ast) { }; // Next I'm going to cheat a little and create a bit of a hack. We're going to - // use a property named `context` on our parent nodes that we're going to push - // nodes to their parent's `context`. Normally you would have a better + // use a property named `context` on our parent nodes that we're going to use + // to push nodes to their parent's `context`. Normally you would have a better // abstraction than this, but for our purposes this keeps things simple. // // Just take note that the context is a reference *from* the old ast *to* the