source: to-imperative/trunk/bootstrap/compiler/rfp_asail_java.cc @ 1996

Last change on this file since 1996 was 1996, checked in by orlov, 15 years ago
  • iter, lsplit, and rsplit are renamed to RF_iter, RF_lsplit, and RF_rsplit.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 121.1 KB
Line 
1#include <rf_core.hh>
2#include <refal/Apply.hh>
3#include <refal/Box.hh>
4#include <refal/Arithm.hh>
5#include <refal/Convert.hh>
6#include <refal/Compare.hh>
7#include <refal/List.hh>
8#include <refal/JavaMangle.hh>
9#include <refal/Class.hh>
10#include <refal/Table.hh>
11#include "rfpc.hh"
12#include "rfp_helper.hh"
13#include <refal/StdIO.hh>
14
15namespace refal
16{
17
18using namespace rfrt;
19
20namespace rfp__asail__java
21{
22
23static Expr Int;
24
25static Expr Exports;
26
27static Expr Inputs;
28
29static Expr Module_m_Name;
30
31static Expr Entry;
32
33static Expr Entry_m_Name;
34
35static Expr Current_m_Namespace;
36
37static Expr Func_m_Name;
38
39static Expr Ress;
40
41static Expr Iter_m_Vars;
42
43static Expr Free_m_Idx;
44
45RF_DECL (RFP_m_ASAIL_m_To_m_Java);
46
47RF_DECL (ASAIL_m_To_m_Java);
48
49RF_DECL (Copy_m_Args);
50
51RF_DECL (Expr_m_To_m_Java);
52
53RF_DECL (Expr_m_Ref_m_To_m_Java);
54
55RF_DECL (Term_m_Ref_m_To_m_Java);
56
57RF_DECL (Expr_m_Int_m_To_m_Java);
58
59RF_DECL (Cond_m_To_m_Java);
60
61RF_DECL (Infix_m_To_m_Java);
62
63RF_DECL (Op_m_Arg_m_To_m_Java);
64
65RF_DECL (Step_m_To_m_Java);
66
67RF_DECL (Const_m_Expr_m_To_m_Java);
68
69RF_DECL (Const_m_Expr_m_Aux);
70
71RF_DECL (Symbol_m_To_m_Java);
72
73RF_DECL (Int_m_Args_m_To_m_Java);
74
75RF_DECL (Var_m_Args_m_To_m_Java);
76
77RF_DECL (Expr_m_Args_m_To_m_Java);
78
79RF_DECL (Name_m_To_m_Java);
80
81RF_DECL (Access_m_Mode);
82
83RF_DECL (Free_m_Index);
84
85RF_DECL (Cond_m_To_m_Java__0);
86
87RF_DECL (Term_m_Ref_m_To_m_Java__0);
88
89RF_DECL (Expr_m_Int_m_To_m_Java__0);
90
91static Expr _c_0;
92
93static Expr _c_1;
94
95static Expr _c_2;
96
97static Expr _c_169;
98
99static Expr _c_3;
100
101static Expr _c_4;
102
103static Expr _c_170;
104
105static Expr _c_5;
106
107static Expr _c_6;
108
109static Expr _c_7;
110
111static Expr _c_8;
112
113static Expr _c_9;
114
115static Expr _c_10;
116
117static Expr _c_11;
118
119static Expr _c_12;
120
121static Expr _c_13;
122
123static Expr _c_14;
124
125static Expr _c_148;
126
127static Expr _c_15;
128
129static Expr _c_171;
130
131static Expr _c_16;
132
133static Expr _c_17;
134
135static Expr _c_18;
136
137static Expr _c_19;
138
139static Expr _c_20;
140
141static Expr _c_21;
142
143static Expr _c_22;
144
145static Expr _c_23;
146
147static Expr _c_24;
148
149static Expr _c_87;
150
151static Expr _c_25;
152
153static Expr _c_26;
154
155static Expr _c_27;
156
157static Expr _c_28;
158
159static Expr _c_30;
160
161static Expr _c_29;
162
163static Expr _c_31;
164
165static Expr _c_32;
166
167static Expr _c_33;
168
169static Expr _c_34;
170
171static Expr _c_172;
172
173static Expr _c_35;
174
175static Expr _c_36;
176
177static Expr _c_173;
178
179static Expr _c_86;
180
181static Expr _c_37;
182
183static Expr _c_38;
184
185static Expr _c_39;
186
187static Expr _c_40;
188
189static Expr _c_41;
190
191static Expr _c_42;
192
193static Expr _c_43;
194
195static Expr _c_44;
196
197static Expr _c_45;
198
199static Expr _c_46;
200
201static Expr _c_47;
202
203static Expr _c_48;
204
205static Expr _c_49;
206
207static Expr _c_50;
208
209static Expr _c_51;
210
211static Expr _c_52;
212
213static Expr _c_53;
214
215static Expr _c_54;
216
217static Expr _c_55;
218
219static Expr _c_56;
220
221static Expr _c_57;
222
223static Expr _c_58;
224
225static Expr _c_59;
226
227static Expr _c_60;
228
229static Expr _c_61;
230
231static Expr _c_62;
232
233static Expr _c_63;
234
235static Expr _c_64;
236
237static Expr _c_65;
238
239static Expr _c_66;
240
241static Expr _c_67;
242
243static Expr _c_68;
244
245static Expr _c_69;
246
247static Expr _c_70;
248
249static Expr _c_71;
250
251static Expr _c_72;
252
253static Expr _c_73;
254
255static Expr _c_74;
256
257static Expr _c_75;
258
259static Expr _c_76;
260
261static Expr _c_77;
262
263static Expr _c_78;
264
265static Expr _c_79;
266
267static Expr _c_80;
268
269static Expr _c_81;
270
271static Expr _c_82;
272
273static Expr _c_83;
274
275static Expr _c_84;
276
277static Expr _c_85;
278
279static Expr _c_88;
280
281static Expr _c_89;
282
283static Expr _c_90;
284
285static Expr _c_91;
286
287static Expr _c_92;
288
289static Expr _c_93;
290
291static Expr _c_94;
292
293static Expr _c_95;
294
295static Expr _c_96;
296
297static Expr _c_97;
298
299static Expr _c_98;
300
301static Expr _c_99;
302
303static Expr _c_100;
304
305static Expr _c_143;
306
307static Expr _c_101;
308
309static Expr _c_102;
310
311static Expr _c_103;
312
313static Expr _c_104;
314
315static Expr _c_105;
316
317static Expr _c_106;
318
319static Expr _c_107;
320
321static Expr _c_108;
322
323static Expr _c_109;
324
325static Expr _c_110;
326
327static Expr _c_111;
328
329static Expr _c_112;
330
331static Expr _c_113;
332
333static Expr _c_114;
334
335static Expr _c_115;
336
337static Expr _c_116;
338
339static Expr _c_117;
340
341static Expr _c_118;
342
343static Expr _c_119;
344
345static Expr _c_120;
346
347static Expr _c_121;
348
349static Expr _c_122;
350
351static Expr _c_123;
352
353static Expr _c_124;
354
355static Expr _c_125;
356
357static Expr _c_126;
358
359static Expr _c_127;
360
361static Expr _c_128;
362
363static Expr _c_129;
364
365static Expr _c_130;
366
367static Expr _c_131;
368
369static Expr _c_132;
370
371static Expr _c_133;
372
373static Expr _c_134;
374
375static Expr _c_135;
376
377static Expr _c_136;
378
379static Expr _c_137;
380
381static Expr _c_138;
382
383static Expr _c_139;
384
385static Expr _c_140;
386
387static Expr _c_141;
388
389static Expr _c_142;
390
391static Expr _c_144;
392
393static Expr _c_145;
394
395static Expr _c_146;
396
397static Expr _c_147;
398
399static Expr _c_149;
400
401static Expr _c_150;
402
403static Expr _c_151;
404
405static Expr _c_152;
406
407static Expr _c_153;
408
409static Expr _c_154;
410
411static Expr _c_156;
412
413static Expr _c_155;
414
415static Expr _c_157;
416
417static Expr _c_158;
418
419static Expr _c_159;
420
421static Expr _c_160;
422
423static Expr _c_161;
424
425static Expr _c_162;
426
427static Expr _c_163;
428
429static Expr _c_164;
430
431static Expr _c_165;
432
433static Expr _c_166;
434
435static Expr _c_167;
436
437static Expr _c_168;
438
439RF_FUNC (RFP_m_ASAIL_m_To_m_Java, (RF_ARG _v_arg1, _v_arg2, _v_arg3;;), (RF_RES _v_res1, _v_res2, _v_res3;;))
440  uintptr_t _v_len1 = (_v_arg3.get_len () + 2);
441  uintptr_t _v_len2 = 2;
442  if ((_v_len1 < _v_len2))
443  {
444    RF_FUNC_ERROR (unexpected_fail);
445  }
446  uintptr_t _v_len__asail = (_v_len1 - _v_len2);
447  Expr _v_compose1 ((_v_arg1 + _v_arg2 () + _v_arg3));
448  if (_v_compose1.symbol_at (0))
449  {
450    RF_FUNC_ERROR (unexpected_fail);
451  }
452  if (_v_compose1.symbol_at (1))
453  {
454    RF_FUNC_ERROR (unexpected_fail);
455  }
456  Expr _v_deref__compose1 (_v_compose1, 0);
457  Expr _v_deref__compose12 (_v_compose1, 1);
458  uintptr_t _v_len3 = _v_deref__compose12.get_len ();
459  uintptr_t _v_len4 = 0;
460  if ((_v_len3 < _v_len4))
461  {
462    RF_FUNC_ERROR (unexpected_fail);
463  }
464  uintptr_t _v_len__exports = (_v_len3 - _v_len4);
465  uintptr_t _v_len5 = _v_deref__compose1.get_len ();
466  uintptr_t _v_len6 = 0;
467  if ((_v_len5 < _v_len6))
468  {
469    RF_FUNC_ERROR (unexpected_fail);
470  }
471  uintptr_t _v_len__ModuleName = (_v_len5 - _v_len6);
472  Expr _ve_asail (_v_compose1, 2, _v_len__asail);
473  Expr _ve_ModuleName (_v_deref__compose1, 0, _v_len__ModuleName);
474  Expr _ve_exports (_v_deref__compose12, 0, _v_len__exports);
475  RF_CALL (Box::Store, (Free_m_Idx, empty), /*void*/);
476  RF_CALL (rfp__helper::RFP_m_Clear_m_Table, Iter_m_Vars, /*void*/);
477  RF_CALL (rfp__helper::RFP_m_Clear_m_Table, Inputs, /*void*/);
478  {
479    {
480      Expr _v_Lookup1;
481      if (!RF_CALL (Table::Lookup, (rfp__helper::RFP_m_Options, _c_0), _v_Lookup1))
482      {
483        goto _block1__branch1;
484      }
485      RF_CALL (Box::Store, (Int, _v_Lookup1), /*void*/);
486      goto _block1;
487    }
488  _block1__branch1: {}
489    RF_CALL (Box::Store, (Int, _c_1), /*void*/);
490  }
491_block1: {}
492  RF_CALL (Box::Store, (Exports, _ve_exports), /*void*/);
493  RF_CALL (Box::Store, (Current_m_Namespace, _ve_ModuleName), /*void*/);
494  RF_CALL (Box::Store, (Entry, (_ve_ModuleName + _c_2) ()), /*void*/);
495  RF_CALL (Box::Store, (Entry_m_Name, empty), /*void*/);
496  Expr _v_Intersperse1;
497  RF_CALL (List::Intersperse, (_c_3, _ve_ModuleName), _v_Intersperse1);
498  RF_CALL (Box::Store, (Module_m_Name, _v_Intersperse1), /*void*/);
499  Expr _ve_java_m_module_m_name;
500  RF_CALL (JavaMangle::Rfp2Java, _ve_ModuleName, _ve_java_m_module_m_name);
501  {
502    {
503      Expr _v_ASAIL_m_To_m_Java1;
504      RF_CALL (ASAIL_m_To_m_Java, _ve_asail, _v_ASAIL_m_To_m_Java1);
505      uintptr_t _v_len7 = _v_ASAIL_m_To_m_Java1.get_len ();
506      uintptr_t _v_len8 = 0;
507      if ((_v_len7 < (_v_len8 + 1)))
508      {
509        goto _block2__branch1;
510      }
511      uintptr_t _v_len__java = (_v_len7 - _v_len8);
512      Expr _vv_java (_v_ASAIL_m_To_m_Java1, 0, _v_len__java);
513      Expr _ve_entry;
514      {
515        {
516          Expr _v__q_1;
517          RF_CALL (Box::_q_, Entry_m_Name, _v__q_1);
518          uintptr_t _v_len9 = _v__q_1.get_len ();
519          uintptr_t _v_len10 = 0;
520          if ((_v_len9 < (_v_len10 + 1)))
521          {
522            goto _block3__branch1;
523          }
524          uintptr_t _v_len__name = (_v_len9 - _v_len10);
525          Expr _vv_name (_v__q_1, 0, _v_len__name);
526          _ve_entry = (_c_9 + (_c_8 + ((_c_6 + (_vv_name + _c_4) () + _c_5) () + _c_7) () + _c_5) ());
527          goto _block3;
528        }
529      _block3__branch1: {}
530        _ve_entry = empty;
531      }
532    _block3: {}
533      if (!RF_CALL (Table::Domain, Inputs, _v_res2))
534      {
535        goto _block2__branch1;
536      }
537      _v_res1 = _ve_java_m_module_m_name;
538      _v_res3 = (_c_11 + _ve_java_m_module_m_name + _c_10 + (_vv_java + _ve_entry) () + _c_5) ();
539      goto _block2;
540    }
541  _block2__branch1: {}
542    _v_res1 = _ve_java_m_module_m_name;
543    _v_res2 = empty;
544    _v_res3 = empty;
545  }
546_block2: {}
547RF_END
548
549RF_FUNC (ASAIL_m_To_m_Java, (RF_ARG _ve_asail;;), (RF_RES _v_res1;;))
550  {
551    {
552      uintptr_t _v_len1 = _ve_asail.get_len ();
553      uintptr_t _v_len2 = 1;
554      if ((_v_len1 < _v_len2))
555      {
556        goto _block1__branch1;
557      }
558      uintptr_t _v_len__rest = (_v_len1 - _v_len2);
559      Expr _vt_item (_ve_asail, 0, 1);
560      Expr _ve_rest (_ve_asail, 1, _v_len__rest);
561      Expr _ve_java_m_item;
562      {
563        {
564          if (_vt_item.symbol_at (0))
565          {
566            goto _block2__branch1;
567          }
568          Expr _v_deref__item (_vt_item, 0);
569          uintptr_t _v_len3 = _v_deref__item.get_len ();
570          uintptr_t _v_len4 = 4;
571          if ((_v_len3 < _v_len4))
572          {
573            goto _block2__branch1;
574          }
575          uintptr_t _v_len__body = (_v_len3 - _v_len4);
576          if (_v_deref__item.symbol_at (2))
577          {
578            goto _block2__branch1;
579          }
580          if (_v_deref__item.symbol_at (3))
581          {
582            goto _block2__branch1;
583          }
584          Expr _v_deref__deref__item (_v_deref__item, 2);
585          Expr _v_deref__deref__item2 (_v_deref__item, 3);
586          uintptr_t _v_len5 = _v_deref__deref__item2.get_len ();
587          uintptr_t _v_len6 = 0;
588          if ((_v_len5 < _v_len6))
589          {
590            goto _block2__branch1;
591          }
592          uintptr_t _v_len__ress = (_v_len5 - _v_len6);
593          uintptr_t _v_len7 = _v_deref__deref__item.get_len ();
594          uintptr_t _v_len8 = 0;
595          if ((_v_len7 < _v_len8))
596          {
597            goto _block2__branch1;
598          }
599          uintptr_t _v_len__args = (_v_len7 - _v_len8);
600          if (!_v_deref__item.symbol_at (0))
601          {
602            goto _block2__branch1;
603          }
604          Expr _vs_tag (_v_deref__item, 0, 1);
605          Expr _vt_name (_v_deref__item, 1, 1);
606          Expr _ve_body (_v_deref__item, 4, _v_len__body);
607          Expr _ve_args (_v_deref__deref__item, 0, _v_len__args);
608          Expr _ve_ress (_v_deref__deref__item2, 0, _v_len__ress);
609          Expr _ve_return_m_type;
610          Expr _ve_return;
611          {
612            {
613              if (!_vs_tag.term_eq (_c_12, 0))
614              {
615                goto _block3__branch1;
616              }
617              _ve_return_m_type = _c_13;
618              _ve_return = empty;
619              goto _block3;
620            }
621          _block3__branch1: {}
622            if (!_vs_tag.term_eq (_c_14, 0))
623            {
624              goto _block2__branch1;
625            }
626            _ve_return_m_type = _c_15;
627            _ve_return = _c_16;
628          }
629        _block3: {}
630          RF_CALL (Box::Store, (Ress, _ve_ress), /*void*/);
631          {
632            {
633              Expr _v__q_1;
634              RF_CALL (Box::_q_, Entry, _v__q_1);
635              if ((_v__q_1.get_len () != 1))
636              {
637                goto _block4__branch1;
638              }
639              if (!_vt_name.term_eq (_v__q_1, 0))
640              {
641                goto _block4__branch1;
642              }
643              Expr _v_Rfp2Java1;
644              RF_CALL (JavaMangle::Rfp2Java, _vt_name, _v_Rfp2Java1);
645              RF_CALL (Box::Store, (Entry_m_Name, _v_Rfp2Java1), /*void*/);
646              goto _block4;
647            }
648          _block4__branch1: {}
649          }
650        _block4: {}
651          Expr _v_Name_m_To_m_Java1;
652          RF_CALL (Name_m_To_m_Java, _vt_name, _v_Name_m_To_m_Java1);
653          RF_CALL (Box::Store, (Func_m_Name, _v_Name_m_To_m_Java1), /*void*/);
654          Expr _v_Access_m_Mode1;
655          RF_CALL (Access_m_Mode, _vt_name, _v_Access_m_Mode1);
656          Expr _v__q_2;
657          RF_CALL (Box::_q_, Func_m_Name, _v__q_2);
658          Expr _v_Var_m_Args_m_To_m_Java1;
659          RF_CALL (Var_m_Args_m_To_m_Java, (_ve_args + _ve_ress), _v_Var_m_Args_m_To_m_Java1);
660          Expr _v_ASAIL_m_To_m_Java1;
661          RF_CALL (ASAIL_m_To_m_Java, _ve_body, _v_ASAIL_m_To_m_Java1);
662          _ve_java_m_item = (_c_9 + (_c_20 + _v_Access_m_Mode1 + _c_19 + _ve_return_m_type + _c_19 + _v__q_2 + _c_18 + _v_Var_m_Args_m_To_m_Java1 + _c_17) () + (_c_21 + (_v_ASAIL_m_To_m_Java1 + _ve_return) () + _c_5) ());
663          goto _block2;
664        }
665      _block2__branch1: {}
666        {
667          if (_vt_item.symbol_at (0))
668          {
669            goto _block2__branch2;
670          }
671          Expr _v_deref__item2 (_vt_item, 0);
672          if ((_v_deref__item2.get_len () != 2))
673          {
674            goto _block2__branch2;
675          }
676          if (!_c_22.term_eq (_v_deref__item2, 0))
677          {
678            goto _block2__branch2;
679          }
680          Expr _vt_name (_v_deref__item2, 1, 1);
681          RF_CALL (Table::Bind, (rfpc::RFP_m_Trace, _vt_name, empty), /*void*/);
682          _ve_java_m_item = empty;
683          goto _block2;
684        }
685      _block2__branch2: {}
686        {
687          if (_vt_item.symbol_at (0))
688          {
689            goto _block2__branch3;
690          }
691          Expr _v_deref__item3 (_vt_item, 0);
692          uintptr_t _v_len9 = _v_deref__item3.get_len ();
693          uintptr_t _v_len10 = 2;
694          if ((_v_len9 < _v_len10))
695          {
696            goto _block2__branch3;
697          }
698          uintptr_t _v_len__body2 = (_v_len9 - _v_len10);
699          if (_v_deref__item3.symbol_at (1))
700          {
701            goto _block2__branch3;
702          }
703          Expr _v_deref__deref__item3 (_v_deref__item3, 1);
704          uintptr_t _v_len11 = _v_deref__deref__item3.get_len ();
705          uintptr_t _v_len12 = 0;
706          if ((_v_len11 < _v_len12))
707          {
708            goto _block2__branch3;
709          }
710          uintptr_t _v_len__cond = (_v_len11 - _v_len12);
711          if (!_c_23.term_eq (_v_deref__item3, 0))
712          {
713            goto _block2__branch3;
714          }
715          Expr _ve_body (_v_deref__item3, 2, _v_len__body2);
716          Expr _ve_cond (_v_deref__deref__item3, 0, _v_len__cond);
717          Expr _vs_acc;
718          RF_CALL (Box::Box, empty, _vs_acc);
719          RF_CALL (Cond_m_To_m_Java, (_vs_acc, _ve_cond), _ve_cond);
720          Expr _v__q_3;
721          RF_CALL (Box::_q_, _vs_acc, _v__q_3);
722          Expr _v_ASAIL_m_To_m_Java2;
723          RF_CALL (ASAIL_m_To_m_Java, _ve_body, _v_ASAIL_m_To_m_Java2);
724          _ve_java_m_item = (_v__q_3 + (_c_25 + _ve_cond + _c_24) () + (_c_21 + _v_ASAIL_m_To_m_Java2 () + _c_5) ());
725          goto _block2;
726        }
727      _block2__branch3: {}
728        {
729          if (_vt_item.symbol_at (0))
730          {
731            goto _block2__branch4;
732          }
733          Expr _v_deref__item4 (_vt_item, 0);
734          uintptr_t _v_len13 = _v_deref__item4.get_len ();
735          uintptr_t _v_len14 = 5;
736          if ((_v_len13 < _v_len14))
737          {
738            goto _block2__branch4;
739          }
740          uintptr_t _v_len__body3 = (_v_len13 - _v_len14);
741          if (_v_deref__item4.symbol_at (1))
742          {
743            goto _block2__branch4;
744          }
745          if (_v_deref__item4.symbol_at (2))
746          {
747            goto _block2__branch4;
748          }
749          if (_v_deref__item4.symbol_at (3))
750          {
751            goto _block2__branch4;
752          }
753          if (_v_deref__item4.symbol_at (4))
754          {
755            goto _block2__branch4;
756          }
757          Expr _v_deref__deref__item4 (_v_deref__item4, 1);
758          Expr _v_deref__deref__item42 (_v_deref__item4, 2);
759          Expr _v_deref__deref__item43 (_v_deref__item4, 3);
760          Expr _v_deref__deref__item44 (_v_deref__item4, 4);
761          uintptr_t _v_len15 = _v_deref__deref__item4.get_len ();
762          uintptr_t _v_len16 = 0;
763          if ((_v_len15 < _v_len16))
764          {
765            goto _block2__branch4;
766          }
767          uintptr_t _v_len__cont_m_label = (_v_len15 - _v_len16);
768          uintptr_t _v_len17 = _v_deref__deref__item42.get_len ();
769          uintptr_t _v_len18 = 0;
770          if ((_v_len17 < _v_len18))
771          {
772            goto _block2__branch4;
773          }
774          uintptr_t _v_len__break_m_label = (_v_len17 - _v_len18);
775          uintptr_t _v_len19 = _v_deref__deref__item44.get_len ();
776          uintptr_t _v_len20 = 0;
777          if ((_v_len19 < _v_len20))
778          {
779            goto _block2__branch4;
780          }
781          uintptr_t _v_len__step = (_v_len19 - _v_len20);
782          uintptr_t _v_len21 = _v_deref__deref__item43.get_len ();
783          uintptr_t _v_len22 = 0;
784          if ((_v_len21 < _v_len22))
785          {
786            goto _block2__branch4;
787          }
788          uintptr_t _v_len__cond2 = (_v_len21 - _v_len22);
789          if (!_c_26.term_eq (_v_deref__item4, 0))
790          {
791            goto _block2__branch4;
792          }
793          Expr _ve_body (_v_deref__item4, 5, _v_len__body3);
794          Expr _ve_cont_m_label (_v_deref__deref__item4, 0, _v_len__cont_m_label);
795          Expr _ve_break_m_label (_v_deref__deref__item42, 0, _v_len__break_m_label);
796          Expr _ve_cond (_v_deref__deref__item43, 0, _v_len__cond2);
797          Expr _ve_step (_v_deref__deref__item44, 0, _v_len__step);
798          Expr _ve_cont;
799          {
800            {
801              if ((_v_len__cont_m_label != 1))
802              {
803                goto _block5__branch1;
804              }
805              Expr _vt__e__e_tmp_m_rfp__asail__javarf_m_121_m_25 (_ve_cont_m_label, 0, 1);
806              Expr _v_Rfp2Java2;
807              RF_CALL (JavaMangle::Rfp2Java, (_c_27 + _ve_cont_m_label) (), _v_Rfp2Java2);
808              _ve_cont = (_v_Rfp2Java2 + _c_28);
809              goto _block5;
810            }
811          _block5__branch1: {}
812            _ve_cont = empty;
813          }
814        _block5: {}
815          Expr _ve_break;
816          {
817            {
818              if ((_v_len__break_m_label != 1))
819              {
820                goto _block6__branch1;
821              }
822              Expr _vt__e__e_tmp_m_rfp__asail__javarf_m_124_m_26 (_ve_break_m_label, 0, 1);
823              Expr _v_Rfp2Java3;
824              RF_CALL (JavaMangle::Rfp2Java, (_c_27 + _ve_break_m_label) (), _v_Rfp2Java3);
825              _ve_break = (_v_Rfp2Java3 + _c_28);
826              goto _block6;
827            }
828          _block6__branch1: {}
829            _ve_break = empty;
830          }
831        _block6: {}
832          Expr _vs_acc;
833          RF_CALL (Box::Box, empty, _vs_acc);
834          RF_CALL (Cond_m_To_m_Java, (_vs_acc, _ve_cond), _ve_cond);
835          Expr _v__q_4;
836          RF_CALL (Box::_q_, _vs_acc, _v__q_4);
837          Expr _v_Step_m_To_m_Java1;
838          RF_CALL (Step_m_To_m_Java, _ve_step, _v_Step_m_To_m_Java1);
839          Expr _v_ASAIL_m_To_m_Java3;
840          RF_CALL (ASAIL_m_To_m_Java, _ve_body, _v_ASAIL_m_To_m_Java3);
841          _ve_java_m_item = (_v__q_4 + (_ve_break + _ve_cont + _c_30 + _ve_cond + _c_29 + _v_Step_m_To_m_Java1 + _c_24) () + (_c_21 + _v_ASAIL_m_To_m_Java3 () + _c_5) ());
842          goto _block2;
843        }
844      _block2__branch4: {}
845        {
846          if (_vt_item.symbol_at (0))
847          {
848            goto _block2__branch5;
849          }
850          Expr _v_deref__item5 (_vt_item, 0);
851          uintptr_t _v_len23 = _v_deref__item5.get_len ();
852          uintptr_t _v_len24 = 2;
853          if ((_v_len23 < _v_len24))
854          {
855            goto _block2__branch5;
856          }
857          uintptr_t _v_len__body4 = (_v_len23 - _v_len24);
858          if (_v_deref__item5.symbol_at (1))
859          {
860            goto _block2__branch5;
861          }
862          Expr _v_deref__deref__item5 (_v_deref__item5, 1);
863          uintptr_t _v_len25 = _v_deref__deref__item5.get_len ();
864          uintptr_t _v_len26 = 0;
865          if ((_v_len25 < _v_len26))
866          {
867            goto _block2__branch5;
868          }
869          uintptr_t _v_len__label = (_v_len25 - _v_len26);
870          if (!_c_27.term_eq (_v_deref__item5, 0))
871          {
872            goto _block2__branch5;
873          }
874          Expr _ve_body (_v_deref__item5, 2, _v_len__body4);
875          Expr _ve_label (_v_deref__deref__item5, 0, _v_len__label);
876          Expr _v_Rfp2Java4;
877          RF_CALL (JavaMangle::Rfp2Java, (_c_27 + _ve_label) (), _v_Rfp2Java4);
878          Expr _v_ASAIL_m_To_m_Java4;
879          RF_CALL (ASAIL_m_To_m_Java, _ve_body, _v_ASAIL_m_To_m_Java4);
880          _ve_java_m_item = (_v_Rfp2Java4 + _c_31 + _v_ASAIL_m_To_m_Java4 () + _c_5) ();
881          goto _block2;
882        }
883      _block2__branch5: {}
884        {
885          if (_vt_item.symbol_at (0))
886          {
887            goto _block2__branch6;
888          }
889          Expr _v_deref__item6 (_vt_item, 0);
890          uintptr_t _v_len27 = _v_deref__item6.get_len ();
891          uintptr_t _v_len28 = 1;
892          if ((_v_len27 < _v_len28))
893          {
894            goto _block2__branch6;
895          }
896          uintptr_t _v_len__body5 = (_v_len27 - _v_len28);
897          if (!_c_32.term_eq (_v_deref__item6, 0))
898          {
899            goto _block2__branch6;
900          }
901          Expr _ve_body (_v_deref__item6, 1, _v_len__body5);
902          Expr _v_ASAIL_m_To_m_Java5;
903          RF_CALL (ASAIL_m_To_m_Java, _ve_body, _v_ASAIL_m_To_m_Java5);
904          _ve_java_m_item = (_c_33 + (_c_21 + _v_ASAIL_m_To_m_Java5 () + _c_5) ());
905          goto _block2;
906        }
907      _block2__branch6: {}
908        {
909          if (_vt_item.symbol_at (0))
910          {
911            goto _block2__branch7;
912          }
913          Expr _v_deref__item7 (_vt_item, 0);
914          uintptr_t _v_len29 = _v_deref__item7.get_len ();
915          uintptr_t _v_len30 = 1;
916          if ((_v_len29 < _v_len30))
917          {
918            goto _block2__branch7;
919          }
920          uintptr_t _v_len__body6 = (_v_len29 - _v_len30);
921          if (!_c_34.term_eq (_v_deref__item7, 0))
922          {
923            goto _block2__branch7;
924          }
925          Expr _ve_body (_v_deref__item7, 1, _v_len__body6);
926          Expr _v_ASAIL_m_To_m_Java6;
927          RF_CALL (ASAIL_m_To_m_Java, _ve_body, _v_ASAIL_m_To_m_Java6);
928          _ve_java_m_item = (_c_35 + _v_ASAIL_m_To_m_Java6 () + _c_5) ();
929          goto _block2;
930        }
931      _block2__branch7: {}
932        {
933          if (!_vt_item.term_eq (_c_36, 0))
934          {
935            goto _block2__branch8;
936          }
937          _ve_java_m_item = _c_37;
938          goto _block2;
939        }
940      _block2__branch8: {}
941        {
942          if (!_vt_item.term_eq (_c_38, 0))
943          {
944            goto _block2__branch9;
945          }
946          Expr _v__q_5;
947          RF_CALL (Box::_q_, Module_m_Name, _v__q_5);
948          Expr _v__q_6;
949          RF_CALL (Box::_q_, Func_m_Name, _v__q_6);
950          _ve_java_m_item = (_c_41 + _v__q_5 + _c_40 + _v__q_6 + _c_39) ();
951          goto _block2;
952        }
953      _block2__branch9: {}
954        {
955          if (_vt_item.symbol_at (0))
956          {
957            goto _block2__branch10;
958          }
959          Expr _v_deref__item8 (_vt_item, 0);
960          if ((_v_deref__item8.get_len () != 5))
961          {
962            goto _block2__branch10;
963          }
964          if (_v_deref__item8.symbol_at (2))
965          {
966            goto _block2__branch10;
967          }
968          Expr _v_deref__deref__item8 (_v_deref__item8, 2);
969          uintptr_t _v_len31 = _v_deref__deref__item8.get_len ();
970          uintptr_t _v_len32 = 0;
971          if ((_v_len31 < _v_len32))
972          {
973            goto _block2__branch10;
974          }
975          uintptr_t _v_len__min = (_v_len31 - _v_len32);
976          if (!_c_42.term_eq (_v_deref__item8, 0))
977          {
978            goto _block2__branch10;
979          }
980          Expr _vt_name (_v_deref__item8, 1, 1);
981          Expr _vt_var1 (_v_deref__item8, 3, 1);
982          Expr _vt_var2 (_v_deref__item8, 4, 1);
983          Expr _ve_min (_v_deref__deref__item8, 0, _v_len__min);
984          Expr _ve_n;
985          RF_CALL (JavaMangle::Rfp2Java, _vt_name, _ve_n);
986          Expr _v_Free_m_Index1;
987          RF_CALL (Free_m_Index, /*void*/, _v_Free_m_Index1);
988          Expr _ve_new_m_var ((_c_43 + _v_Free_m_Index1));
989          RF_CALL (Table::Bind, (Iter_m_Vars, _vt_name, _ve_new_m_var), /*void*/);
990          Expr _vs_acc;
991          RF_CALL (Box::Box, empty, _vs_acc);
992          RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_min), _ve_min);
993          Expr _v__q_7;
994          RF_CALL (Box::_q_, _vs_acc, _v__q_7);
995          Expr _v_Rfp2Java5;
996          RF_CALL (JavaMangle::Rfp2Java, _vt_var1, _v_Rfp2Java5);
997          Expr _v_Rfp2Java6;
998          RF_CALL (JavaMangle::Rfp2Java, _vt_var2, _v_Rfp2Java6);
999          _ve_java_m_item = (_v__q_7 + (_c_47 + _ve_new_m_var + _c_46 + _ve_n + _c_45 + _ve_min + _c_44) () + (_c_49 + _v_Rfp2Java5 + _c_46 + _ve_new_m_var + _c_48) () + (_c_49 + _v_Rfp2Java6 + _c_46 + _ve_new_m_var + _c_50) ());
1000          goto _block2;
1001        }
1002      _block2__branch10: {}
1003        {
1004          if (_vt_item.symbol_at (0))
1005          {
1006            goto _block2__branch11;
1007          }
1008          Expr _v_deref__item9 (_vt_item, 0);
1009          if ((_v_deref__item9.get_len () != 5))
1010          {
1011            goto _block2__branch11;
1012          }
1013          if (_v_deref__item9.symbol_at (2))
1014          {
1015            goto _block2__branch11;
1016          }
1017          Expr _v_deref__deref__item9 (_v_deref__item9, 2);
1018          uintptr_t _v_len33 = _v_deref__deref__item9.get_len ();
1019          uintptr_t _v_len34 = 0;
1020          if ((_v_len33 < _v_len34))
1021          {
1022            goto _block2__branch11;
1023          }
1024          uintptr_t _v_len__min2 = (_v_len33 - _v_len34);
1025          if (!_c_51.term_eq (_v_deref__item9, 0))
1026          {
1027            goto _block2__branch11;
1028          }
1029          Expr _vt_name (_v_deref__item9, 1, 1);
1030          Expr _vt_var1 (_v_deref__item9, 3, 1);
1031          Expr _vt_var2 (_v_deref__item9, 4, 1);
1032          Expr _ve_min (_v_deref__deref__item9, 0, _v_len__min2);
1033          Expr _ve_n;
1034          RF_CALL (JavaMangle::Rfp2Java, _vt_name, _ve_n);
1035          Expr _v_Free_m_Index2;
1036          RF_CALL (Free_m_Index, /*void*/, _v_Free_m_Index2);
1037          Expr _ve_new_m_var ((_c_43 + _v_Free_m_Index2));
1038          RF_CALL (Table::Bind, (Iter_m_Vars, _vt_name, _ve_new_m_var), /*void*/);
1039          Expr _vs_acc;
1040          RF_CALL (Box::Box, empty, _vs_acc);
1041          RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_min), _ve_min);
1042          Expr _v__q_8;
1043          RF_CALL (Box::_q_, _vs_acc, _v__q_8);
1044          Expr _v_Rfp2Java7;
1045          RF_CALL (JavaMangle::Rfp2Java, _vt_var1, _v_Rfp2Java7);
1046          Expr _v_Rfp2Java8;
1047          RF_CALL (JavaMangle::Rfp2Java, _vt_var2, _v_Rfp2Java8);
1048          _ve_java_m_item = (_v__q_8 + (_c_47 + _ve_new_m_var + _c_46 + _ve_n + _c_52 + _ve_min + _c_44) () + (_c_49 + _v_Rfp2Java7 + _c_46 + _ve_new_m_var + _c_48) () + (_c_49 + _v_Rfp2Java8 + _c_46 + _ve_new_m_var + _c_50) ());
1049          goto _block2;
1050        }
1051      _block2__branch11: {}
1052        {
1053          if (_vt_item.symbol_at (0))
1054          {
1055            goto _block2__branch12;
1056          }
1057          Expr _v_deref__item10 (_vt_item, 0);
1058          uintptr_t _v_len35 = _v_deref__item10.get_len ();
1059          uintptr_t _v_len36 = 2;
1060          if ((_v_len35 < _v_len36))
1061          {
1062            goto _block2__branch12;
1063          }
1064          uintptr_t _v_len__expr = (_v_len35 - _v_len36);
1065          if (!_c_53.term_eq (_v_deref__item10, 0))
1066          {
1067            goto _block2__branch12;
1068          }
1069          Expr _vt_var (_v_deref__item10, 1, 1);
1070          Expr _ve_expr (_v_deref__item10, 2, _v_len__expr);
1071          Expr _ve_a;
1072          Expr _ve_j_m_expr;
1073          RF_CALL (Expr_m_To_m_Java, (empty, _ve_expr), (_ve_a, _ve_j_m_expr));
1074          {
1075            {
1076              Expr _v__q_9;
1077              RF_CALL (Box::_q_, Ress, _v__q_9);
1078              if ((_v__q_9.get_len () < 1))
1079              {
1080                goto _block7__branch1;
1081              }
1082              RF_lsplit (_v__q_9, 0, _ve__e__e_tmp_m_rfp__asail__javarf_m_166_m_22, _v_lsplit___q_9);
1083              for ( ; ; RF_iter(_v__q_9)++)
1084              {
1085                {
1086                  if (!RF_iter(_v__q_9))
1087                  {
1088                    goto _block7__branch1;
1089                  }
1090                  uintptr_t _v_len37 = _v_lsplit___q_9.get_len ();
1091                  uintptr_t _v_len38 = 1;
1092                  if ((_v_len37 < _v_len38))
1093                  {
1094                    goto _block7__branch1;
1095                  }
1096                  uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_166_m_30 = (_v_len37 - _v_len38);
1097                  if (!_vt_var.term_eq (_v_lsplit___q_9, 0))
1098                  {
1099                    goto _continue1;
1100                  }
1101                  Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_166_m_30 (_v_lsplit___q_9, 1, _v_len___e__e_tmp_m_rfp__asail__javarf_m_166_m_30);
1102                  Expr _v_Rfp2Java9;
1103                  RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java9);
1104                  _ve_java_m_item = (_ve_a + (_v_Rfp2Java9 + _c_54 + _ve_j_m_expr + _c_44) ());
1105                  goto _exit1;
1106                }
1107            _continue1: {}
1108              }
1109            _exit1: {}
1110              goto _block7;
1111            }
1112          _block7__branch1: {}
1113            Expr _v_Rfp2Java10;
1114            RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java10);
1115            _ve_java_m_item = (_ve_a + (_v_Rfp2Java10 + _c_46 + _ve_j_m_expr + _c_55) ());
1116          }
1117        _block7: {}
1118          goto _block2;
1119        }
1120      _block2__branch12: {}
1121        {
1122          if (_vt_item.symbol_at (0))
1123          {
1124            goto _block2__branch13;
1125          }
1126          Expr _v_deref__item11 (_vt_item, 0);
1127          if ((_v_deref__item11.get_len () != 3))
1128          {
1129            goto _block2__branch13;
1130          }
1131          if (!_c_56.term_eq (_v_deref__item11, 0))
1132          {
1133            goto _block2__branch13;
1134          }
1135          if (!_v_deref__item11.symbol_at (1))
1136          {
1137            goto _block2__branch13;
1138          }
1139          Expr _vs_type (_v_deref__item11, 1, 1);
1140          Expr _vt_var (_v_deref__item11, 2, 1);
1141          Expr _v_Rfp2Java11;
1142          RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java11);
1143          _ve_java_m_item = (_vs_type + _c_19 + _v_Rfp2Java11 + _c_57) ();
1144          goto _block2;
1145        }
1146      _block2__branch13: {}
1147        {
1148          if (_vt_item.symbol_at (0))
1149          {
1150            goto _block2__branch14;
1151          }
1152          Expr _v_deref__item12 (_vt_item, 0);
1153          uintptr_t _v_len39 = _v_deref__item12.get_len ();
1154          uintptr_t _v_len40 = 2;
1155          if ((_v_len39 < _v_len40))
1156          {
1157            goto _block2__branch14;
1158          }
1159          uintptr_t _v_len__expr2 = (_v_len39 - _v_len40);
1160          if (!_c_0.term_eq (_v_deref__item12, 0))
1161          {
1162            goto _block2__branch14;
1163          }
1164          Expr _vt_var (_v_deref__item12, 1, 1);
1165          Expr _ve_expr (_v_deref__item12, 2, _v_len__expr2);
1166          Expr _vs_acc;
1167          RF_CALL (Box::Box, empty, _vs_acc);
1168          RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_expr), _ve_expr);
1169          Expr _v__q_10;
1170          RF_CALL (Box::_q_, _vs_acc, _v__q_10);
1171          Expr _v_Rfp2Java12;
1172          RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java12);
1173          _ve_java_m_item = (_v__q_10 + (_c_58 + _v_Rfp2Java12 + _c_46 + _ve_expr + _c_55) ());
1174          goto _block2;
1175        }
1176      _block2__branch14: {}
1177        {
1178          if (_vt_item.symbol_at (0))
1179          {
1180            goto _block2__branch15;
1181          }
1182          Expr _v_deref__item13 (_vt_item, 0);
1183          uintptr_t _v_len41 = _v_deref__item13.get_len ();
1184          uintptr_t _v_len42 = 2;
1185          if ((_v_len41 < _v_len42))
1186          {
1187            goto _block2__branch15;
1188          }
1189          uintptr_t _v_len__expr3 = (_v_len41 - _v_len42);
1190          if (!_c_59.term_eq (_v_deref__item13, 0))
1191          {
1192            goto _block2__branch15;
1193          }
1194          Expr _vt_var (_v_deref__item13, 1, 1);
1195          Expr _ve_expr (_v_deref__item13, 2, _v_len__expr3);
1196          Expr _ve_a;
1197          Expr _ve_j_m_expr;
1198          RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr, (_ve_a, _ve_j_m_expr));
1199          Expr _v_Rfp2Java13;
1200          RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java13);
1201          _ve_java_m_item = (_ve_a + (_c_49 + _v_Rfp2Java13 + _c_46 + _ve_j_m_expr + _c_55) ());
1202          goto _block2;
1203        }
1204      _block2__branch15: {}
1205        {
1206          if (_vt_item.symbol_at (0))
1207          {
1208            goto _block2__branch16;
1209          }
1210          Expr _v_deref__item14 (_vt_item, 0);
1211          uintptr_t _v_len43 = _v_deref__item14.get_len ();
1212          uintptr_t _v_len44 = 3;
1213          if ((_v_len43 < _v_len44))
1214          {
1215            goto _block2__branch16;
1216          }
1217          uintptr_t _v_len__expr4 = (_v_len43 - _v_len44);
1218          if (_v_deref__item14.symbol_at ((_v_len__expr4 + 2)))
1219          {
1220            goto _block2__branch16;
1221          }
1222          Expr _v_deref__deref__item14 (_v_deref__item14, (_v_len__expr4 + 2));
1223          uintptr_t _v_len45 = _v_deref__deref__item14.get_len ();
1224          uintptr_t _v_len46 = 0;
1225          if ((_v_len45 < _v_len46))
1226          {
1227            goto _block2__branch16;
1228          }
1229          uintptr_t _v_len__pos = (_v_len45 - _v_len46);
1230          if (!_c_60.term_eq (_v_deref__item14, 0))
1231          {
1232            goto _block2__branch16;
1233          }
1234          Expr _vt_var (_v_deref__item14, 1, 1);
1235          Expr _ve_expr (_v_deref__item14, 2, _v_len__expr4);
1236          Expr _ve_pos (_v_deref__deref__item14, 0, _v_len__pos);
1237          Expr _ve_a;
1238          Expr _ve_j_m_expr;
1239          RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr, (_ve_a, _ve_j_m_expr));
1240          Expr _vs_acc;
1241          RF_CALL (Box::Box, empty, _vs_acc);
1242          RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_pos), _ve_pos);
1243          Expr _v__q_11;
1244          RF_CALL (Box::_q_, _vs_acc, _v__q_11);
1245          Expr _v_Rfp2Java14;
1246          RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java14);
1247          _ve_java_m_item = (_ve_a + _v__q_11 + (_c_49 + _v_Rfp2Java14 + _c_62 + _ve_j_m_expr + _c_61 + _ve_pos + _c_44) ());
1248          goto _block2;
1249        }
1250      _block2__branch16: {}
1251        {
1252          if (_vt_item.symbol_at (0))
1253          {
1254            goto _block2__branch17;
1255          }
1256          Expr _v_deref__item15 (_vt_item, 0);
1257          uintptr_t _v_len47 = _v_deref__item15.get_len ();
1258          uintptr_t _v_len48 = 4;
1259          if ((_v_len47 < _v_len48))
1260          {
1261            goto _block2__branch17;
1262          }
1263          uintptr_t _v_len__expr5 = (_v_len47 - _v_len48);
1264          if (_v_deref__item15.symbol_at ((_v_len__expr5 + 2)))
1265          {
1266            goto _block2__branch17;
1267          }
1268          if (_v_deref__item15.symbol_at ((_v_len__expr5 + 3)))
1269          {
1270            goto _block2__branch17;
1271          }
1272          Expr _v_deref__deref__item15 (_v_deref__item15, (_v_len__expr5 + 2));
1273          Expr _v_deref__deref__item152 (_v_deref__item15, (_v_len__expr5 + 3));
1274          uintptr_t _v_len49 = _v_deref__deref__item152.get_len ();
1275          uintptr_t _v_len50 = 0;
1276          if ((_v_len49 < _v_len50))
1277          {
1278            goto _block2__branch17;
1279          }
1280          uintptr_t _v_len__len = (_v_len49 - _v_len50);
1281          uintptr_t _v_len51 = _v_deref__deref__item15.get_len ();
1282          uintptr_t _v_len52 = 0;
1283          if ((_v_len51 < _v_len52))
1284          {
1285            goto _block2__branch17;
1286          }
1287          uintptr_t _v_len__pos2 = (_v_len51 - _v_len52);
1288          if (!_c_63.term_eq (_v_deref__item15, 0))
1289          {
1290            goto _block2__branch17;
1291          }
1292          Expr _vt_var (_v_deref__item15, 1, 1);
1293          Expr _ve_expr (_v_deref__item15, 2, _v_len__expr5);
1294          Expr _ve_pos (_v_deref__deref__item15, 0, _v_len__pos2);
1295          Expr _ve_len (_v_deref__deref__item152, 0, _v_len__len);
1296          Expr _ve_a;
1297          Expr _ve_j_m_expr;
1298          RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr, (_ve_a, _ve_j_m_expr));
1299          Expr _vs_acc;
1300          RF_CALL (Box::Box, empty, _vs_acc);
1301          RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_pos), _ve_pos);
1302          RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_len), _ve_len);
1303          Expr _v__q_12;
1304          RF_CALL (Box::_q_, _vs_acc, _v__q_12);
1305          Expr _v_Rfp2Java15;
1306          RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java15);
1307          _ve_java_m_item = (_ve_a + _v__q_12 + (_c_49 + _v_Rfp2Java15 + _c_65 + _ve_j_m_expr + _c_64 + _ve_pos + _c_64 + _ve_len + _c_44) ());
1308          goto _block2;
1309        }
1310      _block2__branch17: {}
1311        {
1312          if (_vt_item.symbol_at (0))
1313          {
1314            goto _block2__branch18;
1315          }
1316          Expr _v_deref__item16 (_vt_item, 0);
1317          if ((_v_deref__item16.get_len () != 2))
1318          {
1319            goto _block2__branch18;
1320          }
1321          if (!_c_66.term_eq (_v_deref__item16, 0))
1322          {
1323            goto _block2__branch18;
1324          }
1325          Expr _vt_var (_v_deref__item16, 1, 1);
1326          Expr _v_Rfp2Java16;
1327          RF_CALL (JavaMangle::Rfp2Java, _vt_var, _v_Rfp2Java16);
1328          _ve_java_m_item = (_v_Rfp2Java16 + _c_67) ();
1329          goto _block2;
1330        }
1331      _block2__branch18: {}
1332        {
1333          if (_vt_item.symbol_at (0))
1334          {
1335            goto _block2__branch19;
1336          }
1337          Expr _v_deref__item17 (_vt_item, 0);
1338          if ((_v_deref__item17.get_len () != 2))
1339          {
1340            goto _block2__branch19;
1341          }
1342          if (!_c_68.term_eq (_v_deref__item17, 0))
1343          {
1344            goto _block2__branch19;
1345          }
1346          Expr _vt_label (_v_deref__item17, 1, 1);
1347          Expr _v_Rfp2Java17;
1348          RF_CALL (JavaMangle::Rfp2Java, (_c_27 + _vt_label) (), _v_Rfp2Java17);
1349          _ve_java_m_item = (_c_69 + _v_Rfp2Java17 + _c_55) ();
1350          goto _block2;
1351        }
1352      _block2__branch19: {}
1353        {
1354          if (_vt_item.symbol_at (0))
1355          {
1356            goto _block2__branch20;
1357          }
1358          Expr _v_deref__item18 (_vt_item, 0);
1359          if ((_v_deref__item18.get_len () != 2))
1360          {
1361            goto _block2__branch20;
1362          }
1363          if (!_c_70.term_eq (_v_deref__item18, 0))
1364          {
1365            goto _block2__branch20;
1366          }
1367          Expr _vt_label (_v_deref__item18, 1, 1);
1368          Expr _v_Rfp2Java18;
1369          RF_CALL (JavaMangle::Rfp2Java, (_c_27 + _vt_label) (), _v_Rfp2Java18);
1370          _ve_java_m_item = (_c_71 + _v_Rfp2Java18 + _c_55) ();
1371          goto _block2;
1372        }
1373      _block2__branch20: {}
1374        {
1375          if (_vt_item.symbol_at (0))
1376          {
1377            goto _block2__branch21;
1378          }
1379          Expr _v_deref__item19 (_vt_item, 0);
1380          uintptr_t _v_len53 = _v_deref__item19.get_len ();
1381          uintptr_t _v_len54 = 1;
1382          if ((_v_len53 < _v_len54))
1383          {
1384            goto _block2__branch21;
1385          }
1386          uintptr_t _v_len__expr6 = (_v_len53 - _v_len54);
1387          if (!_c_72.term_eq (_v_deref__item19, 0))
1388          {
1389            goto _block2__branch21;
1390          }
1391          Expr _ve_expr (_v_deref__item19, 1, _v_len__expr6);
1392          Expr _ve_a;
1393          Expr _ve_j_m_expr;
1394          RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr, (_ve_a, _ve_j_m_expr));
1395          _ve_java_m_item = (_ve_a + (_c_73 + _ve_j_m_expr + _c_44) ());
1396          goto _block2;
1397        }
1398      _block2__branch21: {}
1399        {
1400          if (_vt_item.symbol_at (0))
1401          {
1402            goto _block2__branch22;
1403          }
1404          Expr _v_deref__item20 (_vt_item, 0);
1405          uintptr_t _v_len55 = _v_deref__item20.get_len ();
1406          uintptr_t _v_len56 = 4;
1407          if ((_v_len55 < _v_len56))
1408          {
1409            goto _block2__branch22;
1410          }
1411          uintptr_t _v_len__expr7 = (_v_len55 - _v_len56);
1412          if (_v_deref__item20.symbol_at (3))
1413          {
1414            goto _block2__branch22;
1415          }
1416          Expr _v_deref__deref__item20 (_v_deref__item20, 3);
1417          uintptr_t _v_len57 = _v_deref__deref__item20.get_len ();
1418          uintptr_t _v_len58 = 0;
1419          if ((_v_len57 < _v_len58))
1420          {
1421            goto _block2__branch22;
1422          }
1423          uintptr_t _v_len__comment = (_v_len57 - _v_len58);
1424          if (!_c_74.term_eq (_v_deref__item20, 0))
1425          {
1426            goto _block2__branch22;
1427          }
1428          if (!_v_deref__item20.symbol_at (1))
1429          {
1430            goto _block2__branch22;
1431          }
1432          Expr _vs_linkage (_v_deref__item20, 1, 1);
1433          Expr _vt_name (_v_deref__item20, 2, 1);
1434          Expr _ve_expr (_v_deref__item20, 4, _v_len__expr7);
1435          Expr _ve_comment (_v_deref__deref__item20, 0, _v_len__comment);
1436          Expr _ve_n;
1437          {
1438            {
1439              if (_vt_name.symbol_at (0))
1440              {
1441                goto _block8__branch1;
1442              }
1443              Expr _v_deref__name (_vt_name, 0);
1444              uintptr_t _v_len59 = _v_deref__name.get_len ();
1445              uintptr_t _v_len60 = 1;
1446              if ((_v_len59 < _v_len60))
1447              {
1448                goto _block8__branch1;
1449              }
1450              uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_201_m_27 = (_v_len59 - _v_len60);
1451              if (!_c_75.term_eq (_v_deref__name, 0))
1452              {
1453                goto _block8__branch1;
1454              }
1455              Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_201_m_27 (_v_deref__name, 1, _v_len___e__e_tmp_m_rfp__asail__javarf_m_201_m_27);
1456              RF_CALL (JavaMangle::Rfp2Java, _vt_name, _ve_n);
1457              goto _block8;
1458            }
1459          _block8__branch1: {}
1460            RF_CALL (Name_m_To_m_Java, _vt_name, _ve_n);
1461          }
1462        _block8: {}
1463          Expr _ve_a;
1464          Expr _ve_j_m_expr;
1465          RF_CALL (Const_m_Expr_m_To_m_Java, _ve_expr, (_ve_a, _ve_j_m_expr));
1466          Expr _v_Access_m_Mode2;
1467          RF_CALL (Access_m_Mode, _vt_name, _v_Access_m_Mode2);
1468          _ve_java_m_item = (_ve_a + (_c_20 + _v_Access_m_Mode2 + _c_76 + _ve_n + _c_46 + _ve_j_m_expr + _c_55) ());
1469          goto _block2;
1470        }
1471      _block2__branch22: {}
1472        {
1473          if (_vt_item.symbol_at (0))
1474          {
1475            goto _block2__branch23;
1476          }
1477          Expr _v_deref__item21 (_vt_item, 0);
1478          if ((_v_deref__item21.get_len () != 4))
1479          {
1480            goto _block2__branch23;
1481          }
1482          if (!_c_77.term_eq (_v_deref__item21, 0))
1483          {
1484            goto _block2__branch23;
1485          }
1486          if (!_v_deref__item21.symbol_at (1))
1487          {
1488            goto _block2__branch23;
1489          }
1490          if (!_v_deref__item21.symbol_at (2))
1491          {
1492            goto _block2__branch23;
1493          }
1494          Expr _vs_linkage (_v_deref__item21, 1, 1);
1495          Expr _vs_tag (_v_deref__item21, 2, 1);
1496          Expr _vt_name (_v_deref__item21, 3, 1);
1497          Expr _v_To_m_Chars1;
1498          RF_CALL (Convert::To_m_Chars, _vs_tag, _v_To_m_Chars1);
1499          uintptr_t _v_len61 = _v_To_m_Chars1.get_len ();
1500          uintptr_t _v_len62 = 1;
1501          if ((_v_len61 < _v_len62))
1502          {
1503            goto _block1__branch1;
1504          }
1505          uintptr_t _v_len__2 = (_v_len61 - _v_len62);
1506          if (!_v_To_m_Chars1.symbol_at (0))
1507          {
1508            goto _block1__branch1;
1509          }
1510          Expr _vs_1 (_v_To_m_Chars1, 0, 1);
1511          Expr _ve_2 (_v_To_m_Chars1, 1, _v_len__2);
1512          Expr _v_To_m_Lower1;
1513          RF_CALL (Convert::To_m_Lower, _ve_2, _v_To_m_Lower1);
1514          Expr _ve_class_m_name ((_c_78 + _vs_1 + _v_To_m_Lower1));
1515          RF_CALL (Table::Bind, (Inputs, (_c_79 + _ve_class_m_name), empty), /*void*/);
1516          Expr _ve_qualifiers;
1517          Expr _ve_n;
1518          RF_CALL (rfp__helper::RFP_m_Extract_m_Qualifiers, _vt_name, (_ve_qualifiers, _ve_n));
1519          Expr _v_Access_m_Mode3;
1520          RF_CALL (Access_m_Mode, _vt_name, _v_Access_m_Mode3);
1521          Expr _v_Name_m_To_m_Java2;
1522          RF_CALL (Name_m_To_m_Java, _vt_name, _v_Name_m_To_m_Java2);
1523          _ve_java_m_item = (_c_20 + _v_Access_m_Mode3 + _c_76 + _v_Name_m_To_m_Java2 + _c_82 + _ve_class_m_name + _c_81 + _ve_n + _c_80) ();
1524          goto _block2;
1525        }
1526      _block2__branch23: {}
1527        {
1528          if (_vt_item.symbol_at (0))
1529          {
1530            goto _block2__branch24;
1531          }
1532          Expr _v_deref__item22 (_vt_item, 0);
1533          if ((_v_deref__item22.get_len () != 2))
1534          {
1535            goto _block2__branch24;
1536          }
1537          if (!_c_83.term_eq (_v_deref__item22, 0))
1538          {
1539            goto _block2__branch24;
1540          }
1541          Expr _vt_name (_v_deref__item22, 1, 1);
1542          _ve_java_m_item = empty;
1543          goto _block2;
1544        }
1545      _block2__branch24: {}
1546        {
1547          if (_vt_item.symbol_at (0))
1548          {
1549            goto _block2__branch25;
1550          }
1551          Expr _v_deref__item23 (_vt_item, 0);
1552          if ((_v_deref__item23.get_len () != 2))
1553          {
1554            goto _block2__branch25;
1555          }
1556          if (!_c_84.term_eq (_v_deref__item23, 0))
1557          {
1558            goto _block2__branch25;
1559          }
1560          Expr _vt_name (_v_deref__item23, 1, 1);
1561          _ve_java_m_item = empty;
1562          goto _block2;
1563        }
1564      _block2__branch25: {}
1565        if (_vt_item.symbol_at (0))
1566        {
1567          RF_FUNC_ERROR (unexpected_fail);
1568        }
1569        Expr _v_deref__item24 (_vt_item, 0);
1570        if ((_v_deref__item24.get_len () != 4))
1571        {
1572          RF_FUNC_ERROR (unexpected_fail);
1573        }
1574        if (_v_deref__item24.symbol_at (2))
1575        {
1576          RF_FUNC_ERROR (unexpected_fail);
1577        }
1578        if (_v_deref__item24.symbol_at (3))
1579        {
1580          RF_FUNC_ERROR (unexpected_fail);
1581        }
1582        Expr _v_deref__deref__item24 (_v_deref__item24, 2);
1583        Expr _v_deref__deref__item242 (_v_deref__item24, 3);
1584        uintptr_t _v_len63 = _v_deref__deref__item242.get_len ();
1585        uintptr_t _v_len64 = 0;
1586        if ((_v_len63 < _v_len64))
1587        {
1588          RF_FUNC_ERROR (unexpected_fail);
1589        }
1590        uintptr_t _v_len__ress2 = (_v_len63 - _v_len64);
1591        uintptr_t _v_len65 = _v_deref__deref__item24.get_len ();
1592        uintptr_t _v_len66 = 0;
1593        if ((_v_len65 < _v_len66))
1594        {
1595          RF_FUNC_ERROR (unexpected_fail);
1596        }
1597        uintptr_t _v_len__args2 = (_v_len65 - _v_len66);
1598        if (!_v_deref__item24.symbol_at (0))
1599        {
1600          RF_FUNC_ERROR (unexpected_fail);
1601        }
1602        Expr _vs_call (_v_deref__item24, 0, 1);
1603        Expr _vt_name (_v_deref__item24, 1, 1);
1604        Expr _ve_args (_v_deref__deref__item24, 0, _v_len__args2);
1605        Expr _ve_ress (_v_deref__deref__item242, 0, _v_len__ress2);
1606        Expr _ve_subst;
1607        RF_CALL (Copy_m_Args, (_ve_args, _ve_ress), (_ve_args, _ve_subst));
1608        Expr _v_Paren1;
1609        RF_CALL (List::Paren, _ve_ress, _v_Paren1);
1610        Expr _ve_arrays;
1611        RF_CALL (Expr_m_Args_m_To_m_Java, (_ve_args + _v_Paren1), (_ve_arrays, _ve_args));
1612        Expr _v_Name_m_To_m_Java3;
1613        RF_CALL (Name_m_To_m_Java, _vt_name, _v_Name_m_To_m_Java3);
1614        Expr _ve_c ((_v_Name_m_To_m_Java3 + _c_18 + _ve_args + _c_24));
1615        {
1616          {
1617            if (!_vs_call.term_eq (_c_85, 0))
1618            {
1619              goto _block9__branch1;
1620            }
1621            _ve_java_m_item = (_ve_subst + _ve_arrays + (_c_87 + _ve_c + _c_86) ());
1622            goto _block9;
1623          }
1624        _block9__branch1: {}
1625          _ve_java_m_item = (_ve_subst + _ve_arrays + (_ve_c + _c_55) ());
1626        }
1627      _block9: {}
1628      }
1629    _block2: {}
1630      {
1631        {
1632          if ((_ve_java_m_item.get_len () != 1))
1633          {
1634            goto _block10__branch1;
1635          }
1636          if (_ve_java_m_item.symbol_at (0))
1637          {
1638            goto _block10__branch1;
1639          }
1640          Expr _v_deref__java_m_item (_ve_java_m_item, 0);
1641          uintptr_t _v_len67 = _v_deref__java_m_item.get_len ();
1642          uintptr_t _v_len68 = 6;
1643          if ((_v_len67 < _v_len68))
1644          {
1645            goto _block10__branch1;
1646          }
1647          uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_230_m_32 = (_v_len67 - _v_len68);
1648          if (!_c_71.eq (_v_deref__java_m_item, 0))
1649          {
1650            goto _block10__branch1;
1651          }
1652          Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_230_m_32 (_v_deref__java_m_item, 6, _v_len___e__e_tmp_m_rfp__asail__javarf_m_230_m_32);
1653          _v_res1 = _ve_java_m_item;
1654          goto _block10;
1655        }
1656      _block10__branch1: {}
1657        Expr _v_ASAIL_m_To_m_Java7;
1658        RF_CALL (ASAIL_m_To_m_Java, _ve_rest, _v_ASAIL_m_To_m_Java7);
1659        _v_res1 = (_ve_java_m_item + _v_ASAIL_m_To_m_Java7);
1660      }
1661    _block10: {}
1662      goto _block1;
1663    }
1664  _block1__branch1: {}
1665    _v_res1 = empty;
1666  }
1667_block1: {}
1668RF_END
1669
1670RF_FUNC (Copy_m_Args, (RF_ARG _ve_args, _ve_ress;;), (RF_RES _v_res1, _v_res2;;))
1671  Expr _v_args__1 (_ve_args);
1672  Expr _ve_valid_m_args (empty);
1673  Expr _ve_subst (empty);
1674  for ( ; ; )
1675  {
1676    {
1677      if ((_v_args__1.get_len () != 0))
1678      {
1679        goto _iter1;
1680      }
1681      _v_res1 = _ve_valid_m_args;
1682      _v_res2 = _ve_subst;
1683      goto _exit__iter1;
1684    }
1685  _iter1: {}
1686    uintptr_t _v_len1 = _v_args__1.get_len ();
1687    uintptr_t _v_len2 = 1;
1688    if ((_v_len1 < _v_len2))
1689    {
1690      RF_FUNC_ERROR (unexpected_fail);
1691    }
1692    uintptr_t _v_len__2 = (_v_len1 - _v_len2);
1693    if (_v_args__1.symbol_at (0))
1694    {
1695      RF_FUNC_ERROR (unexpected_fail);
1696    }
1697    Expr _v_deref__args__1 (_v_args__1, 0);
1698    uintptr_t _v_len3 = _v_deref__args__1.get_len ();
1699    uintptr_t _v_len4 = 0;
1700    if ((_v_len3 < _v_len4))
1701    {
1702      RF_FUNC_ERROR (unexpected_fail);
1703    }
1704    uintptr_t _v_len__1 = (_v_len3 - _v_len4);
1705    Expr _ve_2 (_v_args__1, 1, _v_len__2);
1706    Expr _ve_1 (_v_deref__args__1, 0, _v_len__1);
1707    {
1708      {
1709        if ((_ve_ress.get_len () < 1))
1710        {
1711          goto _block2__branch1;
1712        }
1713        RF_lsplit (_ve_ress, 0, _ve__e__e_tmp_m_rfp__asail__javarf_m_239_m_17, _v_lsplit__ress);
1714        for ( ; ; RF_iter(_ve_ress)++)
1715        {
1716          {
1717            if (!RF_iter(_ve_ress))
1718            {
1719              goto _block2__branch1;
1720            }
1721            uintptr_t _v_len5 = _v_lsplit__ress.get_len ();
1722            uintptr_t _v_len6 = 1;
1723            if ((_v_len5 < _v_len6))
1724            {
1725              goto _block2__branch1;
1726            }
1727            uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_239_m_24 = (_v_len5 - _v_len6);
1728            if (_v_lsplit__ress.symbol_at (0))
1729            {
1730              goto _continue1;
1731            }
1732            Expr _v_deref__lsplit__ress (_v_lsplit__ress, 0);
1733            if ((_v_deref__lsplit__ress.get_len () != _v_len__1))
1734            {
1735              goto _continue1;
1736            }
1737            if (!_ve_1.eq (_v_deref__lsplit__ress, 0))
1738            {
1739              goto _continue1;
1740            }
1741            Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_239_m_24 (_v_lsplit__ress, 1, _v_len___e__e_tmp_m_rfp__asail__javarf_m_239_m_24);
1742            Expr _v_Free_m_Index1;
1743            RF_CALL (Free_m_Index, /*void*/, _v_Free_m_Index1);
1744            Expr _ve_new_m_var ((_c_43 + _v_Free_m_Index1));
1745            Expr _v_Rfp2Java1;
1746            RF_CALL (JavaMangle::Rfp2Java, _ve_1, _v_Rfp2Java1);
1747            _v_args__1 = _ve_2;
1748            _ve_valid_m_args = (_ve_valid_m_args + _ve_new_m_var ());
1749            _ve_subst = (_ve_subst + (_c_49 + _ve_new_m_var + _c_88 + _v_Rfp2Java1 + _c_44) ());
1750            goto _exit1;
1751          }
1752      _continue1: {}
1753        }
1754      _exit1: {}
1755        goto _block2;
1756      }
1757    _block2__branch1: {}
1758      _v_args__1 = _ve_2;
1759      _ve_valid_m_args = (_ve_valid_m_args + _ve_1 ());
1760    }
1761  _block2: {}
1762  }
1763_exit__iter1: {}
1764RF_END
1765
1766RF_FUNC (Expr_m_To_m_Java, (RF_ARG _ve_init, _ve_expr_m_all;;), (RF_RES _v_res1, _v_res2;;))
1767  {
1768    {
1769      if ((_ve_expr_m_all.get_len () != 0))
1770      {
1771        goto _block1__branch1;
1772      }
1773      RF_TAILCALL (Expr_m_Ref_m_To_m_Java, _ve_init, (_v_res1, _v_res2));
1774      goto _block1;
1775    }
1776  _block1__branch1: {}
1777    {
1778      uintptr_t _v_len1 = _ve_expr_m_all.get_len ();
1779      uintptr_t _v_len2 = 1;
1780      if ((_v_len1 < _v_len2))
1781      {
1782        goto _block1__branch2;
1783      }
1784      uintptr_t _v_len__rest = (_v_len1 - _v_len2);
1785      if (_ve_expr_m_all.symbol_at (0))
1786      {
1787        goto _block1__branch2;
1788      }
1789      Expr _v_deref__expr_m_all (_ve_expr_m_all, 0);
1790      uintptr_t _v_len3 = _v_deref__expr_m_all.get_len ();
1791      uintptr_t _v_len4 = 1;
1792      if ((_v_len3 < _v_len4))
1793      {
1794        goto _block1__branch2;
1795      }
1796      uintptr_t _v_len__expr = (_v_len3 - _v_len4);
1797      if (!_c_89.term_eq (_v_deref__expr_m_all, 0))
1798      {
1799        goto _block1__branch2;
1800      }
1801      Expr _ve_rest (_ve_expr_m_all, 1, _v_len__rest);
1802      Expr _ve_expr (_v_deref__expr_m_all, 1, _v_len__expr);
1803      RF_TAILCALL (Expr_m_Ref_m_To_m_Java, (_ve_init + _ve_expr_m_all), (_v_res1, _v_res2));
1804      goto _block1;
1805    }
1806  _block1__branch2: {}
1807    {
1808      uintptr_t _v_len5 = _ve_expr_m_all.get_len ();
1809      uintptr_t _v_len6 = 1;
1810      if ((_v_len5 < _v_len6))
1811      {
1812        goto _block1__branch3;
1813      }
1814      uintptr_t _v_len__rest2 = (_v_len5 - _v_len6);
1815      if (_ve_expr_m_all.symbol_at (0))
1816      {
1817        goto _block1__branch3;
1818      }
1819      Expr _v_deref__expr_m_all2 (_ve_expr_m_all, 0);
1820      uintptr_t _v_len7 = _v_deref__expr_m_all2.get_len ();
1821      uintptr_t _v_len8 = 1;
1822      if ((_v_len7 < _v_len8))
1823      {
1824        goto _block1__branch3;
1825      }
1826      uintptr_t _v_len__expr2 = (_v_len7 - _v_len8);
1827      if (!_c_59.term_eq (_v_deref__expr_m_all2, 0))
1828      {
1829        goto _block1__branch3;
1830      }
1831      Expr _ve_rest (_ve_expr_m_all, 1, _v_len__rest2);
1832      Expr _ve_expr (_v_deref__expr_m_all2, 1, _v_len__expr2);
1833      RF_TAILCALL (Expr_m_Ref_m_To_m_Java, (_ve_init + _ve_expr_m_all), (_v_res1, _v_res2));
1834      goto _block1;
1835    }
1836  _block1__branch3: {}
1837    {
1838      uintptr_t _v_len9 = _ve_expr_m_all.get_len ();
1839      uintptr_t _v_len10 = 1;
1840      if ((_v_len9 < _v_len10))
1841      {
1842        goto _block1__branch4;
1843      }
1844      uintptr_t _v_len__rest3 = (_v_len9 - _v_len10);
1845      if (_ve_expr_m_all.symbol_at (0))
1846      {
1847        goto _block1__branch4;
1848      }
1849      Expr _v_deref__expr_m_all3 (_ve_expr_m_all, 0);
1850      uintptr_t _v_len11 = _v_deref__expr_m_all3.get_len ();
1851      uintptr_t _v_len12 = 1;
1852      if ((_v_len11 < _v_len12))
1853      {
1854        goto _block1__branch4;
1855      }
1856      uintptr_t _v_len__expr3 = (_v_len11 - _v_len12);
1857      if (!_c_60.term_eq (_v_deref__expr_m_all3, 0))
1858      {
1859        goto _block1__branch4;
1860      }
1861      Expr _ve_rest (_ve_expr_m_all, 1, _v_len__rest3);
1862      Expr _ve_expr (_v_deref__expr_m_all3, 1, _v_len__expr3);
1863      RF_TAILCALL (Expr_m_Ref_m_To_m_Java, (_ve_init + _ve_expr_m_all), (_v_res1, _v_res2));
1864      goto _block1;
1865    }
1866  _block1__branch4: {}
1867    {
1868      uintptr_t _v_len13 = _ve_expr_m_all.get_len ();
1869      uintptr_t _v_len14 = 1;
1870      if ((_v_len13 < _v_len14))
1871      {
1872        goto _block1__branch5;
1873      }
1874      uintptr_t _v_len__rest4 = (_v_len13 - _v_len14);
1875      if (_ve_expr_m_all.symbol_at (0))
1876      {
1877        goto _block1__branch5;
1878      }
1879      Expr _v_deref__expr_m_all4 (_ve_expr_m_all, 0);
1880      uintptr_t _v_len15 = _v_deref__expr_m_all4.get_len ();
1881      uintptr_t _v_len16 = 1;
1882      if ((_v_len15 < _v_len16))
1883      {
1884        goto _block1__branch5;
1885      }
1886      uintptr_t _v_len__expr4 = (_v_len15 - _v_len16);
1887      if (!_c_63.term_eq (_v_deref__expr_m_all4, 0))
1888      {
1889        goto _block1__branch5;
1890      }
1891      Expr _ve_rest (_ve_expr_m_all, 1, _v_len__rest4);
1892      Expr _ve_expr (_v_deref__expr_m_all4, 1, _v_len__expr4);
1893      RF_TAILCALL (Expr_m_Ref_m_To_m_Java, (_ve_init + _ve_expr_m_all), (_v_res1, _v_res2));
1894      goto _block1;
1895    }
1896  _block1__branch5: {}
1897    {
1898      uintptr_t _v_len17 = _ve_expr_m_all.get_len ();
1899      uintptr_t _v_len18 = 1;
1900      if ((_v_len17 < _v_len18))
1901      {
1902        goto _block1__branch6;
1903      }
1904      uintptr_t _v_len__rest5 = (_v_len17 - _v_len18);
1905      if (_ve_expr_m_all.symbol_at (0))
1906      {
1907        goto _block1__branch6;
1908      }
1909      Expr _v_deref__expr_m_all5 (_ve_expr_m_all, 0);
1910      uintptr_t _v_len19 = _v_deref__expr_m_all5.get_len ();
1911      uintptr_t _v_len20 = 1;
1912      if ((_v_len19 < _v_len20))
1913      {
1914        goto _block1__branch6;
1915      }
1916      uintptr_t _v_len__expr5 = (_v_len19 - _v_len20);
1917      if (!_c_90.term_eq (_v_deref__expr_m_all5, 0))
1918      {
1919        goto _block1__branch6;
1920      }
1921      Expr _ve_rest (_ve_expr_m_all, 1, _v_len__rest5);
1922      Expr _ve_expr (_v_deref__expr_m_all5, 1, _v_len__expr5);
1923      RF_CALL (Expr_m_Int_m_To_m_Java, (_c_91, (_ve_init + _ve_expr_m_all)), _v_res2);
1924      _v_res1 = empty;
1925      goto _block1;
1926    }
1927  _block1__branch6: {}
1928    {
1929      uintptr_t _v_len21 = _ve_expr_m_all.get_len ();
1930      uintptr_t _v_len22 = 1;
1931      if ((_v_len21 < _v_len22))
1932      {
1933        goto _block1__branch7;
1934      }
1935      uintptr_t _v_len__rest6 = (_v_len21 - _v_len22);
1936      if (_ve_expr_m_all.symbol_at (0))
1937      {
1938        goto _block1__branch7;
1939      }
1940      Expr _v_deref__expr_m_all6 (_ve_expr_m_all, 0);
1941      uintptr_t _v_len23 = _v_deref__expr_m_all6.get_len ();
1942      uintptr_t _v_len24 = 1;
1943      if ((_v_len23 < _v_len24))
1944      {
1945        goto _block1__branch7;
1946      }
1947      uintptr_t _v_len__args = (_v_len23 - _v_len24);
1948      if (!_c_92.term_eq (_v_deref__expr_m_all6, 0))
1949      {
1950        goto _block1__branch7;
1951      }
1952      Expr _ve_rest (_ve_expr_m_all, 1, _v_len__rest6);
1953      Expr _ve_args (_v_deref__expr_m_all6, 1, _v_len__args);
1954      RF_CALL (Expr_m_Int_m_To_m_Java, (_c_91, (_ve_init + _ve_expr_m_all)), _v_res2);
1955      _v_res1 = empty;
1956      goto _block1;
1957    }
1958  _block1__branch7: {}
1959    {
1960      uintptr_t _v_len25 = _ve_expr_m_all.get_len ();
1961      uintptr_t _v_len26 = 1;
1962      if ((_v_len25 < _v_len26))
1963      {
1964        goto _block1__branch8;
1965      }
1966      uintptr_t _v_len__rest7 = (_v_len25 - _v_len26);
1967      if (_ve_expr_m_all.symbol_at (0))
1968      {
1969        goto _block1__branch8;
1970      }
1971      Expr _v_deref__expr_m_all7 (_ve_expr_m_all, 0);
1972      uintptr_t _v_len27 = _v_deref__expr_m_all7.get_len ();
1973      uintptr_t _v_len28 = 1;
1974      if ((_v_len27 < _v_len28))
1975      {
1976        goto _block1__branch8;
1977      }
1978      uintptr_t _v_len__args2 = (_v_len27 - _v_len28);
1979      if (!_c_93.term_eq (_v_deref__expr_m_all7, 0))
1980      {
1981        goto _block1__branch8;
1982      }
1983      Expr _ve_rest (_ve_expr_m_all, 1, _v_len__rest7);
1984      Expr _ve_args (_v_deref__expr_m_all7, 1, _v_len__args2);
1985      RF_CALL (Expr_m_Int_m_To_m_Java, (_c_91, (_ve_init + _ve_expr_m_all)), _v_res2);
1986      _v_res1 = empty;
1987      goto _block1;
1988    }
1989  _block1__branch8: {}
1990    {
1991      uintptr_t _v_len29 = _ve_expr_m_all.get_len ();
1992      uintptr_t _v_len30 = 1;
1993      if ((_v_len29 < _v_len30))
1994      {
1995        goto _block1__branch9;
1996      }
1997      uintptr_t _v_len__rest8 = (_v_len29 - _v_len30);
1998      if (_ve_expr_m_all.symbol_at (0))
1999      {
2000        goto _block1__branch9;
2001      }
2002      Expr _v_deref__expr_m_all8 (_ve_expr_m_all, 0);
2003      uintptr_t _v_len31 = _v_deref__expr_m_all8.get_len ();
2004      uintptr_t _v_len32 = 2;
2005      if ((_v_len31 < _v_len32))
2006      {
2007        goto _block1__branch9;
2008      }
2009      uintptr_t _v_len__args3 = (_v_len31 - _v_len32);
2010      if (!_c_94.term_eq (_v_deref__expr_m_all8, 0))
2011      {
2012        goto _block1__branch9;
2013      }
2014      if (!_v_deref__expr_m_all8.symbol_at (1))
2015      {
2016        goto _block1__branch9;
2017      }
2018      Expr _ve_rest (_ve_expr_m_all, 1, _v_len__rest8);
2019      Expr _vs_op (_v_deref__expr_m_all8, 1, 1);
2020      Expr _ve_args (_v_deref__expr_m_all8, 2, _v_len__args3);
2021      RF_CALL (Expr_m_Int_m_To_m_Java, (_c_91, (_ve_init + _ve_expr_m_all)), _v_res2);
2022      _v_res1 = empty;
2023      goto _block1;
2024    }
2025  _block1__branch9: {}
2026    uintptr_t _v_len33 = _ve_expr_m_all.get_len ();
2027    uintptr_t _v_len34 = 1;
2028    if ((_v_len33 < _v_len34))
2029    {
2030      RF_FUNC_ERROR (unexpected_fail);
2031    }
2032    uintptr_t _v_len__rest9 = (_v_len33 - _v_len34);
2033    if (_ve_expr_m_all.symbol_at (0))
2034    {
2035      RF_FUNC_ERROR (unexpected_fail);
2036    }
2037    Expr _v_deref__expr_m_all9 (_ve_expr_m_all, 0);
2038    if ((_v_deref__expr_m_all9.get_len () != 2))
2039    {
2040      RF_FUNC_ERROR (unexpected_fail);
2041    }
2042    if (_v_deref__expr_m_all9.symbol_at (1))
2043    {
2044      RF_FUNC_ERROR (unexpected_fail);
2045    }
2046    Expr _v_deref__deref__expr_m_all9 (_v_deref__expr_m_all9, 1);
2047    uintptr_t _v_len35 = _v_deref__deref__expr_m_all9.get_len ();
2048    uintptr_t _v_len36 = 0;
2049    if ((_v_len35 < _v_len36))
2050    {
2051      RF_FUNC_ERROR (unexpected_fail);
2052    }
2053    uintptr_t _v_len__QualifiedName = (_v_len35 - _v_len36);
2054    if (!_v_deref__expr_m_all9.symbol_at (0))
2055    {
2056      RF_FUNC_ERROR (unexpected_fail);
2057    }
2058    Expr _ve_rest (_ve_expr_m_all, 1, _v_len__rest9);
2059    Expr _vs_var_m_tag (_v_deref__expr_m_all9, 0, 1);
2060    Expr _ve_QualifiedName (_v_deref__deref__expr_m_all9, 0, _v_len__QualifiedName);
2061    RF_TAILCALL (Expr_m_To_m_Java, ((_ve_init + (_vs_var_m_tag + _ve_QualifiedName ()) ()), _ve_rest), (_v_res1, _v_res2));
2062  }
2063_block1: {}
2064RF_END
2065
2066RF_FUNC (Expr_m_Ref_m_To_m_Java, (RF_ARG _v_arg1;;), (RF_RES _v_res1, _v_res2;;))
2067  {
2068    {
2069      if ((_v_arg1.get_len () != 0))
2070      {
2071        goto _block1__branch1;
2072      }
2073      _v_res1 = empty;
2074      _v_res2 = _c_95;
2075      goto _block1;
2076    }
2077  _block1__branch1: {}
2078    {
2079      if ((_v_arg1.get_len () != 1))
2080      {
2081        goto _block1__branch2;
2082      }
2083      Expr _vt_erm (_v_arg1, 0, 1);
2084      Expr _vs_acc;
2085      RF_CALL (Box::Box, empty, _vs_acc);
2086      Expr _ve_term;
2087      RF_CALL (Term_m_Ref_m_To_m_Java, (_vs_acc, _vt_erm), _ve_term);
2088      RF_CALL (Box::_q_, _vs_acc, _v_res1);
2089      _v_res2 = _ve_term;
2090      goto _block1;
2091    }
2092  _block1__branch2: {}
2093    {
2094      if ((_v_arg1.get_len () != 2))
2095      {
2096        goto _block1__branch3;
2097      }
2098      Expr _vt_1 (_v_arg1, 0, 1);
2099      Expr _vt_2 (_v_arg1, 1, 1);
2100      Expr _vs_acc;
2101      RF_CALL (Box::Box, empty, _vs_acc);
2102      Expr _ve_t1;
2103      RF_CALL (Term_m_Ref_m_To_m_Java, (_vs_acc, _vt_1), _ve_t1);
2104      Expr _ve_t2;
2105      RF_CALL (Term_m_Ref_m_To_m_Java, (_vs_acc, _vt_2), _ve_t2);
2106      RF_CALL (Box::_q_, _vs_acc, _v_res1);
2107      _v_res2 = (_c_96 + _ve_t1 + _c_64 + _ve_t2 + _c_24);
2108      goto _block1;
2109    }
2110  _block1__branch3: {}
2111    Expr _v_Free_m_Index1;
2112    RF_CALL (Free_m_Index, /*void*/, _v_Free_m_Index1);
2113    Expr _ve_new_m_var ((_c_43 + _v_Free_m_Index1));
2114    Expr _vs_acc;
2115    RF_CALL (Box::Box, empty, _vs_acc);
2116    Expr _v_Paren1;
2117    RF_CALL (List::Paren, _v_arg1, _v_Paren1);
2118    Expr _ve_arr_m_init;
2119    RF_CALL (Infix_m_To_m_Java, (_vs_acc, _c_97, _c_98, _v_Paren1), _ve_arr_m_init);
2120    Expr _v__q_1;
2121    RF_CALL (Box::_q_, _vs_acc, _v__q_1);
2122    _v_res1 = (_v__q_1 + (_c_101 + _ve_new_m_var + _c_100 + _ve_arr_m_init + _c_99) ());
2123    _v_res2 = (_c_102 + _ve_new_m_var + _c_24);
2124  }
2125_block1: {}
2126RF_END
2127
2128RF_FUNC (Term_m_Ref_m_To_m_Java, (RF_ARG _vs_acc, _vt_erm;;), (RF_RES _v_res1;;))
2129  {
2130    {
2131      if (_vt_erm.symbol_at (0))
2132      {
2133        goto _block1__branch1;
2134      }
2135      Expr _v_deref__erm (_vt_erm, 0);
2136      uintptr_t _v_len1 = _v_deref__erm.get_len ();
2137      uintptr_t _v_len2 = 1;
2138      if ((_v_len1 < _v_len2))
2139      {
2140        goto _block1__branch1;
2141      }
2142      uintptr_t _v_len__expr = (_v_len1 - _v_len2);
2143      if (!_c_89.term_eq (_v_deref__erm, 0))
2144      {
2145        goto _block1__branch1;
2146      }
2147      Expr _ve_expr (_v_deref__erm, 1, _v_len__expr);
2148      Expr _ve_a;
2149      Expr _ve_j_m_expr;
2150      RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr, (_ve_a, _ve_j_m_expr));
2151      RF_CALL (Box::Put, (_vs_acc, _ve_a), /*void*/);
2152      _v_res1 = (_c_103 + _ve_j_m_expr + _c_24);
2153      goto _block1;
2154    }
2155  _block1__branch1: {}
2156    {
2157      if (_vt_erm.symbol_at (0))
2158      {
2159        goto _block1__branch2;
2160      }
2161      Expr _v_deref__erm2 (_vt_erm, 0);
2162      uintptr_t _v_len3 = _v_deref__erm2.get_len ();
2163      uintptr_t _v_len4 = 2;
2164      if ((_v_len3 < _v_len4))
2165      {
2166        goto _block1__branch2;
2167      }
2168      uintptr_t _v_len__expr2 = (_v_len3 - _v_len4);
2169      if (_v_deref__erm2.symbol_at ((_v_len__expr2 + 1)))
2170      {
2171        goto _block1__branch2;
2172      }
2173      Expr _v_deref__deref__erm2 (_v_deref__erm2, (_v_len__expr2 + 1));
2174      uintptr_t _v_len5 = _v_deref__deref__erm2.get_len ();
2175      uintptr_t _v_len6 = 0;
2176      if ((_v_len5 < _v_len6))
2177      {
2178        goto _block1__branch2;
2179      }
2180      uintptr_t _v_len__pos = (_v_len5 - _v_len6);
2181      if (!_c_60.term_eq (_v_deref__erm2, 0))
2182      {
2183        goto _block1__branch2;
2184      }
2185      Expr _ve_expr (_v_deref__erm2, 1, _v_len__expr2);
2186      Expr _ve_pos (_v_deref__deref__erm2, 0, _v_len__pos);
2187      Expr _ve_a;
2188      Expr _ve_j_m_expr;
2189      RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr, (_ve_a, _ve_j_m_expr));
2190      RF_CALL (Box::Put, (_vs_acc, _ve_a), /*void*/);
2191      RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_pos), _ve_pos);
2192      _v_res1 = (_c_104 + _ve_j_m_expr + _c_61 + _ve_pos + _c_24);
2193      goto _block1;
2194    }
2195  _block1__branch2: {}
2196    {
2197      if (_vt_erm.symbol_at (0))
2198      {
2199        goto _block1__branch3;
2200      }
2201      Expr _v_deref__erm3 (_vt_erm, 0);
2202      uintptr_t _v_len7 = _v_deref__erm3.get_len ();
2203      uintptr_t _v_len8 = 3;
2204      if ((_v_len7 < _v_len8))
2205      {
2206        goto _block1__branch3;
2207      }
2208      uintptr_t _v_len__expr3 = (_v_len7 - _v_len8);
2209      if (_v_deref__erm3.symbol_at ((_v_len__expr3 + 1)))
2210      {
2211        goto _block1__branch3;
2212      }
2213      if (_v_deref__erm3.symbol_at ((_v_len__expr3 + 2)))
2214      {
2215        goto _block1__branch3;
2216      }
2217      Expr _v_deref__deref__erm3 (_v_deref__erm3, (_v_len__expr3 + 1));
2218      Expr _v_deref__deref__erm32 (_v_deref__erm3, (_v_len__expr3 + 2));
2219      uintptr_t _v_len9 = _v_deref__deref__erm32.get_len ();
2220      uintptr_t _v_len10 = 0;
2221      if ((_v_len9 < _v_len10))
2222      {
2223        goto _block1__branch3;
2224      }
2225      uintptr_t _v_len__len = (_v_len9 - _v_len10);
2226      uintptr_t _v_len11 = _v_deref__deref__erm3.get_len ();
2227      uintptr_t _v_len12 = 0;
2228      if ((_v_len11 < _v_len12))
2229      {
2230        goto _block1__branch3;
2231      }
2232      uintptr_t _v_len__pos2 = (_v_len11 - _v_len12);
2233      if (!_c_63.term_eq (_v_deref__erm3, 0))
2234      {
2235        goto _block1__branch3;
2236      }
2237      Expr _ve_expr (_v_deref__erm3, 1, _v_len__expr3);
2238      Expr _ve_pos (_v_deref__deref__erm3, 0, _v_len__pos2);
2239      Expr _ve_len (_v_deref__deref__erm32, 0, _v_len__len);
2240      Expr _ve_a;
2241      Expr _ve_j_m_expr;
2242      RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr, (_ve_a, _ve_j_m_expr));
2243      RF_CALL (Box::Put, (_vs_acc, _ve_a), /*void*/);
2244      RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_pos), _ve_pos);
2245      RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_len), _ve_len);
2246      _v_res1 = (_c_96 + _ve_j_m_expr + _c_64 + _ve_pos + _c_64 + _ve_len + _c_24);
2247      goto _block1;
2248    }
2249  _block1__branch3: {}
2250    {
2251      if (_vt_erm.symbol_at (0))
2252      {
2253        goto _block1__branch4;
2254      }
2255      Expr _v_deref__erm4 (_vt_erm, 0);
2256      if ((_v_deref__erm4.get_len () != 2))
2257      {
2258        goto _block1__branch4;
2259      }
2260      if (!_c_105.term_eq (_v_deref__erm4, 0))
2261      {
2262        goto _block1__branch4;
2263      }
2264      Expr _vt_name (_v_deref__erm4, 1, 1);
2265      RF_TAILCALL (Name_m_To_m_Java, _vt_name, _v_res1);
2266      goto _block1;
2267    }
2268  _block1__branch4: {}
2269    {
2270      if (!_vt_erm.term_eq (_c_106, 0))
2271      {
2272        goto _block1__branch5;
2273      }
2274      _v_res1 = _c_107;
2275      goto _block1;
2276    }
2277  _block1__branch5: {}
2278    if (_vt_erm.symbol_at (0))
2279    {
2280      RF_FUNC_ERROR (unexpected_fail);
2281    }
2282    Expr _v_deref__erm5 (_vt_erm, 0);
2283    if ((_v_deref__erm5.get_len () != 2))
2284    {
2285      RF_FUNC_ERROR (unexpected_fail);
2286    }
2287    if (!_v_deref__erm5.symbol_at (0))
2288    {
2289      RF_FUNC_ERROR (unexpected_fail);
2290    }
2291    Expr _vs_var_m_tag (_v_deref__erm5, 0, 1);
2292    Expr _vt_name (_v_deref__erm5, 1, 1);
2293    RF_TAILCALL (JavaMangle::Rfp2Java, (_vs_var_m_tag + _vt_name) (), _v_res1);
2294  }
2295_block1: {}
2296RF_END
2297
2298RF_FUNC (Expr_m_Int_m_To_m_Java, (RF_ARG _vs_acc, _ve_xpr;;), (RF_RES _v_res1;;))
2299  {
2300    {
2301      if ((_ve_xpr.get_len () != 1))
2302      {
2303        goto _block1__branch1;
2304      }
2305      if (!_ve_xpr.symbol_at (0))
2306      {
2307        goto _block1__branch1;
2308      }
2309      Expr _vs_ObjectSymbol (_ve_xpr, 0, 1);
2310      {
2311        {
2312          if (!RF_CALL (Class::Int_q_, _vs_ObjectSymbol, /*void*/))
2313          {
2314            goto _block2__branch1;
2315          }
2316          _v_res1 = _vs_ObjectSymbol;
2317          goto _block2;
2318        }
2319      _block2__branch1: {}
2320        RF_ERROR ((_c_108 + _vs_ObjectSymbol) ());
2321      }
2322    _block2: {}
2323      goto _block1;
2324    }
2325  _block1__branch1: {}
2326    {
2327      if ((_ve_xpr.get_len () != 1))
2328      {
2329        goto _block1__branch2;
2330      }
2331      if (_ve_xpr.symbol_at (0))
2332      {
2333        goto _block1__branch2;
2334      }
2335      Expr _v_deref__xpr (_ve_xpr, 0);
2336      uintptr_t _v_len1 = _v_deref__xpr.get_len ();
2337      uintptr_t _v_len2 = 1;
2338      if ((_v_len1 < _v_len2))
2339      {
2340        goto _block1__branch2;
2341      }
2342      uintptr_t _v_len__expr = (_v_len1 - _v_len2);
2343      if (!_c_90.term_eq (_v_deref__xpr, 0))
2344      {
2345        goto _block1__branch2;
2346      }
2347      Expr _ve_expr (_v_deref__xpr, 1, _v_len__expr);
2348      Expr _ve_a;
2349      Expr _ve_j_m_expr;
2350      RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr, (_ve_a, _ve_j_m_expr));
2351      RF_CALL (Box::Put, (_vs_acc, _ve_a), /*void*/);
2352      _v_res1 = (_ve_j_m_expr + _c_109);
2353      goto _block1;
2354    }
2355  _block1__branch2: {}
2356    {
2357      if ((_ve_xpr.get_len () != 1))
2358      {
2359        goto _block1__branch3;
2360      }
2361      if (_ve_xpr.symbol_at (0))
2362      {
2363        goto _block1__branch3;
2364      }
2365      Expr _v_deref__xpr2 (_ve_xpr, 0);
2366      uintptr_t _v_len3 = _v_deref__xpr2.get_len ();
2367      uintptr_t _v_len4 = 1;
2368      if ((_v_len3 < _v_len4))
2369      {
2370        goto _block1__branch3;
2371      }
2372      uintptr_t _v_len__args = (_v_len3 - _v_len4);
2373      if (!_c_92.term_eq (_v_deref__xpr2, 0))
2374      {
2375        goto _block1__branch3;
2376      }
2377      Expr _ve_args (_v_deref__xpr2, 1, _v_len__args);
2378      Expr _v_Int_m_Args_m_To_m_Java1;
2379      RF_CALL (Int_m_Args_m_To_m_Java, (_vs_acc, _ve_args), _v_Int_m_Args_m_To_m_Java1);
2380      _v_res1 = (_c_110 + _v_Int_m_Args_m_To_m_Java1 + _c_24);
2381      goto _block1;
2382    }
2383  _block1__branch3: {}
2384    {
2385      if ((_ve_xpr.get_len () != 1))
2386      {
2387        goto _block1__branch4;
2388      }
2389      if (_ve_xpr.symbol_at (0))
2390      {
2391        goto _block1__branch4;
2392      }
2393      Expr _v_deref__xpr3 (_ve_xpr, 0);
2394      uintptr_t _v_len5 = _v_deref__xpr3.get_len ();
2395      uintptr_t _v_len6 = 1;
2396      if ((_v_len5 < _v_len6))
2397      {
2398        goto _block1__branch4;
2399      }
2400      uintptr_t _v_len__args2 = (_v_len5 - _v_len6);
2401      if (!_c_93.term_eq (_v_deref__xpr3, 0))
2402      {
2403        goto _block1__branch4;
2404      }
2405      Expr _ve_args (_v_deref__xpr3, 1, _v_len__args2);
2406      Expr _v_Int_m_Args_m_To_m_Java2;
2407      RF_CALL (Int_m_Args_m_To_m_Java, (_vs_acc, _ve_args), _v_Int_m_Args_m_To_m_Java2);
2408      _v_res1 = (_c_111 + _v_Int_m_Args_m_To_m_Java2 + _c_24);
2409      goto _block1;
2410    }
2411  _block1__branch4: {}
2412    {
2413      if ((_ve_xpr.get_len () != 1))
2414      {
2415        goto _block1__branch5;
2416      }
2417      if (_ve_xpr.symbol_at (0))
2418      {
2419        goto _block1__branch5;
2420      }
2421      Expr _v_deref__xpr4 (_ve_xpr, 0);
2422      uintptr_t _v_len7 = _v_deref__xpr4.get_len ();
2423      uintptr_t _v_len8 = 2;
2424      if ((_v_len7 < _v_len8))
2425      {
2426        goto _block1__branch5;
2427      }
2428      uintptr_t _v_len__args3 = (_v_len7 - _v_len8);
2429      if (!_c_94.term_eq (_v_deref__xpr4, 0))
2430      {
2431        goto _block1__branch5;
2432      }
2433      if (!_v_deref__xpr4.symbol_at (1))
2434      {
2435        goto _block1__branch5;
2436      }
2437      Expr _vs_op (_v_deref__xpr4, 1, 1);
2438      Expr _ve_args (_v_deref__xpr4, 2, _v_len__args3);
2439      Expr _v_Infix_m_To_m_Java1;
2440      RF_CALL (Infix_m_To_m_Java, (_vs_acc, _c_112, _vs_op, _ve_args), _v_Infix_m_To_m_Java1);
2441      _v_res1 = (_c_113 + _v_Infix_m_To_m_Java1 + _c_24);
2442      goto _block1;
2443    }
2444  _block1__branch5: {}
2445    {
2446      if ((_ve_xpr.get_len () != 1))
2447      {
2448        goto _block1__branch6;
2449      }
2450      if (_ve_xpr.symbol_at (0))
2451      {
2452        goto _block1__branch6;
2453      }
2454      Expr _v_deref__xpr5 (_ve_xpr, 0);
2455      if ((_v_deref__xpr5.get_len () != 2))
2456      {
2457        goto _block1__branch6;
2458      }
2459      if (!_v_deref__xpr5.symbol_at (0))
2460      {
2461        goto _block1__branch6;
2462      }
2463      Expr _vs_var_m_tag (_v_deref__xpr5, 0, 1);
2464      Expr _vt_name (_v_deref__xpr5, 1, 1);
2465      RF_TAILCALL (JavaMangle::Rfp2Java, (_vs_var_m_tag + _vt_name) (), _v_res1);
2466      goto _block1;
2467    }
2468  _block1__branch6: {}
2469    if (!_ve_xpr.eq (_ve_xpr, 0))
2470    {
2471      RF_FUNC_ERROR (unexpected_fail);
2472    }
2473    Expr _v_Paren1;
2474    RF_CALL (List::Paren, _ve_xpr, _v_Paren1);
2475    Expr _v_Infix_m_To_m_Java2;
2476    RF_CALL (Infix_m_To_m_Java, (_vs_acc, _c_112, _c_114, _v_Paren1), _v_Infix_m_To_m_Java2);
2477    _v_res1 = (_c_113 + _v_Infix_m_To_m_Java2 + _c_24);
2478  }
2479_block1: {}
2480RF_END
2481
2482RF_FUNC (Cond_m_To_m_Java, (RF_ARG _vs_acc, _ve_xpr;;), (RF_RES _v_res1;;))
2483  {
2484    {
2485      if ((_ve_xpr.get_len () != 0))
2486      {
2487        goto _block1__branch1;
2488      }
2489      _v_res1 = empty;
2490      goto _block1;
2491    }
2492  _block1__branch1: {}
2493    {
2494      if ((_ve_xpr.get_len () != 1))
2495      {
2496        goto _block1__branch2;
2497      }
2498      if (_ve_xpr.symbol_at (0))
2499      {
2500        goto _block1__branch2;
2501      }
2502      Expr _v_deref__xpr (_ve_xpr, 0);
2503      if ((_v_deref__xpr.get_len () != 4))
2504      {
2505        goto _block1__branch2;
2506      }
2507      if (_v_deref__xpr.symbol_at (2))
2508      {
2509        goto _block1__branch2;
2510      }
2511      if (_v_deref__xpr.symbol_at (3))
2512      {
2513        goto _block1__branch2;
2514      }
2515      Expr _v_deref__deref__xpr (_v_deref__xpr, 2);
2516      Expr _v_deref__deref__xpr2 (_v_deref__xpr, 3);
2517      uintptr_t _v_len1 = _v_deref__deref__xpr2.get_len ();
2518      uintptr_t _v_len2 = 0;
2519      if ((_v_len1 < _v_len2))
2520      {
2521        goto _block1__branch2;
2522      }
2523      uintptr_t _v_len__ress = (_v_len1 - _v_len2);
2524      uintptr_t _v_len3 = _v_deref__deref__xpr.get_len ();
2525      uintptr_t _v_len4 = 0;
2526      if ((_v_len3 < _v_len4))
2527      {
2528        goto _block1__branch2;
2529      }
2530      uintptr_t _v_len__args = (_v_len3 - _v_len4);
2531      if (!_c_115.term_eq (_v_deref__xpr, 0))
2532      {
2533        goto _block1__branch2;
2534      }
2535      Expr _vt_name (_v_deref__xpr, 1, 1);
2536      Expr _ve_args (_v_deref__deref__xpr, 0, _v_len__args);
2537      Expr _ve_ress (_v_deref__deref__xpr2, 0, _v_len__ress);
2538      Expr _ve_subst;
2539      RF_CALL (Copy_m_Args, (_ve_args, _ve_ress), (_ve_args, _ve_subst));
2540      Expr _v_Paren1;
2541      RF_CALL (List::Paren, _ve_ress, _v_Paren1);
2542      Expr _ve_arrays;
2543      RF_CALL (Expr_m_Args_m_To_m_Java, (_ve_args + _v_Paren1), (_ve_arrays, _ve_args));
2544      RF_CALL (Box::Put, (_vs_acc, (_ve_subst + _ve_arrays)), /*void*/);
2545      Expr _v_Name_m_To_m_Java1;
2546      RF_CALL (Name_m_To_m_Java, _vt_name, _v_Name_m_To_m_Java1);
2547      _v_res1 = (_v_Name_m_To_m_Java1 + _c_18 + _ve_args + _c_24);
2548      goto _block1;
2549    }
2550  _block1__branch2: {}
2551    {
2552      if ((_ve_xpr.get_len () != 1))
2553      {
2554        goto _block1__branch3;
2555      }
2556      if (_ve_xpr.symbol_at (0))
2557      {
2558        goto _block1__branch3;
2559      }
2560      Expr _v_deref__xpr2 (_ve_xpr, 0);
2561      uintptr_t _v_len5 = _v_deref__xpr2.get_len ();
2562      uintptr_t _v_len6 = 2;
2563      if ((_v_len5 < _v_len6))
2564      {
2565        goto _block1__branch3;
2566      }
2567      uintptr_t _v_len__expr = (_v_len5 - _v_len6);
2568      if (_v_deref__xpr2.symbol_at ((_v_len__expr + 1)))
2569      {
2570        goto _block1__branch3;
2571      }
2572      Expr _v_deref__deref__xpr22 (_v_deref__xpr2, (_v_len__expr + 1));
2573      uintptr_t _v_len7 = _v_deref__deref__xpr22.get_len ();
2574      uintptr_t _v_len8 = 0;
2575      if ((_v_len7 < _v_len8))
2576      {
2577        goto _block1__branch3;
2578      }
2579      uintptr_t _v_len__pos = (_v_len7 - _v_len8);
2580      if (!_c_116.term_eq (_v_deref__xpr2, 0))
2581      {
2582        goto _block1__branch3;
2583      }
2584      Expr _ve_expr (_v_deref__xpr2, 1, _v_len__expr);
2585      Expr _ve_pos (_v_deref__deref__xpr22, 0, _v_len__pos);
2586      Expr _ve_a;
2587      Expr _ve_j_m_expr;
2588      RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr, (_ve_a, _ve_j_m_expr));
2589      RF_CALL (Box::Put, (_vs_acc, _ve_a), /*void*/);
2590      Expr _v_Expr_m_Int_m_To_m_Java1;
2591      RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_pos), _v_Expr_m_Int_m_To_m_Java1);
2592      _v_res1 = (_ve_j_m_expr + _c_117 + _v_Expr_m_Int_m_To_m_Java1 + _c_24);
2593      goto _block1;
2594    }
2595  _block1__branch3: {}
2596    {
2597      if ((_ve_xpr.get_len () != 1))
2598      {
2599        goto _block1__branch4;
2600      }
2601      if (_ve_xpr.symbol_at (0))
2602      {
2603        goto _block1__branch4;
2604      }
2605      Expr _v_deref__xpr3 (_ve_xpr, 0);
2606      uintptr_t _v_len9 = _v_deref__xpr3.get_len ();
2607      uintptr_t _v_len10 = 1;
2608      if ((_v_len9 < _v_len10))
2609      {
2610        goto _block1__branch4;
2611      }
2612      uintptr_t _v_len__expr2 = (_v_len9 - _v_len10);
2613      if (!_c_118.term_eq (_v_deref__xpr3, 0))
2614      {
2615        goto _block1__branch4;
2616      }
2617      Expr _ve_expr (_v_deref__xpr3, 1, _v_len__expr2);
2618      Expr _v_Lookup1;
2619      if (!RF_CALL (Table::Lookup, (Iter_m_Vars, _ve_expr), _v_Lookup1))
2620      {
2621        RF_FUNC_ERROR (unexpected_fail);
2622      }
2623      _v_res1 = (_v_Lookup1 + _c_119);
2624      goto _block1;
2625    }
2626  _block1__branch4: {}
2627    {
2628      if ((_ve_xpr.get_len () != 1))
2629      {
2630        goto _block1__branch5;
2631      }
2632      if (_ve_xpr.symbol_at (0))
2633      {
2634        goto _block1__branch5;
2635      }
2636      Expr _v_deref__xpr4 (_ve_xpr, 0);
2637      uintptr_t _v_len11 = _v_deref__xpr4.get_len ();
2638      uintptr_t _v_len12 = 3;
2639      if ((_v_len11 < _v_len12))
2640      {
2641        goto _block1__branch5;
2642      }
2643      uintptr_t _v_len__expr1 = (_v_len11 - _v_len12);
2644      if (_v_deref__xpr4.symbol_at ((_v_len__expr1 + 1)))
2645      {
2646        goto _block1__branch5;
2647      }
2648      if (_v_deref__xpr4.symbol_at ((_v_len__expr1 + 2)))
2649      {
2650        goto _block1__branch5;
2651      }
2652      Expr _v_deref__deref__xpr4 (_v_deref__xpr4, (_v_len__expr1 + 1));
2653      Expr _v_deref__deref__xpr42 (_v_deref__xpr4, (_v_len__expr1 + 2));
2654      uintptr_t _v_len13 = _v_deref__deref__xpr42.get_len ();
2655      uintptr_t _v_len14 = 0;
2656      if ((_v_len13 < _v_len14))
2657      {
2658        goto _block1__branch5;
2659      }
2660      uintptr_t _v_len__pos2 = (_v_len13 - _v_len14);
2661      uintptr_t _v_len15 = _v_deref__deref__xpr4.get_len ();
2662      uintptr_t _v_len16 = 0;
2663      if ((_v_len15 < _v_len16))
2664      {
2665        goto _block1__branch5;
2666      }
2667      uintptr_t _v_len__expr22 = (_v_len15 - _v_len16);
2668      if (!_c_120.term_eq (_v_deref__xpr4, 0))
2669      {
2670        goto _block1__branch5;
2671      }
2672      Expr _ve_expr1 (_v_deref__xpr4, 1, _v_len__expr1);
2673      Expr _ve_expr2 (_v_deref__deref__xpr4, 0, _v_len__expr22);
2674      Expr _ve_pos (_v_deref__deref__xpr42, 0, _v_len__pos2);
2675      Expr _ve_a1;
2676      Expr _ve_j_m_expr1;
2677      RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr1, (_ve_a1, _ve_j_m_expr1));
2678      Expr _ve_a2;
2679      Expr _ve_j_m_expr2;
2680      RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr2, (_ve_a2, _ve_j_m_expr2));
2681      RF_CALL (Box::Put, (_vs_acc, (_ve_a1 + _ve_a2)), /*void*/);
2682      Expr _v_Expr_m_Int_m_To_m_Java2;
2683      RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_pos), _v_Expr_m_Int_m_To_m_Java2);
2684      _v_res1 = (_ve_j_m_expr1 + _c_121 + _ve_j_m_expr2 + _c_64 + _v_Expr_m_Int_m_To_m_Java2 + _c_24);
2685      goto _block1;
2686    }
2687  _block1__branch5: {}
2688    {
2689      if ((_ve_xpr.get_len () != 1))
2690      {
2691        goto _block1__branch6;
2692      }
2693      if (_ve_xpr.symbol_at (0))
2694      {
2695        goto _block1__branch6;
2696      }
2697      Expr _v_deref__xpr5 (_ve_xpr, 0);
2698      uintptr_t _v_len17 = _v_deref__xpr5.get_len ();
2699      uintptr_t _v_len18 = 3;
2700      if ((_v_len17 < _v_len18))
2701      {
2702        goto _block1__branch6;
2703      }
2704      uintptr_t _v_len__expr12 = (_v_len17 - _v_len18);
2705      if (_v_deref__xpr5.symbol_at ((_v_len__expr12 + 1)))
2706      {
2707        goto _block1__branch6;
2708      }
2709      if (_v_deref__xpr5.symbol_at ((_v_len__expr12 + 2)))
2710      {
2711        goto _block1__branch6;
2712      }
2713      Expr _v_deref__deref__xpr5 (_v_deref__xpr5, (_v_len__expr12 + 1));
2714      Expr _v_deref__deref__xpr52 (_v_deref__xpr5, (_v_len__expr12 + 2));
2715      uintptr_t _v_len19 = _v_deref__deref__xpr52.get_len ();
2716      uintptr_t _v_len20 = 0;
2717      if ((_v_len19 < _v_len20))
2718      {
2719        goto _block1__branch6;
2720      }
2721      uintptr_t _v_len__pos3 = (_v_len19 - _v_len20);
2722      uintptr_t _v_len21 = _v_deref__deref__xpr5.get_len ();
2723      uintptr_t _v_len22 = 0;
2724      if ((_v_len21 < _v_len22))
2725      {
2726        goto _block1__branch6;
2727      }
2728      uintptr_t _v_len__expr23 = (_v_len21 - _v_len22);
2729      if (!_c_122.term_eq (_v_deref__xpr5, 0))
2730      {
2731        goto _block1__branch6;
2732      }
2733      Expr _ve_expr1 (_v_deref__xpr5, 1, _v_len__expr12);
2734      Expr _ve_expr2 (_v_deref__deref__xpr5, 0, _v_len__expr23);
2735      Expr _ve_pos (_v_deref__deref__xpr52, 0, _v_len__pos3);
2736      Expr _ve_a1;
2737      Expr _ve_j_m_expr1;
2738      RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr1, (_ve_a1, _ve_j_m_expr1));
2739      Expr _ve_a2;
2740      Expr _ve_j_m_expr2;
2741      RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_expr2, (_ve_a2, _ve_j_m_expr2));
2742      RF_CALL (Box::Put, (_vs_acc, (_ve_a1 + _ve_a2)), /*void*/);
2743      Expr _v_Expr_m_Int_m_To_m_Java3;
2744      RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_pos), _v_Expr_m_Int_m_To_m_Java3);
2745      _v_res1 = (_ve_j_m_expr1 + _c_121 + _ve_j_m_expr2 + _c_64 + _v_Expr_m_Int_m_To_m_Java3 + _c_24);
2746      goto _block1;
2747    }
2748  _block1__branch6: {}
2749    {
2750      if ((_ve_xpr.get_len () != 1))
2751      {
2752        goto _block1__branch7;
2753      }
2754      if (_ve_xpr.symbol_at (0))
2755      {
2756        goto _block1__branch7;
2757      }
2758      Expr _v_deref__xpr6 (_ve_xpr, 0);
2759      uintptr_t _v_len23 = _v_deref__xpr6.get_len ();
2760      uintptr_t _v_len24 = 1;
2761      if ((_v_len23 < _v_len24))
2762      {
2763        goto _block1__branch7;
2764      }
2765      uintptr_t _v_len__cond = (_v_len23 - _v_len24);
2766      if (!_c_123.term_eq (_v_deref__xpr6, 0))
2767      {
2768        goto _block1__branch7;
2769      }
2770      Expr _ve_cond (_v_deref__xpr6, 1, _v_len__cond);
2771      Expr _v_Cond_m_To_m_Java1;
2772      RF_CALL (Cond_m_To_m_Java, (_vs_acc, _ve_cond), _v_Cond_m_To_m_Java1);
2773      _v_res1 = (_c_124 + _v_Cond_m_To_m_Java1);
2774      goto _block1;
2775    }
2776  _block1__branch7: {}
2777    {
2778      if ((_ve_xpr.get_len () != 1))
2779      {
2780        goto _block1__branch8;
2781      }
2782      if (_ve_xpr.symbol_at (0))
2783      {
2784        goto _block1__branch8;
2785      }
2786      Expr _v_deref__xpr7 (_ve_xpr, 0);
2787      uintptr_t _v_len25 = _v_deref__xpr7.get_len ();
2788      uintptr_t _v_len26 = 2;
2789      if ((_v_len25 < _v_len26))
2790      {
2791        goto _block1__branch8;
2792      }
2793      uintptr_t _v_len__args2 = (_v_len25 - _v_len26);
2794      if (!_c_94.term_eq (_v_deref__xpr7, 0))
2795      {
2796        goto _block1__branch8;
2797      }
2798      if (!_v_deref__xpr7.symbol_at (1))
2799      {
2800        goto _block1__branch8;
2801      }
2802      Expr _vs_op (_v_deref__xpr7, 1, 1);
2803      Expr _ve_args (_v_deref__xpr7, 2, _v_len__args2);
2804      {
2805        {
2806          {
2807            {
2808              if (!_vs_op.term_eq (_c_114, 0))
2809              {
2810                goto _block3__branch1;
2811              }
2812              goto _block3;
2813            }
2814          _block3__branch1: {}
2815            {
2816              if (!_vs_op.term_eq (_c_125, 0))
2817              {
2818                goto _block3__branch2;
2819              }
2820              goto _block3;
2821            }
2822          _block3__branch2: {}
2823            {
2824              if (!_vs_op.term_eq (_c_126, 0))
2825              {
2826                goto _block3__branch3;
2827              }
2828              goto _block3;
2829            }
2830          _block3__branch3: {}
2831            {
2832              if (!_vs_op.term_eq (_c_127, 0))
2833              {
2834                goto _block3__branch4;
2835              }
2836              goto _block3;
2837            }
2838          _block3__branch4: {}
2839            if (!_vs_op.term_eq (_c_128, 0))
2840            {
2841              goto _block2__branch1;
2842            }
2843          }
2844        _block3: {}
2845          Expr _v_Infix_m_To_m_Java1;
2846          RF_CALL (Infix_m_To_m_Java, (_vs_acc, _c_112, _vs_op, _ve_args), _v_Infix_m_To_m_Java1);
2847          _v_res1 = (_v_Infix_m_To_m_Java1 + _c_129);
2848          goto _block2;
2849        }
2850      _block2__branch1: {}
2851        Expr _v_Op_m_Arg_m_To_m_Java1;
2852        RF_CALL (Op_m_Arg_m_To_m_Java, _vs_op, _v_Op_m_Arg_m_To_m_Java1);
2853        Expr _v_Infix_m_To_m_Java2;
2854        RF_CALL (Infix_m_To_m_Java, (_vs_acc, _v_Op_m_Arg_m_To_m_Java1, _vs_op, _ve_args), _v_Infix_m_To_m_Java2);
2855        _v_res1 = (_c_113 + _v_Infix_m_To_m_Java2 + _c_24);
2856      }
2857    _block2: {}
2858      goto _block1;
2859    }
2860  _block1__branch8: {}
2861    if (!_ve_xpr.eq (_ve_xpr, 0))
2862    {
2863      RF_FUNC_ERROR (unexpected_fail);
2864    }
2865    Expr _v_Paren2;
2866    RF_CALL (List::Paren, _ve_xpr, _v_Paren2);
2867    Expr _v_Infix_m_To_m_Java3;
2868    RF_CALL (Infix_m_To_m_Java, (_vs_acc, _c_130, _c_131, _v_Paren2), _v_Infix_m_To_m_Java3);
2869    _v_res1 = (_c_113 + _v_Infix_m_To_m_Java3 + _c_24);
2870  }
2871_block1: {}
2872RF_END
2873
2874RF_FUNC (Infix_m_To_m_Java, (RF_ARG _vs_acc, _vs_arg2java, _vs_op, _ve_args;;), (RF_RES _v_res1;;))
2875  {
2876    {
2877      uintptr_t _v_len1 = _ve_args.get_len ();
2878      uintptr_t _v_len2 = 1;
2879      if ((_v_len1 < _v_len2))
2880      {
2881        goto _block1__branch1;
2882      }
2883      uintptr_t _v_len__rest = (_v_len1 - _v_len2);
2884      if (_ve_args.symbol_at (0))
2885      {
2886        goto _block1__branch1;
2887      }
2888      Expr _v_deref__args (_ve_args, 0);
2889      uintptr_t _v_len3 = _v_deref__args.get_len ();
2890      uintptr_t _v_len4 = 0;
2891      if ((_v_len3 < _v_len4))
2892      {
2893        goto _block1__branch1;
2894      }
2895      uintptr_t _v_len__arg = (_v_len3 - _v_len4);
2896      Expr _ve_rest (_ve_args, 1, _v_len__rest);
2897      Expr _ve_arg (_v_deref__args, 0, _v_len__arg);
2898      if (!RF_CALL (Apply::Apply, (_vs_arg2java, (_vs_acc + _ve_arg)), _ve_arg))
2899      {
2900        RF_FUNC_ERROR (unexpected_fail);
2901      }
2902      RF_CALL (Infix_m_To_m_Java, (_vs_acc, _vs_arg2java, _vs_op, _ve_rest), _ve_rest);
2903      {
2904        {
2905          uintptr_t _v_len5 = _ve_rest.get_len ();
2906          uintptr_t _v_len6 = 0;
2907          if ((_v_len5 < (_v_len6 + 1)))
2908          {
2909            goto _block2__branch1;
2910          }
2911          uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_373_m_28 = (_v_len5 - _v_len6);
2912          uintptr_t _v_len7 = _ve_arg.get_len ();
2913          uintptr_t _v_len8 = 0;
2914          if ((_v_len7 < (_v_len8 + 1)))
2915          {
2916            goto _block2__branch1;
2917          }
2918          uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_373_m_16 = (_v_len7 - _v_len8);
2919          Expr _vv__e__e_tmp_m_rfp__asail__javarf_m_373_m_16 (_ve_arg, 0, _v_len___e__e_tmp_m_rfp__asail__javarf_m_373_m_16);
2920          Expr _vv__e__e_tmp_m_rfp__asail__javarf_m_373_m_28 (_ve_rest, 0, _v_len___e__e_tmp_m_rfp__asail__javarf_m_373_m_28);
2921          _v_res1 = (_ve_arg + _c_19 + _vs_op + _c_19 + _ve_rest);
2922          goto _block2;
2923        }
2924      _block2__branch1: {}
2925        _v_res1 = (_ve_arg + _ve_rest);
2926      }
2927    _block2: {}
2928      goto _block1;
2929    }
2930  _block1__branch1: {}
2931    _v_res1 = empty;
2932  }
2933_block1: {}
2934RF_END
2935
2936RF_FUNC (Op_m_Arg_m_To_m_Java, (RF_ARG _vs_op;;), (RF_RES _v_res1;;))
2937  {
2938    {
2939      {
2940        {
2941          if (!_vs_op.term_eq (_c_131, 0))
2942          {
2943            goto _block2__branch1;
2944          }
2945          goto _block2;
2946        }
2947      _block2__branch1: {}
2948        if (!_vs_op.term_eq (_c_132, 0))
2949        {
2950          goto _block1__branch1;
2951        }
2952      }
2953    _block2: {}
2954      _v_res1 = _c_130;
2955      goto _block1;
2956    }
2957  _block1__branch1: {}
2958    {
2959      {
2960        if (!_vs_op.term_eq (_c_133, 0))
2961        {
2962          goto _block3__branch1;
2963        }
2964        goto _block3;
2965      }
2966    _block3__branch1: {}
2967      {
2968        if (!_vs_op.term_eq (_c_134, 0))
2969        {
2970          goto _block3__branch2;
2971        }
2972        goto _block3;
2973      }
2974    _block3__branch2: {}
2975      {
2976        if (!_vs_op.term_eq (_c_135, 0))
2977        {
2978          goto _block3__branch3;
2979        }
2980        goto _block3;
2981      }
2982    _block3__branch3: {}
2983      {
2984        if (!_vs_op.term_eq (_c_136, 0))
2985        {
2986          goto _block3__branch4;
2987        }
2988        goto _block3;
2989      }
2990    _block3__branch4: {}
2991      {
2992        if (!_vs_op.term_eq (_c_137, 0))
2993        {
2994          goto _block3__branch5;
2995        }
2996        goto _block3;
2997      }
2998    _block3__branch5: {}
2999      {
3000        if (!_vs_op.term_eq (_c_138, 0))
3001        {
3002          goto _block3__branch6;
3003        }
3004        goto _block3;
3005      }
3006    _block3__branch6: {}
3007      {
3008        if (!_vs_op.term_eq (_c_114, 0))
3009        {
3010          goto _block3__branch7;
3011        }
3012        goto _block3;
3013      }
3014    _block3__branch7: {}
3015      {
3016        if (!_vs_op.term_eq (_c_125, 0))
3017        {
3018          goto _block3__branch8;
3019        }
3020        goto _block3;
3021      }
3022    _block3__branch8: {}
3023      {
3024        if (!_vs_op.term_eq (_c_126, 0))
3025        {
3026          goto _block3__branch9;
3027        }
3028        goto _block3;
3029      }
3030    _block3__branch9: {}
3031      {
3032        if (!_vs_op.term_eq (_c_127, 0))
3033        {
3034          goto _block3__branch10;
3035        }
3036        goto _block3;
3037      }
3038    _block3__branch10: {}
3039      if (!_vs_op.term_eq (_c_128, 0))
3040      {
3041        RF_FUNC_ERROR (unexpected_fail);
3042      }
3043    }
3044  _block3: {}
3045    _v_res1 = _c_112;
3046  }
3047_block1: {}
3048RF_END
3049
3050RF_FUNC (Step_m_To_m_Java, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
3051  {
3052    {
3053      if ((_v_arg1.get_len () != 0))
3054      {
3055        goto _block1__branch1;
3056      }
3057      _v_res1 = empty;
3058      goto _block1;
3059    }
3060  _block1__branch1: {}
3061    {
3062      if ((_v_arg1.get_len () != 1))
3063      {
3064        goto _block1__branch2;
3065      }
3066      if (_v_arg1.symbol_at (0))
3067      {
3068        goto _block1__branch2;
3069      }
3070      Expr _v_deref__arg1 (_v_arg1, 0);
3071      uintptr_t _v_len1 = _v_deref__arg1.get_len ();
3072      uintptr_t _v_len2 = 1;
3073      if ((_v_len1 < _v_len2))
3074      {
3075        goto _block1__branch2;
3076      }
3077      uintptr_t _v_len__expr = (_v_len1 - _v_len2);
3078      if (!_c_139.term_eq (_v_deref__arg1, 0))
3079      {
3080        goto _block1__branch2;
3081      }
3082      Expr _ve_expr (_v_deref__arg1, 1, _v_len__expr);
3083      Expr _v_Lookup1;
3084      if (!RF_CALL (Table::Lookup, (Iter_m_Vars, _ve_expr), _v_Lookup1))
3085      {
3086        RF_FUNC_ERROR (unexpected_fail);
3087      }
3088      _v_res1 = (_v_Lookup1 + _c_140);
3089      goto _block1;
3090    }
3091  _block1__branch2: {}
3092    if ((_v_arg1.get_len () != 1))
3093    {
3094      RF_FUNC_ERROR (unexpected_fail);
3095    }
3096    if (_v_arg1.symbol_at (0))
3097    {
3098      RF_FUNC_ERROR (unexpected_fail);
3099    }
3100    Expr _v_deref__arg12 (_v_arg1, 0);
3101    uintptr_t _v_len3 = _v_deref__arg12.get_len ();
3102    uintptr_t _v_len4 = 1;
3103    if ((_v_len3 < _v_len4))
3104    {
3105      RF_FUNC_ERROR (unexpected_fail);
3106    }
3107    uintptr_t _v_len__expr2 = (_v_len3 - _v_len4);
3108    if (!_c_141.term_eq (_v_deref__arg12, 0))
3109    {
3110      RF_FUNC_ERROR (unexpected_fail);
3111    }
3112    Expr _ve_expr (_v_deref__arg12, 1, _v_len__expr2);
3113    Expr _v_Lookup2;
3114    if (!RF_CALL (Table::Lookup, (Iter_m_Vars, _ve_expr), _v_Lookup2))
3115    {
3116      RF_FUNC_ERROR (unexpected_fail);
3117    }
3118    _v_res1 = (_v_Lookup2 + _c_142);
3119  }
3120_block1: {}
3121RF_END
3122
3123RF_FUNC (Const_m_Expr_m_To_m_Java, (RF_ARG _v_arg1;;), (RF_RES _v_res1, _v_res2;;))
3124  {
3125    {
3126      if ((_v_arg1.get_len () != 0))
3127      {
3128        goto _block1__branch1;
3129      }
3130      _v_res1 = empty;
3131      _v_res2 = _c_95;
3132      goto _block1;
3133    }
3134  _block1__branch1: {}
3135    {
3136      if ((_v_arg1.get_len () != 1))
3137      {
3138        goto _block1__branch2;
3139      }
3140      if (_v_arg1.symbol_at (0))
3141      {
3142        goto _block1__branch2;
3143      }
3144      Expr _v_deref__arg1 (_v_arg1, 0);
3145      if ((_v_deref__arg1.get_len () != 4))
3146      {
3147        goto _block1__branch2;
3148      }
3149      if (!_c_63.term_eq (_v_deref__arg1, 0))
3150      {
3151        goto _block1__branch2;
3152      }
3153      if (!_v_deref__arg1.symbol_at (2))
3154      {
3155        goto _block1__branch2;
3156      }
3157      if (!_v_deref__arg1.symbol_at (3))
3158      {
3159        goto _block1__branch2;
3160      }
3161      Expr _vt_name (_v_deref__arg1, 1, 1);
3162      Expr _vs_pos (_v_deref__arg1, 2, 1);
3163      Expr _vs_len (_v_deref__arg1, 3, 1);
3164      Expr _v_Rfp2Java1;
3165      RF_CALL (JavaMangle::Rfp2Java, _vt_name, _v_Rfp2Java1);
3166      _v_res1 = empty;
3167      _v_res2 = (_c_96 + _v_Rfp2Java1 + _c_64 + _vs_pos + _c_64 + _vs_len + _c_24);
3168      goto _block1;
3169    }
3170  _block1__branch2: {}
3171    Expr _v_Const_m_Expr_m_Aux1;
3172    Expr _v_Const_m_Expr_m_Aux2;
3173    RF_CALL (Const_m_Expr_m_Aux, (empty, _v_arg1), (_v_Const_m_Expr_m_Aux1, _v_Const_m_Expr_m_Aux2));
3174    {
3175      {
3176        if (((_v_Const_m_Expr_m_Aux2.get_len () + 1) != 2))
3177        {
3178          goto _block2__branch1;
3179        }
3180        Expr _v_compose1 ((_v_Const_m_Expr_m_Aux1 () + _v_Const_m_Expr_m_Aux2));
3181        if (_v_compose1.symbol_at (0))
3182        {
3183          goto _block2__branch1;
3184        }
3185        if (_v_compose1.symbol_at (1))
3186        {
3187          goto _block2__branch1;
3188        }
3189        Expr _v_deref__compose1 (_v_compose1, 0);
3190        Expr _v_deref__compose12 (_v_compose1, 1);
3191        uintptr_t _v_len1 = _v_deref__compose12.get_len ();
3192        uintptr_t _v_len2 = 0;
3193        if ((_v_len1 < _v_len2))
3194        {
3195          goto _block2__branch1;
3196        }
3197        uintptr_t _v_len__1 = (_v_len1 - _v_len2);
3198        uintptr_t _v_len3 = _v_deref__compose1.get_len ();
3199        uintptr_t _v_len4 = 0;
3200        if ((_v_len3 < _v_len4))
3201        {
3202          goto _block2__branch1;
3203        }
3204        uintptr_t _v_len__arrays = (_v_len3 - _v_len4);
3205        Expr _ve_arrays (_v_deref__compose1, 0, _v_len__arrays);
3206        Expr _ve_1 (_v_deref__compose12, 0, _v_len__1);
3207        _v_res1 = _ve_arrays;
3208        _v_res2 = _ve_1;
3209        goto _block2;
3210      }
3211    _block2__branch1: {}
3212      {
3213        if (((_v_Const_m_Expr_m_Aux2.get_len () + 1) != 3))
3214        {
3215          goto _block2__branch2;
3216        }
3217        Expr _v_compose2 ((_v_Const_m_Expr_m_Aux1 () + _v_Const_m_Expr_m_Aux2));
3218        if (_v_compose2.symbol_at (0))
3219        {
3220          goto _block2__branch2;
3221        }
3222        if (_v_compose2.symbol_at (1))
3223        {
3224          goto _block2__branch2;
3225        }
3226        if (_v_compose2.symbol_at (2))
3227        {
3228          goto _block2__branch2;
3229        }
3230        Expr _v_deref__compose2 (_v_compose2, 0);
3231        Expr _v_deref__compose22 (_v_compose2, 1);
3232        Expr _v_deref__compose23 (_v_compose2, 2);
3233        uintptr_t _v_len5 = _v_deref__compose2.get_len ();
3234        uintptr_t _v_len6 = 0;
3235        if ((_v_len5 < _v_len6))
3236        {
3237          goto _block2__branch2;
3238        }
3239        uintptr_t _v_len__arrays2 = (_v_len5 - _v_len6);
3240        uintptr_t _v_len7 = _v_deref__compose23.get_len ();
3241        uintptr_t _v_len8 = 0;
3242        if ((_v_len7 < _v_len8))
3243        {
3244          goto _block2__branch2;
3245        }
3246        uintptr_t _v_len__2 = (_v_len7 - _v_len8);
3247        uintptr_t _v_len9 = _v_deref__compose22.get_len ();
3248        uintptr_t _v_len10 = 0;
3249        if ((_v_len9 < _v_len10))
3250        {
3251          goto _block2__branch2;
3252        }
3253        uintptr_t _v_len__12 = (_v_len9 - _v_len10);
3254        Expr _ve_arrays (_v_deref__compose2, 0, _v_len__arrays2);
3255        Expr _ve_1 (_v_deref__compose22, 0, _v_len__12);
3256        Expr _ve_2 (_v_deref__compose23, 0, _v_len__2);
3257        _v_res1 = _ve_arrays;
3258        _v_res2 = (_c_96 + _ve_1 + _c_64 + _ve_2 + _c_24);
3259        goto _block2;
3260      }
3261    _block2__branch2: {}
3262      uintptr_t _v_len11 = (_v_Const_m_Expr_m_Aux2.get_len () + 1);
3263      uintptr_t _v_len12 = 1;
3264      if ((_v_len11 < _v_len12))
3265      {
3266        RF_FUNC_ERROR (unexpected_fail);
3267      }
3268      uintptr_t _v_len__concat = (_v_len11 - _v_len12);
3269      Expr _v_compose3 ((_v_Const_m_Expr_m_Aux1 () + _v_Const_m_Expr_m_Aux2));
3270      if (_v_compose3.symbol_at (0))
3271      {
3272        RF_FUNC_ERROR (unexpected_fail);
3273      }
3274      Expr _v_deref__compose3 (_v_compose3, 0);
3275      uintptr_t _v_len13 = _v_deref__compose3.get_len ();
3276      uintptr_t _v_len14 = 0;
3277      if ((_v_len13 < _v_len14))
3278      {
3279        RF_FUNC_ERROR (unexpected_fail);
3280      }
3281      uintptr_t _v_len__arrays3 = (_v_len13 - _v_len14);
3282      Expr _ve_concat (_v_compose3, 1, _v_len__concat);
3283      Expr _ve_arrays (_v_deref__compose3, 0, _v_len__arrays3);
3284      Expr _v_Free_m_Index1;
3285      RF_CALL (Free_m_Index, /*void*/, _v_Free_m_Index1);
3286      Expr _ve_new_m_var ((_c_43 + _v_Free_m_Index1));
3287      Expr _v_Intersperse1;
3288      RF_CALL (List::Intersperse, (_c_64, _ve_concat), _v_Intersperse1);
3289      Expr _v_Concat1;
3290      RF_CALL (List::Concat, _v_Intersperse1, _v_Concat1);
3291      _v_res1 = (_ve_arrays + (_c_143 + _ve_new_m_var + _c_100 + _v_Concat1 + _c_99) ());
3292      _v_res2 = (_c_102 + _ve_new_m_var + _c_24);
3293    }
3294  _block2: {}
3295  }
3296_block1: {}
3297RF_END
3298
3299RF_FUNC (Const_m_Expr_m_Aux, (RF_ARG _ve_accum, _ve_expr;;), (RF_RES _v_res1, _v_res2;;))
3300  {
3301    {
3302      uintptr_t _v_len1 = _ve_expr.get_len ();
3303      uintptr_t _v_len2 = 1;
3304      if ((_v_len1 < _v_len2))
3305      {
3306        goto _block1__branch1;
3307      }
3308      uintptr_t _v_len__rest = (_v_len1 - _v_len2);
3309      if (!_ve_expr.symbol_at (0))
3310      {
3311        goto _block1__branch1;
3312      }
3313      Expr _vs_sym (_ve_expr, 0, 1);
3314      Expr _ve_rest (_ve_expr, 1, _v_len__rest);
3315      if (!RF_CALL (Class::Char_q_, _vs_sym, /*void*/))
3316      {
3317        goto _block1__branch1;
3318      }
3319      Expr _v_Symbol_m_To_m_Java1;
3320      RF_CALL (Symbol_m_To_m_Java, _vs_sym, _v_Symbol_m_To_m_Java1);
3321      RF_TAILCALL (Const_m_Expr_m_Aux, ((_ve_accum + _v_Symbol_m_To_m_Java1), _ve_rest), (_v_res1, _v_res2));
3322      goto _block1;
3323    }
3324  _block1__branch1: {}
3325    {
3326      uintptr_t _v_len3 = _ve_accum.get_len ();
3327      uintptr_t _v_len4 = 0;
3328      if ((_v_len3 < (_v_len4 + 1)))
3329      {
3330        goto _block1__branch2;
3331      }
3332      uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_414_m_14 = (_v_len3 - _v_len4);
3333      Expr _vv__e__e_tmp_m_rfp__asail__javarf_m_414_m_14 (_ve_accum, 0, _v_len___e__e_tmp_m_rfp__asail__javarf_m_414_m_14);
3334      Expr _ve_arrays;
3335      Expr _ve_j_m_expr;
3336      RF_CALL (Const_m_Expr_m_Aux, (empty, _ve_expr), (_ve_arrays, _ve_j_m_expr));
3337      _v_res1 = _ve_arrays;
3338      _v_res2 = ((_c_145 + _ve_accum + _c_144) () + _ve_j_m_expr);
3339      goto _block1;
3340    }
3341  _block1__branch2: {}
3342    {
3343      uintptr_t _v_len5 = _ve_expr.get_len ();
3344      uintptr_t _v_len6 = 1;
3345      if ((_v_len5 < _v_len6))
3346      {
3347        goto _block1__branch3;
3348      }
3349      uintptr_t _v_len__rest2 = (_v_len5 - _v_len6);
3350      Expr _vt_item (_ve_expr, 0, 1);
3351      Expr _ve_rest (_ve_expr, 1, _v_len__rest2);
3352      Expr _ve_arrays;
3353      Expr _ve_java_m_item;
3354      {
3355        {
3356          if (_vt_item.symbol_at (0))
3357          {
3358            goto _block2__branch1;
3359          }
3360          Expr _v_deref__item (_vt_item, 0);
3361          uintptr_t _v_len7 = _v_deref__item.get_len ();
3362          uintptr_t _v_len8 = 1;
3363          if ((_v_len7 < _v_len8))
3364          {
3365            goto _block2__branch1;
3366          }
3367          uintptr_t _v_len__paren_m_expr = (_v_len7 - _v_len8);
3368          if (!_c_89.term_eq (_v_deref__item, 0))
3369          {
3370            goto _block2__branch1;
3371          }
3372          Expr _ve_paren_m_expr (_v_deref__item, 1, _v_len__paren_m_expr);
3373          Expr _v_arrays__1;
3374          Expr _ve_j_m_expr;
3375          RF_CALL (Const_m_Expr_m_To_m_Java, _ve_paren_m_expr, (_v_arrays__1, _ve_j_m_expr));
3376          _ve_arrays = _v_arrays__1;
3377          _ve_java_m_item = (_c_96 + _ve_j_m_expr + _c_24) ();
3378          goto _block2;
3379        }
3380      _block2__branch1: {}
3381        {
3382          if (_vt_item.symbol_at (0))
3383          {
3384            goto _block2__branch2;
3385          }
3386          Expr _v_deref__item2 (_vt_item, 0);
3387          if ((_v_deref__item2.get_len () != 2))
3388          {
3389            goto _block2__branch2;
3390          }
3391          if (!_c_105.term_eq (_v_deref__item2, 0))
3392          {
3393            goto _block2__branch2;
3394          }
3395          Expr _vt_name (_v_deref__item2, 1, 1);
3396          Expr _v_Name_m_To_m_Java1;
3397          RF_CALL (Name_m_To_m_Java, _vt_name, _v_Name_m_To_m_Java1);
3398          _ve_arrays = empty;
3399          _ve_java_m_item = _v_Name_m_To_m_Java1 ();
3400          goto _block2;
3401        }
3402      _block2__branch2: {}
3403        {
3404          if (_vt_item.symbol_at (0))
3405          {
3406            goto _block2__branch3;
3407          }
3408          Expr _v_deref__item3 (_vt_item, 0);
3409          uintptr_t _v_len9 = _v_deref__item3.get_len ();
3410          uintptr_t _v_len10 = 1;
3411          if ((_v_len9 < _v_len10))
3412          {
3413            goto _block2__branch3;
3414          }
3415          uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_423_m_14 = (_v_len9 - _v_len10);
3416          if (!_c_75.term_eq (_v_deref__item3, 0))
3417          {
3418            goto _block2__branch3;
3419          }
3420          Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_423_m_14 (_v_deref__item3, 1, _v_len___e__e_tmp_m_rfp__asail__javarf_m_423_m_14);
3421          Expr _v_Rfp2Java1;
3422          RF_CALL (JavaMangle::Rfp2Java, _vt_item, _v_Rfp2Java1);
3423          _ve_arrays = empty;
3424          _ve_java_m_item = _v_Rfp2Java1 ();
3425          goto _block2;
3426        }
3427      _block2__branch3: {}
3428        {
3429          if (_vt_item.symbol_at (0))
3430          {
3431            goto _block2__branch4;
3432          }
3433          Expr _v_deref__item4 (_vt_item, 0);
3434          if ((_v_deref__item4.get_len () != 2))
3435          {
3436            goto _block2__branch4;
3437          }
3438          if (!_c_14.term_eq (_v_deref__item4, 0))
3439          {
3440            goto _block2__branch4;
3441          }
3442          Expr _vt_name (_v_deref__item4, 1, 1);
3443          Expr _v_Name_m_To_m_Java2;
3444          RF_CALL (Name_m_To_m_Java, _vt_name, _v_Name_m_To_m_Java2);
3445          _ve_arrays = empty;
3446          _ve_java_m_item = (_c_150 + (_c_148 + (_c_147 + _v_Name_m_To_m_Java2 + _c_146) () + _c_5) () + _c_149) ();
3447          goto _block2;
3448        }
3449      _block2__branch4: {}
3450        {
3451          if (_vt_item.symbol_at (0))
3452          {
3453            goto _block2__branch5;
3454          }
3455          Expr _v_deref__item5 (_vt_item, 0);
3456          if ((_v_deref__item5.get_len () != 2))
3457          {
3458            goto _block2__branch5;
3459          }
3460          if (!_c_12.term_eq (_v_deref__item5, 0))
3461          {
3462            goto _block2__branch5;
3463          }
3464          Expr _vt_name (_v_deref__item5, 1, 1);
3465          Expr _v_Name_m_To_m_Java3;
3466          RF_CALL (Name_m_To_m_Java, _vt_name, _v_Name_m_To_m_Java3);
3467          _ve_arrays = empty;
3468          _ve_java_m_item = (_c_150 + (_c_148 + ((_v_Name_m_To_m_Java3 + _c_146) () + _c_16) () + _c_5) () + _c_149) ();
3469          goto _block2;
3470        }
3471      _block2__branch5: {}
3472        if (!_vt_item.symbol_at (0))
3473        {
3474          RF_FUNC_ERROR (unexpected_fail);
3475        }
3476        Expr _vs_sym (_vt_item, 0, 1);
3477        {
3478          {
3479            if (!RF_CALL (Class::Int_q_, _vs_sym, /*void*/))
3480            {
3481              goto _block3__branch1;
3482            }
3483            {
3484              {
3485                Expr _v__q_1;
3486                RF_CALL (Box::_q_, Int, _v__q_1);
3487                if ((_v__q_1.get_len () != 1))
3488                {
3489                  goto _block4__branch1;
3490                }
3491                if (!_c_1.term_eq (_v__q_1, 0))
3492                {
3493                  goto _block4__branch1;
3494                }
3495                RF_CALL (Table::Bind, (Inputs, _c_151, empty), /*void*/);
3496                goto _block4;
3497              }
3498            _block4__branch1: {}
3499            }
3500          _block4: {}
3501            Expr _v__q_2;
3502            RF_CALL (Box::_q_, Int, _v__q_2);
3503            _ve_arrays = empty;
3504            _ve_java_m_item = (_c_153 + _v__q_2 + _c_81 + _vs_sym + _c_152) ();
3505            goto _block3;
3506          }
3507        _block3__branch1: {}
3508          if (!RF_CALL (Class::Word_q_, _vs_sym, /*void*/))
3509          {
3510            RF_FUNC_ERROR (unexpected_fail);
3511          }
3512          Expr _v_Symbol_m_To_m_Java2;
3513          RF_CALL (Symbol_m_To_m_Java, _vs_sym, _v_Symbol_m_To_m_Java2);
3514          _ve_arrays = empty;
3515          _ve_java_m_item = (_c_154 + _v_Symbol_m_To_m_Java2 + _c_152) ();
3516        }
3517      _block3: {}
3518      }
3519    _block2: {}
3520      Expr _ve_new_m_arrays;
3521      Expr _ve_java_m_rest;
3522      RF_CALL (Const_m_Expr_m_Aux, (empty, _ve_rest), (_ve_new_m_arrays, _ve_java_m_rest));
3523      _v_res1 = (_ve_arrays + _ve_new_m_arrays);
3524      _v_res2 = (_ve_java_m_item + _ve_java_m_rest);
3525      goto _block1;
3526    }
3527  _block1__branch3: {}
3528    _v_res1 = empty;
3529    _v_res2 = empty;
3530  }
3531_block1: {}
3532RF_END
3533
3534RF_FUNC (Symbol_m_To_m_Java, (RF_ARG _vs_ObjectSymbol;;), (RF_RES _v_res1;;))
3535  Expr _ve_symbol;
3536  RF_CALL (Convert::To_m_Chars, _vs_ObjectSymbol, _ve_symbol);
3537  Expr _ve_java_m_symbol (empty);
3538  for ( ; ; )
3539  {
3540    {
3541      if ((_ve_symbol.get_len () != 0))
3542      {
3543        goto _iter1;
3544      }
3545      _v_res1 = _ve_java_m_symbol;
3546      goto _exit__iter1;
3547    }
3548  _iter1: {}
3549    uintptr_t _v_len1 = _ve_symbol.get_len ();
3550    uintptr_t _v_len2 = 1;
3551    if ((_v_len1 < _v_len2))
3552    {
3553      RF_FUNC_ERROR (unexpected_fail);
3554    }
3555    uintptr_t _v_len__rest = (_v_len1 - _v_len2);
3556    if (!_ve_symbol.symbol_at (0))
3557    {
3558      RF_FUNC_ERROR (unexpected_fail);
3559    }
3560    Expr _vs_char (_ve_symbol, 0, 1);
3561    Expr _ve_rest (_ve_symbol, 1, _v_len__rest);
3562    Expr _ve_java_m_char;
3563    {
3564      {
3565        if (!_vs_char.term_eq (_c_155, 0))
3566        {
3567          goto _block3__branch1;
3568        }
3569        _ve_java_m_char = _c_156;
3570        goto _block3;
3571      }
3572    _block3__branch1: {}
3573      {
3574        if (!_vs_char.term_eq (_c_157, 0))
3575        {
3576          goto _block3__branch2;
3577        }
3578        _ve_java_m_char = _c_158;
3579        goto _block3;
3580      }
3581    _block3__branch2: {}
3582      {
3583        if (!_vs_char.term_eq (_c_159, 0))
3584        {
3585          goto _block3__branch3;
3586        }
3587        _ve_java_m_char = _c_160;
3588        goto _block3;
3589      }
3590    _block3__branch3: {}
3591      {
3592        if (!_vs_char.term_eq (_c_161, 0))
3593        {
3594          goto _block3__branch4;
3595        }
3596        _ve_java_m_char = _c_162;
3597        goto _block3;
3598      }
3599    _block3__branch4: {}
3600      {
3601        if (!_vs_char.term_eq (_c_163, 0))
3602        {
3603          goto _block3__branch5;
3604        }
3605        _ve_java_m_char = _c_164;
3606        goto _block3;
3607      }
3608    _block3__branch5: {}
3609      if (!_vs_char.symbol_at (0))
3610      {
3611        RF_FUNC_ERROR (unexpected_fail);
3612      }
3613      Expr _vs__e__e_tmp_m_rfp__asail__javarf_m_462_m_8 (_vs_char, 0, 1);
3614      _ve_java_m_char = _vs_char;
3615    }
3616  _block3: {}
3617    _ve_symbol = _ve_rest;
3618    _ve_java_m_symbol = (_ve_java_m_symbol + _ve_java_m_char);
3619  }
3620_exit__iter1: {}
3621RF_END
3622
3623RF_FUNC (Int_m_Args_m_To_m_Java, (RF_ARG _vs_acc, _ve_args;;), (RF_RES _v_res1;;))
3624  Expr _v_args__1 (_ve_args);
3625  Expr _ve_java_m_args (empty);
3626  for ( ; ; )
3627  {
3628    {
3629      if ((_v_args__1.get_len () != 0))
3630      {
3631        goto _iter1;
3632      }
3633      _v_res1 = _ve_java_m_args;
3634      goto _exit__iter1;
3635    }
3636  _iter1: {}
3637    uintptr_t _v_len1 = _v_args__1.get_len ();
3638    uintptr_t _v_len2 = 1;
3639    if ((_v_len1 < _v_len2))
3640    {
3641      RF_FUNC_ERROR (unexpected_fail);
3642    }
3643    uintptr_t _v_len__rest = (_v_len1 - _v_len2);
3644    if (_v_args__1.symbol_at (0))
3645    {
3646      RF_FUNC_ERROR (unexpected_fail);
3647    }
3648    Expr _v_deref__args__1 (_v_args__1, 0);
3649    uintptr_t _v_len3 = _v_deref__args__1.get_len ();
3650    uintptr_t _v_len4 = 0;
3651    if ((_v_len3 < _v_len4))
3652    {
3653      RF_FUNC_ERROR (unexpected_fail);
3654    }
3655    uintptr_t _v_len__arg = (_v_len3 - _v_len4);
3656    Expr _ve_rest (_v_args__1, 1, _v_len__rest);
3657    Expr _ve_arg (_v_deref__args__1, 0, _v_len__arg);
3658    Expr _ve_comma;
3659    {
3660      {
3661        uintptr_t _v_len5 = _v_len__rest;
3662        uintptr_t _v_len6 = 0;
3663        if ((_v_len5 < (_v_len6 + 1)))
3664        {
3665          goto _block2__branch1;
3666        }
3667        uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_474_m_19 = (_v_len5 - _v_len6);
3668        Expr _vv__e__e_tmp_m_rfp__asail__javarf_m_474_m_19 (_ve_rest, 0, _v_len___e__e_tmp_m_rfp__asail__javarf_m_474_m_19);
3669        _ve_comma = _c_64;
3670        goto _block2;
3671      }
3672    _block2__branch1: {}
3673      _ve_comma = empty;
3674    }
3675  _block2: {}
3676    Expr _v_Expr_m_Int_m_To_m_Java1;
3677    RF_CALL (Expr_m_Int_m_To_m_Java, (_vs_acc, _ve_arg), _v_Expr_m_Int_m_To_m_Java1);
3678    _v_args__1 = _ve_rest;
3679    _ve_java_m_args = (_ve_java_m_args + _v_Expr_m_Int_m_To_m_Java1 + _ve_comma);
3680  }
3681_exit__iter1: {}
3682RF_END
3683
3684RF_FUNC (Var_m_Args_m_To_m_Java, (RF_ARG _ve_args;;), (RF_RES _v_res1;;))
3685  Expr _v_args__1 (_ve_args);
3686  Expr _ve_java_m_args (empty);
3687  for ( ; ; )
3688  {
3689    {
3690      if ((_v_args__1.get_len () != 0))
3691      {
3692        goto _iter1;
3693      }
3694      _v_res1 = _ve_java_m_args;
3695      goto _exit__iter1;
3696    }
3697  _iter1: {}
3698    uintptr_t _v_len1 = _v_args__1.get_len ();
3699    uintptr_t _v_len2 = 1;
3700    if ((_v_len1 < _v_len2))
3701    {
3702      RF_FUNC_ERROR (unexpected_fail);
3703    }
3704    uintptr_t _v_len__rest = (_v_len1 - _v_len2);
3705    Expr _vt_arg (_v_args__1, 0, 1);
3706    Expr _ve_rest (_v_args__1, 1, _v_len__rest);
3707    Expr _ve_comma;
3708    {
3709      {
3710        uintptr_t _v_len3 = _v_len__rest;
3711        uintptr_t _v_len4 = 0;
3712        if ((_v_len3 < (_v_len4 + 1)))
3713        {
3714          goto _block2__branch1;
3715        }
3716        uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_486_m_19 = (_v_len3 - _v_len4);
3717        Expr _vv__e__e_tmp_m_rfp__asail__javarf_m_486_m_19 (_ve_rest, 0, _v_len___e__e_tmp_m_rfp__asail__javarf_m_486_m_19);
3718        _ve_comma = _c_64;
3719        goto _block2;
3720      }
3721    _block2__branch1: {}
3722      _ve_comma = empty;
3723    }
3724  _block2: {}
3725    Expr _v_Rfp2Java1;
3726    RF_CALL (JavaMangle::Rfp2Java, _vt_arg, _v_Rfp2Java1);
3727    _v_args__1 = _ve_rest;
3728    _ve_java_m_args = (_ve_java_m_args + _c_49 + _v_Rfp2Java1 + _ve_comma);
3729  }
3730_exit__iter1: {}
3731RF_END
3732
3733RF_FUNC (Expr_m_Args_m_To_m_Java, (RF_ARG _ve_args;;), (RF_RES _v_res1, _v_res2;;))
3734  Expr _v_args__1 (_ve_args);
3735  Expr _ve_java_m_args (empty);
3736  Expr _ve_arrays (empty);
3737  for ( ; ; )
3738  {
3739    {
3740      if ((_v_args__1.get_len () != 0))
3741      {
3742        goto _iter1;
3743      }
3744      _v_res1 = _ve_arrays;
3745      _v_res2 = _ve_java_m_args;
3746      goto _exit__iter1;
3747    }
3748  _iter1: {}
3749    uintptr_t _v_len1 = _v_args__1.get_len ();
3750    uintptr_t _v_len2 = 1;
3751    if ((_v_len1 < _v_len2))
3752    {
3753      RF_FUNC_ERROR (unexpected_fail);
3754    }
3755    uintptr_t _v_len__rest = (_v_len1 - _v_len2);
3756    if (_v_args__1.symbol_at (0))
3757    {
3758      RF_FUNC_ERROR (unexpected_fail);
3759    }
3760    Expr _v_deref__args__1 (_v_args__1, 0);
3761    uintptr_t _v_len3 = _v_deref__args__1.get_len ();
3762    uintptr_t _v_len4 = 0;
3763    if ((_v_len3 < _v_len4))
3764    {
3765      RF_FUNC_ERROR (unexpected_fail);
3766    }
3767    uintptr_t _v_len__arg = (_v_len3 - _v_len4);
3768    Expr _ve_rest (_v_args__1, 1, _v_len__rest);
3769    Expr _ve_arg (_v_deref__args__1, 0, _v_len__arg);
3770    Expr _ve_comma;
3771    {
3772      {
3773        uintptr_t _v_len5 = _v_len__rest;
3774        uintptr_t _v_len6 = 0;
3775        if ((_v_len5 < (_v_len6 + 1)))
3776        {
3777          goto _block2__branch1;
3778        }
3779        uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_498_m_19 = (_v_len5 - _v_len6);
3780        Expr _vv__e__e_tmp_m_rfp__asail__javarf_m_498_m_19 (_ve_rest, 0, _v_len___e__e_tmp_m_rfp__asail__javarf_m_498_m_19);
3781        _ve_comma = _c_64;
3782        goto _block2;
3783      }
3784    _block2__branch1: {}
3785      _ve_comma = empty;
3786    }
3787  _block2: {}
3788    Expr _ve_a;
3789    Expr _ve_j_m_arg;
3790    RF_CALL (Expr_m_Ref_m_To_m_Java, _ve_arg, (_ve_a, _ve_j_m_arg));
3791    _v_args__1 = _ve_rest;
3792    _ve_java_m_args = (_ve_java_m_args + _ve_j_m_arg + _ve_comma);
3793    _ve_arrays = (_ve_arrays + _ve_a);
3794  }
3795_exit__iter1: {}
3796RF_END
3797
3798RF_FUNC (Name_m_To_m_Java, (RF_ARG _vt_obj_m_name;;), (RF_RES _v_res1;;))
3799  Expr _ve_qualifiers;
3800  Expr _ve_name;
3801  RF_CALL (rfp__helper::RFP_m_Extract_m_Qualifiers, _vt_obj_m_name, (_ve_qualifiers, _ve_name));
3802  Expr _ve_namespace;
3803  RF_CALL (Box::_q_, Current_m_Namespace, _ve_namespace);
3804  {
3805    {
3806      uintptr_t _v_len1 = _ve_qualifiers.get_len ();
3807      uintptr_t _v_len2 = _ve_namespace.get_len ();
3808      if ((_v_len1 < _v_len2))
3809      {
3810        goto _block1__branch1;
3811      }
3812      uintptr_t _v_len__cont = (_v_len1 - _v_len2);
3813      if (!_ve_namespace.eq (_ve_qualifiers, 0))
3814      {
3815        goto _block1__branch1;
3816      }
3817      Expr _ve_cont (_ve_qualifiers, _ve_namespace.get_len (), _v_len__cont);
3818      RF_TAILCALL (JavaMangle::Rfp2Java, (_ve_cont + _ve_name), _v_res1);
3819      goto _block1;
3820    }
3821  _block1__branch1: {}
3822    RF_CALL (Table::Bind, (Inputs, _ve_qualifiers, empty), /*void*/);
3823    RF_TAILCALL (JavaMangle::Rfp2Java, (_ve_qualifiers + _ve_name) (), _v_res1);
3824  }
3825_block1: {}
3826RF_END
3827
3828RF_FUNC (Access_m_Mode, (RF_ARG _vt_name;;), (RF_RES _v_res1;;))
3829  {
3830    {
3831      Expr _v__q_1;
3832      RF_CALL (Box::_q_, Exports, _v__q_1);
3833      if ((_v__q_1.get_len () < 1))
3834      {
3835        goto _block1__branch1;
3836      }
3837      RF_lsplit (_v__q_1, 0, _ve__e__e_tmp_m_rfp__asail__javarf_m_517_m_19, _v_lsplit___q_1);
3838      for ( ; ; RF_iter(_v__q_1)++)
3839      {
3840        {
3841          if (!RF_iter(_v__q_1))
3842          {
3843            goto _block1__branch1;
3844          }
3845          uintptr_t _v_len1 = _v_lsplit___q_1.get_len ();
3846          uintptr_t _v_len2 = 1;
3847          if ((_v_len1 < _v_len2))
3848          {
3849            goto _block1__branch1;
3850          }
3851          uintptr_t _v_len___e__e_tmp_m_rfp__asail__javarf_m_517_m_28 = (_v_len1 - _v_len2);
3852          if (!_vt_name.term_eq (_v_lsplit___q_1, 0))
3853          {
3854            goto _continue1;
3855          }
3856          Expr _ve__e__e_tmp_m_rfp__asail__javarf_m_517_m_28 (_v_lsplit___q_1, 1, _v_len___e__e_tmp_m_rfp__asail__javarf_m_517_m_28);
3857          _v_res1 = _c_165;
3858          goto _exit1;
3859        }
3860    _continue1: {}
3861      }
3862    _exit1: {}
3863      goto _block1;
3864    }
3865  _block1__branch1: {}
3866    _v_res1 = _c_166;
3867  }
3868_block1: {}
3869RF_END
3870
3871RF_FUNC (Free_m_Index, RF_VOID, (RF_RES _v_res1;;))
3872  Expr _v__q_1;
3873  RF_CALL (Box::_q_, Free_m_Idx, _v__q_1);
3874  Expr _vs_idx;
3875  {
3876    {
3877      if ((_v__q_1.get_len () != 0))
3878      {
3879        goto _block1__branch1;
3880      }
3881      _vs_idx = _c_167;
3882      goto _block1;
3883    }
3884  _block1__branch1: {}
3885    if ((_v__q_1.get_len () != 1))
3886    {
3887      RF_FUNC_ERROR (unexpected_fail);
3888    }
3889    if (!_v__q_1.symbol_at (0))
3890    {
3891      RF_FUNC_ERROR (unexpected_fail);
3892    }
3893    Expr _v_idx__1 (_v__q_1, 0, 1);
3894    RF_CALL (Arithm::_p_, (_v_idx__1, _c_167), _vs_idx);
3895  }
3896_block1: {}
3897  RF_CALL (Box::Store, (Free_m_Idx, _vs_idx), /*void*/);
3898  _v_res1 = _vs_idx;
3899RF_END
3900
3901RF_FUNC (Cond_m_To_m_Java__0, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
3902  uintptr_t _v_len1 = _v_arg1.get_len ();
3903  uintptr_t _v_len2 = 1;
3904  if (((_v_len1 < (_v_len2 + (0 * 1)))))
3905  {
3906    RF_ERROR (_c_168);
3907  }
3908  if (((_v_len1 - _v_len2) % 1))
3909  {
3910    RF_ERROR (_c_168);
3911  }
3912  uintptr_t _v_len__stub1 = ((_v_len1 - _v_len2) / 1);
3913  if (!_v_arg1.symbol_at (0))
3914  {
3915    RF_ERROR (_c_168);
3916  }
3917  Expr _v_stub2 (_v_arg1, 0, 1);
3918  Expr _v_stub1 (_v_arg1, (0 + 1), _v_len__stub1);
3919  RF_TAILCALL (Cond_m_To_m_Java, (_v_stub2, _v_stub1), _v_res1);
3920RF_END
3921
3922RF_FUNC (Term_m_Ref_m_To_m_Java__0, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
3923  if ((_v_arg1.get_len () != (1 + 1)))
3924  {
3925    RF_ERROR (_c_168);
3926  }
3927  if (!_v_arg1.symbol_at (0))
3928  {
3929    RF_ERROR (_c_168);
3930  }
3931  Expr _v_stub1 (_v_arg1, 0, 1);
3932  Expr _v_stub2 (_v_arg1, (0 + 1), 1);
3933  RF_TAILCALL (Term_m_Ref_m_To_m_Java, (_v_stub1, _v_stub2), _v_res1);
3934RF_END
3935
3936RF_FUNC (Expr_m_Int_m_To_m_Java__0, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
3937  uintptr_t _v_len1 = _v_arg1.get_len ();
3938  uintptr_t _v_len2 = 1;
3939  if (((_v_len1 < (_v_len2 + (0 * 1)))))
3940  {
3941    RF_ERROR (_c_168);
3942  }
3943  if (((_v_len1 - _v_len2) % 1))
3944  {
3945    RF_ERROR (_c_168);
3946  }
3947  uintptr_t _v_len__stub1 = ((_v_len1 - _v_len2) / 1);
3948  if (!_v_arg1.symbol_at (0))
3949  {
3950    RF_ERROR (_c_168);
3951  }
3952  Expr _v_stub2 (_v_arg1, 0, 1);
3953  Expr _v_stub1 (_v_arg1, (0 + 1), _v_len__stub1);
3954  RF_TAILCALL (Expr_m_Int_m_To_m_Java, (_v_stub2, _v_stub1), _v_res1);
3955RF_END
3956
3957}
3958
3959namespace rfp__asail__java
3960{
3961
3962static void init_ ()
3963{
3964  Int = Expr::create_sym< NamedObject<BoxContents> >(L"Int");
3965  Exports = Expr::create_sym< NamedObject<BoxContents> >(L"Exports");
3966  Inputs = new rftype::StaticObject<rftype::Table>(L"Inputs");
3967  Module_m_Name = Expr::create_sym< NamedObject<BoxContents> >(L"Module-Name");
3968  Entry = Expr::create_sym< NamedObject<BoxContents> >(L"Entry");
3969  Entry_m_Name = Expr::create_sym< NamedObject<BoxContents> >(L"Entry-Name");
3970  Current_m_Namespace = Expr::create_sym< NamedObject<BoxContents> >(L"Current-Namespace");
3971  Func_m_Name = Expr::create_sym< NamedObject<BoxContents> >(L"Func-Name");
3972  Ress = Expr::create_sym< NamedObject<BoxContents> >(L"Ress");
3973  Iter_m_Vars = new rftype::StaticObject<rftype::Table>(L"Iter-Vars");
3974  Free_m_Idx = Expr::create_sym< NamedObject<BoxContents> >(L"Free-Idx");
3975  _c_0 = Expr::create<Word>("INT");
3976  _c_1 = Expr::create<Word>("BigInteger");
3977  _c_2 = Expr::create<Word>("Main");
3978  _c_169 = Char::create_expr ("System.out.println (\"$error: \" + e);");
3979  _c_3 = Expr (_c_169, 6, 1);
3980  _c_4 = Char::create_expr (" (new Expr ());");
3981  _c_170 = Char::create_expr ("catch (RefalException e) {") + (_c_169) () + Char::create_expr ("}");
3982  _c_5 = Expr (_c_170, 27, 1);
3983  _c_6 = Char::create_expr ("try {");
3984  _c_7 = (_c_170) ();
3985  _c_8 = Char::create_expr ("public static void main (java.lang.String[] args) {");
3986  _c_9 = (empty) ();
3987  _c_10 = Char::create_expr ("\n{");
3988  _c_11 = Char::create_expr ("public class ");
3989  _c_12 = Expr::create<Word>("FUNC");
3990  _c_13 = Expr (_c_8, 14, 4);
3991  _c_14 = Expr::create<Word>("FUNC?");
3992  _c_148 = Char::create_expr ("public boolean eval (Expr arg, Expr res) throws RefalException {");
3993  _c_15 = Expr (_c_148, 7, 7);
3994  _c_171 = Char::create_expr ("return true;");
3995  _c_16 = (_c_171) ();
3996  _c_17 = Expr (_c_148, 39, 23);
3997  _c_18 = Expr (_c_4, 0, 2);
3998  _c_19 = Expr (_c_18, 0, 1);
3999  _c_20 = Expr (_c_8, 7, 7);
4000  _c_21 = Expr (_c_10, 1, 1);
4001  _c_22 = Expr::create<Word>("TRACE");
4002  _c_23 = Expr::create<Word>("IF");
4003  _c_24 = Expr (_c_17, 0, 1);
4004  _c_87 = Char::create_expr ("if (!");
4005  _c_25 = Expr (_c_87, 0, 4);
4006  _c_26 = Expr::create<Word>("FOR");
4007  _c_27 = Expr::create<Word>("LABEL");
4008  _c_28 = Expr (_c_169, 27, 2);
4009  _c_30 = Char::create_expr ("for ( ; ");
4010  _c_29 = Expr (_c_30, 6, 2);
4011  _c_31 = Char::create_expr (": {");
4012  _c_32 = Expr::create<Word>("TRY");
4013  _c_33 = (Expr (_c_6, 0, 3)) ();
4014  _c_34 = Expr::create<Word>("CATCH-ERROR");
4015  _c_172 = Char::create_expr ("Expr err = error.getExpr ();");
4016  _c_35 = Char::create_expr ("catch (RefalException error) {") + (_c_172) ();
4017  _c_36 = Expr::create<Word>("RETFAIL");
4018  _c_173 = Char::create_expr ("return false;");
4019  _c_86 = Char::create_expr (") {") + (_c_173) () + Char::create_expr ("}");
4020  _c_37 = Expr (_c_86, 3, 1);
4021  _c_38 = Expr::create<Word>("FATAL");
4022  _c_39 = Char::create_expr ("\", \"Unexpected fail\");");
4023  _c_40 = Expr (_c_39, 0, 4);
4024  _c_41 = Char::create_expr ("throw new RefalException (\"");
4025  _c_42 = Expr::create<Word>("LSPLIT");
4026  _c_43 = Char::create_expr ("_va_");
4027  _c_44 = Expr (_c_39, 20, 2);
4028  _c_45 = Char::create_expr (".leftSplit(");
4029  _c_46 = Expr (_c_172, 8, 3);
4030  _c_47 = Char::create_expr ("Expr.SplitIterator ");
4031  _c_48 = Char::create_expr (".getLeft();");
4032  _c_49 = Expr (_c_4, 6, 5);
4033  _c_50 = Char::create_expr (".getRight();");
4034  _c_51 = Expr::create<Word>("RSPLIT");
4035  _c_52 = Char::create_expr (".rightSplit(");
4036  _c_53 = Expr::create<Word>("ASSIGN");
4037  _c_54 = Char::create_expr (".assign (");
4038  _c_55 = Expr (_c_44, 1, 1);
4039  _c_56 = Expr::create<Word>("DECL");
4040  _c_57 = Char::create_expr (" = new Expr ();");
4041  _c_58 = Char::create_expr ("int ");
4042  _c_59 = Expr::create<Word>("EXPR");
4043  _c_60 = Expr::create<Word>("DEREF");
4044  _c_61 = Char::create_expr (".at (");
4045  _c_62 = Char::create_expr (" = (Expr) ");
4046  _c_63 = Expr::create<Word>("SUBEXPR");
4047  _c_64 = Expr (_c_40, 1, 2);
4048  _c_65 = Expr (_c_57, 0, 13);
4049  _c_66 = Expr::create<Word>("DROP");
4050  _c_67 = Char::create_expr (".drop ();");
4051  _c_68 = Expr::create<Word>("CONTINUE");
4052  _c_69 = Char::create_expr ("continue ");
4053  _c_70 = Expr::create<Word>("BREAK");
4054  _c_71 = Char::create_expr ("break ");
4055  _c_72 = Expr::create<Word>("ERROR");
4056  _c_73 = Expr (_c_41, 0, 26);
4057  _c_74 = Expr::create<Word>("CONSTEXPR");
4058  _c_75 = Expr::create<Word>("STATIC");
4059  _c_76 = Char::create_expr (" final Expr ");
4060  _c_77 = Expr::create<Word>("OBJ");
4061  _c_78 = Char::create_expr ("Named");
4062  _c_79 = Char::create_expr ("org.refal.plus.library.");
4063  _c_80 = Char::create_expr ("\"));");
4064  _c_81 = Expr (_c_41, 24, 3);
4065  _c_82 = Char::create_expr (" = new Expr (new ");
4066  _c_83 = Expr::create<Word>("DECL-OBJ");
4067  _c_84 = Expr::create<Word>("DECL-FUNC");
4068  _c_85 = Expr::create<Word>("TAILCALL?");
4069  _c_88 = Char::create_expr (" = new Expr(");
4070  _c_89 = Expr::create<Word>("PAREN");
4071  _c_90 = Expr::create<Word>("LENGTH");
4072  _c_91 = Expr::create<Word>("XXX");
4073  _c_92 = Expr::create<Word>("MAX");
4074  _c_93 = Expr::create<Word>("MIN");
4075  _c_94 = Expr::create<Word>("INFIX");
4076  _c_95 = Char::create_expr ("Expr.empty");
4077  _c_96 = Expr (_c_65, 3, 10);
4078  _c_97 = Expr::create_sym<Func> (Term_m_Ref_m_To_m_Java__0);
4079  _c_98 = Expr::create<Word>(",");
4080  _c_99 = Char::create_expr (" };");
4081  _c_100 = Char::create_expr (" = { ");
4082  _c_143 = Char::create_expr ("static private final Expr[] ");
4083  _c_101 = Expr (_c_143, 21, 7);
4084  _c_102 = Char::create_expr ("Expr.concat (");
4085  _c_103 = Expr (_c_88, 3, 9);
4086  _c_104 = Expr (_c_62, 3, 7);
4087  _c_105 = Expr::create<Word>("REF");
4088  _c_106 = Expr::create<Word>("ERROR-EXPR");
4089  _c_107 = Expr (_c_172, 5, 3);
4090  _c_108 = Expr::create<Word>("Illegal int-symbol: ");
4091  _c_109 = Char::create_expr (".getLen ()");
4092  _c_110 = Char::create_expr ("java.lang.Math.max (");
4093  _c_111 = Char::create_expr ("java.lang.Math.min (");
4094  _c_112 = Expr::create_sym<Func> (Expr_m_Int_m_To_m_Java__0);
4095  _c_113 = Expr (_c_18, 1, 1);
4096  _c_114 = Expr::create<Word>("+");
4097  _c_115 = Expr::create<Word>("CALL");
4098  _c_116 = Expr::create<Word>("SYMBOL?");
4099  _c_117 = Char::create_expr (".symbolAt (");
4100  _c_118 = Expr::create<Word>("CHECK-ITER");
4101  _c_119 = Char::create_expr (".isValid ()");
4102  _c_120 = Expr::create<Word>("EQ");
4103  _c_121 = Char::create_expr (".eq (");
4104  _c_122 = Expr::create<Word>("TERM-EQ");
4105  _c_123 = Expr::create<Word>("NOT");
4106  _c_124 = Expr (_c_87, 4, 1);
4107  _c_125 = Expr::create<Word>("-");
4108  _c_126 = Expr::create<Word>("%");
4109  _c_127 = Expr::create<Word>("*");
4110  _c_128 = Expr::create<Word>("/");
4111  _c_129 = Char::create_expr (" != 0");
4112  _c_130 = Expr::create_sym<Func> (Cond_m_To_m_Java__0);
4113  _c_131 = Expr::create<Word>("&&");
4114  _c_132 = Expr::create<Word>("||");
4115  _c_133 = Expr::create<Word>("<");
4116  _c_134 = Expr::create<Word>(">");
4117  _c_135 = Expr::create<Word>("<=");
4118  _c_136 = Expr::create<Word>(">=");
4119  _c_137 = Expr::create<Word>("==");
4120  _c_138 = Expr::create<Word>("!=");
4121  _c_139 = Expr::create<Word>("INC-ITER");
4122  _c_140 = Char::create_expr (".next ()");
4123  _c_141 = Expr::create<Word>("DEC-ITER");
4124  _c_142 = Char::create_expr (".prev ()");
4125  _c_144 = Expr (_c_80, 0, 2);
4126  _c_145 = Char::create_expr ("Expr.fromSequence (\"");
4127  _c_146 = Char::create_expr (" (arg, res);");
4128  _c_147 = Expr (_c_171, 0, 7);
4129  _c_149 = Char::create_expr ("})");
4130  _c_150 = Char::create_expr ("new Expr (new Func () {");
4131  _c_151 = Char::create_expr ("java.math.BigInteger");
4132  _c_152 = Expr (_c_80, 0, 3);
4133  _c_153 = Expr (_c_82, 3, 14);
4134  _c_154 = Char::create_expr ("new Expr (new Word (\"");
4135  _c_156 = Char::create_expr ("\\\\");
4136  _c_155 = Expr (_c_156, 0, 1);
4137  _c_157 = Expr (_c_10, 0, 1);
4138  _c_158 = Char::create_expr ("\\n");
4139  _c_159 = Char::create_expr ("\t");
4140  _c_160 = Char::create_expr ("\\t");
4141  _c_161 = Char::create_expr ("\r");
4142  _c_162 = Char::create_expr ("\\r");
4143  _c_163 = Expr (_c_144, 0, 1);
4144  _c_164 = Char::create_expr ("\\\"");
4145  _c_165 = Expr (_c_148, 0, 6);
4146  _c_166 = Expr (_c_143, 7, 7);
4147  _c_167 = Expr::create<Integer>("1");
4148  _c_168 = Expr::create<Word>("Apply") + Expr::create<Word>("Apply") + Expr::create<Word>("Unexpected fail");
4149}
4150
4151static AtStart init_registrator_ (&init_);
4152
4153}
4154
4155}
Note: See TracBrowser for help on using the repository browser.