Goose  Artifact [398032e8d6]

Artifact 398032e8d6bc5a4783f8bd8087fa2fb3673d83be1242ce01dc9b4599b5ab6280:

  • File bs/compiler.h — part of check-in [2b052e7af9] at 2019-01-30 23:31:17 on branch trunk —
    • Moved all the high level setup (of env, resolver, parser etc) into a Compiler class, along with general purpose builtin functions (Print() and Args())
    • Fixed unification of empty vectors.
    • Fixed a couple of issues with builtin functions wrapping.
    (user: achavasse size: 390)

#ifndef EMPATHY_COMPILER_H
#define EMPATHY_COMPILER_H

#include "sema/sema.h"

namespace empathy
{
    using namespace std;

    class Compiler
    {
        public:
            Compiler( int argc, char** argv );
            optional< ir::Value > execute( istream& source, const util::ptr< string >& filename );

        private:
            util::ptr< sema::Env > m_pEnv;
    };
}

#endif