Alien-SmokeQt
view release on metacpan or search on metacpan
generator/parser/codegenerator.h view on Meta::CPAN
/*
Copyright 2008 Hamish Rodda <rodda@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License version 2 as published by the Free Software Foundation.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef CODEGENERATOR_H
#define CODEGENERATOR_H
#include <QTextStream>
#include <QString>
#include "cppparser_export.h"
#include "default_visitor.h"
class Token;
class CPPPARSER_EXPORT CodeGenerator : public DefaultVisitor
{
public:
CodeGenerator(ParseSession* session);
virtual ~CodeGenerator();
QString output();
protected:
virtual void visitAccessSpecifier (AccessSpecifierAST*);
virtual void visitAsmDefinition (AsmDefinitionAST*);
virtual void visitBaseClause (BaseClauseAST*);
virtual void visitBaseSpecifier (BaseSpecifierAST*);
virtual void visitBinaryExpression (BinaryExpressionAST*);
virtual void visitCastExpression (CastExpressionAST*);
virtual void visitClassMemberAccess (ClassMemberAccessAST*);
virtual void visitClassSpecifier (ClassSpecifierAST*);
virtual void visitCompoundStatement (CompoundStatementAST*);
virtual void visitCondition (ConditionAST*);
virtual void visitConditionalExpression (ConditionalExpressionAST*);
virtual void visitCppCastExpression (CppCastExpressionAST*);
virtual void visitCtorInitializer (CtorInitializerAST*);
virtual void visitDeclarationStatement (DeclarationStatementAST*);
virtual void visitDeclarator (DeclaratorAST*);
virtual void visitDeleteExpression (DeleteExpressionAST*);
virtual void visitDoStatement (DoStatementAST*);
virtual void visitElaboratedTypeSpecifier (ElaboratedTypeSpecifierAST*);
virtual void visitEnumSpecifier (EnumSpecifierAST*);
virtual void visitEnumerator (EnumeratorAST*);
virtual void visitExceptionSpecification (ExceptionSpecificationAST*);
virtual void visitExpressionOrDeclarationStatement (ExpressionOrDeclarationStatementAST*);
virtual void visitExpressionStatement (ExpressionStatementAST*);
virtual void visitForStatement (ForStatementAST*);
virtual void visitFunctionCall (FunctionCallAST*);
virtual void visitFunctionDefinition (FunctionDefinitionAST*);
virtual void visitIfStatement (IfStatementAST*);
virtual void visitIncrDecrExpression (IncrDecrExpressionAST*);
virtual void visitInitDeclarator (InitDeclaratorAST*);
virtual void visitInitializer (InitializerAST*);
virtual void visitInitializerClause (InitializerClauseAST*);
virtual void visitJumpStatement (JumpStatementAST*);
virtual void visitLabeledStatement (LabeledStatementAST*);
virtual void visitLinkageBody (LinkageBodyAST*);
virtual void visitLinkageSpecification (LinkageSpecificationAST*);
virtual void visitMemInitializer (MemInitializerAST*);
virtual void visitName (NameAST*);
virtual void visitNamespace (NamespaceAST*);
virtual void visitNamespaceAliasDefinition (NamespaceAliasDefinitionAST*);
virtual void visitNewDeclarator (NewDeclaratorAST*);
virtual void visitNewExpression (NewExpressionAST*);
virtual void visitNewInitializer (NewInitializerAST*);
virtual void visitNewTypeId (NewTypeIdAST*);
virtual void visitOperator (OperatorAST*);
virtual void visitOperatorFunctionId (OperatorFunctionIdAST*);
virtual void visitParameterDeclaration (ParameterDeclarationAST*);
virtual void visitParameterDeclarationClause (ParameterDeclarationClauseAST*);
virtual void visitPostfixExpression (PostfixExpressionAST*);
virtual void visitPrimaryExpression (PrimaryExpressionAST*);
virtual void visitPtrOperator (PtrOperatorAST*);
virtual void visitPtrToMember (PtrToMemberAST*);
virtual void visitReturnStatement (ReturnStatementAST*);
virtual void visitSimpleDeclaration (SimpleDeclarationAST*);
virtual void visitSimpleTypeSpecifier (SimpleTypeSpecifierAST*);
( run in 0.571 second using v1.01-cache-2.11-cpan-39bf76dae61 )