diff options
author | Chris Lattner <sabre@nondot.org> | 2007-10-23 06:27:55 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-10-23 06:27:55 +0000 |
commit | c0b42e95587b06e7494ad62350c1b7ceae99dc69 (patch) | |
tree | 108181a48f7374eac68f5f7e359ecea95cf351e8 /docs/tutorial/LangImpl4.html | |
parent | 35abbf518ff83d9bfe882ec9c9bc8b990b07b9a3 (diff) | |
download | llvm-c0b42e95587b06e7494ad62350c1b7ceae99dc69.tar.gz llvm-c0b42e95587b06e7494ad62350c1b7ceae99dc69.tar.bz2 llvm-c0b42e95587b06e7494ad62350c1b7ceae99dc69.tar.xz |
add a skeleton for part 4
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43246 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/tutorial/LangImpl4.html')
-rw-r--r-- | docs/tutorial/LangImpl4.html | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/docs/tutorial/LangImpl4.html b/docs/tutorial/LangImpl4.html new file mode 100644 index 0000000000..358ec69ad1 --- /dev/null +++ b/docs/tutorial/LangImpl4.html @@ -0,0 +1,78 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> + +<html> +<head> + <title>Kaleidoscope: Adding JIT and Optimizer Support</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <meta name="author" content="Chris Lattner"> + <link rel="stylesheet" href="../llvm.css" type="text/css"> +</head> + +<body> + +<div class="doc_title">Kaleidoscope: Adding JIT and Optimizer Support</div> + +<div class="doc_author"> + <p>Written by <a href="mailto:sabre@nondot.org">Chris Lattner</a></p> +</div> + +<!-- *********************************************************************** --> +<div class="doc_section"><a name="intro">Part 4 Introduction</a></div> +<!-- *********************************************************************** --> + +<div class="doc_text"> + +<p>Welcome to part 4 of the "<a href="index.html">Implementing a language with +LLVM</a>" tutorial.</p> + +</div> + +<!-- *********************************************************************** --> +<div class="doc_section"><a name="basics">Code Generation setup</a></div> +<!-- *********************************************************************** --> + +<div class="doc_text"> + +<p> +In order to generate LLVM IR, we want some simple setup to get started. First, +we define virtual codegen methods in each AST class:</p> + +<div class="doc_code"> +<pre> +/// ExprAST - Base class for all expression nodes. +class ExprAST { +public: + virtual ~ExprAST() {} + virtual Value *Codegen() = 0; +}; + +/// NumberExprAST - Expression class for numeric literals like "1.0". +class NumberExprAST : public ExprAST { + double Val; +public: + explicit NumberExprAST(double val) : Val(val) {} + virtual Value *Codegen(); +}; +... +</pre> +</div> + + + +</div> + +<!-- *********************************************************************** --> +<hr> +<address> + <a href="http://jigsaw.w3.org/css-validator/check/referer"><img + src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a> + <a href="http://validator.w3.org/check/referer"><img + 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> + Last modified: $Date: 2007-10-17 11:05:13 -0700 (Wed, 17 Oct 2007) $ +</address> +</body> +</html> |