LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
libtranslate.hh
Go to the documentation of this file.
1 
6 #ifndef TRANSLATE_LIBTRANSLATE_HH
7 # define TRANSLATE_LIBTRANSLATE_HH
8 
9 # include <iostream>
10 # include <memory>
11 
12 # include <ast/fwd.hh>
13 # include <tree/fwd.hh>
14 # include <translate/fwd.hh>
15 
16 #ifdef SWIG
17  %rename (translate) swig_translate;
18 
19  %inline
20  %{
21  // Proxy towards translate.
22  namespace translate
23  {
25  swig_translate (ast::Ast& exp)
26  {
27  return translate (exp).release ();
28  }
29  }
30  %}
31 #endif
32 
34 namespace translate
35 {
36 
37  // The name "translate" is used once for the Swig function (see above)
38  // and another time as the tc internal function. To avoid confusing
39  // Swig, hide the second.
40 #ifndef SWIG
41  std::unique_ptr<tree::Fragments>
43  );
44 #endif
45 }
46 
47 #endif // !TRANSLATE_LIBTRANSLATE_HH