Zen
A cross-platform functional programming language
Public Member Functions | Private Attributes

ExprGenerator Class Reference

Class that writes out an expression. More...

Inheritance diagram for ExprGenerator:
Expr::Visitor

List of all members.

Public Member Functions

 ExprGenerator (z::stream &os, const bool &isRoutine)
 Default constructor.
virtual void visit (const Ast::TernaryOpExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::BinaryOpExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::PrefixOpExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::PostfixOpExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::OrderedExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::IndexExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::ListExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::DictExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::TreeExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::QueryExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::QueryPartExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::QueryBinaryExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::QueryValExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::QueryConstantExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::TypeDefExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::StructExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::StructInitExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::FunctionExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::ListTemplateExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::DictTemplateExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::StringFormatExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::VariableRefExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::EnumRefExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::InternalCallExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::InvokerCallExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::FunctionCallExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::FunctionImplExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::FunctionDefImplExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::AnyExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::CastExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::NumericConstantExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::BooleanConstantExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::CharConstantExpr &expr)
 Abstract visitor function.
virtual void visit (const Ast::StringConstantExpr &expr)
 Abstract visitor function.

Private Attributes

z::stream_os
 Output stream.
bool _isRoutine
 True if called from within routine.

Detailed Description

Class that writes out an expression.


Constructor & Destructor Documentation

ExprGenerator ( z::stream os,
const bool &  isRoutine 
) [inline]

Default constructor.

Parameters:
osThe stream to write to
isRoutineThe stream to write to

Member Function Documentation

virtual void visit ( const Ast::TernaryOpExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::StringConstantExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::CharConstantExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::BooleanConstantExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::NumericConstantExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::CastExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::AnyExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::FunctionDefImplExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::FunctionImplExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::FunctionCallExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::InvokerCallExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::InternalCallExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::EnumRefExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::VariableRefExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::StringFormatExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::DictTemplateExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::ListTemplateExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::FunctionExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::StructInitExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::StructExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::TypeDefExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::QueryConstantExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::QueryValExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::QueryBinaryExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::QueryPartExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::QueryExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::TreeExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::DictExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::ListExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::IndexExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::OrderedExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::PostfixOpExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::PrefixOpExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.

virtual void visit ( const Ast::BinaryOpExpr expr) [inline, virtual]

Abstract visitor function.

Parameters:
exprThe expression reference to handle

Implements Expr::Visitor.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines