Zen
A cross-platform functional programming language

/home/renji/Data/projects/zenlang/sources/zbl/Compiler.hpp

Go to the documentation of this file.
00001 
00005 #pragma once
00006 #include "ParseContext.hpp"
00007 
00009 namespace zbl {
00012     class Compiler {
00013     public:
00017         Compiler(const Build::Config& cfg);
00018 
00021         ~Compiler();
00022 
00023     public:
00029         static int execute(int argc, char *argv[]);
00030 
00031     public:
00036         void readProject(Ast::Unit& unit, const z::string& file);
00037 
00041         void compile(const Build::Project& project);
00042 
00046         void generate(const Build::Project& project);
00047 
00053         void importHeader(zbl::ParseContext& pctx, const z::stringlist& idList, const Ast::ImportStatement::Type& type);
00054 
00055     private:
00057         class Impl;
00058 
00060         Impl* _impl;
00061     };
00062 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines