source: to-imperative/trunk/library/Debug/Debug.cc @ 1628

Last change on this file since 1628 was 1628, checked in by sveta, 16 years ago
  • Library Debug (Debug.rf - source).
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.2 KB
Line 
1#include <rf_core.hh>
2#include <refal/StdIO.hh>
3#include "Debug.hh"
4
5namespace refal
6{
7
8using namespace rfrt;
9
10namespace Debug
11{
12
13static Expr _c_0;
14
15static Expr _c_1;
16
17static Expr _c_2;
18
19RF_FUNC (Debug, (RF_ARG _v_arg1;;), RF_VOID)
20  {
21    {
22      if ((_v_arg1.get_len () != 0))
23      {
24        goto _block1__branch1;
25      }
26      RF_TAILCALL (StdIO::PrintLN, _c_0, /*void*/);
27      goto _block1;
28    }
29  _block1__branch1: {}
30    uintptr_t _v_len1 = _v_arg1.get_len ();
31    uintptr_t _v_len2 = 2;
32    if ((_v_len1 < _v_len2))
33    {
34      RF_ERROR (Word::create_expr ("Debug") + Word::create_expr ("Debug") + unexpected_fail);
35    }
36    uintptr_t _v_len__rest = (_v_len1 - _v_len2);
37    if (_v_arg1.symbol_at (0))
38    {
39      RF_ERROR (Word::create_expr ("Debug") + Word::create_expr ("Debug") + unexpected_fail);
40    }
41    if (_v_arg1.symbol_at (1))
42    {
43      RF_ERROR (Word::create_expr ("Debug") + Word::create_expr ("Debug") + unexpected_fail);
44    }
45    Expr _v_deref__arg1 (_v_arg1, 0);
46    Expr _v_deref__arg12 (_v_arg1, 1);
47    uintptr_t _v_len3 = _v_deref__arg12.get_len ();
48    uintptr_t _v_len4 = 0;
49    if ((_v_len3 < _v_len4))
50    {
51      RF_ERROR (Word::create_expr ("Debug") + Word::create_expr ("Debug") + unexpected_fail);
52    }
53    uintptr_t _v_len__value = (_v_len3 - _v_len4);
54    uintptr_t _v_len5 = _v_deref__arg1.get_len ();
55    uintptr_t _v_len6 = 0;
56    if ((_v_len5 < _v_len6))
57    {
58      RF_ERROR (Word::create_expr ("Debug") + Word::create_expr ("Debug") + unexpected_fail);
59    }
60    uintptr_t _v_len__name = (_v_len5 - _v_len6);
61    Expr _ve_rest (_v_arg1, 2, _v_len__rest);
62    Expr _ve_name (_v_deref__arg1, 0, _v_len__name);
63    Expr _ve_value (_v_deref__arg12, 0, _v_len__value);
64    RF_CALL (StdIO::PrintLN, (_ve_name + _c_1 + _ve_value), /*void*/);
65    RF_CALL (Debug, _ve_rest, /*void*/);
66  }
67_block1: {}
68RF_END
69
70RF_FUNC (Debug_m_Check, (RF_ARG _v_arg1;;), RF_VOID)
71  RF_TAILCALL (StdIO::PrintLN, (_c_2 + _v_arg1), /*void*/);
72RF_END
73
74}
75
76namespace Debug
77{
78
79static void init_ ()
80{
81  _c_0 = Word::create_expr ("Debug finished  ");
82  _c_1 = Word::create_expr (" = ");
83  _c_2 = Word::create_expr ("Debug-Check =");
84}
85
86static AtStart init_registrator_ (&init_);
87
88}
89
90}
Note: See TracBrowser for help on using the repository browser.