source: to-imperative/trunk/samples/Syntax/assign1.cc @ 770

Last change on this file since 770 was 715, checked in by orlov, 18 years ago
  • Reflection on compiler changes.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 879 bytes
Line 
1#include <rf_core.hh>
2#include <refal/StdIO.hh>
3
4namespace refal
5{
6
7using namespace rfrt;
8
9namespace assign1
10{
11
12static const Expr _c_0 = Word::create_expr ("A") + Word::create_expr ("B");
13
14static const Expr _c_1 = Expr (_c_0, 1, 1);
15
16static const Expr _c_2 = Expr (_c_0, 0, 1);
17
18RF_FUNC (Main, (), (RF_RES _v_res1))
19  Expr _ve_1 (_c_0);
20  Expr _vt_1 (_c_1);
21  Expr _vt_2 (_vt_1);
22  Expr _v_aux1 (_vt_2);
23  _vt_2 = _vt_1;
24  _vt_1 = _v_aux1;
25  Expr _vt_3 (_c_1);
26  Expr _vt_4 (_vt_1);
27  _vt_1 = _c_2;
28  _vt_3 = (_vt_1 + _vt_3) ();
29  _v_aux1 = _vt_2;
30  _vt_2 = _vt_1;
31  _vt_1 = (_vt_1 + _v_aux1) ();
32  _v_aux1 = _vt_2;
33  _vt_2 = _vt_1;
34  _vt_1 = _vt_3;
35  _vt_3 = _v_aux1;
36  _v_aux1 = _vt_1;
37  _vt_1 = (_vt_2 + _vt_3) ();
38  Expr _v_aux2 (_vt_2);
39  _vt_2 = (_v_aux1 + _vt_3) ();
40  _vt_3 = (_v_aux1 + _v_aux2) ();
41  _v_res1 = empty;
42RF_END
43
44}
45
46rfrt::Entry rf_entry (assign1::Main);
47
48}
Note: See TracBrowser for help on using the repository browser.