Index: src/SynTree/Expression.cc
===================================================================
--- src/SynTree/Expression.cc	(revision f19339e9f3b4b9180200b2225c0190ec0dceefa1)
+++ src/SynTree/Expression.cc	(revision 2afec66345a55139c8738d36411816676b2fe4d3)
@@ -92,4 +92,10 @@
 }
 
+VariableExpr * VariableExpr::functionPointer( FunctionDecl * func ) {
+	VariableExpr * funcExpr = new VariableExpr( func );
+	funcExpr->set_result( new PointerType( Type::Qualifiers(), funcExpr->get_result() ) );
+	return funcExpr;
+}
+
 void VariableExpr::print( std::ostream &os, int indent ) const {
 	os << "Variable Expression: ";
Index: src/SynTree/Expression.h
===================================================================
--- src/SynTree/Expression.h	(revision f19339e9f3b4b9180200b2225c0190ec0dceefa1)
+++ src/SynTree/Expression.h	(revision 2afec66345a55139c8738d36411816676b2fe4d3)
@@ -259,4 +259,6 @@
 	void set_var( DeclarationWithType * newValue ) { var = newValue; }
 
+	static VariableExpr * functionPointer( FunctionDecl * decl );
+
 	virtual VariableExpr * clone() const { return new VariableExpr( * this ); }
 	virtual void accept( Visitor & v ) { v.visit( this ); }
