[llvm-commits] [llvm] r43726 - /llvm/trunk/docs/tutorial/LangImpl3.html
Chris Lattner
sabre at nondot.org
Mon Nov 5 11:25:14 PST 2007
Author: lattner
Date: Mon Nov 5 13:25:14 2007
New Revision: 43726
URL: http://llvm.org/viewvc/llvm-project?rev=43726&view=rev
Log:
mention possibility of using a visitor
Modified:
llvm/trunk/docs/tutorial/LangImpl3.html
Modified: llvm/trunk/docs/tutorial/LangImpl3.html
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/tutorial/LangImpl3.html?rev=43726&r1=43725&r2=43726&view=diff
==============================================================================
--- llvm/trunk/docs/tutorial/LangImpl3.html (original)
+++ llvm/trunk/docs/tutorial/LangImpl3.html Mon Nov 5 13:25:14 2007
@@ -62,7 +62,7 @@
class ExprAST {
public:
virtual ~ExprAST() {}
- virtual Value *Codegen() = 0;
+ <b>virtual Value *Codegen() = 0;</b>
};
/// NumberExprAST - Expression class for numeric literals like "1.0".
@@ -70,7 +70,7 @@
double Val;
public:
explicit NumberExprAST(double val) : Val(val) {}
- virtual Value *Codegen();
+ <b>virtual Value *Codegen();</b>
};
...
</pre>
@@ -88,6 +88,11 @@
href="http://en.wikipedia.org/wiki/Static_single_assignment_form">Static Single
Assignment</a> - the concepts are really quite natural once you grok them.</p>
+<p>Note that instead of adding virtual methods to the ExprAST class hierarchy,
+it could also make sense to use a visitor pattern or some other way to model
+this. Again, this tutorial won't dwell on good software engineering practices:
+for our purposes, adding virtual methods is simplest.</p>
+
<p>The
second thing we want is an "Error" method like we used for parser, which will
be used to report errors found during code generation (for example, use of an
More information about the llvm-commits
mailing list