1
2
3
4
5
6
7
8
9
10
|
#include "compiler.h"
#include "builtins/builtins.h"
#include "parse/parse.h"
#include "sema/sema.h"
#include "execute/execute.h"
using namespace empathy;
using namespace empathy::util;
using namespace empathy::ir;
|
|
|
1
2
3
4
5
6
7
8
9
10
|
#include "compiler.h"
#include "builtins/builtins.h"
#include "builtins/helpers.h"
#include "sema/sema.h"
#include "execute/execute.h"
using namespace empathy;
using namespace empathy::util;
using namespace empathy::ir;
|
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
{
cout << str << endl;
} );
}
uint64_t Compiler::execute( istream& source, const ptr< string >& filename )
{
sema::Context c( m_pEnv, sema::DomainCompileTime(), TVEC( TSID( e0 ) ), GetValueType< uint64_t >() );
auto r = make_shared< parse::Resolver >( make_shared< lex::Lexer >( source, filename ), c );
parse::Parser p( r );
auto cfgBuilder = make_shared< sema::CFGBuilder >();
p.setCFGBuilder( cfgBuilder );
p.setCurrentBB( cfgBuilder->entryBB() );
|
|
|
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
{
cout << str << endl;
} );
}
uint64_t Compiler::execute( istream& source, const ptr< string >& filename )
{
sema::Context c( m_pEnv, builtins::RootIdentity(), GetValueType< uint64_t >() );
auto r = make_shared< parse::Resolver >( make_shared< lex::Lexer >( source, filename ), c );
parse::Parser p( r );
auto cfgBuilder = make_shared< sema::CFGBuilder >();
p.setCFGBuilder( cfgBuilder );
p.setCurrentBB( cfgBuilder->entryBB() );
|