/*
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * File:   latereasoning.h
 * Author: pgess <v.melnychenko@xreate.org>
 *
 * Created on May 26, 2018, 3:44 PM
 */

#ifndef CMPLLATEREASONING_H
#define CMPLLATEREASONING_H

#include "ast.h"
#include "pass/compilepass.h"
#include "llvmlayer.h"

namespace xreate{ namespace latereasoning {

class LateReasoningCompiler {
public:    
    LateReasoningCompiler(compilation::Context ctx): context(ctx){}
    llvm::Value* compile(const Expression& expr, const std::string& identHint);
    
private:
    compilation::Context context;    
};

}}

#endif /* CMPLLATEREASONING_H */

