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 )