Edit

kc3-lang/angle/Compiler/CodeGen.cpp

Branch :

  • Show log

    Commit

  • Author : daniel@transgaming.com
    Date : 2010-03-08 20:26:45
    Hash : 4f39fd99
    Message : Initial import from TransGaming git-svn-id: https://angleproject.googlecode.com/svn/trunk@2 736b8ea6-26fd-11df-bfd4-992fa37f6226

  • Compiler/CodeGen.cpp
  • //
    // Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    
    #include "Common.h"
    #include "ShHandle.h"
    
    //
    // Here is where real machine specific high-level data would be defined.
    //
    class TGenericCompiler : public TCompiler {
    public:
        TGenericCompiler(EShLanguage l, int dOptions) : TCompiler(l, infoSink), debugOptions(dOptions) { }
        virtual bool compile(TIntermNode* root);
        TInfoSink infoSink;
        int debugOptions;
    };
    
    //
    // This function must be provided to create the actual
    // compile object used by higher level code.  It returns
    // a subclass of TCompiler.
    //
    TCompiler* ConstructCompiler(EShLanguage language, int debugOptions)
    {
        return new TGenericCompiler(language, debugOptions);
    }
    
    //
    // Delete the compiler made by ConstructCompiler
    //
    void DeleteCompiler(TCompiler* compiler)
    {
        delete compiler;
    }
    
    //
    //  Generate code from the given parse tree
    //
    bool TGenericCompiler::compile(TIntermNode *root)
    {
        haveValidObjectCode = true;
    
        return haveValidObjectCode;
    }