CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
Visitor.hpp File Reference

Go to the source code of this file.

Classes

class  CeresEngine::ShaderCompiler::Visitor
 

Namespaces

namespace  CeresEngine
 
namespace  CeresEngine::ShaderCompiler
 

Macros

#define DECLARATION_PTR(CLASS_NAME)
 
#define VISITOR_VISIT_PROC(CLASS_NAME)   virtual void visit##CLASS_NAME(CLASS_NAME* ast, void* args)
 
#define DECLARATION_VISIT_PROC(CLASS_NAME)   void visit##CLASS_NAME(CLASS_NAME* ast, void* args) override
 
#define VISIT_DEFAULT(CLASS_NAME)   Visitor::visit##CLASS_NAME(ast, args)
 

Typedefs

using CeresEngine::ShaderCompiler::ASTPtr = SPtr< AST >
 
using CeresEngine::ShaderCompiler::TypedASTPtr = SPtr< TypedAST >
 
using CeresEngine::ShaderCompiler::StatementPtr = SPtr< Statement >
 
using CeresEngine::ShaderCompiler::ExpressionPtr = SPtr< Expression >
 
using CeresEngine::ShaderCompiler::DeclarationPtr = SPtr< Declaration >
 
using CeresEngine::ShaderCompiler::ProgramPtr = SPtr< Program >
 
using CeresEngine::ShaderCompiler::CodeBlockPtr = SPtr< CodeBlock >
 
using CeresEngine::ShaderCompiler::AttributePtr = SPtr< Attribute >
 
using CeresEngine::ShaderCompiler::SwitchCasePtr = SPtr< SwitchCase >
 
using CeresEngine::ShaderCompiler::SamplerValuePtr = SPtr< SamplerValue >
 
using CeresEngine::ShaderCompiler::RegisterPtr = SPtr< Register >
 
using CeresEngine::ShaderCompiler::PackOffsetPtr = SPtr< PackOffset >
 
using CeresEngine::ShaderCompiler::ArrayDimensionPtr = SPtr< ArrayDimension >
 
using CeresEngine::ShaderCompiler::TypeSpecifierPtr = SPtr< TypeSpecifier >
 
using CeresEngine::ShaderCompiler::VarDeclarationPtr = SPtr< VarDeclaration >
 
using CeresEngine::ShaderCompiler::BufferDeclarationPtr = SPtr< BufferDeclaration >
 
using CeresEngine::ShaderCompiler::SamplerDeclarationPtr = SPtr< SamplerDeclaration >
 
using CeresEngine::ShaderCompiler::StructDeclarationPtr = SPtr< StructDeclaration >
 
using CeresEngine::ShaderCompiler::AliasDeclarationPtr = SPtr< AliasDeclaration >
 
using CeresEngine::ShaderCompiler::FunctionDeclarationPtr = SPtr< FunctionDeclaration >
 
using CeresEngine::ShaderCompiler::UniformBufferDeclarationPtr = SPtr< UniformBufferDeclaration >
 
using CeresEngine::ShaderCompiler::BufferDeclarationStatementPtr = SPtr< BufferDeclarationStatement >
 
using CeresEngine::ShaderCompiler::SamplerDeclarationStatementPtr = SPtr< SamplerDeclarationStatement >
 
using CeresEngine::ShaderCompiler::VarDeclarationStatementPtr = SPtr< VarDeclarationStatement >
 
using CeresEngine::ShaderCompiler::AliasDeclarationStatementPtr = SPtr< AliasDeclarationStatement >
 
using CeresEngine::ShaderCompiler::BasicDeclarationStatementPtr = SPtr< BasicDeclarationStatement >
 
using CeresEngine::ShaderCompiler::NullStatementPtr = SPtr< NullStatement >
 
using CeresEngine::ShaderCompiler::CodeBlockStatementPtr = SPtr< CodeBlockStatement >
 
using CeresEngine::ShaderCompiler::ForLoopStatementPtr = SPtr< ForLoopStatement >
 
using CeresEngine::ShaderCompiler::WhileLoopStatementPtr = SPtr< WhileLoopStatement >
 
using CeresEngine::ShaderCompiler::DoWhileLoopStatementPtr = SPtr< DoWhileLoopStatement >
 
using CeresEngine::ShaderCompiler::IfStatementPtr = SPtr< IfStatement >
 
using CeresEngine::ShaderCompiler::ElseStatementPtr = SPtr< ElseStatement >
 
using CeresEngine::ShaderCompiler::SwitchStatementPtr = SPtr< SwitchStatement >
 
using CeresEngine::ShaderCompiler::ExpressionStatementPtr = SPtr< ExpressionStatement >
 
using CeresEngine::ShaderCompiler::ReturnStatementPtr = SPtr< ReturnStatement >
 
using CeresEngine::ShaderCompiler::CtrlTransferStatementPtr = SPtr< CtrlTransferStatement >
 
using CeresEngine::ShaderCompiler::LayoutStatementPtr = SPtr< LayoutStatement >
 
using CeresEngine::ShaderCompiler::NullExpressionPtr = SPtr< NullExpression >
 
using CeresEngine::ShaderCompiler::SequenceExpressionPtr = SPtr< SequenceExpression >
 
using CeresEngine::ShaderCompiler::LiteralExpressionPtr = SPtr< LiteralExpression >
 
using CeresEngine::ShaderCompiler::TypeSpecifierExpressionPtr = SPtr< TypeSpecifierExpression >
 
using CeresEngine::ShaderCompiler::TernaryExpressionPtr = SPtr< TernaryExpression >
 
using CeresEngine::ShaderCompiler::BinaryExpressionPtr = SPtr< BinaryExpression >
 
using CeresEngine::ShaderCompiler::UnaryExpressionPtr = SPtr< UnaryExpression >
 
using CeresEngine::ShaderCompiler::PostUnaryExpressionPtr = SPtr< PostUnaryExpression >
 
using CeresEngine::ShaderCompiler::CallExpressionPtr = SPtr< CallExpression >
 
using CeresEngine::ShaderCompiler::BracketExpressionPtr = SPtr< BracketExpression >
 
using CeresEngine::ShaderCompiler::ObjectExpressionPtr = SPtr< ObjectExpression >
 
using CeresEngine::ShaderCompiler::AssignExpressionPtr = SPtr< AssignExpression >
 
using CeresEngine::ShaderCompiler::ArrayExpressionPtr = SPtr< ArrayExpression >
 
using CeresEngine::ShaderCompiler::CastExpressionPtr = SPtr< CastExpression >
 
using CeresEngine::ShaderCompiler::InitializerExpressionPtr = SPtr< InitializerExpression >
 

Macro Definition Documentation

◆ DECLARATION_PTR

#define DECLARATION_PTR (   CLASS_NAME)
Value:
struct CLASS_NAME; \
using CLASS_NAME##Ptr = SPtr<CLASS_NAME>

◆ DECLARATION_VISIT_PROC

#define DECLARATION_VISIT_PROC (   CLASS_NAME)    void visit##CLASS_NAME(CLASS_NAME* ast, void* args) override

◆ VISIT_DEFAULT

#define VISIT_DEFAULT (   CLASS_NAME)    Visitor::visit##CLASS_NAME(ast, args)

◆ VISITOR_VISIT_PROC

#define VISITOR_VISIT_PROC (   CLASS_NAME)    virtual void visit##CLASS_NAME(CLASS_NAME* ast, void* args)