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

Last change on this file since 770 was 745, checked in by orlov, 18 years ago
  • Updated samples reflecting changes in the compiler.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 990 bytes
Line 
1#include <rf_core.hh>
2
3namespace refal
4{
5
6using namespace rfrt;
7
8namespace assign2
9{
10
11RF_DECL (F);
12
13RF_FUNC (F, (RF_ARG _v_arg1), (RF_RES _v_res1))
14  if ((_v_arg1.get_len () != 0))
15  {
16    retfail;
17  }
18  _v_res1 = empty;
19RF_END
20
21RF_FUNC (Main, (), (RF_RES _v_res1))
22  {
23    {
24      if (!RF_CALL (F, (empty), (_v_res1)))
25      {
26        goto block1__branch1;
27      }
28      goto block1;
29    }
30  block1__branch1: {}
31    {
32      Expr _ve_1;
33      if (!RF_CALL (F, (empty), (_ve_1)))
34      {
35        goto block1__branch2;
36      }
37      _v_res1 = empty;
38      goto block1;
39    }
40  block1__branch2: {}
41    {
42      Expr _ve_1;
43      if (!RF_CALL (F, (empty), (_ve_1)))
44      {
45        goto block1__branch3;
46      }
47      _v_res1 = _ve_1;
48      goto block1;
49    }
50  block1__branch3: {}
51    Expr _ve_1;
52    if (!RF_CALL (F, (empty), (_ve_1)))
53    {
54      error ("Unexpected fail");
55    }
56    Expr _ve_2 (_ve_1);
57    _v_res1 = _ve_2;
58  }
59block1: {}
60RF_END
61
62}
63
64rfrt::Entry rf_entry (assign2::Main);
65
66}
Note: See TracBrowser for help on using the repository browser.