Index: docs/tutorial/LangImpl02.rst =================================================================== --- docs/tutorial/LangImpl02.rst +++ docs/tutorial/LangImpl02.rst @@ -20,7 +20,7 @@ `Operator-Precedence Parsing `_ to parse the Kaleidoscope language (the latter for binary expressions and -the former for everything else). Before we get to parsing though, lets +the former for everything else). Before we get to parsing though, let's talk about the output of the parser: the Abstract Syntax Tree. The Abstract Syntax Tree (AST) @@ -716,7 +716,7 @@ Full Code Listing ================= -Here is the complete code listing for our running example. Because this +Here is the complete code listing for our running example. Because this uses the LLVM libraries, we need to link them in. To do this, we use the `llvm-config `_ tool to inform our makefile/command line about which options to use: Index: docs/tutorial/LangImpl03.rst =================================================================== --- docs/tutorial/LangImpl03.rst +++ docs/tutorial/LangImpl03.rst @@ -261,7 +261,7 @@ Code generation for prototypes and functions must handle a number of details, which make their code less beautiful than expression code generation, but allows us to illustrate some important points. First, -lets talk about code generation for prototypes: they are used both for +let's talk about code generation for prototypes: they are used both for function bodies and external function declarations. The code starts with: Index: docs/tutorial/LangImpl04.rst =================================================================== --- docs/tutorial/LangImpl04.rst +++ docs/tutorial/LangImpl04.rst @@ -203,7 +203,7 @@ experiment with passes from the command line, so you can see if they do anything. -Now that we have reasonable code coming out of our front-end, lets talk +Now that we have reasonable code coming out of our front-end, let's talk about executing it! Adding a JIT Compiler @@ -335,7 +335,7 @@ ``InitializeModuleAndPassManager``) is still open and waiting for new code to be added. -With just these two changes, lets see how Kaleidoscope works now! +With just these two changes, let's see how Kaleidoscope works now! :: @@ -514,7 +514,7 @@ the JIT and open a new module. In HandleExtern, we just need to add one line to add the prototype to FunctionProtos. -With these changes made, lets try our REPL again (I removed the dump of the +With these changes made, let's try our REPL again (I removed the dump of the anonymous functions this time, you should get the idea by now :) : :: Index: docs/tutorial/LangImpl05.rst =================================================================== --- docs/tutorial/LangImpl05.rst +++ docs/tutorial/LangImpl05.rst @@ -27,7 +27,7 @@ it shows how easy it is to "grow" a language over time, incrementally extending it as new ideas are discovered. -Before we get going on "how" we add this extension, lets talk about +Before we get going on "how" we add this extension, let's talk about "what" we want. The basic idea is that we want to be able to write this sort of thing: @@ -54,7 +54,7 @@ Kaleidoscope allows side-effects, this behavior is important to nail down. -Now that we know what we "want", lets break this down into its +Now that we know what we "want", let's break this down into its constituent pieces. Lexer Extensions for If/Then/Else @@ -176,7 +176,7 @@ introduce new concepts. All of the code above has been thoroughly described in previous chapters. -To motivate the code we want to produce, lets take a look at a simple +To motivate the code we want to produce, let's take a look at a simple example. Consider: :: @@ -276,7 +276,7 @@ Phi nodes directly, if convenient. In this case, it is really easy to generate the Phi node, so we choose to do it directly. -Okay, enough of the motivation and overview, lets generate code! +Okay, enough of the motivation and overview, let's generate code! Code Generation for If/Then/Else -------------------------------- @@ -429,7 +429,7 @@ ===================== Now that we know how to add basic control flow constructs to the -language, we have the tools to add more powerful things. Lets add +language, we have the tools to add more powerful things. Let's add something more aggressive, a 'for' expression: :: @@ -450,7 +450,7 @@ to return, we'll just define the loop as always returning 0.0. In the future when we have mutable variables, it will get more useful. -As before, lets talk about the changes that we need to Kaleidoscope to +As before, let's talk about the changes that we need to Kaleidoscope to support this. Lexer Extensions for the 'for' Loop @@ -619,7 +619,7 @@ } This loop contains all the same constructs we saw before: a phi node, -several expressions, and some basic blocks. Lets see how this fits +several expressions, and some basic blocks. Let's see how this fits together. Code Generation for the 'for' Loop Index: docs/tutorial/LangImpl06.rst =================================================================== --- docs/tutorial/LangImpl06.rst +++ docs/tutorial/LangImpl06.rst @@ -303,7 +303,7 @@ Now we have useful user-defined binary operators. This builds a lot on the previous framework we built for other operators. Adding unary operators is a bit more challenging, because we don't have any framework -for it yet - lets see what it takes. +for it yet - let's see what it takes. User-defined Unary Operators ============================