diff options
Diffstat (limited to 'docs/tutorial/LangImpl7.html')
-rw-r--r-- | docs/tutorial/LangImpl7.html | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/docs/tutorial/LangImpl7.html b/docs/tutorial/LangImpl7.html index 71d5210..b2b26bd 100644 --- a/docs/tutorial/LangImpl7.html +++ b/docs/tutorial/LangImpl7.html @@ -12,7 +12,7 @@ <body> -<div class="doc_title">Kaleidoscope: Extending the Language: Mutable Variables</div> +<h1>Kaleidoscope: Extending the Language: Mutable Variables</h1> <ul> <li><a href="index.html">Up to Tutorial Index</a></li> @@ -38,10 +38,10 @@ </div> <!-- *********************************************************************** --> -<div class="doc_section"><a name="intro">Chapter 7 Introduction</a></div> +<h2><a name="intro">Chapter 7 Introduction</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>Welcome to Chapter 7 of the "<a href="index.html">Implementing a language with LLVM</a>" tutorial. In chapters 1 through 6, we've built a very @@ -66,10 +66,10 @@ support for this, though the way it works is a bit unexpected for some.</p> </div> <!-- *********************************************************************** --> -<div class="doc_section"><a name="why">Why is this a hard problem?</a></div> +<h2><a name="why">Why is this a hard problem?</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p> To understand why mutable variables cause complexities in SSA construction, @@ -140,10 +140,10 @@ logic.</p> </div> <!-- *********************************************************************** --> -<div class="doc_section"><a name="memory">Memory in LLVM</a></div> +<h2><a name="memory">Memory in LLVM</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>The 'trick' here is that while LLVM does require all register values to be in SSA form, it does not require (or permit) memory objects to be in SSA form. @@ -321,11 +321,10 @@ variables now! </div> <!-- *********************************************************************** --> -<div class="doc_section"><a name="kalvars">Mutable Variables in -Kaleidoscope</a></div> +<h2><a name="kalvars">Mutable Variables in Kaleidoscope</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>Now that we know the sort of problem we want to tackle, lets see what this looks like in the context of our little Kaleidoscope language. We're going to @@ -378,11 +377,10 @@ Kaleidoscope to support new variable definitions. </div> <!-- *********************************************************************** --> -<div class="doc_section"><a name="adjustments">Adjusting Existing Variables for -Mutation</a></div> +<h2><a name="adjustments">Adjusting Existing Variables for Mutation</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p> The symbol table in Kaleidoscope is managed at code generation time by the @@ -648,10 +646,10 @@ we'll add the assignment operator.</p> </div> <!-- *********************************************************************** --> -<div class="doc_section"><a name="assignment">New Assignment Operator</a></div> +<h2><a name="assignment">New Assignment Operator</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>With our current framework, adding a new assignment operator is really simple. We will parse it just like any other binary operator, but handle it @@ -745,11 +743,10 @@ add this next! </div> <!-- *********************************************************************** --> -<div class="doc_section"><a name="localvars">User-defined Local -Variables</a></div> +<h2><a name="localvars">User-defined Local Variables</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p>Adding var/in is just like any other other extensions we made to Kaleidoscope: we extend the lexer, the parser, the AST and the code generator. @@ -979,10 +976,10 @@ anywhere in sight.</p> </div> <!-- *********************************************************************** --> -<div class="doc_section"><a name="code">Full Code Listing</a></div> +<h2><a name="code">Full Code Listing</a></h2> <!-- *********************************************************************** --> -<div class="doc_text"> +<div> <p> Here is the complete code listing for our running example, enhanced with mutable @@ -2160,7 +2157,7 @@ int main() { src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a> <a href="mailto:sabre@nondot.org">Chris Lattner</a><br> - <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br> + <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a><br> Last modified: $Date$ </address> </body> |