diff options
Diffstat (limited to 'docs/tutorial/OCamlLangImpl2.html')
-rw-r--r-- | docs/tutorial/OCamlLangImpl2.html | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/docs/tutorial/OCamlLangImpl2.html b/docs/tutorial/OCamlLangImpl2.html index deb592ee41..20e006d97c 100644 --- a/docs/tutorial/OCamlLangImpl2.html +++ b/docs/tutorial/OCamlLangImpl2.html @@ -43,7 +43,7 @@ <h2><a name="intro">Chapter 2 Introduction</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>Welcome to Chapter 2 of the "<a href="index.html">Implementing a language with LLVM in Objective Caml</a>" tutorial. This chapter shows you how to use @@ -68,7 +68,7 @@ Tree.</p> <h2><a name="ast">The Abstract Syntax Tree (AST)</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>The AST for a program captures its behavior in such a way that it is easy for later stages of the compiler (e.g. code generation) to interpret. We basically @@ -149,7 +149,7 @@ bodies in Kaleidoscope.</p> <h2><a name="parserbasics">Parser Basics</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>Now that we have an AST to build, we need to define the parser code to build it. The idea here is that we want to parse something like "x+y" (which is @@ -184,7 +184,7 @@ piece of our grammar: numeric literals.</p> <h2><a name="parserprimexprs">Basic Expression Parsing</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>We start with numeric literals, because they are the simplest to process. For each production in our grammar, we'll define a function which parses that @@ -305,7 +305,7 @@ They are a bit more complex.</p> <h2><a name="parserbinops">Binary Expression Parsing</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>Binary expressions are significantly harder to parse because they are often ambiguous. For example, when given the string "x+y*z", the parser can choose @@ -518,7 +518,7 @@ handle function definitions, etc.</p> <h2><a name="parsertop">Parsing the Rest</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p> The next thing missing is handling of function prototypes. In Kaleidoscope, @@ -597,7 +597,7 @@ actually <em>execute</em> this code we've built!</p> <h2><a name="driver">The Driver</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>The driver for this simply invokes all of the parsing pieces with a top-level dispatch loop. There isn't much interesting here, so I'll just include the @@ -653,7 +653,7 @@ type "4+5;", and the parser will know you are done.</p> <h2><a name="conclusions">Conclusions</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>With just under 300 lines of commented code (240 lines of non-comment, non-blank code), we fully defined our minimal language, including a lexer, @@ -690,7 +690,7 @@ Representation (IR) from the AST.</p> <h2><a name="code">Full Code Listing</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p> Here is the complete code listing for this and the previous chapter. |