1 | #include <rf_core.hh> |
---|
2 | #include <refal/StdIO.hh> |
---|
3 | #include "Debug.hh" |
---|
4 | |
---|
5 | namespace refal |
---|
6 | { |
---|
7 | |
---|
8 | using namespace rfrt; |
---|
9 | |
---|
10 | namespace Debug |
---|
11 | { |
---|
12 | |
---|
13 | static Expr _c_0; |
---|
14 | |
---|
15 | static Expr _c_1; |
---|
16 | |
---|
17 | static Expr _c_2; |
---|
18 | |
---|
19 | RF_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: {} |
---|
68 | RF_END |
---|
69 | |
---|
70 | RF_FUNC (Debug_m_Check, (RF_ARG _v_arg1;;), RF_VOID) |
---|
71 | RF_TAILCALL (StdIO::PrintLN, (_c_2 + _v_arg1), /*void*/); |
---|
72 | RF_END |
---|
73 | |
---|
74 | } |
---|
75 | |
---|
76 | namespace Debug |
---|
77 | { |
---|
78 | |
---|
79 | static 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 | |
---|
86 | static AtStart init_registrator_ (&init_); |
---|
87 | |
---|
88 | } |
---|
89 | |
---|
90 | } |
---|