Changeset 3580


Ignore:
Timestamp:
Mar 26, 2008, 2:04:20 PM (13 years ago)
Author:
yura
Message:
  • $native in all files instead of wrappers.
Location:
to-imperative/trunk
Files:
1 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • to-imperative/trunk/compiler/src/rfp_asail_jbc.rf

    r3579 r3580  
    88$use NativeJava;
    99
    10 $use "org.refal.plus.wrappers.org.objectweb.asm.AnnotationVisitor";
    11 $use "org.refal.plus.wrappers.org.objectweb.asm.ClassWriter";
    12 $use "org.refal.plus.wrappers.org.objectweb.asm.FieldVisitor";
    13 $use "org.refal.plus.wrappers.org.objectweb.asm.Label";
    14 $use "org.refal.plus.wrappers.org.objectweb.asm.MethodVisitor";
    15 $use "org.refal.plus.wrappers.org.objectweb.asm.Opcodes";
    16 
     10//$use "org.refal.plus.wrappers.org.objectweb.asm.AnnotationVisitor";
     11//$use "org.refal.plus.wrappers.org.objectweb.asm.ClassWriter";
     12//$use "org.refal.plus.wrappers.org.objectweb.asm.FieldVisitor";
     13//$use "org.refal.plus.wrappers.org.objectweb.asm.Label";
     14//$use "org.refal.plus.wrappers.org.objectweb.asm.MethodVisitor";
     15//$use "org.refal.plus.wrappers.org.objectweb.asm.Opcodes";
     16
     17// Begin NATIVE
    1718$func Integer s = s;
    1819$native Integer = "java.lang.Integer (int)";
     20
     21$func "IIAVvisit" s s s = ;
     22$native "IIAVvisit" = "void org.objectweb.asm.AnnotationVisitor.visit (java.lang.String, java.lang.Object)";
     23
     24$func "IIAVvisitEnd" s = ;
     25$native "IIAVvisitEnd" = "void org.objectweb.asm.AnnotationVisitor.visitEnd ()";
     26
     27$func "ClassWriter" s = s;
     28$native "ClassWriter" = "org.objectweb.asm.ClassWriter (int)";
     29
     30$func "CWvisit" s s s s s s (e) = ;
     31$native "CWvisit" = "void org.objectweb.asm.ClassWriter.visit (int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])";
     32
     33$func "CWvisitSource" s s s = ;
     34$native "CWvisitSource" = "void org.objectweb.asm.ClassWriter.visitSource (java.lang.String, java.lang.String)";
     35
     36//$func "CWvisitOuterClass" s s s s = ;
     37//$native "CWvisitOuterClass" = "void org.objectweb.asm.ClassWriter.visitOuterClass (java.lang.String, java.lang.String, java.lang.String)";
     38//
     39//$func "CWvisitInnerClass" s s s s s = ;
     40//$native "CWvisitInnerClass" = "void org.objectweb.asm.ClassWriter.visitInnerClass (java.lang.String, java.lang.String, java.lang.String, int)";
     41
     42$func "CWvisitField" s s s s s s = s;
     43$native "CWvisitField" = "org.objectweb.asm.FieldVisitor org.objectweb.asm.ClassWriter.visitField (int, java.lang.String, java.lang.String, java.lang.String, java.lang.Object)";
     44
     45$func "CWvisitMethod" s s s s s (e) = s;
     46$native "CWvisitMethod" = "org.objectweb.asm.MethodVisitor org.objectweb.asm.ClassWriter.visitMethod (int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])";
     47
     48$func "CWvisitEnd" s = ;
     49$native "CWvisitEnd" = "void org.objectweb.asm.ClassWriter.visitEnd ()";
     50
     51$func "CWtoByteArray" s = s;
     52$native "CWtoByteArray" = "byte[] org.objectweb.asm.ClassWriter.toByteArray ()";
     53
     54$func IIFVvisitAnnotation s s s = s;
     55$native IIFVvisitAnnotation = "org.objectweb.asm.AnnotationVisitor org.objectweb.asm.FieldVisitor.visitAnnotation (java.lang.String, boolean)";
     56
     57$func IIFVvisitEnd s = ;
     58$native IIFVvisitEnd = "void org.objectweb.asm.FieldVisitor.visitEnd ()";
     59
     60$func "Label" = s;
     61$native "Label" = "org.objectweb.asm.Label ()";
     62
     63$func "IIMVvisitAnnotation" s s s = s;
     64$native "IIMVvisitAnnotation" = "org.objectweb.asm.AnnotationVisitor org.objectweb.asm.MethodVisitor.visitAnnotation (java.lang.String, boolean)";
     65
     66$func "IIMVvisitCode" s = ;
     67$native "IIMVvisitCode" = "void org.objectweb.asm.MethodVisitor.visitCode ()";
     68
     69$func "IIMVvisitFrame" s s s (e) s (e) = ;
     70$native "IIMVvisitFrame" = "void org.objectweb.asm.MethodVisitor.visitFrame (int, int, java.lang.Object[], int, java.lang.Object[])";
     71
     72$func "IIMVvisitInsn" s s = ;
     73$native "IIMVvisitInsn" = "void org.objectweb.asm.MethodVisitor.visitInsn (int)";
     74
     75$func "IIMVvisitIntInsn" s s s = ;
     76$native "IIMVvisitIntInsn" = "void org.objectweb.asm.MethodVisitor.visitIntInsn (int, int)";
     77
     78$func "IIMVvisitVarInsn" s s s = ;
     79$native "IIMVvisitVarInsn" = "void org.objectweb.asm.MethodVisitor.visitVarInsn (int, int)";
     80
     81$func "IIMVvisitTypeInsn" s s s = ;
     82$native "IIMVvisitTypeInsn" = "void org.objectweb.asm.MethodVisitor.visitTypeInsn (int, java.lang.String)";
     83
     84$func "IIMVvisitFieldInsn" s s s s s = ;
     85$native "IIMVvisitFieldInsn" = "void org.objectweb.asm.MethodVisitor.visitFieldInsn (int, java.lang.String, java.lang.String, java.lang.String)";
     86
     87$func "IIMVvisitMethodInsn" s s s s s = ;
     88$native "IIMVvisitMethodInsn" = "void org.objectweb.asm.MethodVisitor.visitMethodInsn (int, java.lang.String, java.lang.String, java.lang.String)";
     89
     90$func "IIMVvisitJumpInsn" s s s = ;
     91$native "IIMVvisitJumpInsn" = "void org.objectweb.asm.MethodVisitor.visitJumpInsn (int, org.objectweb.asm.Label)";
     92
     93$func "IIMVvisitLabel" s s = ;
     94$native "IIMVvisitLabel" = "void org.objectweb.asm.MethodVisitor.visitLabel (org.objectweb.asm.Label)";
     95
     96$func "IIMVvisitLdcInsn" s s = ;
     97$native "IIMVvisitLdcInsn" = "void org.objectweb.asm.MethodVisitor.visitLdcInsn (java.lang.Object)";
     98
     99$func "IIMVvisitIincInsn" s s s = ;
     100$native "IIMVvisitIincInsn" = "void org.objectweb.asm.MethodVisitor.visitIincInsn (int, int)";
     101
     102$func "IIMVvisitTryCatchBlock" s s s s s = ;
     103$native "IIMVvisitTryCatchBlock" = "void org.objectweb.asm.MethodVisitor.visitTryCatchBlock (org.objectweb.asm.Label, org.objectweb.asm.Label, org.objectweb.asm.Label, java.lang.String)";
     104
     105$func "IIMVvisitLocalVariable" s s s s s s s = ;
     106$native "IIMVvisitLocalVariable" = "void org.objectweb.asm.MethodVisitor.visitLocalVariable (java.lang.String, java.lang.String, java.lang.String, org.objectweb.asm.Label, org.objectweb.asm.Label, int)";
     107
     108$func "IIMVvisitLineNumber" s s s = ;
     109$native "IIMVvisitLineNumber" = "void org.objectweb.asm.MethodVisitor.visitLineNumber (int, org.objectweb.asm.Label)";
     110
     111$func "IIMVvisitMaxs" s s s = ;
     112$native "IIMVvisitMaxs" = "void org.objectweb.asm.MethodVisitor.visitMaxs (int, int)";
     113
     114$func "IIMVvisitEnd" s = ;
     115$native "IIMVvisitEnd" = "void org.objectweb.asm.MethodVisitor.visitEnd ()";
     116
     117
     118$func COMPUTE_MAXS = s;
     119$native COMPUTE_MAXS = "static int org.objectweb.asm.ClassWriter.COMPUTE_MAXS";
     120
     121$func V1_5 = s;
     122$native V1_5 = "static int org.objectweb.asm.Opcodes.V1_5";
     123
     124$func ACC_PUBLIC = s;
     125$native ACC_PUBLIC = "static int org.objectweb.asm.Opcodes.ACC_PUBLIC";
     126
     127$func ACC_PRIVATE = s;
     128$native ACC_PRIVATE = "static int org.objectweb.asm.Opcodes.ACC_PRIVATE";
     129
     130$func ACC_PROTECTED = s;
     131$native ACC_PROTECTED = "static int org.objectweb.asm.Opcodes.ACC_PROTECTED";
     132
     133$func ACC_STATIC = s;
     134$native ACC_STATIC = "static int org.objectweb.asm.Opcodes.ACC_STATIC";
     135
     136$func ACC_FINAL = s;
     137$native ACC_FINAL = "static int org.objectweb.asm.Opcodes.ACC_FINAL";
     138
     139$func ACC_SUPER = s;
     140$native ACC_SUPER = "static int org.objectweb.asm.Opcodes.ACC_SUPER";
     141
     142$func ACC_SYNCHRONIZED = s;
     143$native ACC_SYNCHRONIZED = "static int org.objectweb.asm.Opcodes.ACC_SYNCHRONIZED";
     144
     145$func ACC_VOLATILE = s;
     146$native ACC_VOLATILE = "static int org.objectweb.asm.Opcodes.ACC_VOLATILE";
     147
     148$func ACC_BRIDGE = s;
     149$native ACC_BRIDGE = "static int org.objectweb.asm.Opcodes.ACC_BRIDGE";
     150
     151$func ACC_VARARGS = s;
     152$native ACC_VARARGS = "static int org.objectweb.asm.Opcodes.ACC_VARARGS";
     153
     154$func ACC_TRANSIENT = s;
     155$native ACC_TRANSIENT = "static int org.objectweb.asm.Opcodes.ACC_TRANSIENT";
     156
     157$func ACC_NATIVE = s;
     158$native ACC_NATIVE = "static int org.objectweb.asm.Opcodes.ACC_NATIVE";
     159
     160$func ACC_INTERFACE = s;
     161$native ACC_INTERFACE = "static int org.objectweb.asm.Opcodes.ACC_INTERFACE";
     162
     163$func ACC_ABSTRACT = s;
     164$native ACC_ABSTRACT = "static int org.objectweb.asm.Opcodes.ACC_ABSTRACT";
     165
     166$func ACC_STRICT = s;
     167$native ACC_STRICT = "static int org.objectweb.asm.Opcodes.ACC_STRICT";
     168
     169$func ACC_SYNTHETIC = s;
     170$native ACC_SYNTHETIC = "static int org.objectweb.asm.Opcodes.ACC_SYNTHETIC";
     171
     172$func ACC_ANNOTATION = s;
     173$native ACC_ANNOTATION = "static int org.objectweb.asm.Opcodes.ACC_ANNOTATION";
     174
     175$func ACC_ENUM = s;
     176$native ACC_ENUM = "static int org.objectweb.asm.Opcodes.ACC_ENUM";
     177
     178$func ACC_DEPRECATED = s;
     179$native ACC_DEPRECATED = "static int org.objectweb.asm.Opcodes.ACC_DEPRECATED";
     180
     181$func T_BOOLEAN = s;
     182$native T_BOOLEAN = "static int org.objectweb.asm.Opcodes.T_BOOLEAN";
     183
     184$func T_CHAR = s;
     185$native T_CHAR = "static int org.objectweb.asm.Opcodes.T_CHAR";
     186
     187$func T_FLOAT = s;
     188$native T_FLOAT = "static int org.objectweb.asm.Opcodes.T_FLOAT";
     189
     190$func T_DOUBLE = s;
     191$native T_DOUBLE = "static int org.objectweb.asm.Opcodes.T_DOUBLE";
     192
     193$func T_BYTE = s;
     194$native T_BYTE = "static int org.objectweb.asm.Opcodes.T_BYTE";
     195
     196$func T_SHORT = s;
     197$native T_SHORT = "static int org.objectweb.asm.Opcodes.T_SHORT";
     198
     199$func T_INT = s;
     200$native T_INT = "static int org.objectweb.asm.Opcodes.T_INT";
     201
     202$func T_LONG = s;
     203$native T_LONG = "static int org.objectweb.asm.Opcodes.T_LONG";
     204
     205$func F_NEW = s;
     206$native F_NEW = "static int org.objectweb.asm.Opcodes.F_NEW";
     207
     208$func F_FULL = s;
     209$native F_FULL = "static int org.objectweb.asm.Opcodes.F_FULL";
     210
     211$func F_APPEND = s;
     212$native F_APPEND = "static int org.objectweb.asm.Opcodes.F_APPEND";
     213
     214$func F_CHOP = s;
     215$native F_CHOP = "static int org.objectweb.asm.Opcodes.F_CHOP";
     216
     217$func F_SAME = s;
     218$native F_SAME = "static int org.objectweb.asm.Opcodes.F_SAME";
     219
     220$func F_SAME1 = s;
     221$native F_SAME1 = "static int org.objectweb.asm.Opcodes.F_SAME1";
     222
     223$func NOP = s;
     224$native NOP = "static int org.objectweb.asm.Opcodes.NOP";
     225
     226$func ACONST_NULL = s;
     227$native ACONST_NULL = "static int org.objectweb.asm.Opcodes.ACONST_NULL";
     228
     229$func ICONST_M1 = s;
     230$native ICONST_M1 = "static int org.objectweb.asm.Opcodes.ICONST_M1";
     231
     232$func ICONST_0 = s;
     233$native ICONST_0 = "static int org.objectweb.asm.Opcodes.ICONST_0";
     234
     235$func ICONST_1 = s;
     236$native ICONST_1 = "static int org.objectweb.asm.Opcodes.ICONST_1";
     237
     238$func ICONST_2 = s;
     239$native ICONST_2 = "static int org.objectweb.asm.Opcodes.ICONST_2";
     240
     241$func ICONST_3 = s;
     242$native ICONST_3 = "static int org.objectweb.asm.Opcodes.ICONST_3";
     243
     244$func ICONST_4 = s;
     245$native ICONST_4 = "static int org.objectweb.asm.Opcodes.ICONST_4";
     246
     247$func ICONST_5 = s;
     248$native ICONST_5 = "static int org.objectweb.asm.Opcodes.ICONST_5";
     249
     250$func LCONST_0 = s;
     251$native LCONST_0 = "static int org.objectweb.asm.Opcodes.LCONST_0";
     252
     253$func LCONST_1 = s;
     254$native LCONST_1 = "static int org.objectweb.asm.Opcodes.LCONST_1";
     255
     256$func FCONST_0 = s;
     257$native FCONST_0 = "static int org.objectweb.asm.Opcodes.FCONST_0";
     258
     259$func FCONST_1 = s;
     260$native FCONST_1 = "static int org.objectweb.asm.Opcodes.FCONST_1";
     261
     262$func FCONST_2 = s;
     263$native FCONST_2 = "static int org.objectweb.asm.Opcodes.FCONST_2";
     264
     265$func DCONST_0 = s;
     266$native DCONST_0 = "static int org.objectweb.asm.Opcodes.DCONST_0";
     267
     268$func DCONST_1 = s;
     269$native DCONST_1 = "static int org.objectweb.asm.Opcodes.DCONST_1";
     270
     271$func BIPUSH = s;
     272$native BIPUSH = "static int org.objectweb.asm.Opcodes.BIPUSH";
     273
     274$func SIPUSH = s;
     275$native SIPUSH = "static int org.objectweb.asm.Opcodes.SIPUSH";
     276
     277$func LDC = s;
     278$native LDC = "static int org.objectweb.asm.Opcodes.LDC";
     279
     280$func ILOAD = s;
     281$native ILOAD = "static int org.objectweb.asm.Opcodes.ILOAD";
     282
     283$func LLOAD = s;
     284$native LLOAD = "static int org.objectweb.asm.Opcodes.LLOAD";
     285
     286$func FLOAD = s;
     287$native FLOAD = "static int org.objectweb.asm.Opcodes.FLOAD";
     288
     289$func DLOAD = s;
     290$native DLOAD = "static int org.objectweb.asm.Opcodes.DLOAD";
     291
     292$func ALOAD = s;
     293$native ALOAD = "static int org.objectweb.asm.Opcodes.ALOAD";
     294
     295$func IALOAD = s;
     296$native IALOAD = "static int org.objectweb.asm.Opcodes.IALOAD";
     297
     298$func LALOAD = s;
     299$native LALOAD = "static int org.objectweb.asm.Opcodes.LALOAD";
     300
     301$func FALOAD = s;
     302$native FALOAD = "static int org.objectweb.asm.Opcodes.FALOAD";
     303
     304$func DALOAD = s;
     305$native DALOAD = "static int org.objectweb.asm.Opcodes.DALOAD";
     306
     307$func AALOAD = s;
     308$native AALOAD = "static int org.objectweb.asm.Opcodes.AALOAD";
     309
     310$func BALOAD = s;
     311$native BALOAD = "static int org.objectweb.asm.Opcodes.BALOAD";
     312
     313$func CALOAD = s;
     314$native CALOAD = "static int org.objectweb.asm.Opcodes.CALOAD";
     315
     316$func SALOAD = s;
     317$native SALOAD = "static int org.objectweb.asm.Opcodes.SALOAD";
     318
     319$func ISTORE = s;
     320$native ISTORE = "static int org.objectweb.asm.Opcodes.ISTORE";
     321
     322$func LSTORE = s;
     323$native LSTORE = "static int org.objectweb.asm.Opcodes.LSTORE";
     324
     325$func FSTORE = s;
     326$native FSTORE = "static int org.objectweb.asm.Opcodes.FSTORE";
     327
     328$func DSTORE = s;
     329$native DSTORE = "static int org.objectweb.asm.Opcodes.DSTORE";
     330
     331$func ASTORE = s;
     332$native ASTORE = "static int org.objectweb.asm.Opcodes.ASTORE";
     333
     334$func IASTORE = s;
     335$native IASTORE = "static int org.objectweb.asm.Opcodes.IASTORE";
     336
     337$func LASTORE = s;
     338$native LASTORE = "static int org.objectweb.asm.Opcodes.LASTORE";
     339
     340$func FASTORE = s;
     341$native FASTORE = "static int org.objectweb.asm.Opcodes.FASTORE";
     342
     343$func DASTORE = s;
     344$native DASTORE = "static int org.objectweb.asm.Opcodes.DASTORE";
     345
     346$func AASTORE = s;
     347$native AASTORE = "static int org.objectweb.asm.Opcodes.AASTORE";
     348
     349$func BASTORE = s;
     350$native BASTORE = "static int org.objectweb.asm.Opcodes.BASTORE";
     351
     352$func CASTORE = s;
     353$native CASTORE = "static int org.objectweb.asm.Opcodes.CASTORE";
     354
     355$func SASTORE = s;
     356$native SASTORE = "static int org.objectweb.asm.Opcodes.SASTORE";
     357
     358$func POP = s;
     359$native POP = "static int org.objectweb.asm.Opcodes.POP";
     360
     361$func POP2 = s;
     362$native POP2 = "static int org.objectweb.asm.Opcodes.POP2";
     363
     364$func DUP = s;
     365$native DUP = "static int org.objectweb.asm.Opcodes.DUP";
     366
     367$func DUP_X1 = s;
     368$native DUP_X1 = "static int org.objectweb.asm.Opcodes.DUP_X1";
     369
     370$func DUP_X2 = s;
     371$native DUP_X2 = "static int org.objectweb.asm.Opcodes.DUP_X2";
     372
     373$func DUP2 = s;
     374$native DUP2 = "static int org.objectweb.asm.Opcodes.DUP2";
     375
     376$func DUP2_X1 = s;
     377$native DUP2_X1 = "static int org.objectweb.asm.Opcodes.DUP2_X1";
     378
     379$func DUP2_X2 = s;
     380$native DUP2_X2 = "static int org.objectweb.asm.Opcodes.DUP2_X2";
     381
     382$func SWAP = s;
     383$native SWAP = "static int org.objectweb.asm.Opcodes.SWAP";
     384
     385$func IADD = s;
     386$native IADD = "static int org.objectweb.asm.Opcodes.IADD";
     387
     388$func LADD = s;
     389$native LADD = "static int org.objectweb.asm.Opcodes.LADD";
     390
     391$func FADD = s;
     392$native FADD = "static int org.objectweb.asm.Opcodes.FADD";
     393
     394$func DADD = s;
     395$native DADD = "static int org.objectweb.asm.Opcodes.DADD";
     396
     397$func ISUB = s;
     398$native ISUB = "static int org.objectweb.asm.Opcodes.ISUB";
     399
     400$func LSUB = s;
     401$native LSUB = "static int org.objectweb.asm.Opcodes.LSUB";
     402
     403$func FSUB = s;
     404$native FSUB = "static int org.objectweb.asm.Opcodes.FSUB";
     405
     406$func DSUB = s;
     407$native DSUB = "static int org.objectweb.asm.Opcodes.DSUB";
     408
     409$func IMUL = s;
     410$native IMUL = "static int org.objectweb.asm.Opcodes.IMUL";
     411
     412$func LMUL = s;
     413$native LMUL = "static int org.objectweb.asm.Opcodes.LMUL";
     414
     415$func FMUL = s;
     416$native FMUL = "static int org.objectweb.asm.Opcodes.FMUL";
     417
     418$func DMUL = s;
     419$native DMUL = "static int org.objectweb.asm.Opcodes.DMUL";
     420
     421$func IDIV = s;
     422$native IDIV = "static int org.objectweb.asm.Opcodes.IDIV";
     423
     424$func LDIV = s;
     425$native LDIV = "static int org.objectweb.asm.Opcodes.LDIV";
     426
     427$func FDIV = s;
     428$native FDIV = "static int org.objectweb.asm.Opcodes.FDIV";
     429
     430$func DDIV = s;
     431$native DDIV = "static int org.objectweb.asm.Opcodes.DDIV";
     432
     433$func IREM = s;
     434$native IREM = "static int org.objectweb.asm.Opcodes.IREM";
     435
     436$func LREM = s;
     437$native LREM = "static int org.objectweb.asm.Opcodes.LREM";
     438
     439$func FREM = s;
     440$native FREM = "static int org.objectweb.asm.Opcodes.FREM";
     441
     442$func DREM = s;
     443$native DREM = "static int org.objectweb.asm.Opcodes.DREM";
     444
     445$func INEG = s;
     446$native INEG = "static int org.objectweb.asm.Opcodes.INEG";
     447
     448$func LNEG = s;
     449$native LNEG = "static int org.objectweb.asm.Opcodes.LNEG";
     450
     451$func FNEG = s;
     452$native FNEG = "static int org.objectweb.asm.Opcodes.FNEG";
     453
     454$func DNEG = s;
     455$native DNEG = "static int org.objectweb.asm.Opcodes.DNEG";
     456
     457$func ISHL = s;
     458$native ISHL = "static int org.objectweb.asm.Opcodes.ISHL";
     459
     460$func LSHL = s;
     461$native LSHL = "static int org.objectweb.asm.Opcodes.LSHL";
     462
     463$func ISHR = s;
     464$native ISHR = "static int org.objectweb.asm.Opcodes.ISHR";
     465
     466$func LSHR = s;
     467$native LSHR = "static int org.objectweb.asm.Opcodes.LSHR";
     468
     469$func IUSHR = s;
     470$native IUSHR = "static int org.objectweb.asm.Opcodes.IUSHR";
     471
     472$func LUSHR = s;
     473$native LUSHR = "static int org.objectweb.asm.Opcodes.LUSHR";
     474
     475$func IAND = s;
     476$native IAND = "static int org.objectweb.asm.Opcodes.IAND";
     477
     478$func LAND = s;
     479$native LAND = "static int org.objectweb.asm.Opcodes.LAND";
     480
     481$func IOR = s;
     482$native IOR = "static int org.objectweb.asm.Opcodes.IOR";
     483
     484$func LOR = s;
     485$native LOR = "static int org.objectweb.asm.Opcodes.LOR";
     486
     487$func IXOR = s;
     488$native IXOR = "static int org.objectweb.asm.Opcodes.IXOR";
     489
     490$func LXOR = s;
     491$native LXOR = "static int org.objectweb.asm.Opcodes.LXOR";
     492
     493$func IINC = s;
     494$native IINC = "static int org.objectweb.asm.Opcodes.IINC";
     495
     496$func I2L = s;
     497$native I2L = "static int org.objectweb.asm.Opcodes.I2L";
     498
     499$func I2F = s;
     500$native I2F = "static int org.objectweb.asm.Opcodes.I2F";
     501
     502$func I2D = s;
     503$native I2D = "static int org.objectweb.asm.Opcodes.I2D";
     504
     505$func L2I = s;
     506$native L2I = "static int org.objectweb.asm.Opcodes.L2I";
     507
     508$func L2F = s;
     509$native L2F = "static int org.objectweb.asm.Opcodes.L2F";
     510
     511$func L2D = s;
     512$native L2D = "static int org.objectweb.asm.Opcodes.L2D";
     513
     514$func F2I = s;
     515$native F2I = "static int org.objectweb.asm.Opcodes.F2I";
     516
     517$func F2L = s;
     518$native F2L = "static int org.objectweb.asm.Opcodes.F2L";
     519
     520$func F2D = s;
     521$native F2D = "static int org.objectweb.asm.Opcodes.F2D";
     522
     523$func D2I = s;
     524$native D2I = "static int org.objectweb.asm.Opcodes.D2I";
     525
     526$func D2L = s;
     527$native D2L = "static int org.objectweb.asm.Opcodes.D2L";
     528
     529$func D2F = s;
     530$native D2F = "static int org.objectweb.asm.Opcodes.D2F";
     531
     532$func I2B = s;
     533$native I2B = "static int org.objectweb.asm.Opcodes.I2B";
     534
     535$func I2C = s;
     536$native I2C = "static int org.objectweb.asm.Opcodes.I2C";
     537
     538$func I2S = s;
     539$native I2S = "static int org.objectweb.asm.Opcodes.I2S";
     540
     541$func LCMP = s;
     542$native LCMP = "static int org.objectweb.asm.Opcodes.LCMP";
     543
     544$func FCMPL = s;
     545$native FCMPL = "static int org.objectweb.asm.Opcodes.FCMPL";
     546
     547$func FCMPG = s;
     548$native FCMPG = "static int org.objectweb.asm.Opcodes.FCMPG";
     549
     550$func DCMPL = s;
     551$native DCMPL = "static int org.objectweb.asm.Opcodes.DCMPL";
     552
     553$func DCMPG = s;
     554$native DCMPG = "static int org.objectweb.asm.Opcodes.DCMPG";
     555
     556$func IFEQ = s;
     557$native IFEQ = "static int org.objectweb.asm.Opcodes.IFEQ";
     558
     559$func IFNE = s;
     560$native IFNE = "static int org.objectweb.asm.Opcodes.IFNE";
     561
     562$func IFLT = s;
     563$native IFLT = "static int org.objectweb.asm.Opcodes.IFLT";
     564
     565$func IFGE = s;
     566$native IFGE = "static int org.objectweb.asm.Opcodes.IFGE";
     567
     568$func IFGT = s;
     569$native IFGT = "static int org.objectweb.asm.Opcodes.IFGT";
     570
     571$func IFLE = s;
     572$native IFLE = "static int org.objectweb.asm.Opcodes.IFLE";
     573
     574$func IF_ICMPEQ = s;
     575$native IF_ICMPEQ = "static int org.objectweb.asm.Opcodes.IF_ICMPEQ";
     576
     577$func IF_ICMPNE = s;
     578$native IF_ICMPNE = "static int org.objectweb.asm.Opcodes.IF_ICMPNE";
     579
     580$func IF_ICMPLT = s;
     581$native IF_ICMPLT = "static int org.objectweb.asm.Opcodes.IF_ICMPLT";
     582
     583$func IF_ICMPGE = s;
     584$native IF_ICMPGE = "static int org.objectweb.asm.Opcodes.IF_ICMPGE";
     585
     586$func IF_ICMPGT = s;
     587$native IF_ICMPGT = "static int org.objectweb.asm.Opcodes.IF_ICMPGT";
     588
     589$func IF_ICMPLE = s;
     590$native IF_ICMPLE = "static int org.objectweb.asm.Opcodes.IF_ICMPLE";
     591
     592$func IF_ACMPEQ = s;
     593$native IF_ACMPEQ = "static int org.objectweb.asm.Opcodes.IF_ACMPEQ";
     594
     595$func IF_ACMPNE = s;
     596$native IF_ACMPNE = "static int org.objectweb.asm.Opcodes.IF_ACMPNE";
     597
     598$func GOTO = s;
     599$native GOTO = "static int org.objectweb.asm.Opcodes.GOTO";
     600
     601$func JSR = s;
     602$native JSR = "static int org.objectweb.asm.Opcodes.JSR";
     603
     604$func RET = s;
     605$native RET = "static int org.objectweb.asm.Opcodes.RET";
     606
     607$func TABLESWITCH = s;
     608$native TABLESWITCH = "static int org.objectweb.asm.Opcodes.TABLESWITCH";
     609
     610$func LOOKUPSWITCH = s;
     611$native LOOKUPSWITCH = "static int org.objectweb.asm.Opcodes.LOOKUPSWITCH";
     612
     613$func IRETURN = s;
     614$native IRETURN = "static int org.objectweb.asm.Opcodes.IRETURN";
     615
     616$func LRETURN = s;
     617$native LRETURN = "static int org.objectweb.asm.Opcodes.LRETURN";
     618
     619$func FRETURN = s;
     620$native FRETURN = "static int org.objectweb.asm.Opcodes.FRETURN";
     621
     622$func DRETURN = s;
     623$native DRETURN = "static int org.objectweb.asm.Opcodes.DRETURN";
     624
     625$func ARETURN = s;
     626$native ARETURN = "static int org.objectweb.asm.Opcodes.ARETURN";
     627
     628$func RETURN = s;
     629$native RETURN = "static int org.objectweb.asm.Opcodes.RETURN";
     630
     631$func GETSTATIC = s;
     632$native GETSTATIC = "static int org.objectweb.asm.Opcodes.GETSTATIC";
     633
     634$func PUTSTATIC = s;
     635$native PUTSTATIC = "static int org.objectweb.asm.Opcodes.PUTSTATIC";
     636
     637$func GETFIELD = s;
     638$native GETFIELD = "static int org.objectweb.asm.Opcodes.GETFIELD";
     639
     640$func PUTFIELD = s;
     641$native PUTFIELD = "static int org.objectweb.asm.Opcodes.PUTFIELD";
     642
     643$func INVOKEVIRTUAL = s;
     644$native INVOKEVIRTUAL = "static int org.objectweb.asm.Opcodes.INVOKEVIRTUAL";
     645
     646$func INVOKESPECIAL = s;
     647$native INVOKESPECIAL = "static int org.objectweb.asm.Opcodes.INVOKESPECIAL";
     648
     649$func INVOKESTATIC = s;
     650$native INVOKESTATIC = "static int org.objectweb.asm.Opcodes.INVOKESTATIC";
     651
     652$func INVOKEINTERFACE = s;
     653$native INVOKEINTERFACE = "static int org.objectweb.asm.Opcodes.INVOKEINTERFACE";
     654
     655$func NEW = s;
     656$native NEW = "static int org.objectweb.asm.Opcodes.NEW";
     657
     658$func NEWARRAY = s;
     659$native NEWARRAY = "static int org.objectweb.asm.Opcodes.NEWARRAY";
     660
     661$func ANEWARRAY = s;
     662$native ANEWARRAY = "static int org.objectweb.asm.Opcodes.ANEWARRAY";
     663
     664$func ARRAYLENGTH = s;
     665$native ARRAYLENGTH = "static int org.objectweb.asm.Opcodes.ARRAYLENGTH";
     666
     667$func ATHROW = s;
     668$native ATHROW = "static int org.objectweb.asm.Opcodes.ATHROW";
     669
     670$func CHECKCAST = s;
     671$native CHECKCAST = "static int org.objectweb.asm.Opcodes.CHECKCAST";
     672
     673$func INSTANCEOF = s;
     674$native INSTANCEOF = "static int org.objectweb.asm.Opcodes.INSTANCEOF";
     675
     676$func MONITORENTER = s;
     677$native MONITORENTER = "static int org.objectweb.asm.Opcodes.MONITORENTER";
     678
     679$func MONITOREXIT = s;
     680$native MONITOREXIT = "static int org.objectweb.asm.Opcodes.MONITOREXIT";
     681
     682$func MULTIANEWARRAY = s;
     683$native MULTIANEWARRAY = "static int org.objectweb.asm.Opcodes.MULTIANEWARRAY";
     684
     685$func IFNULL = s;
     686$native IFNULL = "static int org.objectweb.asm.Opcodes.IFNULL";
     687
     688$func IFNONNULL = s;
     689$native IFNONNULL = "static int org.objectweb.asm.Opcodes.IFNONNULL";
     690
     691
     692// End NATIVE
    19693
    20694$box Module_Name;
     
    90764  <ToWord <Intersperse ('/') e.moduleName>> :: s.class_name,
    91765  <Store &Class_Name s.class_name>,
    92   <Store &CWbox <ClassWriter &COMPUTE_MAXS>>,
    93   <CWvisit <CW> &V1_5 <Add &ACC_PUBLIC &ACC_SUPER> s.class_name <Null> "java/lang/Object" ()>,
     766  <Store &CWbox <ClassWriter <COMPUTE_MAXS>>>,
     767  <CWvisit <CW> <V1_5> <Add <ACC_PUBLIC> <ACC_SUPER>> s.class_name <Null> "java/lang/Object" ()>,
    94768        <CWvisitSource <CW> <ToWord <R 0 e.moduleName> '.rf'> <Null>>,
    95769  <Module_To_JBC e.module>,
     
    107781          )'}');;
    108782      } :: e.entry,*/
    109       <Store &MVbox <CWvisitMethod <CW> <Add <Add &ACC_PUBLIC &ACC_STATIC> &ACC_SYNTHETIC> "main" "([Ljava/lang/String;)V" <Null> ()>>,
    110       <MVvisitLdcInsn <MV> s.refal_mod_name>,
    111       <MVvisitVarInsn <MV> &ALOAD 0>,
    112       <MVvisitMethodInsn <MV> &INVOKESTATIC "org/refal/plus/RefalRuntime" "setArgs" "(Ljava/lang/String;[Ljava/lang/String;)V">,
     783      <Store &MVbox <CWvisitMethod <CW> <Add <Add <ACC_PUBLIC> <ACC_STATIC>> <ACC_SYNTHETIC>> "main" "([Ljava/lang/String;)V" <Null> ()>>,
     784      <IIMVvisitLdcInsn <MV> s.refal_mod_name>,
     785      <IIMVvisitVarInsn <MV> <ALOAD> 0>,
     786      <IIMVvisitMethodInsn <MV> <INVOKESTATIC> "org/refal/plus/RefalRuntime" "setArgs" "(Ljava/lang/String;[Ljava/lang/String;)V">,
    113787      {
    114           <MVvisitTypeInsn <MV> &NEW "org/refal/plus/Result">,
    115           <MVvisitInsn <MV> &DUP>,
    116           <MVvisitMethodInsn <MV> &INVOKESPECIAL "org/refal/plus/Result" "<init>" "()V">,
    117           <MVvisitMethodInsn <MV> &INVOKESTATIC s.class_name s.name "(Lorg/refal/plus/Result;)V">,
    118           <MVvisitInsn <MV> &RETURN>,
    119           <MVvisitMaxs <MV> 0 0>,
    120           <MVvisitEnd <MV>>;
     788          <IIMVvisitTypeInsn <MV> <NEW> "org/refal/plus/Result">,
     789          <IIMVvisitInsn <MV> <DUP>>,
     790          <IIMVvisitMethodInsn <MV> <INVOKESPECIAL> "org/refal/plus/Result" "<init>" "()V">,
     791          <IIMVvisitMethodInsn <MV> <INVOKESTATIC> s.class_name s.name "(Lorg/refal/plus/Result;)V">,
     792          <IIMVvisitInsn <MV> <RETURN>>,
     793          <IIMVvisitMaxs <MV> 0 0>,
     794          <IIMVvisitEnd <MV>>;
    121795      };;
    122796  },
    123797  {
    124     <Store &MVbox <CWvisitMethod <CW> &ACC_SYNTHETIC "<init>" "()V" <Null> ()>>,
    125       <MVvisitVarInsn <MV> &ALOAD 0>,
    126       <MVvisitMethodInsn <MV> &INVOKESPECIAL "java/lang/Object" "<init>" "()V">,
    127       <MVvisitInsn <MV> &RETURN>,
    128       <MVvisitMaxs <MV> 0 0>,
    129       <MVvisitEnd <MV>>;
     798    <Store &MVbox <CWvisitMethod <CW> <ACC_SYNTHETIC> "<init>" "()V" <Null> ()>>,
     799      <IIMVvisitVarInsn <MV> <ALOAD> 0>,
     800      <IIMVvisitMethodInsn <MV> <INVOKESPECIAL> "java/lang/Object" "<init>" "()V">,
     801      <IIMVvisitInsn <MV> <RETURN>>,
     802      <IIMVvisitMaxs <MV> 0 0>,
     803      <IIMVvisitEnd <MV>>;
    130804  },
    131   <Store &MVbox <CWvisitMethod <CW> <Add &ACC_STATIC &ACC_SYNTHETIC> "<clinit>" "()V" <Null> ()>>,
     805  <Store &MVbox <CWvisitMethod <CW> <Add <ACC_STATIC> <ACC_SYNTHETIC>> "<clinit>" "()V" <Null> ()>>,
    132806  {
    133807    <Get &Objects> : e (s.tag s.name) e,
    134808      { <ToChars s.tag> : s1 e2, <ToWord "new" s1 <ToLower e2>>; } :: s.objectType,
    135       <MVvisitTypeInsn <MV> &NEW "org/refal/plus/Expr">,
    136       <MVvisitInsn <MV> &DUP>,
    137       <MVvisitLdcInsn <MV> s.name>,
    138       <MVvisitMethodInsn <MV> &INVOKESTATIC "org/refal/plus/Symbol" s.objectType "(Ljava/lang/String;)Ljava/lang/Comparable;">,
    139       <MVvisitMethodInsn <MV> &INVOKESPECIAL "org/refal/plus/Expr" "<init>" "(Ljava/lang/Comparable;)V">,
    140       <MVvisitFieldInsn <MV> &PUTSTATIC s.class_name s.name "Lorg/refal/plus/Expr;">,
     809      <IIMVvisitTypeInsn <MV> <NEW> "org/refal/plus/Expr">,
     810      <IIMVvisitInsn <MV> <DUP>>,
     811      <IIMVvisitLdcInsn <MV> s.name>,
     812      <IIMVvisitMethodInsn <MV> <INVOKESTATIC> "org/refal/plus/Symbol" s.objectType "(Ljava/lang/String;)Ljava/lang/Comparable;">,
     813      <IIMVvisitMethodInsn <MV> <INVOKESPECIAL> "org/refal/plus/Expr" "<init>" "(Ljava/lang/Comparable;)V">,
     814      <IIMVvisitFieldInsn <MV> <PUTSTATIC> s.class_name s.name "Lorg/refal/plus/Expr;">,
    141815      $fail;;
    142816  },
     
    144818    <Get &Constants> : e (s.name e.expr) e,
    145819      <Const_Expr_To_JBC e.expr>,
    146       <MVvisitFieldInsn <MV> &PUTSTATIC s.class_name s.name "Lorg/refal/plus/Expr;">,
     820      <IIMVvisitFieldInsn <MV> <PUTSTATIC> s.class_name s.name "Lorg/refal/plus/Expr;">,
    147821      $fail;;
    148822  },
    149   <MVvisitInsn <MV> &RETURN>,
    150   <MVvisitMaxs <MV> 0 0>,
    151   <MVvisitEnd <MV>>,
     823  <IIMVvisitInsn <MV> <RETURN>>,
     824  <IIMVvisitMaxs <MV> 0 0>,
     825  <IIMVvisitEnd <MV>>,
    152826  //{
    153827  //  <? &Func-Refs> : e (s.cl-name s.mod-name s.func-name) e,
    154   //    <CWvisitInnerClass <CW> s.cl-name <Null> <Null> &"ACC_STATIC">,
     828  //    <CWvisitInnerClass <CW> s.cl-name <Null> <Null> <ACC_STATIC>>,
    155829  //    $fail;;
    156830  //},
     
    159833  {
    160834    <Get &Func_Refs> : e (s.cl_name s.mod_name s.func_name s.type) e,
    161       <ClassWriter &COMPUTE_MAXS> :: s.cw,
    162       <CWvisit s.cw &V1_5 &ACC_FINAL <ToWord s.class_name '$' s.cl_name> <Null> "org/refal/plus/Func" ()>,
    163       <CWvisitMethod s.cw &ACC_SYNTHETIC "<init>" "()V" <Null> ()> :: s.mv,
    164       <MVvisitVarInsn s.mv &ALOAD 0>,
    165       <MVvisitMethodInsn s.mv &INVOKESPECIAL "org/refal/plus/Func" "<init>" "()V">,
    166       <MVvisitInsn s.mv &RETURN>,
    167       <MVvisitMaxs s.mv 0 0>,
    168       <MVvisitEnd s.mv>,
    169       <CWvisitMethod s.cw <Add &ACC_PUBLIC &ACC_SYNTHETIC> "eval" "(Lorg/refal/plus/Expr;Lorg/refal/plus/Result;)Z" <Null> ("org/refal/plus/RefalException")> :: s.mv,
    170       <MVvisitVarInsn s.mv &ALOAD 1>,
    171       <MVvisitVarInsn s.mv &ALOAD 2>,
     835      <ClassWriter <COMPUTE_MAXS>> :: s.cw,
     836      <CWvisit s.cw <V1_5> <ACC_FINAL> <ToWord s.class_name '$' s.cl_name> <Null> "org/refal/plus/Func" ()>,
     837      <CWvisitMethod s.cw <ACC_SYNTHETIC> "<init>" "()V" <Null> ()> :: s.mv,
     838      <IIMVvisitVarInsn s.mv <ALOAD> 0>,
     839      <IIMVvisitMethodInsn s.mv <INVOKESPECIAL> "org/refal/plus/Func" "<init>" "()V">,
     840      <IIMVvisitInsn s.mv <RETURN>>,
     841      <IIMVvisitMaxs s.mv 0 0>,
     842      <IIMVvisitEnd s.mv>,
     843      <CWvisitMethod s.cw <Add <ACC_PUBLIC> <ACC_SYNTHETIC>> "eval" "(Lorg/refal/plus/Expr;Lorg/refal/plus/Result;)Z" <Null> ("org/refal/plus/RefalException")> :: s.mv,
     844      <IIMVvisitVarInsn s.mv <ALOAD> 1>,
     845      <IIMVvisitVarInsn s.mv <ALOAD> 2>,
    172846      s.type : {
    173847        "FUNC?" =
    174           <MVvisitMethodInsn s.mv &INVOKESTATIC s.mod_name s.func_name "(Lorg/refal/plus/Expr;Lorg/refal/plus/Result;)Z">,
    175           <MVvisitInsn s.mv &IRETURN>;
     848          <IIMVvisitMethodInsn s.mv <INVOKESTATIC> s.mod_name s.func_name "(Lorg/refal/plus/Expr;Lorg/refal/plus/Result;)Z">,
     849          <IIMVvisitInsn s.mv <IRETURN>>;
    176850        s.FUNC_or_TFUNC  =
    177           <MVvisitMethodInsn s.mv &INVOKESTATIC s.mod_name s.func_name "(Lorg/refal/plus/Expr;Lorg/refal/plus/Result;)V">,
    178           <MVvisitInsn s.mv &ICONST_1> <MVvisitInsn s.mv &IRETURN>;
     851          <IIMVvisitMethodInsn s.mv <INVOKESTATIC> s.mod_name s.func_name "(Lorg/refal/plus/Expr;Lorg/refal/plus/Result;)V">,
     852          <IIMVvisitInsn s.mv <ICONST_1>> <IIMVvisitInsn s.mv <IRETURN>>;
    179853      },
    180       <MVvisitMaxs s.mv 0 0>,
    181       <MVvisitEnd s.mv>,
     854      <IIMVvisitMaxs s.mv 0 0>,
     855      <IIMVvisitEnd s.mv>,
    182856      <CWvisitEnd s.cw>,
    183857      <Put s.res (<CWtoByteArray s.cw>
     
    204878  <TableCopy s.block_table> :: s.copy_block_table,
    205879  <Label> :: s.start,
    206   <MVvisitLabel <MV> s.start>,
     880  <IIMVvisitLabel <MV> s.start>,
    207881  <Bind s.copy_block_table (START) (s.start)>,
    208882  <Store &Block_Tables e.block_tables s.copy_block_table>;
     
    214888  <Store &Block_Tables e.block_tables s.block_table1>,
    215889  <Label> :: s.stop,
    216   <MVvisitLabel <MV> s.stop>,
     890  <IIMVvisitLabel <MV> s.stop>,
    217891  <Lookup s.block_table2 START> : s.start,
    218892  {
     
    221895      t.var : (e (e.name)),
    222896      s.type : \{
    223         Expr = <MVvisitLocalVariable <MV> <ToWord e.name> "Lorg/refal/plus/Expr;" <Null> s.start s.stop sind>;
    224         Result = <MVvisitLocalVariable <MV> <ToWord e.name> "Lorg/refal/plus/Result;" <Null> s.start s.stop sind>;
     897        Expr = <IIMVvisitLocalVariable <MV> <ToWord e.name> "Lorg/refal/plus/Expr;" <Null> s.start s.stop sind>;
     898        Result = <IIMVvisitLocalVariable <MV> <ToWord e.name> "Lorg/refal/plus/Result;" <Null> s.start s.stop sind>;
    225899      },
    226900      $fail;
     
    325999    t.qname : (e s.name),
    3261000    <Check_Name s.name>,
    327     <Add &ACC_STATIC <Access_Mode s.linkage>> :: s.access,
     1001    <Add <ACC_STATIC> <Access_Mode s.linkage>> :: s.access,
    3281002    <Function_Description (e.args) (e.ress) s.retType> :: s.desc,
    3291003    <Store &MVbox <CWvisitMethod <CW> s.access s.name s.desc <Null> ("org/refal/plus/RefalException")>>,
    3301004    {
    3311005      <PrintFunctionFormat t.qname> :: s.format =
    332         <MVvisitAnnotation <MV> "Lorg/refal/plus/RefalFormat;" False> :: s.aw,
    333         <AnnotationVisitor.visit s.aw "value" s.format>,
    334         <AnnotationVisitor.visitEnd s.aw>;;
     1006        <IIMVvisitAnnotation <MV> "Lorg/refal/plus/RefalFormat;" False> :: s.aw,
     1007        <IIAVvisit s.aw "value" s.format>,
     1008        <IIAVvisitEnd s.aw>;;
    3351009    },
    3361010    <Store &FuncName s.name> <Init_Block_Table> <Push_Block_Table> <Bind_Vars Expr e.args> <Bind_Vars Result e.ress>,
     
    3381012    <Pop_Block_Table>
    3391013    s.tag : {
    340       FUNC    = <MVvisitInsn <MV> &RETURN>;
    341       TFUNC   = <MVvisitInsn <MV> &RETURN>;
    342       "FUNC?" = <MVvisitInsn <MV> &ICONST_1> <MVvisitInsn <MV> &IRETURN>;
     1014      FUNC    = <IIMVvisitInsn <MV> <RETURN>>;
     1015      TFUNC   = <IIMVvisitInsn <MV> <RETURN>>;
     1016      "FUNC?" = <IIMVvisitInsn <MV> <ICONST_1>> <IIMVvisitInsn <MV> <IRETURN>>;
    3431017    },
    344     <MVvisitMaxs <MV> 0 0>,
    345     <MVvisitEnd <MV>>,
     1018    <IIMVvisitMaxs <MV> 0 0>,
     1019    <IIMVvisitEnd <MV>>,
    3461020    { <Get &Entry> : e t.qname e = <Store &EntryName s.name>;; };
    3471021  (CONSTEXPR s.linkage t.qname (e.comment) e.expr) =
     
    3511025    } :: s.name,
    3521026    <Check_Name s.name>,
    353     <Add &ACC_FINAL <Add &ACC_STATIC <Access_Mode s.linkage>>> :: s.access,
     1027    <Add <ACC_FINAL> <Add <ACC_STATIC> <Access_Mode s.linkage>>> :: s.access,
    3541028    <CWvisitField <CW> s.access s.name "Lorg/refal/plus/Expr;" <Null> <Null>> :: s.fv,
    3551029    {
    3561030      <PrintConstDefinition t.qname> :: s.def =
    357         <FVvisitAnnotation s.fv "Lorg/refal/plus/RefalFormat;" False> :: s.aw,
    358         <AnnotationVisitor.visit s.aw "value" s.def>,
    359         <AnnotationVisitor.visitEnd s.aw>;;
     1031        <IIFVvisitAnnotation s.fv "Lorg/refal/plus/RefalFormat;" False> :: s.aw,
     1032        <IIAVvisit s.aw "value" s.def>,
     1033        <IIAVvisitEnd s.aw>;;
    3601034    },
    361     <FVvisitEnd s.fv>,
     1035    <IIFVvisitEnd s.fv>,
    3621036    <Put &Constants (s.name e.expr)>;
    3631037  (OBJ s.linkage s.tag t.qname) =
    3641038    t.qname : (e s.name),
    3651039    <Check_Name s.name>,
    366     <Add &ACC_FINAL <Add &ACC_STATIC <Access_Mode s.linkage>>> :: s.access,
     1040    <Add <ACC_FINAL> <Add <ACC_STATIC> <Access_Mode s.linkage>>> :: s.access,
    3671041    <CWvisitField <CW> s.access s.name "Lorg/refal/plus/Expr;" <Null> <Null>> :: s.fv,
    3681042    {
    3691043      <PrintObjectDefinition t.qname> :: s.def =
    370         <FVvisitAnnotation s.fv "Lorg/refal/plus/RefalFormat;" False> :: s.aw,
    371         <AnnotationVisitor.visit s.aw "value" s.def>,
    372         <AnnotationVisitor.visitEnd s.aw>;;
     1044        <IIFVvisitAnnotation s.fv "Lorg/refal/plus/RefalFormat;" False> :: s.aw,
     1045        <IIAVvisit s.aw "value" s.def>,
     1046        <IIAVvisitEnd s.aw>;;
    3731047    },
    374     <FVvisitEnd s.fv>,
     1048    <IIFVvisitEnd s.fv>,
    3751049    <Put &Objects (s.tag s.name)>;
    3761050  ("DECL-OBJ" t.name) = ;
     
    3851059  (LINENUMBER sN) =
    3861060    <Label> :: s.line,
    387     <MVvisitLabel <MV> s.line>,
    388     <MVvisitLineNumber <MV> sN s.line>;
     1061    <IIMVvisitLabel <MV> s.line>,
     1062    <IIMVvisitLineNumber <MV> sN s.line>;
    3891063  (DECL (INT t.var) e.expr) =
    3901064    <Bind_Var Int t.var> :: s.i,
    3911065    <Expr_Int_To_JBC e.expr>,
    392     <MVvisitVarInsn <MV> &ISTORE s.i>;
     1066    <IIMVvisitVarInsn <MV> <ISTORE> s.i>;
    3931067  (ASSIGN (INT t.var) e.expr) =
    3941068    <Lookup_Var t.var> :: s s.i,
    3951069    <Expr_Int_To_JBC e.expr>,
    396     <MVvisitVarInsn <MV> &ISTORE s.i>;
     1070    <IIMVvisitVarInsn <MV> <ISTORE> s.i>;
    3971071  (DECL s.type t.var e.expr) =
    3981072    <Bind_Var s.type t.var> :: s.i,
    3991073    s.type : {
    4001074      Result =
    401         <MVvisitTypeInsn <MV> &NEW "org/refal/plus/Result">,
    402         <MVvisitInsn <MV> &DUP>,
     1075        <IIMVvisitTypeInsn <MV> <NEW> "org/refal/plus/Result">,
     1076        <IIMVvisitInsn <MV> <DUP>>,
    4031077        <Expr_Ref_To_JBC e.expr>,
    404         <MVvisitMethodInsn <MV> &INVOKESPECIAL "org/refal/plus/Result" "<init>" "(Lorg/refal/plus/Expr;)V">,
    405         <MVvisitVarInsn <MV> &ASTORE s.i>;
     1078        <IIMVvisitMethodInsn <MV> <INVOKESPECIAL> "org/refal/plus/Result" "<init>" "(Lorg/refal/plus/Expr;)V">,
     1079        <IIMVvisitVarInsn <MV> <ASTORE> s.i>;
    4061080      Expr =
    4071081        <Expr_Ref_To_JBC e.expr>,
    408         <MVvisitVarInsn <MV> &ASTORE s.i>;
     1082        <IIMVvisitVarInsn <MV> <ASTORE> s.i>;
    4091083    };
    4101084  (ASSIGN t.var e.expr) =
     
    4121086    s.type : {
    4131087      Result =
    414         <MVvisitVarInsn <MV> &ALOAD s.i>,
     1088        <IIMVvisitVarInsn <MV> <ALOAD> s.i>,
    4151089        <Expr_Ref_To_JBC e.expr>,
    416         <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Result" "assign" "(Lorg/refal/plus/Expr;)V">;
     1090        <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Result" "assign" "(Lorg/refal/plus/Expr;)V">;
    4171091      Expr =
    4181092        <Expr_Ref_To_JBC e.expr>,
    419         <MVvisitVarInsn <MV> &ASTORE s.i>;
     1093        <IIMVvisitVarInsn <MV> <ASTORE> s.i>;
    4201094    };
    4211095  ("IF-INT-CMP" s.op (e.arg1) (e.arg2) e.body) =
     
    4251099    <Expr_Int_To_JBC e.arg2>,
    4261100    s.op : {
    427       "!=" = &IF_ICMPEQ;
    428       "<" = &IF_ICMPGE;
    429       ">" = &IF_ICMPLE;
     1101      "!=" = <IF_ICMPEQ>;
     1102      "<" = <IF_ICMPGE>;
     1103      ">" = <IF_ICMPLE>;
    4301104    } :: s.op,
    431     <MVvisitJumpInsn <MV> s.op s.label>,
     1105    <IIMVvisitJumpInsn <MV> s.op s.label>,
    4321106    <Body_To_JBC e.body>,
    433     <MVvisitLabel <MV> s.label>,
     1107    <IIMVvisitLabel <MV> s.label>,
    4341108    <Pop_Block_Table>;
    4351109  (IF t.cond e.body) =
     
    4371111    <Label> :: s.label,
    4381112    <Cond_To_JBC t.cond> :: s.if,
    439     <MVvisitJumpInsn <MV> s.if s.label>,
     1113    <IIMVvisitJumpInsn <MV> s.if s.label>,
    4401114    <Body_To_JBC e.body>,
    441     <MVvisitLabel <MV> s.label>,
     1115    <IIMVvisitLabel <MV> s.label>,
    4421116    <Pop_Block_Table>;
    4431117  (LSPLIT t.name (e.min) t.var1 t.var2) =
     
    4461120    <Expr_Ref_To_JBC t.name>,
    4471121    <Expr_Int_To_JBC e.min>,
    448     <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr" "leftSplit" "(I)Lorg/refal/plus/Expr$SplitIterator;">,
    449     <MVvisitVarInsn <MV> &ASTORE s.i>;
     1122    <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr" "leftSplit" "(I)Lorg/refal/plus/Expr$SplitIterator;">,
     1123    <IIMVvisitVarInsn <MV> <ASTORE> s.i>;
    4501124  (RSPLIT t.name (e.min) t.var1 t.var2) =
    4511125    <Push_Block_Table>,
     
    4531127    <Expr_Ref_To_JBC t.name>,
    4541128    <Expr_Int_To_JBC e.min>,
    455     <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr" "rightSplit" "(I)Lorg/refal/plus/Expr$SplitIterator;">,
    456     <MVvisitVarInsn <MV> &ASTORE s.i>;
     1129    <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr" "rightSplit" "(I)Lorg/refal/plus/Expr$SplitIterator;">,
     1130    <IIMVvisitVarInsn <MV> <ASTORE> s.i>;
    4571131  (FOR (e.cont_label) (e.break_label) () (e.step) e.body) =
    4581132    { e.step : /*empty*/, <Push_Block_Table>;; },
     
    4661140    } :: s.break_label,
    4671141    <Label> :: s.for_label,
    468     <MVvisitLabel <MV> s.for_label>,
     1142    <IIMVvisitLabel <MV> s.for_label>,
    4691143    {
    4701144      e.step : (s.tag e.expr), s.tag : \{ "INC-ITER"; "DEC-ITER"; } =
    4711145        <Lookup_Iter_Var e.expr> : s.i s.i1 s.i2,
    472         <MVvisitVarInsn <MV> &ALOAD s.i>,
    473         <MVvisitInsn <MV> &DUP>,
    474         <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr$SplitIterator" "getLeft" "()Lorg/refal/plus/Expr;">,
    475         <MVvisitVarInsn <MV> &ASTORE s.i1>,
    476         <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr$SplitIterator" "getRight" "()Lorg/refal/plus/Expr;">,
    477         <MVvisitVarInsn <MV> &ASTORE s.i2>;;
     1146        <IIMVvisitVarInsn <MV> <ALOAD> s.i>,
     1147        <IIMVvisitInsn <MV> <DUP>>,
     1148        <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr$SplitIterator" "getLeft" "()Lorg/refal/plus/Expr;">,
     1149        <IIMVvisitVarInsn <MV> <ASTORE> s.i1>,
     1150        <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr$SplitIterator" "getRight" "()Lorg/refal/plus/Expr;">,
     1151        <IIMVvisitVarInsn <MV> <ASTORE> s.i2>;;
    4781152    },
    4791153    <Body_To_JBC e.body>,
    480     <MVvisitLabel <MV> s.cont_label>,
     1154    <IIMVvisitLabel <MV> s.cont_label>,
    4811155    <Step_To_JBC e.step>,
    482     <MVvisitJumpInsn <MV> &GOTO s.for_label>,
    483     <MVvisitLabel <MV> s.break_label>,
     1156    <IIMVvisitJumpInsn <MV> <GOTO> s.for_label>,
     1157    <IIMVvisitLabel <MV> s.break_label>,
    4841158    <Pop_Block_Table>;
    4851159  (LABEL (t.label) e.body) =
     
    4871161    <Bind_Label t.label> :: s.label,
    4881162    <Body_To_JBC e.body>,
    489     <MVvisitLabel <MV> s.label>,
     1163    <IIMVvisitLabel <MV> s.label>,
    4901164    <Pop_Block_Table>;
    4911165  (s.tag t.label), s.tag : \{ CONTINUE; BREAK; } =
    492     <MVvisitJumpInsn <MV> &GOTO <Lookup_Label t.label>>;
     1166    <IIMVvisitJumpInsn <MV> <GOTO> <Lookup_Label t.label>>;
    4931167  RETFAIL =
    494     <MVvisitInsn <MV> &ICONST_0> <MVvisitInsn <MV> &IRETURN>;
     1168    <IIMVvisitInsn <MV> <ICONST_0>> <IIMVvisitInsn <MV> <IRETURN>>;
    4951169  (TRY e.body) =
    4961170    <Push_Block_Table>,
     
    5001174    <Label> :: s.handler,
    5011175    <Push_Trap s.real_end s.handler>,
    502     <MVvisitTryCatchBlock <MV> s.start s.end s.handler "org/refal/plus/RefalException">,
    503     <MVvisitLabel <MV> s.start>,
     1176    <IIMVvisitTryCatchBlock <MV> s.start s.end s.handler "org/refal/plus/RefalException">,
     1177    <IIMVvisitLabel <MV> s.start>,
    5041178    <Body_To_JBC e.body>,
    505     <MVvisitLabel <MV> s.end>,
    506     <MVvisitJumpInsn <MV> &GOTO s.real_end>,
     1179    <IIMVvisitLabel <MV> s.end>,
     1180    <IIMVvisitJumpInsn <MV> <GOTO> s.real_end>,
    5071181    <Pop_Block_Table>;
    5081182  ("CATCH-ERROR" e.body) =
    5091183    <Push_Block_Table>,
    5101184    <Get_Trap> :: s.label,
    511     <MVvisitLabel <MV> s.label>,
    512     <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/RefalException" "getExpr" "()Lorg/refal/plus/Expr;">,
    513     <MVvisitVarInsn <MV> &ASTORE <Bind_Var Expr s.label>>,
     1185    <IIMVvisitLabel <MV> s.label>,
     1186    <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/RefalException" "getExpr" "()Lorg/refal/plus/Expr;">,
     1187    <IIMVvisitVarInsn <MV> <ASTORE> <Bind_Var Expr s.label>>,
    5141188    <Body_To_JBC e.body>,
    515     <MVvisitLabel <MV> <Pop_Trap>>,
     1189    <IIMVvisitLabel <MV> <Pop_Trap>>,
    5161190    <Pop_Block_Table>;
    5171191  FATAL =
    518     <MVvisitTypeInsn <MV> &NEW "org/refal/plus/RefalException">,
    519     <MVvisitInsn <MV> &DUP>,
     1192    <IIMVvisitTypeInsn <MV> <NEW> "org/refal/plus/RefalException">,
     1193    <IIMVvisitInsn <MV> <DUP>>,
    5201194    <Get &Refal_Module_Name> : s.mod_name,
    521     <MVvisitLdcInsn <MV> s.mod_name>,
     1195    <IIMVvisitLdcInsn <MV> s.mod_name>,
    5221196    <Get &FuncName> : s.fname,
    523     <MVvisitLdcInsn <MV> s.fname>,
    524     <MVvisitLdcInsn <MV> "Unexpected fail">,
    525     <MVvisitMethodInsn <MV> &INVOKESPECIAL "org/refal/plus/RefalException" "<init>" "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V">,
    526     <MVvisitInsn <MV> &ATHROW>;
     1197    <IIMVvisitLdcInsn <MV> s.fname>,
     1198    <IIMVvisitLdcInsn <MV> "Unexpected fail">,
     1199    <IIMVvisitMethodInsn <MV> <INVOKESPECIAL> "org/refal/plus/RefalException" "<init>" "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V">,
     1200    <IIMVvisitInsn <MV> <ATHROW>>;
    5271201  (ERROR e.expr) =
    528     <MVvisitTypeInsn <MV> &NEW "org/refal/plus/RefalException">,
    529     <MVvisitInsn <MV> &DUP>,
     1202    <IIMVvisitTypeInsn <MV> <NEW> "org/refal/plus/RefalException">,
     1203    <IIMVvisitInsn <MV> <DUP>>,
    5301204    <Expr_Ref_To_JBC e.expr>,
    531     <MVvisitMethodInsn <MV> &INVOKESPECIAL "org/refal/plus/RefalException" "<init>" "(Lorg/refal/plus/Expr;)V">,
    532     <MVvisitInsn <MV> &ATHROW>;
     1205    <IIMVvisitMethodInsn <MV> <INVOKESPECIAL> "org/refal/plus/RefalException" "<init>" "(Lorg/refal/plus/Expr;)V">,
     1206    <IIMVvisitInsn <MV> <ATHROW>>;
    5331207  (s.call (e.module s.name) (e.args) (e.ress)),
    5341208    s.call : \{ CALL = V; TAILCALL = V; "TAILCALL?" = Z; } :: s.retType =
     
    5441218          Expr s =
    5451219            <Bind_TMP_Var t.var> :: s.j,
    546             <MVvisitTypeInsn <MV> &NEW "org/refal/plus/Result">,
    547             <MVvisitInsn <MV> &DUP>,
    548             <MVvisitInsn <MV> &DUP>,
    549             <MVvisitMethodInsn <MV> &INVOKESPECIAL "org/refal/plus/Result" "<init>" "()V">,
    550             <MVvisitVarInsn <MV> &ASTORE s.j>;
     1220            <IIMVvisitTypeInsn <MV> <NEW> "org/refal/plus/Result">,
     1221            <IIMVvisitInsn <MV> <DUP>>,
     1222            <IIMVvisitInsn <MV> <DUP>>,
     1223            <IIMVvisitMethodInsn <MV> <INVOKESPECIAL> "org/refal/plus/Result" "<init>" "()V">,
     1224            <IIMVvisitVarInsn <MV> <ASTORE> s.j>;
    5511225          Result s.i =
    552             <MVvisitVarInsn <MV> &ALOAD s.i>;
     1226            <IIMVvisitVarInsn <MV> <ALOAD> s.i>;
    5531227        }, $fail;;
    5541228    },
    555     <MVvisitMethodInsn <MV> &INVOKESTATIC <GetJBCQName e.module s.name> s.desc>,
     1229    <IIMVvisitMethodInsn <MV> <INVOKESTATIC> <GetJBCQName e.module s.name> s.desc>,
    5561230    {
    5571231      s.call : "TAILCALL?" =
    5581232        <Label> :: s.label,
    559         <MVvisitJumpInsn <MV> &IFNE s.label>,
    560         <MVvisitInsn <MV> &ICONST_0>,
    561         <MVvisitInsn <MV> &IRETURN>,
    562         <MVvisitLabel <MV> s.label>;;
     1233        <IIMVvisitJumpInsn <MV> <IFNE> s.label>,
     1234        <IIMVvisitInsn <MV> <ICONST_0>>,
     1235        <IIMVvisitInsn <MV> <IRETURN>>,
     1236        <IIMVvisitLabel <MV> s.label>;;
    5631237    },
    5641238    {
    5651239      e.ress : e t.var e, <Lookup_Var t.var> : Expr s.i,
    5661240        <Lookup_TMP_Var t.var> :: s.j,
    567         <MVvisitVarInsn <MV> &ALOAD s.j>
    568           <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Result" "getExpr" "()Lorg/refal/plus/Expr;">,
    569         <MVvisitVarInsn <MV> &ASTORE s.i>,
     1241        <IIMVvisitVarInsn <MV> <ALOAD> s.j>
     1242          <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Result" "getExpr" "()Lorg/refal/plus/Expr;">,
     1243        <IIMVvisitVarInsn <MV> <ASTORE> s.i>,
    5701244        $fail;;
    5711245    };
     
    5791253  {
    5801254    s.type : Comparable,
    581       <MVvisitTypeInsn <MV> &NEW "org/refal/plus/Expr">,
    582       <MVvisitInsn <MV> &DUP_X1>,
    583       <MVvisitInsn <MV> &SWAP>,
    584       <MVvisitMethodInsn <MV> &INVOKESPECIAL "org/refal/plus/Expr" "<init>" "(Ljava/lang/Comparable;)V">;;
     1255      <IIMVvisitTypeInsn <MV> <NEW> "org/refal/plus/Expr">,
     1256      <IIMVvisitInsn <MV> <DUP_X1>>,
     1257      <IIMVvisitInsn <MV> <SWAP>>,
     1258      <IIMVvisitMethodInsn <MV> <INVOKESPECIAL> "org/refal/plus/Expr" "<init>" "(Ljava/lang/Comparable;)V">;;
    5851259  };
    5861260
    5871261Expr_Ref_To_JBC_With_Type {
    588   /*empty*/ = <MVvisitFieldInsn <MV> &GETSTATIC "org/refal/plus/Expr" "empty" "Lorg/refal/plus/Expr;">, Expr;
     1262  /*empty*/ = <IIMVvisitFieldInsn <MV> <GETSTATIC> "org/refal/plus/Expr" "empty" "Lorg/refal/plus/Expr;">, Expr;
    5891263  t.term = <Term_Ref_To_JBC_With_Type t.term>;
    5901264  t.term1 t.term2 =
     
    5941268    { s.type2 : Comparable = "Ljava/lang/Comparable;"; "Lorg/refal/plus/Expr;"; } :: s.type2,
    5951269    <ToWord "(" s.type1 s.type2 ")Lorg/refal/plus/Expr;"> :: s.concatType,
    596     <MVvisitMethodInsn <MV> &INVOKESTATIC "org/refal/plus/Expr" "concat" s.concatType>, Expr;
     1270    <IIMVvisitMethodInsn <MV> <INVOKESTATIC> "org/refal/plus/Expr" "concat" s.concatType>, Expr;
    5971271  e.expr =
    598     <MVvisitLdcInsn <MV> <Integer <Length e.expr>>>,
    599     <MVvisitMethodInsn <MV> &INVOKESTATIC "org/refal/plus/Expr" "getConcatenator" "(I)Lorg/refal/plus/Expr$Concatenator;">,
     1272    <IIMVvisitLdcInsn <MV> <Integer <Length e.expr>>>,
     1273    <IIMVvisitMethodInsn <MV> <INVOKESTATIC> "org/refal/plus/Expr" "getConcatenator" "(I)Lorg/refal/plus/Expr$Concatenator;">,
    6001274    {
    6011275      e.expr : e t.term e,
     
    6031277        { s.type : Comparable = "Ljava/lang/Comparable;"; "Lorg/refal/plus/Expr;"; } :: s.type,
    6041278        <ToWord "(" s.type ")Lorg/refal/plus/Expr$Concatenator;"> :: s.toRightType,
    605         <MVvisitMethodInsn <MV> &INVOKEINTERFACE "org/refal/plus/Expr$Concatenator" "toRight" s.toRightType>,
     1279        <IIMVvisitMethodInsn <MV> <INVOKEINTERFACE> "org/refal/plus/Expr$Concatenator" "toRight" s.toRightType>,
    6061280        $fail;;
    6071281    },
    608     <MVvisitMethodInsn <MV> &INVOKEINTERFACE "org/refal/plus/Expr$Concatenator" "yield" "()Lorg/refal/plus/Expr;">, Expr;
     1282    <IIMVvisitMethodInsn <MV> <INVOKEINTERFACE> "org/refal/plus/Expr$Concatenator" "yield" "()Lorg/refal/plus/Expr;">, Expr;
    6091283};
    6101284
     
    6141288    <Expr_Ref_To_JBC e.expr>,
    6151289    <Expr_Int_To_JBC e.pos>,
    616     <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr" "at" "(I)Ljava/lang/Comparable;">,
    617     <MVvisitTypeInsn <MV> &CHECKCAST "org/refal/plus/Expr">, Expr;
     1290    <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr" "at" "(I)Ljava/lang/Comparable;">,
     1291    <IIMVvisitTypeInsn <MV> <CHECKCAST> "org/refal/plus/Expr">, Expr;
    6181292  (SUBEXPR e.expr (e.pos) (e.len)) =
    6191293    <Expr_Ref_To_JBC e.expr>,
    6201294    <Expr_Int_To_JBC e.pos>,
    6211295    <Expr_Int_To_JBC e.len>,
    622     <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr" "subexpr" "(II)Lorg/refal/plus/Expr;">, Expr;
     1296    <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr" "subexpr" "(II)Lorg/refal/plus/Expr;">, Expr;
    6231297  t.term, t.term : \{
    6241298    (REF (e.module s.name)) = e.module s.name;
    6251299    (STATIC (e)) = <Get &Module_Name> t.term;
    6261300  } :: e.module t.name =
    627     <MVvisitFieldInsn <MV> &GETSTATIC <GetJBCQName e.module t.name> "Lorg/refal/plus/Expr;">, Expr;
     1301    <IIMVvisitFieldInsn <MV> <GETSTATIC> <GetJBCQName e.module t.name> "Lorg/refal/plus/Expr;">, Expr;
    6281302  "ERROR-EXPR" = <Var_To_JBC <Get_Trap>>, Expr;
    6291303  t.term, t.term : (s.var_tag e),
     
    6361310    {
    6371311      <IsInt s.ObjectSymbol> =
    638         <MVvisitLdcInsn <MV> <Integer s.ObjectSymbol>>;
     1312        <IIMVvisitLdcInsn <MV> <Integer s.ObjectSymbol>>;
    6391313      $error ("Illegal int-symbol: " s.ObjectSymbol);
    6401314        //FIXME: It is needed to check that s.pos and s.len
     
    6441318  (LENGTH e.x) =
    6451319    <Expr_Ref_To_JBC e.x>,
    646     <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr" "length" "()I">;
     1320    <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr" "length" "()I">;
    6471321  (s.tag (e.x) (e.y)),
    6481322    s.tag : \{ MIN = "min"; MAX = "max"; } :: s.fn =
    6491323    <Expr_Int_To_JBC e.x>,
    6501324    <Expr_Int_To_JBC e.y>,
    651     <MVvisitMethodInsn <MV> &INVOKESTATIC "java/lang/Math" s.fn "(II)I">;
     1325    <IIMVvisitMethodInsn <MV> <INVOKESTATIC> "java/lang/Math" s.fn "(II)I">;
    6521326  (INFIX s.op e.args) =
    6531327    <Infix_To_JBC &Expr_Int_To_JBC s.op e.args>;
     
    6581332Infix_To_JBC s.arg2java s.op (e.arg) e.args =
    6591333  s.op : \{
    660     "+" = &IADD;
    661     "-" = &ISUB;
    662     "%" = &IREM;
    663     "*" = &IMUL;
    664     "/" = &IDIV;
     1334    "+" = <IADD>;
     1335    "-" = <ISUB>;
     1336    "%" = <IREM>;
     1337    "*" = <IMUL>;
     1338    "/" = <IDIV>;
    6651339  } :: s.jbcop,
    6661340  <Apply s.arg2java e.arg> : e,
     
    6681342    e.args : e (e.arg2) e,
    6691343      <Apply s.arg2java e.arg2> : e,
    670       <MVvisitInsn <MV> s.jbcop>,
     1344      <IIMVvisitInsn <MV> s.jbcop>,
    6711345      $fail;;
    6721346  };
     
    6851359          Expr s =
    6861360            <Bind_TMP_Var t.var> :: s.j,
    687             <MVvisitTypeInsn <MV> &NEW "org/refal/plus/Result">,
    688             <MVvisitInsn <MV> &DUP>,
    689             <MVvisitInsn <MV> &DUP>,
    690             <MVvisitMethodInsn <MV> &INVOKESPECIAL "org/refal/plus/Result" "<init>" "()V">,
    691             <MVvisitVarInsn <MV> &ASTORE s.j>;
     1361            <IIMVvisitTypeInsn <MV> <NEW> "org/refal/plus/Result">,
     1362            <IIMVvisitInsn <MV> <DUP>>,
     1363            <IIMVvisitInsn <MV> <DUP>>,
     1364            <IIMVvisitMethodInsn <MV> <INVOKESPECIAL> "org/refal/plus/Result" "<init>" "()V">,
     1365            <IIMVvisitVarInsn <MV> <ASTORE> s.j>;
    6921366          Result s.i =
    693             <MVvisitVarInsn <MV> &ALOAD s.i>;
     1367            <IIMVvisitVarInsn <MV> <ALOAD> s.i>;
    6941368        }, $fail;;
    6951369    },
    696     <MVvisitMethodInsn <MV> &INVOKESTATIC <GetJBCQName e.module s.name> s.desc>,
     1370    <IIMVvisitMethodInsn <MV> <INVOKESTATIC> <GetJBCQName e.module s.name> s.desc>,
    6971371    {
    6981372      e.ress : e t.var e, <Lookup_Var t.var> : Expr s.i,
    6991373        <Lookup_TMP_Var t.var> :: s.j,
    700         <MVvisitVarInsn <MV> &ALOAD s.j>
    701         <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Result" "getExpr" "()Lorg/refal/plus/Expr;">,
    702         <MVvisitVarInsn <MV> &ASTORE s.i>,
     1374        <IIMVvisitVarInsn <MV> <ALOAD> s.j>
     1375        <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Result" "getExpr" "()Lorg/refal/plus/Expr;">,
     1376        <IIMVvisitVarInsn <MV> <ASTORE> s.i>,
    7031377        $fail;;
    7041378    },
    705     &IFNE;
     1379    <IFNE>;
    7061380  ("ITER-FAILS" e.expr) =
    7071381    <Lookup_Iter_Var e.expr> :: s.i s s,
    708     <MVvisitVarInsn <MV> &ALOAD s.i>,
    709     <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr$SplitIterator" "isValid" "()Z">,
    710     &IFNE;
     1382    <IIMVvisitVarInsn <MV> <ALOAD> s.i>,
     1383    <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr$SplitIterator" "isValid" "()Z">,
     1384    <IFNE>;
    7111385  ("SYMBOL?" e.expr (e.pos)) =
    7121386    <Expr_Ref_To_JBC e.expr>,
    7131387    <Expr_Int_To_JBC e.pos>,
    714     <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr" "isSymbolAt" "(I)Z">,
    715     &IFEQ;
     1388    <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr" "isSymbolAt" "(I)Z">,
     1389    <IFEQ>;
    7161390  (EQ e.expr1 (e.expr2) (e.pos)) =
    7171391    <Expr_Ref_To_JBC e.expr1>,
    7181392    <Expr_Ref_To_JBC e.expr2>,
    7191393    <Expr_Int_To_JBC e.pos>,
    720     <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr" "equals" "(Lorg/refal/plus/Expr;I)Z">,
    721     &IFEQ;
     1394    <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr" "equals" "(Lorg/refal/plus/Expr;I)Z">,
     1395    <IFEQ>;
    7221396  ("TERM-EQ" e.expr1 (e.expr2) (e.pos)) =
    7231397    <Expr_Ref_To_JBC e.expr1>,
    7241398    <Expr_Ref_To_JBC e.expr2>,
    7251399    <Expr_Int_To_JBC e.pos>,
    726     <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr" "termEquals" "(Lorg/refal/plus/Expr;I)Z">,
    727     &IFEQ;
     1400    <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr" "termEquals" "(Lorg/refal/plus/Expr;I)Z">,
     1401    <IFEQ>;
    7281402  (NOT t.cond) =
     1403    <IFEQ> :: s.IFEQ,
     1404    <IFNE> :: s.IFNE,
    7291405    <Cond_To_JBC t.cond> : {
    730       &IFEQ = &IFNE;
    731       &IFNE = &IFEQ;
     1406      s.IFEQ = s.IFNE;
     1407      s.IFNE = s.IFEQ;
    7321408    };
    7331409};
     
    7421418    } :: s.m =
    7431419    <Lookup_Iter_Var e.expr> :: s.i s s,
    744     <MVvisitVarInsn <MV> &ALOAD s.i>,
    745     <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr$SplitIterator" s.m "()Lorg/refal/plus/Expr$SplitIterator;">,
    746     <MVvisitInsn <MV> &POP>;
     1420    <IIMVvisitVarInsn <MV> <ALOAD> s.i>,
     1421    <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr$SplitIterator" s.m "()Lorg/refal/plus/Expr$SplitIterator;">,
     1422    <IIMVvisitInsn <MV> <POP>>;
    7471423};
    7481424
     
    7521428
    7531429Const_Expr_To_JBC {
    754   /*empty*/ = <MVvisitFieldInsn <MV> &GETSTATIC "org/refal/plus/Expr" "empty" "Lorg/refal/plus/Expr;">;
     1430  /*empty*/ = <IIMVvisitFieldInsn <MV> <GETSTATIC> "org/refal/plus/Expr" "empty" "Lorg/refal/plus/Expr;">;
    7551431  (SUBEXPR t.name s.pos s.len) =
    7561432    t.name : \{
     
    7581434      (STATIC (e)) = <Get &Module_Name> t.name;
    7591435    } :: e.module t.name =
    760     <MVvisitFieldInsn <MV> &GETSTATIC <GetJBCQName e.module t.name> "Lorg/refal/plus/Expr;">,
    761     <MVvisitLdcInsn <MV> <Integer s.pos>>,
    762     <MVvisitLdcInsn <MV> <Integer s.len>>,
    763     <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr" "subexpr" "(II)Lorg/refal/plus/Expr;">;
     1436    <IIMVvisitFieldInsn <MV> <GETSTATIC> <GetJBCQName e.module t.name> "Lorg/refal/plus/Expr;">,
     1437    <IIMVvisitLdcInsn <MV> <Integer s.pos>>,
     1438    <IIMVvisitLdcInsn <MV> <Integer s.len>>,
     1439    <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr" "subexpr" "(II)Lorg/refal/plus/Expr;">;
    7641440                  //FIXME: It is needed to check that s.pos and s.len
    7651441                  //       are in allowable bounds.
    7661442                  //       Set this bounds by options.
    7671443  e.expr = <Convert_Const_Expr e.expr> :: e.expr,
    768     <MVvisitLdcInsn <MV> <Integer <Length e.expr>>>,
    769     <MVvisitMethodInsn <MV> &INVOKESTATIC "org/refal/plus/Expr" "getConcatenator" "(I)Lorg/refal/plus/Expr$Concatenator;">,
     1444    <IIMVvisitLdcInsn <MV> <Integer <Length e.expr>>>,
     1445    <IIMVvisitMethodInsn <MV> <INVOKESTATIC> "org/refal/plus/Expr" "getConcatenator" "(I)Lorg/refal/plus/Expr$Concatenator;">,
    7701446    {
    7711447      e.expr : e t.term e,
    7721448        <Const_Term_To_JBC t.term>,
    773         <MVvisitMethodInsn <MV> &INVOKEINTERFACE "org/refal/plus/Expr$Concatenator" "toRight" "(Lorg/refal/plus/Expr;)Lorg/refal/plus/Expr$Concatenator;">,
     1449        <IIMVvisitMethodInsn <MV> <INVOKEINTERFACE> "org/refal/plus/Expr$Concatenator" "toRight" "(Lorg/refal/plus/Expr;)Lorg/refal/plus/Expr$Concatenator;">,
    7741450        $fail;;
    7751451    },
    776     <MVvisitMethodInsn <MV> &INVOKEINTERFACE "org/refal/plus/Expr$Concatenator" "yield" "()Lorg/refal/plus/Expr;">;
     1452    <IIMVvisitMethodInsn <MV> <INVOKEINTERFACE> "org/refal/plus/Expr$Concatenator" "yield" "()Lorg/refal/plus/Expr;">;
    7771453
    7781454  /*e.expr =
     
    8071483Const_Term_To_JBC {
    8081484  (CHARS e.chars) =
    809     <MVvisitLdcInsn <MV> <ToWord e.chars>>,
    810     <MVvisitMethodInsn <MV> &INVOKESTATIC "org/refal/plus/Expr" "fromSequence" "(Ljava/lang/CharSequence;)Lorg/refal/plus/Expr;">;
     1485    <IIMVvisitLdcInsn <MV> <ToWord e.chars>>,
     1486    <IIMVvisitMethodInsn <MV> <INVOKESTATIC> "org/refal/plus/Expr" "fromSequence" "(Ljava/lang/CharSequence;)Lorg/refal/plus/Expr;">;
    8111487  (PAREN e.expr) =
    812     <MVvisitTypeInsn <MV> &NEW "org/refal/plus/Expr">,
    813     <MVvisitInsn <MV> &DUP>,
     1488    <IIMVvisitTypeInsn <MV> <NEW> "org/refal/plus/Expr">,
     1489    <IIMVvisitInsn <MV> <DUP>>,
    8141490    <Const_Expr_To_JBC e.expr>,
    815     <MVvisitMethodInsn <MV> &INVOKESPECIAL "org/refal/plus/Expr" "<init>" "(Ljava/lang/Comparable;)V">;
     1491    <IIMVvisitMethodInsn <MV> <INVOKESPECIAL> "org/refal/plus/Expr" "<init>" "(Ljava/lang/Comparable;)V">;
    8161492  t.term, t.term : \{
    8171493    (REF (e.module s.name)) = e.module s.name;
    8181494    (STATIC (e)) = <Get &Module_Name> t.term;
    8191495  } :: e.module t.name =
    820     <MVvisitFieldInsn <MV> &GETSTATIC <GetJBCQName e.module t.name> "Lorg/refal/plus/Expr;">;
     1496    <IIMVvisitFieldInsn <MV> <GETSTATIC> <GetJBCQName e.module t.name> "Lorg/refal/plus/Expr;">;
    8211497  (s.func (e.module s.name)), s.func : \{ FUNC; "FUNC?"; TFUNC; } =
    8221498    <ToWord <Get &Class_Name> '$' <Length <Get &Func_Refs>>> :: s.cl_name,
    8231499    <Put &Func_Refs (<Length <Get &Func_Refs>> <GetJBCQName e.module s.name> s.func)>,
    824     <MVvisitTypeInsn <MV> &NEW "org/refal/plus/Expr">,
    825     <MVvisitInsn <MV> &DUP>,
    826     <MVvisitTypeInsn <MV> &NEW s.cl_name>,
    827     <MVvisitInsn <MV> &DUP>,
    828     <MVvisitMethodInsn <MV> &INVOKESPECIAL s.cl_name "<init>" "()V">,
    829     <MVvisitMethodInsn <MV> &INVOKESPECIAL "org/refal/plus/Expr" "<init>" "(Ljava/lang/Comparable;)V">;
     1500    <IIMVvisitTypeInsn <MV> <NEW> "org/refal/plus/Expr">,
     1501    <IIMVvisitInsn <MV> <DUP>>,
     1502    <IIMVvisitTypeInsn <MV> <NEW> s.cl_name>,
     1503    <IIMVvisitInsn <MV> <DUP>>,
     1504    <IIMVvisitMethodInsn <MV> <INVOKESPECIAL> s.cl_name "<init>" "()V">,
     1505    <IIMVvisitMethodInsn <MV> <INVOKESPECIAL> "org/refal/plus/Expr" "<init>" "(Ljava/lang/Comparable;)V">;
    8301506  s.sym =
    8311507    {
     
    8331509      <IsWord s.sym> = "newWord";
    8341510    } :: s.meth,
    835     <MVvisitTypeInsn <MV> &NEW "org/refal/plus/Expr">,
    836     <MVvisitInsn <MV> &DUP>,
    837     <MVvisitLdcInsn <MV> <ToWord s.sym>>,
    838     <MVvisitMethodInsn <MV> &INVOKESTATIC "org/refal/plus/Symbol" s.meth "(Ljava/lang/String;)Ljava/lang/Comparable;">,
    839     <MVvisitMethodInsn <MV> &INVOKESPECIAL "org/refal/plus/Expr" "<init>" "(Ljava/lang/Comparable;)V">;
     1511    <IIMVvisitTypeInsn <MV> <NEW> "org/refal/plus/Expr">,
     1512    <IIMVvisitInsn <MV> <DUP>>,
     1513    <IIMVvisitLdcInsn <MV> <ToWord s.sym>>,
     1514    <IIMVvisitMethodInsn <MV> <INVOKESTATIC> "org/refal/plus/Symbol" s.meth "(Ljava/lang/String;)Ljava/lang/Comparable;">,
     1515    <IIMVvisitMethodInsn <MV> <INVOKESPECIAL> "org/refal/plus/Expr" "<init>" "(Ljava/lang/Comparable;)V">;
    8401516};
    8411517
     
    8441520  s.type : {
    8451521    Result =
    846       <MVvisitVarInsn <MV> &ALOAD s.i>,
    847       <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Result" "getExpr" "()Lorg/refal/plus/Expr;">;
     1522      <IIMVvisitVarInsn <MV> <ALOAD> s.i>,
     1523      <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Result" "getExpr" "()Lorg/refal/plus/Expr;">;
    8481524    Expr =
    849       <MVvisitVarInsn <MV> &ALOAD s.i>;
     1525      <IIMVvisitVarInsn <MV> <ALOAD> s.i>;
    8501526    Int =
    851       <MVvisitVarInsn <MV> &ILOAD s.i>;
     1527      <IIMVvisitVarInsn <MV> <ILOAD> s.i>;
    8521528  };
    8531529
    8541530Access_Mode {
    855   EXPORT = &ACC_PUBLIC;
     1531  EXPORT = <ACC_PUBLIC>;
    8561532  s = 0;
    8571533};
     
    8591535$func PutArgToStack s.javaArgType e.rfArgTypes s.num = ;
    8601536PutArgToStack s.javaArgType e.rfArgTypes s.num =
    861   <MVvisitVarInsn <MV> &ALOAD s.num>,
     1537  <IIMVvisitVarInsn <MV> <ALOAD> s.num>,
    8621538  <L s.num e.rfArgTypes> : {
    8631539    (SVAR e) =
    864       <MVvisitInsn <MV> &ICONST_0>,
    865       <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr" "at" "(I)Ljava/lang/Comparable;">,
     1540      <IIMVvisitInsn <MV> <ICONST_0>>,
     1541      <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr" "at" "(I)Ljava/lang/Comparable;">,
    8661542      {
    8671543        s.javaArgType : \{Z = "booleanValue"; C = "charValue"; B = "byteValue"; S = "shortValue"; I = "intValue"; J = "longValue";} :: s.methodName =
    868           <MVvisitMethodInsn <MV> &INVOKESTATIC "org/refal/plus/Native" s.methodName  <ToWord "(Ljava/lang/Comparable;)"s.javaArgType>>;
    869         <MVvisitMethodInsn <MV> &INVOKESTATIC "org/refal/plus/Native" "objectValue" "(Ljava/lang/Comparable;)Ljava/lang/Object;">,
     1544          <IIMVvisitMethodInsn <MV> <INVOKESTATIC> "org/refal/plus/Native" s.methodName  <ToWord "(Ljava/lang/Comparable;)"s.javaArgType>>;
     1545        <IIMVvisitMethodInsn <MV> <INVOKESTATIC> "org/refal/plus/Native" "objectValue" "(Ljava/lang/Comparable;)Ljava/lang/Object;">,
    8701546          {         
    8711547            <ToChars s.javaArgType> : 'L' e.intName ';',
     
    8731549            s.javaArgType;
    8741550          } :: s.javaArgType2,
    875           <MVvisitTypeInsn <MV> &CHECKCAST s.javaArgType2>;
     1551          <IIMVvisitTypeInsn <MV> <CHECKCAST> s.javaArgType2>;
    8761552      };
    8771553    (EVAR e) =
     
    8801556      {
    8811557        s.javaElemType : \{Z = "booleanArrayValue"; C = "charArrayValue"; B = "byteArrayValue"; S = "shortArrayValue"; I = "intArrayValue"; J = "longArrayValue";} :: s.methodName =
    882           <MVvisitMethodInsn <MV> &INVOKESTATIC "org/refal/plus/Native" s.methodName <ToWord "(Lorg/refal/plus/Expr;)"s.javaArgType>>;
    883         <MVvisitInsn <MV> &DUP>,
    884           <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Expr" "length" "()I">,
     1558          <IIMVvisitMethodInsn <MV> <INVOKESTATIC> "org/refal/plus/Native" s.methodName <ToWord "(Lorg/refal/plus/Expr;)"s.javaArgType>>;
     1559        <IIMVvisitInsn <MV> <DUP>>,
     1560          <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Expr" "length" "()I">,
    8851561          {         
    8861562            <ToChars s.javaElemType> : '[' e =
    887               <MVvisitTypeInsn <MV> &ANEWARRAY s.javaElemType>;
     1563              <IIMVvisitTypeInsn <MV> <ANEWARRAY> s.javaElemType>;
    8881564            <ToChars s.javaElemType> : 'L' e.intName ';',
    889               <MVvisitTypeInsn <MV> &ANEWARRAY <ToWord e.intName>>;
     1565              <IIMVvisitTypeInsn <MV> <ANEWARRAY> <ToWord e.intName>>;
    8901566          },
    891           <MVvisitMethodInsn <MV> &INVOKESTATIC "org/refal/plus/Native" "objectArrayValue" "(Lorg/refal/plus/Expr;[Ljava/lang/Object;)[Ljava/lang/Object;">,
     1567          <IIMVvisitMethodInsn <MV> <INVOKESTATIC> "org/refal/plus/Native" "objectArrayValue" "(Lorg/refal/plus/Expr;[Ljava/lang/Object;)[Ljava/lang/Object;">,
    8921568          {         
    8931569            <ToChars s.javaArgType> : 'L' e.intName ';',
     
    8951571            s.javaArgType;
    8961572          } :: s.javaArgType2,
    897           <MVvisitTypeInsn <MV> &CHECKCAST s.javaArgType2>;
     1573          <IIMVvisitTypeInsn <MV> <CHECKCAST> s.javaArgType2>;
    8981574      };
    8991575  };
     
    9021578GetResFromStack s.javaResType e.rfResTypes s.num = {
    9031579  e.rfResTypes : /**/ = ;
    904   <MVvisitVarInsn <MV> &ALOAD s.num>,
    905     <MVvisitInsn <MV> &SWAP>,
     1580  <IIMVvisitVarInsn <MV> <ALOAD> s.num>,
     1581    <IIMVvisitInsn <MV> <SWAP>>,
    9061582    e.rfResTypes : {
    9071583      (SVAR e) =
    9081584        {
    909           <ToChars s.javaResType> : 'L' e = "Ljava/lang/Object;";
     1585          <ToChars s.javaResType> : \{ 'L' e; '[' e; } = "Ljava/lang/Object;";
    9101586          s.javaResType;
    9111587        } :: s.javaResType,
    912         <MVvisitMethodInsn <MV> &INVOKESTATIC "org/refal/plus/Native" "sValueOf" <ToWord "("s.javaResType")Ljava/lang/Comparable;">>,
    913         <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Result" "assign" "(Ljava/lang/Comparable;)V">;
     1588        <IIMVvisitMethodInsn <MV> <INVOKESTATIC> "org/refal/plus/Native" "sValueOf" <ToWord "("s.javaResType")Ljava/lang/Comparable;">>,
     1589        <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Result" "assign" "(Ljava/lang/Comparable;)V">;
    9141590      (EVAR e) =
    9151591        {
    916           <ToChars s.javaResType> : '[L' e = "[Ljava/lang/Object;";
     1592          <ToChars s.javaResType> : \{ '[L' e; '[[' e; } = "[Ljava/lang/Object;";
    9171593          s.javaResType;
    9181594        } :: s.javaResType,
    919         <MVvisitMethodInsn <MV> &INVOKESTATIC "org/refal/plus/Native" "eValueOf" <ToWord "("s.javaResType")Lorg/refal/plus/Expr;">>,
    920         <MVvisitMethodInsn <MV> &INVOKEVIRTUAL "org/refal/plus/Result" "assign" "(Lorg/refal/plus/Expr;)V">;
     1595        <IIMVvisitMethodInsn <MV> <INVOKESTATIC> "org/refal/plus/Native" "eValueOf" <ToWord "("s.javaResType")Lorg/refal/plus/Expr;">>,
     1596        <IIMVvisitMethodInsn <MV> <INVOKEVIRTUAL> "org/refal/plus/Result" "assign" "(Lorg/refal/plus/Expr;)V">;
    9211597    };
    9221598};
     
    9541630  <ReplaceDots s.javaResType> :: s.javaResType,
    9551631  <ReplaceDots s.className> :: s.className,
    956   <Add &ACC_STATIC <Access_Mode s.linkage>> :: s.access,
     1632  <Add <ACC_STATIC> <Access_Mode s.linkage>> :: s.access,
    9571633  <Vars e.in> :: e.rfArgTypes,
    9581634  <Vars e.out> :: e.rfResTypes,
     
    9611637  {
    9621638    <PrintFunctionFormat t.qname> :: s.format =
    963       <MVvisitAnnotation <MV> "Lorg/refal/plus/RefalFormat;" False> :: s.aw,
    964       <AnnotationVisitor.visit s.aw "value" s.format>,
    965       <AnnotationVisitor.visitEnd s.aw>;;
     1639      <IIMVvisitAnnotation <MV> "Lorg/refal/plus/RefalFormat;" False> :: s.aw,
     1640      <IIAVvisit s.aw "value" s.format>,
     1641      <IIAVvisitEnd s.aw>;;
    9661642  },
    967   <MVvisitCode <MV>>,
     1643  <IIMVvisitCode <MV>>,
    9681644  {
    9691645    s.methodName : "" =
    970       <MVvisitTypeInsn <MV> &NEW s.className>,
    971       <MVvisitInsn <MV> &DUP>, 0;
     1646      <IIMVvisitTypeInsn <MV> <NEW> s.className>,
     1647      <IIMVvisitInsn <MV> <DUP>>, 0;
    9721648    s.static : "" =
    9731649      <PutArgToStack <ConvertType s.className> e.rfArgTypes 0>, 1;
     
    9771653    e.javaArgTypes : /**/ =
    9781654      {
    979         s.static : "" = &GETFIELD;
    980         &GETSTATIC;
     1655        s.static : "" = <GETFIELD>;
     1656        <GETSTATIC>;
    9811657      } :: s.opcode,
    982       <MVvisitFieldInsn <MV> s.opcode s.className s.methodName <ConvertType s.javaResType>>;
     1658      <IIMVvisitFieldInsn <MV> s.opcode s.className s.methodName <ConvertType s.javaResType>>;
    9831659    e.javaArgTypes : (e.javaArgTypes2),
    9841660      <Map &ReplaceDots (e.javaArgTypes2)> :: e.javaArgTypes,
     
    9881664      },
    9891665      {
    990         s.methodName : "" = &INVOKESPECIAL "<init>";
    991         s.static : "" = &INVOKEVIRTUAL s.methodName;
    992         = &INVOKESTATIC s.methodName;
    993         // &INVOKEINTERFACE
     1666        s.methodName : "" = <INVOKESPECIAL> "<init>";
     1667        s.static : "" = {
     1668          <ToChars s.functionName> : 'II' e,
     1669            <INVOKEINTERFACE> s.methodName;
     1670          <INVOKEVIRTUAL> s.methodName;
     1671        };
     1672        = <INVOKESTATIC> s.methodName;
    9941673      } :: s.opcode s.methodName,
    9951674      <ToWord "(" <Map &ConvertType (e.javaArgTypes)> ")" <ConvertResType s.javaResType>> :: s.methodDesc,
    996       <MVvisitMethodInsn <MV> s.opcode s.className s.methodName s.methodDesc>;
     1675      <IIMVvisitMethodInsn <MV> s.opcode s.className s.methodName s.methodDesc>;
    9971676  },
    9981677  {
     
    10011680  } :: s.javaResType,   
    10021681  <GetResFromStack <ConvertType s.javaResType> e.rfResTypes <Length e.rfArgTypes>>,
    1003   <MVvisitInsn <MV> &RETURN>,
    1004   <MVvisitMaxs <MV> 0 0>,
    1005   <MVvisitEnd <MV>>;
     1682  <IIMVvisitInsn <MV> <RETURN>>,
     1683  <IIMVvisitMaxs <MV> 0 0>,
     1684  <IIMVvisitEnd <MV>>;
  • to-imperative/trunk/java/.classpath

    r3397 r3580  
    1010                </attributes>
    1111        </classpathentry>
    12         <classpathentry kind="lib" path="wrappers/"/>
    1312        <classpathentry kind="output" path="bin"/>
    1413</classpath>
  • to-imperative/trunk/java/compiler/org/refal/plus/compiler/rfp_asail_cpp.java

    r3456 r3580  
    4242    }
    4343  });
    44   static  final Expr _c_184 = Expr.fromSequence ("static AtStart init_registrator_ (&init_);");
    45   static  final Expr _c_6 = _c_184.subexpr (40, 2);
     44  static  final Expr _c_185 = Expr.fromSequence ("static AtStart init_registrator_ (&init_);");
     45  static  final Expr _c_6 = _c_185.subexpr (40, 2);
    4646  static  final Expr _c_7 = Expr.fromSequence ("rfrt::Entry rf_entry (");
    47   static  final Expr _c_48 = Expr.fromSequence (": {}");
    48   static  final Expr _c_8 = _c_48.subexpr (3, 1);
     47  static  final Expr _c_49 = Expr.fromSequence (": {}");
     48  static  final Expr _c_8 = _c_49.subexpr (3, 1);
    4949  static  final Expr _c_9 = Expr.fromSequence ("static void init_ () {");
    50   static  final Expr _c_10 = new Expr ((Comparable<?>) _c_184);
     50  static  final Expr _c_10 = new Expr ((Comparable<?>) _c_185);
    5151  static  final Expr _c_11 = new Expr (Symbol.newWord ("STATIC"));
    5252  static  final Expr _c_12 = new Expr (Symbol.newWord ("DECL-OBJ"));
    5353  static  final Expr _c_13 = _c_6.subexpr (1, 1);
    5454  static  final Expr _c_14 = Expr.fromSequence (" = ");
    55   static  final Expr _c_185 = Expr.fromSequence ("#include <rf_core.hh>");
    56   static  final Expr _c_186 = Expr.fromSequence ("using namespace rfrt;");
    57   static  final Expr _c_15 = Expr.concat ((Comparable<?>) _c_185, (Comparable<?>) _c_186);
     55  static  final Expr _c_186 = Expr.fromSequence ("#include <rf_core.hh>");
     56  static  final Expr _c_187 = Expr.fromSequence ("using namespace rfrt;");
     57  static  final Expr _c_15 = Expr.concat ((Comparable<?>) _c_186, (Comparable<?>) _c_187);
    5858  static  final Expr _c_16 = new Expr (Symbol.newWord ("UNDEF"));
    5959  static  final Expr _c_17 = new Expr (Symbol.newWord ("LINENUMBER"));
    6060  static  final Expr _c_18 = new Expr (Symbol.newWord ("NATIVE"));
    6161  static  final Expr _c_19 = new Expr (Symbol.newInt ("1"));
    62   static  final Expr _c_178 = Expr.fromSequence ("printf (\"           argument \"); ");
    63   static  final Expr _c_20 = _c_178.subexpr (20, 3);
    64   static  final Expr _c_181 = Expr.fromSequence ("printf (\"           result   \"); ");
    65   static  final Expr _c_21 = _c_181.subexpr (20, 3);
     62  static  final Expr _c_179 = Expr.fromSequence ("printf (\"           argument \"); ");
     63  static  final Expr _c_20 = _c_179.subexpr (20, 3);
     64  static  final Expr _c_182 = Expr.fromSequence ("printf (\"           result   \"); ");
     65  static  final Expr _c_21 = _c_182.subexpr (20, 3);
    6666  static  final Expr _c_22 = new Expr (Symbol.newWord ("Not available"));
    6767  static  final Expr _c_23 = new Expr (Symbol.newWord ("ERROR"));
    68   static  final Expr _c_76 = Expr.concat (Symbol.newWord ("CONSTEXPR"), Symbol.newWord ("LOCAL"));
    69   static  final Expr _c_24 = _c_76.subexpr (1, 1);
    70   static  final Expr _c_74 = Expr.concat (Symbol.newWord ("CONSTEXPR"), Symbol.newWord ("IMPORT"));
    71   static  final Expr _c_25 = _c_74.subexpr (1, 1);
     68  static  final Expr _c_77 = Expr.concat (Symbol.newWord ("CONSTEXPR"), Symbol.newWord ("LOCAL"));
     69  static  final Expr _c_24 = _c_77.subexpr (1, 1);
     70  static  final Expr _c_75 = Expr.concat (Symbol.newWord ("CONSTEXPR"), Symbol.newWord ("IMPORT"));
     71  static  final Expr _c_25 = _c_75.subexpr (1, 1);
    7272  static  final Expr _c_26 = new Expr (Symbol.newWord ("FUNC"));
    7373  static  final Expr _c_27 = new Expr (Symbol.newWord ("FUNC?"));
    7474  static  final Expr _c_28 = Expr.getConcatenator (4).toRight (Symbol.newWord ("org")).toRight (Symbol.newWord ("refal")).toRight (Symbol.newWord ("plus")).toRight (Symbol.newWord ("wrappers")).yield ();
    75   static  final Expr _c_29 = _c_185.subexpr (12, 1);
    76   static  final Expr _c_30 = new Expr (Symbol.newWord ("TRACEALL"));
    77   static  final Expr _c_31 = _c_185.subexpr (17, 1);
    78   static  final Expr _c_32 = new Expr (Symbol.newWord ("DECL-FUNC"));
    79   static  final Expr _c_33 = Expr.fromSequence ("RF_ARG ");
    80   static  final Expr _c_164 = Expr.concat ((Comparable<?>) Expr.empty, Symbol.newWord ("Vars"));
    81   static  final Expr _c_34 = _c_164.subexpr (1, 1);
    82   static  final Expr _c_35 = Expr.fromSequence ("RF_RES ");
    83   static  final Expr _c_36 = Expr.fromSequence ("RF_END");
    84   static  final Expr _c_37 = _c_6.subexpr (0, 1);
    85   static  final Expr _c_173 = Expr.fromSequence (" <<<\\n\", rfrt::stack->get_depth());");
    86   static  final Expr _c_38 = _c_173.subexpr (7, 2);
    87   static  final Expr _c_39 = Expr.fromSequence ("RF_FUNC (");
    88   static  final Expr _c_40 = new Expr (Symbol.newWord ("TRACE"));
    89   static  final Expr _c_41 = new Expr (Symbol.newWord ("IF-INT-CMP"));
    90   static  final Expr _c_42 = _c_14.subexpr (0, 1);
    91   static  final Expr _c_93 = Expr.fromSequence ("if (RF_CALL (");
    92   static  final Expr _c_43 = _c_93.subexpr (0, 4);
    93   static  final Expr _c_44 = _c_9.subexpr (21, 1);
    94   static  final Expr _c_45 = new Expr (Symbol.newWord ("IF"));
    95   static  final Expr _c_46 = new Expr (Symbol.newWord ("FOR"));
    96   static  final Expr _c_47 = new Expr (Symbol.newWord ("LABEL"));
    97   static  final Expr _c_49 = Expr.fromSequence ("for ( ; ; ");
    98   static  final Expr _c_50 = new Expr (Symbol.newWord ("TRY"));
    99   static  final Expr _c_51 = new Expr ((Comparable<?>) Expr.fromSequence ("RF_TRAP"));
    100   static  final Expr _c_52 = new Expr (Symbol.newWord ("CATCH-ERROR"));
    101   static  final Expr _c_53 = new Expr ((Comparable<?>) Expr.fromSequence ("RF_CLEANUP;"));
    102   static  final Expr _c_54 = new Expr ((Comparable<?>) Expr.fromSequence ("RF_WITH"));
    103   static  final Expr _c_55 = new Expr (Symbol.newWord ("RETFAIL"));
    104   static  final Expr _c_187 = Expr.fromSequence ("else RF_RETFAIL;");
    105   static  final Expr _c_56 = new Expr ((Comparable<?>) _c_187.subexpr (5, 11));
    106   static  final Expr _c_57 = new Expr (Symbol.newWord ("FATAL"));
    107   static  final Expr _c_58 = new Expr ((Comparable<?>) Expr.fromSequence ("RF_FUNC_ERROR (unexpected_fail);"));
    108   static  final Expr _c_59 = new Expr (Symbol.newWord ("LSPLIT"));
    109   static  final Expr _c_60 = Expr.fromSequence ("RF_lsplit (");
    110   static  final Expr _c_61 = new Expr (Symbol.newWord ("RSPLIT"));
    111   static  final Expr _c_62 = Expr.fromSequence ("RF_rsplit (");
    112   static  final Expr _c_63 = new Expr (Symbol.newWord ("ASSIGN"));
    113   static  final Expr _c_64 = new Expr (Symbol.newWord ("DECL"));
    114   static  final Expr _c_65 = Expr.fromSequence ("int ");
    115   static  final Expr _c_87 = Expr.fromSequence ("extern Expr ");
    116   static  final Expr _c_66 = _c_87.subexpr (7, 5);
    117   static  final Expr _c_67 = _c_39.subexpr (7, 2);
    118   static  final Expr _c_68 = new Expr (Symbol.newWord ("DROP"));
    119   static  final Expr _c_69 = Expr.fromSequence (".drop ();");
    120   static  final Expr _c_70 = new Expr (Symbol.newWord ("CONTINUE"));
    121   static  final Expr _c_71 = Expr.fromSequence ("goto ");
    122   static  final Expr _c_72 = new Expr (Symbol.newWord ("BREAK"));
    123   static  final Expr _c_73 = Expr.fromSequence ("RF_ERROR (");
    124   static  final Expr _c_75 = _c_164.subexpr (0, 1);
    125   static  final Expr _c_77 = _c_74.subexpr (0, 1);
    126   static  final Expr _c_78 = _c_184.subexpr (0, 7);
    127   static  final Expr _c_79 = new Expr (new Func () {
     75  static  final Expr _c_29 = _c_186.subexpr (12, 1);
     76  static  final Expr _c_30 = new Expr (Symbol.newWord ("TFUNC"));
     77  static  final Expr _c_31 = new Expr (Symbol.newWord ("TRACEALL"));
     78  static  final Expr _c_32 = _c_186.subexpr (17, 1);
     79  static  final Expr _c_33 = new Expr (Symbol.newWord ("DECL-FUNC"));
     80  static  final Expr _c_34 = Expr.fromSequence ("RF_ARG ");
     81  static  final Expr _c_165 = Expr.concat ((Comparable<?>) Expr.empty, Symbol.newWord ("Vars"));
     82  static  final Expr _c_35 = _c_165.subexpr (1, 1);
     83  static  final Expr _c_36 = Expr.fromSequence ("RF_RES ");
     84  static  final Expr _c_37 = Expr.fromSequence ("RF_END");
     85  static  final Expr _c_38 = _c_6.subexpr (0, 1);
     86  static  final Expr _c_174 = Expr.fromSequence (" <<<\\n\", rfrt::stack->get_depth());");
     87  static  final Expr _c_39 = _c_174.subexpr (7, 2);
     88  static  final Expr _c_40 = Expr.fromSequence ("RF_FUNC (");
     89  static  final Expr _c_41 = new Expr (Symbol.newWord ("TRACE"));
     90  static  final Expr _c_42 = new Expr (Symbol.newWord ("IF-INT-CMP"));
     91  static  final Expr _c_43 = _c_14.subexpr (0, 1);
     92  static  final Expr _c_94 = Expr.fromSequence ("if (RF_CALL (");
     93  static  final Expr _c_44 = _c_94.subexpr (0, 4);
     94  static  final Expr _c_45 = _c_9.subexpr (21, 1);
     95  static  final Expr _c_46 = new Expr (Symbol.newWord ("IF"));
     96  static  final Expr _c_47 = new Expr (Symbol.newWord ("FOR"));
     97  static  final Expr _c_48 = new Expr (Symbol.newWord ("LABEL"));
     98  static  final Expr _c_50 = Expr.fromSequence ("for ( ; ; ");
     99  static  final Expr _c_51 = new Expr (Symbol.newWord ("TRY"));
     100  static  final Expr _c_52 = new Expr ((Comparable<?>) Expr.fromSequence ("RF_TRAP"));
     101  static  final Expr _c_53 = new Expr (Symbol.newWord ("CATCH-ERROR"));
     102  static  final Expr _c_54 = new Expr ((Comparable<?>) Expr.fromSequence ("RF_CLEANUP;"));
     103  static  final Expr _c_55 = new Expr ((Comparable<?>) Expr.fromSequence ("RF_WITH"));
     104  static  final Expr _c_56 = new Expr (Symbol.newWord ("RETFAIL"));
     105  static  final Expr _c_188 = Expr.fromSequence ("else RF_RETFAIL;");
     106  static  final Expr _c_57 = new Expr ((Comparable<?>) _c_188.subexpr (5, 11));
     107  static  final Expr _c_58 = new Expr (Symbol.newWord ("FATAL"));
     108  static  final Expr _c_59 = new Expr ((Comparable<?>) Expr.fromSequence ("RF_FUNC_ERROR (unexpected_fail);"));
     109  static  final Expr _c_60 = new Expr (Symbol.newWord ("LSPLIT"));
     110  static  final Expr _c_61 = Expr.fromSequence ("RF_lsplit (");
     111  static  final Expr _c_62 = new Expr (Symbol.newWord ("RSPLIT"));
     112  static  final Expr _c_63 = Expr.fromSequence ("RF_rsplit (");
     113  static  final Expr _c_64 = new Expr (Symbol.newWord ("ASSIGN"));
     114  static  final Expr _c_65 = new Expr (Symbol.newWord ("DECL"));
     115  static  final Expr _c_66 = Expr.fromSequence ("int ");
     116  static  final Expr _c_88 = Expr.fromSequence ("extern Expr ");
     117  static  final Expr _c_67 = _c_88.subexpr (7, 5);
     118  static  final Expr _c_68 = _c_40.subexpr (7, 2);
     119  static  final Expr _c_69 = new Expr (Symbol.newWord ("DROP"));
     120  static  final Expr _c_70 = Expr.fromSequence (".drop ();");
     121  static  final Expr _c_71 = new Expr (Symbol.newWord ("CONTINUE"));
     122  static  final Expr _c_72 = Expr.fromSequence ("goto ");
     123  static  final Expr _c_73 = new Expr (Symbol.newWord ("BREAK"));
     124  static  final Expr _c_74 = Expr.fromSequence ("RF_ERROR (");
     125  static  final Expr _c_76 = _c_165.subexpr (0, 1);
     126  static  final Expr _c_78 = _c_75.subexpr (0, 1);
     127  static  final Expr _c_79 = _c_185.subexpr (0, 7);
     128  static  final Expr _c_80 = new Expr (new Func () {
    128129    public boolean eval (Expr arg, Result res) throws RefalException {
    129130      refal.plus.CppMangle.Rfp2Cpp (arg, res);
     
    131132    }
    132133  });
    133   static  final Expr _c_80 = new Expr (new Func () {
     134  static  final Expr _c_81 = new Expr (new Func () {
    134135    public boolean eval (Expr arg, Result res) throws RefalException {
    135136      return Name_To_CPP_0 (arg, res);
    136137    }
    137138  });
    138   static  final Expr _c_81 = new Expr (Symbol.newWord ("OBJ"));
    139   static  final Expr _c_82 = new Expr (Symbol.newWord ("BOX"));
    140   static  final Expr _c_176 = Expr.fromSequence ("printf(\"  : \");");
    141   static  final Expr _c_83 = _c_176.subexpr (12, 2);
    142   static  final Expr _c_84 = Expr.fromSequence ("Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L\"");
    143   static  final Expr _c_85 = _c_84.subexpr (59, 4);
    144   static  final Expr _c_86 = Expr.fromSequence ("new rftype::StaticObject<rftype::");
    145   static  final Expr _c_88 = Expr.fromSequence ("RF_DECL (");
    146   static  final Expr _c_89 = new Expr (Symbol.newWord ("EXTERN"));
    147   static  final Expr _c_90 = new Expr (Symbol.newWord ("CALL"));
    148   static  final Expr _c_91 = new Expr (Symbol.newWord ("Exprs"));
    149   static  final Expr _c_92 = _c_173.subexpr (32, 2);
    150   static  final Expr _c_94 = new Expr ((Comparable<?>) Expr.fromSequence ("return true;"));
    151   static  final Expr _c_95 = new Expr ((Comparable<?>) _c_187);
    152   static  final Expr _c_96 = new Expr (Symbol.newWord ("TAILCALL?"));
    153   static  final Expr _c_97 = new Expr (Symbol.newWord ("TAILCALL"));
    154   static  final Expr _c_98 = _c_33.subexpr (0, 3);
    155   static  final Expr _c_99 = Expr.fromSequence ("empty");
    156   static  final Expr _c_100 = new Expr (new Func () {
     139  static  final Expr _c_82 = new Expr (Symbol.newWord ("OBJ"));
     140  static  final Expr _c_83 = new Expr (Symbol.newWord ("BOX"));
     141  static  final Expr _c_177 = Expr.fromSequence ("printf(\"  : \");");
     142  static  final Expr _c_84 = _c_177.subexpr (12, 2);
     143  static  final Expr _c_85 = Expr.fromSequence ("Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L\"");
     144  static  final Expr _c_86 = _c_85.subexpr (59, 4);
     145  static  final Expr _c_87 = Expr.fromSequence ("new rftype::StaticObject<rftype::");
     146  static  final Expr _c_89 = Expr.fromSequence ("RF_DECL (");
     147  static  final Expr _c_90 = new Expr (Symbol.newWord ("EXTERN"));
     148  static  final Expr _c_91 = new Expr (Symbol.newWord ("CALL"));
     149  static  final Expr _c_92 = new Expr (Symbol.newWord ("Exprs"));
     150  static  final Expr _c_93 = _c_174.subexpr (32, 2);
     151  static  final Expr _c_95 = new Expr ((Comparable<?>) Expr.fromSequence ("return true;"));
     152  static  final Expr _c_96 = new Expr ((Comparable<?>) _c_188);
     153  static  final Expr _c_97 = new Expr (Symbol.newWord ("TAILCALL?"));
     154  static  final Expr _c_98 = new Expr (Symbol.newWord ("TAILCALL"));
     155  static  final Expr _c_99 = _c_34.subexpr (0, 3);
     156  static  final Expr _c_100 = Expr.fromSequence ("empty");
     157  static  final Expr _c_101 = new Expr (new Func () {
    157158    public boolean eval (Expr arg, Result res) throws RefalException {
    158159      Term_Ref_To_CPP (arg, res);
     
    160161    }
    161162  });
    162   static  final Expr _c_101 = new Expr (Symbol.newWord ("+"));
    163   static  final Expr _c_102 = _c_67.subexpr (1, 1);
    164   static  final Expr _c_103 = new Expr (Symbol.newWord ("PAREN"));
    165   static  final Expr _c_104 = _c_69.subexpr (5, 3);
    166   static  final Expr _c_105 = new Expr (Symbol.newWord ("DEREF"));
    167   static  final Expr _c_106 = Expr.fromSequence ("Expr (");
    168   static  final Expr _c_107 = new Expr (Symbol.newWord ("SUBEXPR"));
    169   static  final Expr _c_108 = new Expr (Symbol.newWord ("REF"));
    170   static  final Expr _c_109 = new Expr (Symbol.newWord ("ERROR-EXPR"));
    171   static  final Expr _c_110 = Expr.fromSequence ("err");
    172   static  final Expr _c_111 = _c_84.subexpr (4, 2);
    173   static  final Expr _c_152 = Expr.fromSequence (" + Expr::create<rftype::Word>(\"");
    174   static  final Expr _c_114 = _c_152.subexpr (3, 28);
    175   static  final Expr _c_112 = _c_114.subexpr (25, 3);
    176   static  final Expr _c_113 = _c_114.subexpr (0, 13);
    177   static  final Expr _c_115 = new Expr (Symbol.newWord ("Illegal type int-symbol: "));
    178   static  final Expr _c_116 = new Expr (Symbol.newWord ("LENGTH"));
    179   static  final Expr _c_117 = Expr.fromSequence (".get_len ()");
    180   static  final Expr _c_118 = new Expr (Symbol.newWord ("MAX"));
    181   static  final Expr _c_119 = new Expr (Symbol.newWord ("Ints"));
    182   static  final Expr _c_120 = Expr.fromSequence ("pxx_max (");
    183   static  final Expr _c_121 = new Expr (Symbol.newWord ("MIN"));
    184   static  final Expr _c_122 = Expr.fromSequence ("pxx_min (");
    185   static  final Expr _c_123 = new Expr (Symbol.newWord ("INFIX"));
    186   static  final Expr _c_124 = new Expr (new Func () {
     163  static  final Expr _c_102 = new Expr (Symbol.newWord ("+"));
     164  static  final Expr _c_103 = _c_68.subexpr (1, 1);
     165  static  final Expr _c_104 = new Expr (Symbol.newWord ("PAREN"));
     166  static  final Expr _c_105 = _c_70.subexpr (5, 3);
     167  static  final Expr _c_106 = new Expr (Symbol.newWord ("DEREF"));
     168  static  final Expr _c_107 = Expr.fromSequence ("Expr (");
     169  static  final Expr _c_108 = new Expr (Symbol.newWord ("SUBEXPR"));
     170  static  final Expr _c_109 = new Expr (Symbol.newWord ("REF"));
     171  static  final Expr _c_110 = new Expr (Symbol.newWord ("ERROR-EXPR"));
     172  static  final Expr _c_111 = Expr.fromSequence ("err");
     173  static  final Expr _c_112 = _c_85.subexpr (4, 2);
     174  static  final Expr _c_153 = Expr.fromSequence (" + Expr::create<rftype::Word>(\"");
     175  static  final Expr _c_115 = _c_153.subexpr (3, 28);
     176  static  final Expr _c_113 = _c_115.subexpr (25, 3);
     177  static  final Expr _c_114 = _c_115.subexpr (0, 13);
     178  static  final Expr _c_116 = new Expr (Symbol.newWord ("Illegal type int-symbol: "));
     179  static  final Expr _c_117 = new Expr (Symbol.newWord ("LENGTH"));
     180  static  final Expr _c_118 = Expr.fromSequence (".get_len ()");
     181  static  final Expr _c_119 = new Expr (Symbol.newWord ("MAX"));
     182  static  final Expr _c_120 = new Expr (Symbol.newWord ("Ints"));
     183  static  final Expr _c_121 = Expr.fromSequence ("pxx_max (");
     184  static  final Expr _c_122 = new Expr (Symbol.newWord ("MIN"));
     185  static  final Expr _c_123 = Expr.fromSequence ("pxx_min (");
     186  static  final Expr _c_124 = new Expr (Symbol.newWord ("INFIX"));
     187  static  final Expr _c_125 = new Expr (new Func () {
    187188    public boolean eval (Expr arg, Result res) throws RefalException {
    188189      Expr_Int_To_CPP (arg, res);
     
    190191    }
    191192  });
    192   static  final Expr _c_125 = new Expr (Symbol.newWord ("CALL-FAILS"));
    193   static  final Expr _c_126 = Expr.fromSequence ("!RF_CALL (");
    194   static  final Expr _c_127 = new Expr (Symbol.newWord ("SYMBOL?"));
    195   static  final Expr _c_128 = Expr.fromSequence (".symbol_at (");
    196   static  final Expr _c_129 = new Expr (Symbol.newWord ("FLAT-SUBEXPR?"));
    197   static  final Expr _c_130 = Expr.fromSequence (".flat_at (");
    198   static  final Expr _c_131 = new Expr (Symbol.newWord ("ITER-FAILS"));
    199   static  final Expr _c_132 = Expr.fromSequence ("!RF_iter(");
    200   static  final Expr _c_133 = new Expr (Symbol.newWord ("EQ"));
    201   static  final Expr _c_134 = Expr.fromSequence (".eq (");
    202   static  final Expr _c_135 = new Expr (Symbol.newWord ("TERM-EQ"));
    203   static  final Expr _c_136 = Expr.fromSequence (".term_eq (");
    204   static  final Expr _c_137 = new Expr (Symbol.newWord ("NOT"));
    205   static  final Expr _c_138 = _c_126.subexpr (0, 1);
    206   static  final Expr _c_139 = new Expr (Symbol.newWord ("INC-ITER"));
    207   static  final Expr _c_140 = Expr.fromSequence (")++");
    208   static  final Expr _c_141 = _c_132.subexpr (1, 8);
    209   static  final Expr _c_142 = new Expr (Symbol.newWord ("DEC-ITER"));
    210   static  final Expr _c_143 = Expr.fromSequence (")--");
    211   static  final Expr _c_146 = Expr.fromSequence (" + rftype::Char::create_expr (\"");
    212   static  final Expr _c_144 = _c_146.subexpr (0, 3);
    213   static  final Expr _c_145 = new Expr (Symbol.newInt ("127"));
    214   static  final Expr _c_147 = Expr.fromSequence (" + rftype::Char::create_expr (L\"");
    215   static  final Expr _c_148 = Expr.fromSequence (") ()");
    216   static  final Expr _c_149 = Expr.fromSequence (" + (");
    217   static  final Expr _c_150 = Expr.fromSequence (" + Expr::create_sym<rftype::Func> (");
    218   static  final Expr _c_151 = _c_152.subexpr (0, 16);
    219   static  final Expr _c_154 = Expr.fromSequence ("\\\\");
    220   static  final Expr _c_153 = _c_154.subexpr (0, 1);
    221   static  final Expr _c_155 = Expr.fromSequence ("\n");
    222   static  final Expr _c_156 = _c_173.subexpr (4, 2);
    223   static  final Expr _c_157 = Expr.fromSequence ("\t");
    224   static  final Expr _c_158 = Expr.fromSequence ("\\t");
    225   static  final Expr _c_159 = Expr.fromSequence ("\r");
    226   static  final Expr _c_160 = Expr.fromSequence ("\\r");
    227   static  final Expr _c_161 = _c_152.subexpr (30, 1);
    228   static  final Expr _c_162 = Expr.fromSequence ("\\\"");
    229   static  final Expr _c_163 = Expr.fromSequence ("RF_VOID");
    230   static  final Expr _c_165 = Expr.fromSequence ("/*void*/");
    231   static  final Expr _c_166 = Expr.fromSequence (";;)");
    232   static  final Expr _c_167 = _c_28.subexpr (1, 2);
    233   static  final Expr _c_168 = _c_28.subexpr (1, 1);
    234   static  final Expr _c_169 = _c_48.subexpr (1, 2);
    235   static  final Expr _c_170 = _c_186.subexpr (6, 10);
    236   static  final Expr _c_171 = new Expr ((Comparable<?>) _c_8);
    237   static  final Expr _c_172 = new Expr (new Func () {
     193  static  final Expr _c_126 = new Expr (Symbol.newWord ("CALL-FAILS"));
     194  static  final Expr _c_127 = Expr.fromSequence ("!RF_CALL (");
     195  static  final Expr _c_128 = new Expr (Symbol.newWord ("SYMBOL?"));
     196  static  final Expr _c_129 = Expr.fromSequence (".symbol_at (");
     197  static  final Expr _c_130 = new Expr (Symbol.newWord ("FLAT-SUBEXPR?"));
     198  static  final Expr _c_131 = Expr.fromSequence (".flat_at (");
     199  static  final Expr _c_132 = new Expr (Symbol.newWord ("ITER-FAILS"));
     200  static  final Expr _c_133 = Expr.fromSequence ("!RF_iter(");
     201  static  final Expr _c_134 = new Expr (Symbol.newWord ("EQ"));
     202  static  final Expr _c_135 = Expr.fromSequence (".eq (");
     203  static  final Expr _c_136 = new Expr (Symbol.newWord ("TERM-EQ"));
     204  static  final Expr _c_137 = Expr.fromSequence (".term_eq (");
     205  static  final Expr _c_138 = new Expr (Symbol.newWord ("NOT"));
     206  static  final Expr _c_139 = _c_127.subexpr (0, 1);
     207  static  final Expr _c_140 = new Expr (Symbol.newWord ("INC-ITER"));
     208  static  final Expr _c_141 = Expr.fromSequence (")++");
     209  static  final Expr _c_142 = _c_133.subexpr (1, 8);
     210  static  final Expr _c_143 = new Expr (Symbol.newWord ("DEC-ITER"));
     211  static  final Expr _c_144 = Expr.fromSequence (")--");
     212  static  final Expr _c_147 = Expr.fromSequence (" + rftype::Char::create_expr (\"");
     213  static  final Expr _c_145 = _c_147.subexpr (0, 3);
     214  static  final Expr _c_146 = new Expr (Symbol.newInt ("127"));
     215  static  final Expr _c_148 = Expr.fromSequence (" + rftype::Char::create_expr (L\"");
     216  static  final Expr _c_149 = Expr.fromSequence (") ()");
     217  static  final Expr _c_150 = Expr.fromSequence (" + (");
     218  static  final Expr _c_151 = Expr.fromSequence (" + Expr::create_sym<rftype::Func> (");
     219  static  final Expr _c_152 = _c_153.subexpr (0, 16);
     220  static  final Expr _c_155 = Expr.fromSequence ("\\\\");
     221  static  final Expr _c_154 = _c_155.subexpr (0, 1);
     222  static  final Expr _c_156 = Expr.fromSequence ("\n");
     223  static  final Expr _c_157 = _c_174.subexpr (4, 2);
     224  static  final Expr _c_158 = Expr.fromSequence ("\t");
     225  static  final Expr _c_159 = Expr.fromSequence ("\\t");
     226  static  final Expr _c_160 = Expr.fromSequence ("\r");
     227  static  final Expr _c_161 = Expr.fromSequence ("\\r");
     228  static  final Expr _c_162 = _c_153.subexpr (30, 1);
     229  static  final Expr _c_163 = Expr.fromSequence ("\\\"");
     230  static  final Expr _c_164 = Expr.fromSequence ("RF_VOID");
     231  static  final Expr _c_166 = Expr.fromSequence ("/*void*/");
     232  static  final Expr _c_167 = Expr.fromSequence (";;)");
     233  static  final Expr _c_168 = _c_28.subexpr (1, 2);
     234  static  final Expr _c_169 = _c_28.subexpr (1, 1);
     235  static  final Expr _c_170 = _c_49.subexpr (1, 2);
     236  static  final Expr _c_171 = _c_187.subexpr (6, 10);
     237  static  final Expr _c_172 = new Expr ((Comparable<?>) _c_8);
     238  static  final Expr _c_173 = new Expr (new Func () {
    238239    public boolean eval (Expr arg, Result res) throws RefalException {
    239240      Open_Namespace (arg, res);
     
    241242    }
    242243  });
    243   static  final Expr _c_174 = Expr.fromSequence ("printf (\"+ %5u: enter >>> ");
    244   static  final Expr _c_175 = Expr.fromSequence ("printf(\"%2d: \", ");
    245   static  final Expr _c_180 = Expr.fromSequence (").to_Expr().writeln(stdout);");
    246   static  final Expr _c_177 = _c_180.subexpr (10, 18);
    247   static  final Expr _c_179 = Expr.fromSequence ("printf (\"- %5u: exit  >>> ");
    248   static  final Expr _c_182 = Expr.fromSequence ("printf (\"- %5u: fail  >>> ");
    249   static  final Expr _c_183 = Expr.getConcatenator (3).toRight (Symbol.newWord ("Apply")).toRight (Symbol.newWord ("Apply")).toRight (Symbol.newWord ("Unexpected fail")).yield ();
     244  static  final Expr _c_175 = Expr.fromSequence ("printf (\"+ %5u: enter >>> ");
     245  static  final Expr _c_176 = Expr.fromSequence ("printf(\"%2d: \", ");
     246  static  final Expr _c_181 = Expr.fromSequence (").to_Expr().writeln(stdout);");
     247  static  final Expr _c_178 = _c_181.subexpr (10, 18);
     248  static  final Expr _c_180 = Expr.fromSequence ("printf (\"- %5u: exit  >>> ");
     249  static  final Expr _c_183 = Expr.fromSequence ("printf (\"- %5u: fail  >>> ");
     250  static  final Expr _c_184 = Expr.getConcatenator (3).toRight (Symbol.newWord ("Apply")).toRight (Symbol.newWord ("Apply")).toRight (Symbol.newWord ("Unexpected fail")).yield ();
    250251
    251252  @RefalFormat("$func RFP_ASAIL_To_CPP t = e;")
     
    835836                break _block4;
    836837              }
    837               if (!_vs_tag.termEquals (_c_27, 0))
     838              _block4__branch2: {
     839                if (!_vs_tag.termEquals (_c_27, 0))
     840                {
     841                  break _block4__branch2;
     842                }
     843                break _block4;
     844              }
     845              if (!_vs_tag.termEquals (_c_30, 0))
    838846              {
    839847                break _block2__branch5;
     
    887895                _block7: {
    888896                  _block7__branch1: {
    889                     if (!refal.plus.Table.IsInTable (rfp_helper.RFP_Options, _c_30))
     897                    if (!refal.plus.Table.IsInTable (rfp_helper.RFP_Options, _c_31))
    890898                    {
    891899                      break _block7__branch1;
     
    901909                refal.plus.List.Concat (_vt_name, _ge_auxcall11);
    902910                Result _ge_name__6 = new Result (Expr.empty);
    903                 refal.plus.List.Intersperse (_c_31, _ge_auxcall11.getExpr (), _ge_name__6);
     911                refal.plus.List.Intersperse (_c_32, _ge_auxcall11.getExpr (), _ge_name__6);
    904912                refal.plus.Box.Store (Current_Trace, Expr.concat (_ge_name__6.getExpr (), (Comparable<?>) _ve_ress));
    905913                Result _ge_auxcall12 = new Result (Expr.empty);
     
    921929            Namespace_Control (_ve_qualifiers.getExpr (), _ge_auxcall14);
    922930            Result _ge_auxcall15 = new Result (Expr.empty);
    923             Name_To_CPP (_c_32, _vt_name, _ge_auxcall15);
     931            Name_To_CPP (_c_33, _vt_name, _ge_auxcall15);
    924932            Result _ge_auxcall16 = new Result (Expr.empty);
    925             Args_To_CPP (_c_33, _c_34, _ve_args, _ge_auxcall16);
     933            Args_To_CPP (_c_34, _c_35, _ve_args, _ge_auxcall16);
    926934            Result _ge_auxcall17 = new Result (Expr.empty);
    927             Args_To_CPP (_c_35, _c_34, _ve_ress, _ge_auxcall17);
     935            Args_To_CPP (_c_36, _c_35, _ve_ress, _ge_auxcall17);
    928936            Result _ge_auxcall18 = new Result (Expr.empty);
    929937            ASAIL_To_CPP (_ve_body, _ge_auxcall18);
    930             _ve_cpp__item = Expr.concat (_ge_auxcall14.getExpr (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_39).toRight (_ge_auxcall15.getExpr ()).toRight (_c_38).toRight (_ge_auxcall16.getExpr ()).toRight (_c_38).toRight (_ge_auxcall17.getExpr ()).toRight (_c_37).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_ve_trace__enter).toRight (_ge_auxcall18.getExpr ()).toRight (_ve_trace__exit).yield ()).toRight (_c_36).yield ());
     938            _ve_cpp__item = Expr.concat (_ge_auxcall14.getExpr (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_40).toRight (_ge_auxcall15.getExpr ()).toRight (_c_39).toRight (_ge_auxcall16.getExpr ()).toRight (_c_39).toRight (_ge_auxcall17.getExpr ()).toRight (_c_38).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_ve_trace__enter).toRight (_ge_auxcall18.getExpr ()).toRight (_ve_trace__exit).yield ()).toRight (_c_37).yield ());
    931939            break _block2;
    932940          }
     
    941949              break _block2__branch6;
    942950            }
    943             if (!_c_40.termEquals (_v_deref__item6, 0))
     951            if (!_c_41.termEquals (_v_deref__item6, 0))
    944952            {
    945953              break _block2__branch6;
     
    988996            }
    989997            int _v_len__arg2 = (_v_len35 - _v_len36);
    990             if (!_c_41.termEquals (_v_deref__item7, 0))
     998            if (!_c_42.termEquals (_v_deref__item7, 0))
    991999            {
    9921000              break _block2__branch7;
     
    10101018            Result _ge_auxcall21 = new Result (Expr.empty);
    10111019            ASAIL_To_CPP (_ve_body, _ge_auxcall21);
    1012             _ve_cpp__item = Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_43).toRight (_ge_auxcall19.getExpr ()).toRight (_c_42).toRight (_vs_op).toRight (_c_42).toRight (_ge_auxcall20.getExpr ()).toRight (_c_37).yield (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight ((Comparable<?>) _ge_auxcall21.getExpr ()).toRight (_c_8).yield ());
     1020            _ve_cpp__item = Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight (_ge_auxcall19.getExpr ()).toRight (_c_43).toRight (_vs_op).toRight (_c_43).toRight (_ge_auxcall20.getExpr ()).toRight (_c_38).yield (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_45).toRight ((Comparable<?>) _ge_auxcall21.getExpr ()).toRight (_c_8).yield ());
    10131021            break _block2;
    10141022          }
     
    10261034            }
    10271035            int _v_len__body4 = (_v_len37 - _v_len38);
    1028             if (!_c_45.termEquals (_v_deref__item8, 0))
     1036            if (!_c_46.termEquals (_v_deref__item8, 0))
    10291037            {
    10301038              break _block2__branch8;
     
    10381046            Result _ge_auxcall23 = new Result (Expr.empty);
    10391047            ASAIL_To_CPP (_ve_body, _ge_auxcall23);
    1040             _ve_cpp__item = Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_43).toRight (_ge_auxcall22.getExpr ()).toRight (_c_37).yield (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight ((Comparable<?>) _ge_auxcall23.getExpr ()).toRight (_c_8).yield ());
     1048            _ve_cpp__item = Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight (_ge_auxcall22.getExpr ()).toRight (_c_38).yield (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_45).toRight ((Comparable<?>) _ge_auxcall23.getExpr ()).toRight (_c_8).yield ());
    10411049            break _block2;
    10421050          }
     
    11021110            }
    11031111            int _v_len__step = (_v_len47 - _v_len48);
    1104             if (!_c_46.termEquals (_v_deref__item9, 0))
     1112            if (!_c_47.termEquals (_v_deref__item9, 0))
    11051113            {
    11061114              break _block2__branch9;
     
    11281136                ASAIL_To_CPP (_ve_body, _ge_auxcall24);
    11291137                Result _ge_auxcall25 = new Result (Expr.empty);
    1130                 refal.plus.CppMangle.Rfp2Cpp (new Expr ((Comparable<?>) Expr.concat (_c_47, _ve_cont__label)), _ge_auxcall25);
    1131                 _ge_body__5 = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight ((Comparable<?>) _ge_auxcall24.getExpr ()).toRight (_c_8).yield ()).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_47).toRight (_ge_auxcall25.getExpr ()).toRight (_c_48).yield ()).toRight (_c_8).yield ());
     1138                refal.plus.CppMangle.Rfp2Cpp (new Expr ((Comparable<?>) Expr.concat (_c_48, _ve_cont__label)), _ge_auxcall25);
     1139                _ge_body__5 = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_45).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_45).toRight ((Comparable<?>) _ge_auxcall24.getExpr ()).toRight (_c_8).yield ()).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_48).toRight (_ge_auxcall25.getExpr ()).toRight (_c_49).yield ()).toRight (_c_8).yield ());
    11321140                break _block8;
    11331141              }
    11341142              Result _ge_auxcall26 = new Result (Expr.empty);
    11351143              ASAIL_To_CPP (_ve_body, _ge_auxcall26);
    1136               _ge_body__5 = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight ((Comparable<?>) _ge_auxcall26.getExpr ()).toRight (_c_8).yield ());
     1144              _ge_body__5 = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_45).toRight ((Comparable<?>) _ge_auxcall26.getExpr ()).toRight (_c_8).yield ());
    11371145            }
    11381146            Expr _ve_break = Expr.empty;
     
    11461154                _vt__dollar_tmp_m_175_m_26 = _ve_break__label.subexpr (0, 1);
    11471155                Result _ge_auxcall27 = new Result (Expr.empty);
    1148                 refal.plus.CppMangle.Rfp2Cpp (new Expr ((Comparable<?>) Expr.concat (_c_47, _ve_break__label)), _ge_auxcall27);
    1149                 _ve_break = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_47).toRight (_ge_auxcall27.getExpr ()).toRight (_c_48).yield ());
     1156                refal.plus.CppMangle.Rfp2Cpp (new Expr ((Comparable<?>) Expr.concat (_c_48, _ve_break__label)), _ge_auxcall27);
     1157                _ve_break = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_48).toRight (_ge_auxcall27.getExpr ()).toRight (_c_49).yield ());
    11501158                break _block9;
    11511159              }
     
    11541162            Result _ge_auxcall28 = new Result (Expr.empty);
    11551163            Step_To_CPP (_ve_step, _ge_auxcall28);
    1156             _ve_cpp__item = Expr.getConcatenator ().toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_49).toRight (_ge_auxcall28.getExpr ()).toRight (_c_37).yield ()).toRight (_ge_body__5).toRight (_ve_break).yield ();
     1164            _ve_cpp__item = Expr.getConcatenator ().toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_50).toRight (_ge_auxcall28.getExpr ()).toRight (_c_38).yield ()).toRight (_ge_body__5).toRight (_ve_break).yield ();
    11571165            break _block2;
    11581166          }
     
    11821190            }
    11831191            int _v_len__label = (_v_len51 - _v_len52);
    1184             if (!_c_47.termEquals (_v_deref__item10, 0))
     1192            if (!_c_48.termEquals (_v_deref__item10, 0))
    11851193            {
    11861194              break _block2__branch10;
     
    11931201            ASAIL_To_CPP (_ve_body, _ge_auxcall29);
    11941202            Result _ge_auxcall30 = new Result (Expr.empty);
    1195             refal.plus.CppMangle.Rfp2Cpp (new Expr ((Comparable<?>) Expr.concat (_c_47, _ve_label)), _ge_auxcall30);
    1196             _ve_cpp__item = Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight ((Comparable<?>) _ge_auxcall29.getExpr ()).toRight (_c_8).yield (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_47).toRight (_ge_auxcall30.getExpr ()).toRight (_c_48).yield ());
     1203            refal.plus.CppMangle.Rfp2Cpp (new Expr ((Comparable<?>) Expr.concat (_c_48, _ve_label)), _ge_auxcall30);
     1204            _ve_cpp__item = Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_45).toRight ((Comparable<?>) _ge_auxcall29.getExpr ()).toRight (_c_8).yield (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_48).toRight (_ge_auxcall30.getExpr ()).toRight (_c_49).yield ());
    11971205            break _block2;
    11981206          }
     
    12101218            }
    12111219            int _v_len__body7 = (_v_len53 - _v_len54);
    1212             if (!_c_50.termEquals (_v_deref__item11, 0))
     1220            if (!_c_51.termEquals (_v_deref__item11, 0))
    12131221            {
    12141222              break _block2__branch11;
     
    12181226            Result _ge_auxcall31 = new Result (Expr.empty);
    12191227            ASAIL_To_CPP (_ve_body, _ge_auxcall31);
    1220             _ve_cpp__item = Expr.concat (_c_51, (Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight ((Comparable<?>) _ge_auxcall31.getExpr ()).toRight (_c_8).yield ());
     1228            _ve_cpp__item = Expr.concat (_c_52, (Comparable<?>) Expr.getConcatenator ().toRight (_c_45).toRight ((Comparable<?>) _ge_auxcall31.getExpr ()).toRight (_c_8).yield ());
    12211229            break _block2;
    12221230          }
     
    12341242            }
    12351243            int _v_len__body8 = (_v_len55 - _v_len56);
    1236             if (!_c_52.termEquals (_v_deref__item12, 0))
     1244            if (!_c_53.termEquals (_v_deref__item12, 0))
    12371245            {
    12381246              break _block2__branch12;
     
    12421250            Result _ge_auxcall32 = new Result (Expr.empty);
    12431251            ASAIL_To_CPP (_ve_body, _ge_auxcall32);
    1244             _ve_cpp__item = Expr.concat (_c_54, (Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight ((Comparable<?>) Expr.concat (_c_53, _ge_auxcall32.getExpr ())).toRight (_c_8).yield ());
     1252            _ve_cpp__item = Expr.concat (_c_55, (Comparable<?>) Expr.getConcatenator ().toRight (_c_45).toRight ((Comparable<?>) Expr.concat (_c_54, _ge_auxcall32.getExpr ())).toRight (_c_8).yield ());
    12451253            break _block2;
    12461254          }
    12471255          _block2__branch13: {
    1248             if (!_vt_item.termEquals (_c_55, 0))
     1256            if (!_vt_item.termEquals (_c_56, 0))
    12491257            {
    12501258              break _block2__branch13;
     
    12851293              _ve_trace__exit = Expr.empty;
    12861294            }
    1287             _ve_cpp__item = Expr.concat (_ve_trace__exit, _c_56);
     1295            _ve_cpp__item = Expr.concat (_ve_trace__exit, _c_57);
    12881296            break _block2;
    12891297          }
    12901298          _block2__branch14: {
    1291             if (!_vt_item.termEquals (_c_57, 0))
     1299            if (!_vt_item.termEquals (_c_58, 0))
    12921300            {
    12931301              break _block2__branch14;
    12941302            }
    1295             _ve_cpp__item = _c_58;
     1303            _ve_cpp__item = _c_59;
    12961304            break _block2;
    12971305          }
     
    13211329            }
    13221330            int _v_len__min = (_v_len63 - _v_len64);
    1323             if (!_c_59.termEquals (_v_deref__item13, 0))
     1331            if (!_c_60.termEquals (_v_deref__item13, 0))
    13241332            {
    13251333              break _block2__branch15;
     
    13411349            Result _ge_auxcall36 = new Result (Expr.empty);
    13421350            refal.plus.CppMangle.Rfp2Cpp (_vt_var2, _ge_auxcall36);
    1343             _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_60).toRight (_ge_auxcall33.getExpr ()).toRight (_c_38).toRight (_ge_auxcall34.getExpr ()).toRight (_c_38).toRight (_ge_auxcall35.getExpr ()).toRight (_c_38).toRight (_ge_auxcall36.getExpr ()).toRight (_c_6).yield ());
     1351            _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_61).toRight (_ge_auxcall33.getExpr ()).toRight (_c_39).toRight (_ge_auxcall34.getExpr ()).toRight (_c_39).toRight (_ge_auxcall35.getExpr ()).toRight (_c_39).toRight (_ge_auxcall36.getExpr ()).toRight (_c_6).yield ());
    13441352            break _block2;
    13451353          }
     
    13691377            }
    13701378            int _v_len__min2 = (_v_len67 - _v_len68);
    1371             if (!_c_61.termEquals (_v_deref__item14, 0))
     1379            if (!_c_62.termEquals (_v_deref__item14, 0))
    13721380            {
    13731381              break _block2__branch16;
     
    13891397            Result _ge_auxcall40 = new Result (Expr.empty);
    13901398            refal.plus.CppMangle.Rfp2Cpp (_vt_var2, _ge_auxcall40);
    1391             _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_62).toRight (_ge_auxcall37.getExpr ()).toRight (_c_38).toRight (_ge_auxcall38.getExpr ()).toRight (_c_38).toRight (_ge_auxcall39.getExpr ()).toRight (_c_38).toRight (_ge_auxcall40.getExpr ()).toRight (_c_6).yield ());
     1399            _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_63).toRight (_ge_auxcall37.getExpr ()).toRight (_c_39).toRight (_ge_auxcall38.getExpr ()).toRight (_c_39).toRight (_ge_auxcall39.getExpr ()).toRight (_c_39).toRight (_ge_auxcall40.getExpr ()).toRight (_c_6).yield ());
    13921400            break _block2;
    13931401          }
     
    14051413            }
    14061414            int _v_len__expr3 = (_v_len69 - _v_len70);
    1407             if (!_c_63.termEquals (_v_deref__item15, 0))
     1415            if (!_c_64.termEquals (_v_deref__item15, 0))
    14081416            {
    14091417              break _block2__branch17;
     
    14511459            }
    14521460            int _v_len__expr4 = (_v_len73 - _v_len74);
    1453             if (!_c_63.termEquals (_v_deref__item16, 0))
     1461            if (!_c_64.termEquals (_v_deref__item16, 0))
    14541462            {
    14551463              break _block2__branch18;
     
    14791487            }
    14801488            int _v_len__expr5 = (_v_len75 - _v_len76);
    1481             if (!_c_64.termEquals (_v_deref__item17, 0))
     1489            if (!_c_65.termEquals (_v_deref__item17, 0))
    14821490            {
    14831491              break _block2__branch19;
     
    15091517            Result _ge_auxcall46 = new Result (Expr.empty);
    15101518            Expr_Int_To_CPP (_ve_expr, _ge_auxcall46);
    1511             _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_65).toRight (_ge_auxcall45.getExpr ()).toRight (_c_14).toRight (_ge_auxcall46.getExpr ()).toRight (_c_13).yield ());
     1519            _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_66).toRight (_ge_auxcall45.getExpr ()).toRight (_c_14).toRight (_ge_auxcall46.getExpr ()).toRight (_c_13).yield ());
    15121520            break _block2;
    15131521          }
     
    15221530              break _block2__branch20;
    15231531            }
    1524             if (!_c_64.termEquals (_v_deref__item18, 0))
     1532            if (!_c_65.termEquals (_v_deref__item18, 0))
    15251533            {
    15261534              break _block2__branch20;
     
    15361544            Result _ge_auxcall47 = new Result (Expr.empty);
    15371545            refal.plus.CppMangle.Rfp2Cpp (_vt_var, _ge_auxcall47);
    1538             _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_66).toRight (_ge_auxcall47.getExpr ()).toRight (_c_13).yield ());
     1546            _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_67).toRight (_ge_auxcall47.getExpr ()).toRight (_c_13).yield ());
    15391547            break _block2;
    15401548          }
     
    15521560            }
    15531561            int _v_len__expr6 = (_v_len79 - _v_len80);
    1554             if (!_c_64.termEquals (_v_deref__item19, 0))
     1562            if (!_c_65.termEquals (_v_deref__item19, 0))
    15551563            {
    15561564              break _block2__branch21;
     
    15701578            Result _ge_auxcall49 = new Result (Expr.empty);
    15711579            Expr_Ref_To_CPP (_ve_expr, _ge_auxcall49);
    1572             _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_66).toRight (_ge_auxcall48.getExpr ()).toRight (_c_67).toRight (_ge_auxcall49.getExpr ()).toRight (_c_6).yield ());
     1580            _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_67).toRight (_ge_auxcall48.getExpr ()).toRight (_c_68).toRight (_ge_auxcall49.getExpr ()).toRight (_c_6).yield ());
    15731581            break _block2;
    15741582          }
     
    15831591              break _block2__branch22;
    15841592            }
    1585             if (!_c_68.termEquals (_v_deref__item20, 0))
     1593            if (!_c_69.termEquals (_v_deref__item20, 0))
    15861594            {
    15871595              break _block2__branch22;
     
    15911599            Result _ge_auxcall50 = new Result (Expr.empty);
    15921600            refal.plus.CppMangle.Rfp2Cpp (_vt_var, _ge_auxcall50);
    1593             _ve_cpp__item = new Expr ((Comparable<?>) Expr.concat (_ge_auxcall50.getExpr (), _c_69));
     1601            _ve_cpp__item = new Expr ((Comparable<?>) Expr.concat (_ge_auxcall50.getExpr (), _c_70));
    15941602            break _block2;
    15951603          }
     
    16041612              break _block2__branch23;
    16051613            }
    1606             if (!_c_70.termEquals (_v_deref__item21, 0))
     1614            if (!_c_71.termEquals (_v_deref__item21, 0))
    16071615            {
    16081616              break _block2__branch23;
     
    16111619            _vt_label = _v_deref__item21.subexpr ((0 + 1), 1);
    16121620            Result _ge_auxcall51 = new Result (Expr.empty);
    1613             refal.plus.CppMangle.Rfp2Cpp (new Expr ((Comparable<?>) Expr.concat (_c_47, _vt_label)), _ge_auxcall51);
    1614             _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_71).toRight (_ge_auxcall51.getExpr ()).toRight (_c_13).yield ());
     1621            refal.plus.CppMangle.Rfp2Cpp (new Expr ((Comparable<?>) Expr.concat (_c_48, _vt_label)), _ge_auxcall51);
     1622            _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_72).toRight (_ge_auxcall51.getExpr ()).toRight (_c_13).yield ());
    16151623            break _block2;
    16161624          }
     
    16251633              break _block2__branch24;
    16261634            }
    1627             if (!_c_72.termEquals (_v_deref__item22, 0))
     1635            if (!_c_73.termEquals (_v_deref__item22, 0))
    16281636            {
    16291637              break _block2__branch24;
     
    16321640            _vt_label = _v_deref__item22.subexpr ((0 + 1), 1);
    16331641            Result _ge_auxcall52 = new Result (Expr.empty);
    1634             refal.plus.CppMangle.Rfp2Cpp (new Expr ((Comparable<?>) Expr.concat (_c_47, _vt_label)), _ge_auxcall52);
    1635             _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_71).toRight (_ge_auxcall52.getExpr ()).toRight (_c_13).yield ());
     1642            refal.plus.CppMangle.Rfp2Cpp (new Expr ((Comparable<?>) Expr.concat (_c_48, _vt_label)), _ge_auxcall52);
     1643            _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_72).toRight (_ge_auxcall52.getExpr ()).toRight (_c_13).yield ());
    16361644            break _block2;
    16371645          }
     
    16571665            Result _ge_auxcall53 = new Result (Expr.empty);
    16581666            Expr_Ref_To_CPP (_ve_expr, _ge_auxcall53);
    1659             _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_73).toRight (_ge_auxcall53.getExpr ()).toRight (_c_6).yield ());
     1667            _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_74).toRight (_ge_auxcall53.getExpr ()).toRight (_c_6).yield ());
    16601668            break _block2;
    16611669          }
     
    16971705            }
    16981706            int _v_len__comment = (_v_len87 - _v_len88);
    1699             if (!_c_74.equals (_v_deref__item24, 0))
     1707            if (!_c_75.equals (_v_deref__item24, 0))
    17001708            {
    17011709              break _block2__branch26;
     
    17241732            Result _gs_auxcall55 = new Result (Expr.empty);
    17251733            refal.plus.Convert.ToWord (_ge_auxcall54.getExpr (), _gs_auxcall55);
    1726             refal.plus.Table.Bind (Unavailable_Imports, _ve_name, Expr.getConcatenator ().toRight (_c_76).toRight ((Comparable<?>) _gs_auxcall55.getExpr ()).toRight (_c_75).toRight (_ve_expr).yield ());
     1734            refal.plus.Table.Bind (Unavailable_Imports, _ve_name, Expr.getConcatenator ().toRight (_c_77).toRight ((Comparable<?>) _gs_auxcall55.getExpr ()).toRight (_c_76).toRight (_ve_expr).yield ());
    17271735            _ve_cpp__item = Expr.empty;
    17281736            break _block2;
     
    17531761            }
    17541762            int _v_len__comment2 = (_v_len93 - _v_len94);
    1755             if (!_c_77.termEquals (_v_deref__item25, 0))
     1763            if (!_c_78.termEquals (_v_deref__item25, 0))
    17561764            {
    17571765              break _block2__branch27;
     
    17761784                  break _block11__branch1;
    17771785                }
    1778                 _ge_linkage__5 = _c_78;
     1786                _ge_linkage__5 = _c_79;
    17791787                break _block11;
    17801788              }
     
    18091817                _ve_qualifiers = _ge_auxcall56.getExpr ();
    18101818                _ve__dollar_tmp_m_228_m_28 = Expr.empty;
    1811                 _vs_name__producer = _c_79;
     1819                _vs_name__producer = _c_80;
    18121820                _ve_name__arg = _vt_name;
    18131821                break _block12;
     
    18181826              _ve_qualifiers = _ge_auxcall57.getExpr ();
    18191827              _ve__dollar_tmp_m_228_m_28 = _ge_auxcall58.getExpr ();
    1820               _vs_name__producer = _c_80;
     1828              _vs_name__producer = _c_81;
    18211829              _ve_name__arg = Expr.concat (_c_12, _vt_name);
    18221830            }
     
    18321840              break _block1__branch1;
    18331841            }
    1834             _ve_cpp__item = Expr.concat (_ge_auxcall60.getExpr (), (Comparable<?>) Expr.getConcatenator ().toRight (_ge_linkage__5).toRight (_c_66).toRight (_ge_auxcall61.getExpr ()).toRight (_c_13).yield ());
     1842            _ve_cpp__item = Expr.concat (_ge_auxcall60.getExpr (), (Comparable<?>) Expr.getConcatenator ().toRight (_ge_linkage__5).toRight (_c_67).toRight (_ge_auxcall61.getExpr ()).toRight (_c_13).yield ());
    18351843            break _block2;
    18361844          }
     
    18451853              break _block2__branch28;
    18461854            }
    1847             if (!_c_81.termEquals (_v_deref__item26, 0))
     1855            if (!_c_82.termEquals (_v_deref__item26, 0))
    18481856            {
    18491857              break _block2__branch28;
     
    18711879                  break _block13__branch1;
    18721880                }
    1873                 _ge_linkage__5 = _c_78;
     1881                _ge_linkage__5 = _c_79;
    18741882                break _block13;
    18751883              }
     
    18981906            _block14: {
    18991907              _block14__branch1: {
    1900                 if (!_vs_tag.termEquals (_c_82, 0))
     1908                if (!_vs_tag.termEquals (_c_83, 0))
    19011909                {
    19021910                  break _block14__branch1;
    19031911                }
    1904                 refal.plus.Box.Put (Const_Exprs, new Expr ((Comparable<?>) Expr.concat (_vt_name, (Comparable<?>) Expr.getConcatenator ().toRight (_c_84).toRight (_ve_n.getExpr ()).toRight (_c_83).yield ())));
     1912                refal.plus.Box.Put (Const_Exprs, new Expr ((Comparable<?>) Expr.concat (_vt_name, (Comparable<?>) Expr.getConcatenator ().toRight (_c_85).toRight (_ve_n.getExpr ()).toRight (_c_84).yield ())));
    19051913                break _block14;
    19061914              }
    19071915              Result _ge_auxcall62 = new Result (Expr.empty);
    19081916              refal.plus.Convert.ToLower (_ve_2, _ge_auxcall62);
    1909               refal.plus.Box.Put (Const_Exprs, new Expr ((Comparable<?>) Expr.concat (_vt_name, (Comparable<?>) Expr.getConcatenator ().toRight (_c_86).toRight (_vs_1).toRight (_ge_auxcall62.getExpr ()).toRight (_c_85).toRight (_ve_n.getExpr ()).toRight (_c_83).yield ())));
     1917              refal.plus.Box.Put (Const_Exprs, new Expr ((Comparable<?>) Expr.concat (_vt_name, (Comparable<?>) Expr.getConcatenator ().toRight (_c_87).toRight (_vs_1).toRight (_ge_auxcall62.getExpr ()).toRight (_c_86).toRight (_ve_n.getExpr ()).toRight (_c_84).yield ())));
    19101918            }
    19111919            Result _ge_auxcall63 = new Result (Expr.empty);
     
    19131921            Result _ge_auxcall64 = new Result (Expr.empty);
    19141922            Name_To_CPP (_c_12, _vt_name, _ge_auxcall64);
    1915             _ve_cpp__item = Expr.concat (_ge_auxcall63.getExpr (), (Comparable<?>) Expr.getConcatenator ().toRight (_ge_linkage__5).toRight (_c_66).toRight (_ge_auxcall64.getExpr ()).toRight (_c_13).yield ());
     1923            _ve_cpp__item = Expr.concat (_ge_auxcall63.getExpr (), (Comparable<?>) Expr.getConcatenator ().toRight (_ge_linkage__5).toRight (_c_67).toRight (_ge_auxcall64.getExpr ()).toRight (_c_13).yield ());
    19161924            break _block2;
    19171925          }
     
    19391947            Result _ge_auxcall66 = new Result (Expr.empty);
    19401948            Name_To_CPP (_c_12, _vt_name, _ge_auxcall66);
    1941             _ve_cpp__item = Expr.concat (_ge_auxcall65.getExpr (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_87).toRight (_ge_auxcall66.getExpr ()).toRight (_c_13).yield ());
     1949            _ve_cpp__item = Expr.concat (_ge_auxcall65.getExpr (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_88).toRight (_ge_auxcall66.getExpr ()).toRight (_c_13).yield ());
    19421950            break _block2;
    19431951          }
     
    19521960              break _block2__branch30;
    19531961            }
    1954             if (!_c_32.termEquals (_v_deref__item28, 0))
     1962            if (!_c_33.termEquals (_v_deref__item28, 0))
    19551963            {
    19561964              break _block2__branch30;
     
    19641972            Namespace_Control (_ve_qualifiers.getExpr (), _ge_auxcall67);
    19651973            Result _ge_auxcall68 = new Result (Expr.empty);
    1966             Name_To_CPP (_c_32, _vt_name, _ge_auxcall68);
    1967             _ve_cpp__item = Expr.concat (_ge_auxcall67.getExpr (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_88).toRight (_ge_auxcall68.getExpr ()).toRight (_c_6).yield ());
     1974            Name_To_CPP (_c_33, _vt_name, _ge_auxcall68);
     1975            _ve_cpp__item = Expr.concat (_ge_auxcall67.getExpr (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_89).toRight (_ge_auxcall68.getExpr ()).toRight (_c_6).yield ());
    19681976            break _block2;
    19691977          }
     
    19781986              break _block2__branch31;
    19791987            }
    1980             if (!_c_89.termEquals (_v_deref__item29, 0))
     1988            if (!_c_90.termEquals (_v_deref__item29, 0))
    19811989            {
    19821990              break _block2__branch31;
     
    19911999            Namespace_Control (_ve_qualifiers.getExpr (), _ge_auxcall69);
    19922000            Result _ge_auxcall70 = new Result (Expr.empty);
    1993             Name_To_CPP (_c_32, _vt_name, _ge_auxcall70);
    1994             _ve_cpp__item = Expr.concat (_ge_auxcall69.getExpr (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_88).toRight (_ge_auxcall70.getExpr ()).toRight (_c_6).yield ());
     2001            Name_To_CPP (_c_33, _vt_name, _ge_auxcall70);
     2002            _ve_cpp__item = Expr.concat (_ge_auxcall69.getExpr (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_89).toRight (_ge_auxcall70.getExpr ()).toRight (_c_6).yield ());
    19952003            break _block2;
    19962004          }
     
    20432051            _block15__branch1: {
    20442052              _negation1: {
    2045                 if (!_vs_call.termEquals (_c_90, 0))
     2053                if (!_vs_call.termEquals (_c_91, 0))
    20462054                {
    20472055                  break _negation1;
     
    20742082              _ve_full__name = _v_Get3.getExpr ().subexpr (0, _v_len__full__name);
    20752083              Result _ge_auxcall71 = new Result (Expr.empty);
    2076               Name_To_CPP (_c_32, _vt_name, _ge_auxcall71);
     2084              Name_To_CPP (_c_33, _vt_name, _ge_auxcall71);
    20772085              Result _ge_auxcall72 = new Result (Expr.empty);
    2078               Args_To_CPP (Expr.empty, _c_91, _ve_exprs, _ge_auxcall72);
     2086              Args_To_CPP (Expr.empty, _c_92, _ve_exprs, _ge_auxcall72);
    20792087              Result _ge_auxcall73 = new Result (Expr.empty);
    2080               Args_To_CPP (Expr.empty, _c_34, _ve_ress, _ge_auxcall73);
     2088              Args_To_CPP (Expr.empty, _c_35, _ve_ress, _ge_auxcall73);
    20812089              Result _ge_auxcall74 = new Result (Expr.empty);
    20822090              Trace_Exit (_ve_full__name, _ve_ress, _ge_auxcall74);
    2083               _ve_cpp__item = Expr.getConcatenator ().toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_93).toRight (_ge_auxcall71.getExpr ()).toRight (_c_38).toRight (_ge_auxcall72.getExpr ()).toRight (_c_38).toRight (_ge_auxcall73.getExpr ()).toRight (_c_92).yield ()).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight ((Comparable<?>) Expr.concat (_ge_auxcall74.getExpr (), _c_94)).toRight (_c_8).yield ()).toRight (_c_95).yield ();
     2091              _ve_cpp__item = Expr.getConcatenator ().toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_94).toRight (_ge_auxcall71.getExpr ()).toRight (_c_39).toRight (_ge_auxcall72.getExpr ()).toRight (_c_39).toRight (_ge_auxcall73.getExpr ()).toRight (_c_93).yield ()).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_45).toRight ((Comparable<?>) Expr.concat (_ge_auxcall74.getExpr (), _c_95)).toRight (_c_8).yield ()).toRight (_c_96).yield ();
    20842092              break _block15;
    20852093            }
     
    20872095            _block17: {
    20882096              _block17__branch1: {
    2089                 if (!_vs_call.termEquals (_c_96, 0))
     2097                if (!_vs_call.termEquals (_c_97, 0))
    20902098                {
    20912099                  break _block17__branch1;
    20922100                }
    2093                 _gs_call__7 = _c_97;
     2101                _gs_call__7 = _c_98;
    20942102                break _block17;
    20952103              }
     
    20972105            }
    20982106            Result _ge_auxcall75 = new Result (Expr.empty);
    2099             Name_To_CPP (_c_32, _vt_name, _ge_auxcall75);
     2107            Name_To_CPP (_c_33, _vt_name, _ge_auxcall75);
    21002108            Result _ge_auxcall76 = new Result (Expr.empty);
    2101             Args_To_CPP (Expr.empty, _c_91, _ve_exprs, _ge_auxcall76);
     2109            Args_To_CPP (Expr.empty, _c_92, _ve_exprs, _ge_auxcall76);
    21022110            Result _ge_auxcall77 = new Result (Expr.empty);
    2103             Args_To_CPP (Expr.empty, _c_34, _ve_ress, _ge_auxcall77);
    2104             _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_98).toRight (_gs_call__7).toRight (_c_67).toRight (_ge_auxcall75.getExpr ()).toRight (_c_38).toRight (_ge_auxcall76.getExpr ()).toRight (_c_38).toRight (_ge_auxcall77.getExpr ()).toRight (_c_6).yield ());
     2111            Args_To_CPP (Expr.empty, _c_35, _ve_ress, _ge_auxcall77);
     2112            _ve_cpp__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_99).toRight (_gs_call__7).toRight (_c_68).toRight (_ge_auxcall75.getExpr ()).toRight (_c_39).toRight (_ge_auxcall76.getExpr ()).toRight (_c_39).toRight (_ge_auxcall77.getExpr ()).toRight (_c_6).yield ());
    21052113          }
    21062114        }
     
    21232131          break _block1__branch1;
    21242132        }
    2125         _v_res1.assign (_c_99);
     2133        _v_res1.assign (_c_100);
    21262134        break _block1;
    21272135      }
     
    21392147      refal.plus.List.Paren (_ge_arg1, _ge_auxcall1);
    21402148      Result _ge_auxcall2 = new Result (Expr.empty);
    2141       Infix_To_CPP (_c_100, _c_101, _ge_auxcall1.getExpr (), _ge_auxcall2);
    2142       _v_res1.assign (Expr.getConcatenator ().toRight (_c_102).toRight (_ge_auxcall2.getExpr ()).toRight (_c_37).yield ());
     2149      Infix_To_CPP (_c_101, _c_102, _ge_auxcall1.getExpr (), _ge_auxcall2);
     2150      _v_res1.assign (Expr.getConcatenator ().toRight (_c_103).toRight (_ge_auxcall2.getExpr ()).toRight (_c_38).yield ());
    21432151    }
    21442152  }
     
    21652173        }
    21662174        int _v_len__expr = (_v_len1 - _v_len2);
    2167         if (!_c_103.termEquals (_v_deref__arg1, 0))
     2175        if (!_c_104.termEquals (_v_deref__arg1, 0))
    21682176        {
    21692177          break _block1__branch1;
     
    21732181        Result _ge_auxcall1 = new Result (Expr.empty);
    21742182        Expr_Ref_To_CPP (_ve_expr, _ge_auxcall1);
    2175         _v_res1.assign (Expr.concat (_ge_auxcall1.getExpr (), _c_104));
     2183        _v_res1.assign (Expr.concat (_ge_auxcall1.getExpr (), _c_105));
    21762184        break _block1;
    21772185      }
     
    22052213        }
    22062214        int _v_len__pos = (_v_len5 - _v_len6);
    2207         if (!_c_105.termEquals (_v_deref__arg12, 0))
     2215        if (!_c_106.termEquals (_v_deref__arg12, 0))
    22082216        {
    22092217          break _block1__branch2;
     
    22172225        Result _ge_auxcall3 = new Result (Expr.empty);
    22182226        Expr_Int_To_CPP (_ve_pos, _ge_auxcall3);
    2219         _v_res1.assign (Expr.getConcatenator ().toRight (_c_106).toRight (_ge_auxcall2.getExpr ()).toRight (_c_38).toRight (_ge_auxcall3.getExpr ()).toRight (_c_37).yield ());
     2227        _v_res1.assign (Expr.getConcatenator ().toRight (_c_107).toRight (_ge_auxcall2.getExpr ()).toRight (_c_39).toRight (_ge_auxcall3.getExpr ()).toRight (_c_38).yield ());
    22202228        break _block1;
    22212229      }
     
    22612269        }
    22622270        int _v_len__len = (_v_len11 - _v_len12);
    2263         if (!_c_107.termEquals (_v_deref__arg13, 0))
     2271        if (!_c_108.termEquals (_v_deref__arg13, 0))
    22642272        {
    22652273          break _block1__branch3;
     
    22772285        Result _ge_auxcall6 = new Result (Expr.empty);
    22782286        Expr_Int_To_CPP (_ve_len, _ge_auxcall6);
    2279         _v_res1.assign (Expr.getConcatenator ().toRight (_c_106).toRight (_ge_auxcall4.getExpr ()).toRight (_c_38).toRight (_ge_auxcall5.getExpr ()).toRight (_c_38).toRight (_ge_auxcall6.getExpr ()).toRight (_c_37).yield ());
     2287        _v_res1.assign (Expr.getConcatenator ().toRight (_c_107).toRight (_ge_auxcall4.getExpr ()).toRight (_c_39).toRight (_ge_auxcall5.getExpr ()).toRight (_c_39).toRight (_ge_auxcall6.getExpr ()).toRight (_c_38).yield ());
    22802288        break _block1;
    22812289      }
     
    22942302          break _block1__branch4;
    22952303        }
    2296         if (!_c_108.termEquals (_v_deref__arg14, 0))
     2304        if (!_c_109.termEquals (_v_deref__arg14, 0))
    22972305        {
    22982306          break _block1__branch4;
     
    23082316          break _block1__branch5;
    23092317        }
    2310         if (!_c_109.termEquals (_ge_arg1, 0))
     2318        if (!_c_110.termEquals (_ge_arg1, 0))
    23112319        {
    23122320          break _block1__branch5;
    23132321        }
    2314         _v_res1.assign (_c_110);
     2322        _v_res1.assign (_c_111);
    23152323        break _block1;
    23162324      }
     
    23552363          Result _ge_auxcall7 = new Result (Expr.empty);
    23562364          refal.plus.Box.Get (Module_Name, _ge_auxcall7);
    2357           _ve_prefix = Expr.concat (_ge_auxcall7.getExpr (), _c_111);
     2365          _ve_prefix = Expr.concat (_ge_auxcall7.getExpr (), _c_112);
    23582366        }
    23592367        Result _v_Rfp2Cpp1 = new Result (Expr.empty);
     
    24102418          Result _ge_auxcall8 = new Result (Expr.empty);
    24112419          refal.plus.Box.Get (Int, _ge_auxcall8);
    2412           _v_res1.assign (Expr.getConcatenator ().toRight (_c_113).toRight (_ge_auxcall8.getExpr ()).toRight (_c_112).toRight (_vs_sym).toRight (_c_83).yield ());
     2420          _v_res1.assign (Expr.getConcatenator ().toRight (_c_114).toRight (_ge_auxcall8.getExpr ()).toRight (_c_113).toRight (_vs_sym).toRight (_c_84).yield ());
    24132421          break _block3;
    24142422        }
     
    24192427        Result _ge_auxcall9 = new Result (Expr.empty);
    24202428        Symbol_To_CPP (_vs_sym, _ge_auxcall9);
    2421         _v_res1.assign (Expr.getConcatenator ().toRight (_c_114).toRight (_ge_auxcall9.getExpr ()).toRight (_c_83).yield ());
     2429        _v_res1.assign (Expr.getConcatenator ().toRight (_c_115).toRight (_ge_auxcall9.getExpr ()).toRight (_c_84).yield ());
    24222430      }
    24232431    }
     
    24562464            break _block2;
    24572465          }
    2458           throw new RefalException (new Expr ((Comparable<?>) Expr.concat (_c_115, _vs_ObjectSymbol)));
     2466          throw new RefalException (new Expr ((Comparable<?>) Expr.concat (_c_116, _vs_ObjectSymbol)));
    24592467        }
    24602468        break _block1;
     
    24772485        }
    24782486        int _v_len__expr = (_v_len1 - _v_len2);
    2479         if (!_c_116.termEquals (_v_deref__arg1, 0))
     2487        if (!_c_117.termEquals (_v_deref__arg1, 0))
    24802488        {
    24812489          break _block1__branch3;
     
    24852493        Result _ge_auxcall1 = new Result (Expr.empty);
    24862494        Expr_Ref_To_CPP (_ve_expr, _ge_auxcall1);
    2487         _v_res1.assign (Expr.concat (_ge_auxcall1.getExpr (), _c_117));
     2495        _v_res1.assign (Expr.concat (_ge_auxcall1.getExpr (), _c_118));
    24882496        break _block1;
    24892497      }
     
    25052513        }
    25062514        int _v_len__args = (_v_len3 - _v_len4);
    2507         if (!_c_118.termEquals (_v_deref__arg12, 0))
     2515        if (!_c_119.termEquals (_v_deref__arg12, 0))
    25082516        {
    25092517          break _block1__branch4;
     
    25122520        _ve_args = _v_deref__arg12.subexpr ((0 + 1), _v_len__args);
    25132521        Result _ge_auxcall2 = new Result (Expr.empty);
    2514         Args_To_CPP (Expr.empty, _c_119, _ve_args, _ge_auxcall2);
    2515         _v_res1.assign (Expr.getConcatenator ().toRight (_c_120).toRight (_ge_auxcall2.getExpr ()).toRight (_c_37).yield ());
     2522        Args_To_CPP (Expr.empty, _c_120, _ve_args, _ge_auxcall2);
     2523        _v_res1.assign (Expr.getConcatenator ().toRight (_c_121).toRight (_ge_auxcall2.getExpr ()).toRight (_c_38).yield ());
    25162524        break _block1;
    25172525      }
     
    25332541        }
    25342542        int _v_len__args2 = (_v_len5 - _v_len6);
    2535         if (!_c_121.termEquals (_v_deref__arg13, 0))
     2543        if (!_c_122.termEquals (_v_deref__arg13, 0))
    25362544        {
    25372545          break _block1__branch5;
     
    25402548        _ve_args = _v_deref__arg13.subexpr ((0 + 1), _v_len__args2);
    25412549        Result _ge_auxcall3 = new Result (Expr.empty);
    2542         Args_To_CPP (Expr.empty, _c_119, _ve_args, _ge_auxcall3);
    2543         _v_res1.assign (Expr.getConcatenator ().toRight (_c_122).toRight (_ge_auxcall3.getExpr ()).toRight (_c_37).yield ());
     2550        Args_To_CPP (Expr.empty, _c_120, _ve_args, _ge_auxcall3);
     2551        _v_res1.assign (Expr.getConcatenator ().toRight (_c_123).toRight (_ge_auxcall3.getExpr ()).toRight (_c_38).yield ());
    25442552        break _block1;
    25452553      }
     
    25612569        }
    25622570        int _v_len__args3 = (_v_len7 - _v_len8);
    2563         if (!_c_123.termEquals (_v_deref__arg14, 0))
     2571        if (!_c_124.termEquals (_v_deref__arg14, 0))
    25642572        {
    25652573          break _block1__branch6;
     
    25742582        _ve_args = _v_deref__arg14.subexpr ((0 + 1 + 1), _v_len__args3);
    25752583        Result _ge_auxcall4 = new Result (Expr.empty);
    2576         Infix_To_CPP (_c_124, _vs_op, _ve_args, _ge_auxcall4);
    2577         _v_res1.assign (Expr.getConcatenator ().toRight (_c_102).toRight (_ge_auxcall4.getExpr ()).toRight (_c_37).yield ());
     2584        Infix_To_CPP (_c_125, _vs_op, _ve_args, _ge_auxcall4);
     2585        _v_res1.assign (Expr.getConcatenator ().toRight (_c_103).toRight (_ge_auxcall4.getExpr ()).toRight (_c_38).yield ());
    25782586        break _block1;
    25792587      }
     
    25922600          break _block1__branch7;
    25932601        }
    2594         if (!_c_108.termEquals (_v_deref__arg15, 0))
     2602        if (!_c_109.termEquals (_v_deref__arg15, 0))
    25952603        {
    25962604          break _block1__branch7;
     
    26292637      refal.plus.List.Paren (_ge_arg1, _ge_auxcall5);
    26302638      Result _ge_auxcall6 = new Result (Expr.empty);
    2631       Infix_To_CPP (_c_124, _c_101, _ge_auxcall5.getExpr (), _ge_auxcall6);
    2632       _v_res1.assign (Expr.getConcatenator ().toRight (_c_102).toRight (_ge_auxcall6.getExpr ()).toRight (_c_37).yield ());
     2639      Infix_To_CPP (_c_125, _c_102, _ge_auxcall5.getExpr (), _ge_auxcall6);
     2640      _v_res1.assign (Expr.getConcatenator ().toRight (_c_103).toRight (_ge_auxcall6.getExpr ()).toRight (_c_38).yield ());
    26332641    }
    26342642  }
     
    26812689        }
    26822690        int _v_len__ress = (_v_len3 - _v_len4);
    2683         if (!_c_125.termEquals (_v_deref__arg1, 0))
     2691        if (!_c_126.termEquals (_v_deref__arg1, 0))
    26842692        {
    26852693          break _block1__branch1;
    26862694        }
    2687         if (!_c_90.termEquals (_v_deref__deref__arg1, 0))
     2695        if (!_c_91.termEquals (_v_deref__deref__arg1, 0))
    26882696        {
    26892697          break _block1__branch1;
     
    26962704        _ve_ress = _v_deref__deref__deref__arg12.subexpr (0, _v_len__ress);
    26972705        Result _ge_auxcall1 = new Result (Expr.empty);
    2698         Name_To_CPP (_c_32, _vt_name, _ge_auxcall1);
     2706        Name_To_CPP (_c_33, _vt_name, _ge_auxcall1);
    26992707        Result _ge_auxcall2 = new Result (Expr.empty);
    2700         Args_To_CPP (Expr.empty, _c_91, _ve_exprs, _ge_auxcall2);
     2708        Args_To_CPP (Expr.empty, _c_92, _ve_exprs, _ge_auxcall2);
    27012709        Result _ge_auxcall3 = new Result (Expr.empty);
    2702         Args_To_CPP (Expr.empty, _c_34, _ve_ress, _ge_auxcall3);
    2703         _v_res1.assign (Expr.getConcatenator ().toRight (_c_126).toRight (_ge_auxcall1.getExpr ()).toRight (_c_38).toRight (_ge_auxcall2.getExpr ()).toRight (_c_38).toRight (_ge_auxcall3.getExpr ()).toRight (_c_37).yield ());
     2710        Args_To_CPP (Expr.empty, _c_35, _ve_ress, _ge_auxcall3);
     2711        _v_res1.assign (Expr.getConcatenator ().toRight (_c_127).toRight (_ge_auxcall1.getExpr ()).toRight (_c_39).toRight (_ge_auxcall2.getExpr ()).toRight (_c_39).toRight (_ge_auxcall3.getExpr ()).toRight (_c_38).yield ());
    27042712        break _block1;
    27052713      }
     
    27292737        }
    27302738        int _v_len__pos = (_v_len7 - _v_len8);
    2731         if (!_c_127.termEquals (_v_deref__arg12, 0))
     2739        if (!_c_128.termEquals (_v_deref__arg12, 0))
    27322740        {
    27332741          break _block1__branch2;
     
    27412749        Result _ge_auxcall5 = new Result (Expr.empty);
    27422750        Expr_Int_To_CPP (_ve_pos, _ge_auxcall5);
    2743         _v_res1.assign (Expr.getConcatenator ().toRight (_ge_auxcall4.getExpr ()).toRight (_c_128).toRight (_ge_auxcall5.getExpr ()).toRight (_c_37).yield ());
     2751        _v_res1.assign (Expr.getConcatenator ().toRight (_ge_auxcall4.getExpr ()).toRight (_c_129).toRight (_ge_auxcall5.getExpr ()).toRight (_c_38).yield ());
    27442752        break _block1;
    27452753      }
     
    27812789        }
    27822790        int _v_len__len = (_v_len13 - _v_len14);
    2783         if (!_c_129.termEquals (_v_deref__arg13, 0))
     2791        if (!_c_130.termEquals (_v_deref__arg13, 0))
    27842792        {
    27852793          break _block1__branch3;
     
    27972805        Result _ge_auxcall8 = new Result (Expr.empty);
    27982806        Expr_Int_To_CPP (_ve_len, _ge_auxcall8);
    2799         _v_res1.assign (Expr.getConcatenator ().toRight (_ge_auxcall6.getExpr ()).toRight (_c_130).toRight (_ge_auxcall7.getExpr ()).toRight (_c_38).toRight (_ge_auxcall8.getExpr ()).toRight (_c_37).yield ());
     2807        _v_res1.assign (Expr.getConcatenator ().toRight (_ge_auxcall6.getExpr ()).toRight (_c_131).toRight (_ge_auxcall7.getExpr ()).toRight (_c_39).toRight (_ge_auxcall8.getExpr ()).toRight (_c_38).yield ());
    28002808        break _block1;
    28012809      }
     
    28132821        }
    28142822        int _v_len__expr3 = (_v_len15 - _v_len16);
    2815         if (!_c_131.termEquals (_v_deref__arg14, 0))
     2823        if (!_c_132.termEquals (_v_deref__arg14, 0))
    28162824        {
    28172825          break _block1__branch4;
     
    28212829        Result _ge_auxcall9 = new Result (Expr.empty);
    28222830        Expr_Ref_To_CPP (_ve_expr, _ge_auxcall9);
    2823         _v_res1.assign (Expr.getConcatenator ().toRight (_c_132).toRight (_ge_auxcall9.getExpr ()).toRight (_c_37).yield ());
     2831        _v_res1.assign (Expr.getConcatenator ().toRight (_c_133).toRight (_ge_auxcall9.getExpr ()).toRight (_c_38).yield ());
    28242832        break _block1;
    28252833      }
     
    28612869        }
    28622870        int _v_len__pos3 = (_v_len21 - _v_len22);
    2863         if (!_c_133.termEquals (_v_deref__arg15, 0))
     2871        if (!_c_134.termEquals (_v_deref__arg15, 0))
    28642872        {
    28652873          break _block1__branch5;
     
    28772885        Result _ge_auxcall12 = new Result (Expr.empty);
    28782886        Expr_Int_To_CPP (_ve_pos, _ge_auxcall12);
    2879         _v_res1.assign (Expr.getConcatenator ().toRight (_ge_auxcall10.getExpr ()).toRight (_c_134).toRight (_ge_auxcall11.getExpr ()).toRight (_c_38).toRight (_ge_auxcall12.getExpr ()).toRight (_c_37).yield ());
     2887        _v_res1.assign (Expr.getConcatenator ().toRight (_ge_auxcall10.getExpr ()).toRight (_c_135).toRight (_ge_auxcall11.getExpr ()).toRight (_c_39).toRight (_ge_auxcall12.getExpr ()).toRight (_c_38).yield ());
    28802888        break _block1;
    28812889      }
     
    29172925        }
    29182926        int _v_len__pos4 = (_v_len27 - _v_len28);
    2919         if (!_c_135.termEquals (_v_deref__arg16, 0))
     2927        if (!_c_136.termEquals (_v_deref__arg16, 0))
    29202928        {
    29212929          break _block1__branch6;
     
    29332941        Result _ge_auxcall15 = new Result (Expr.empty);
    29342942        Expr_Int_To_CPP (_ve_pos, _ge_auxcall15);
    2935         _v_res1.assign (Expr.getConcatenator ().toRight (_ge_auxcall13.getExpr ()).toRight (_c_136).toRight (_ge_auxcall14.getExpr ()).toRight (_c_38).toRight (_ge_auxcall15.getExpr ()).toRight (_c_37).yield ());
     2943        _v_res1.assign (Expr.getConcatenator ().toRight (_ge_auxcall13.getExpr ()).toRight (_c_137).toRight (_ge_auxcall14.getExpr ()).toRight (_c_39).toRight (_ge_auxcall15.getExpr ()).toRight (_c_38).yield ());
    29362944        break _block1;
    29372945      }
     
    29452953        throw new RefalException ("org.refal.plus.compiler.rfp_asail_cpp", "Cond_To_CPP", "Unexpected fail");
    29462954      }
    2947       if (!_c_137.termEquals (_v_deref__arg17, 0))
     2955      if (!_c_138.termEquals (_v_deref__arg17, 0))
    29482956      {
    29492957        throw new RefalException ("org.refal.plus.compiler.rfp_asail_cpp", "Cond_To_CPP", "Unexpected fail");
     
    29532961      Result _v_Cond__To__CPP1 = new Result (Expr.empty);
    29542962      Cond_To_CPP (_vt_cond, _v_Cond__To__CPP1);
    2955       _v_res1.assign (Expr.concat (_c_138, _v_Cond__To__CPP1.getExpr ()));
     2963      _v_res1.assign (Expr.concat (_c_139, _v_Cond__To__CPP1.getExpr ()));
    29562964    }
    29572965  }
     
    30143022            Expr _vv__dollar_tmp_m_369_m_28 = Expr.empty;
    30153023            _vv__dollar_tmp_m_369_m_28 = _ve_rest.subexpr (0, _v_len___dollar_tmp_m_369_m_28);
    3016             _v_res1.assign (Expr.getConcatenator ().toRight (_ve_arg).toRight (_c_42).toRight (_vs_op).toRight (_c_42).toRight (_ve_rest).yield ());
     3024            _v_res1.assign (Expr.getConcatenator ().toRight (_ve_arg).toRight (_c_43).toRight (_vs_op).toRight (_c_43).toRight (_ve_rest).yield ());
    30173025            break _block2;
    30183026          }
     
    30543062        }
    30553063        int _v_len__expr = (_v_len1 - _v_len2);
    3056         if (!_c_139.termEquals (_v_deref__arg1, 0))
     3064        if (!_c_140.termEquals (_v_deref__arg1, 0))
    30573065        {
    30583066          break _block1__branch2;
     
    30623070        Result _ge_auxcall1 = new Result (Expr.empty);
    30633071        Expr_Ref_To_CPP (_ve_expr, _ge_auxcall1);
    3064         _v_res1.assign (Expr.getConcatenator ().toRight (_c_141).toRight (_ge_auxcall1.getExpr ()).toRight (_c_140).yield ());
     3072        _v_res1.assign (Expr.getConcatenator ().toRight (_c_142).toRight (_ge_auxcall1.getExpr ()).toRight (_c_141).yield ());
    30653073        break _block1;
    30663074      }
     
    30813089      }
    30823090      int _v_len__expr2 = (_v_len3 - _v_len4);
    3083       if (!_c_142.termEquals (_v_deref__arg12, 0))
     3091      if (!_c_143.termEquals (_v_deref__arg12, 0))
    30843092      {
    30853093        throw new RefalException ("org.refal.plus.compiler.rfp_asail_cpp", "Step_To_CPP", "Unexpected fail");
     
    30893097      Result _ge_auxcall2 = new Result (Expr.empty);
    30903098      Expr_Ref_To_CPP (_ve_expr, _ge_auxcall2);
    3091       _v_res1.assign (Expr.getConcatenator ().toRight (_c_141).toRight (_ge_auxcall2.getExpr ()).toRight (_c_143).yield ());
     3099      _v_res1.assign (Expr.getConcatenator ().toRight (_c_142).toRight (_ge_auxcall2.getExpr ()).toRight (_c_144).yield ());
    30923100    }
    30933101  }
     
    31023110          break _block1__branch1;
    31033111        }
    3104         _v_res1.assign (_c_99);
     3112        _v_res1.assign (_c_100);
    31053113        break _block1;
    31063114      }
     
    31193127          break _block1__branch2;
    31203128        }
    3121         if (!_c_107.termEquals (_v_deref__arg1, 0))
     3129        if (!_c_108.termEquals (_v_deref__arg1, 0))
    31223130        {
    31233131          break _block1__branch2;
     
    31393147        Result _ge_auxcall1 = new Result (Expr.empty);
    31403148        refal.plus.CppMangle.Rfp2Cpp (_vt_name, _ge_auxcall1);
    3141         _v_res1.assign (Expr.getConcatenator ().toRight (_c_106).toRight (_ge_auxcall1.getExpr ()).toRight (_c_38).toRight (_vs_pos).toRight (_c_38).toRight (_vs_len).toRight (_c_37).yield ());
     3149        _v_res1.assign (Expr.getConcatenator ().toRight (_c_107).toRight (_ge_auxcall1.getExpr ()).toRight (_c_39).toRight (_vs_pos).toRight (_c_39).toRight (_vs_len).toRight (_c_38).yield ());
    31423150        break _block1;
    31433151      }
    31443152      Result _v_Const__Expr__Aux1 = new Result (Expr.empty);
    3145       Const_Expr_Aux (Expr.concat (_c_75, _ge_arg1), _v_Const__Expr__Aux1);
     3153      Const_Expr_Aux (Expr.concat (_c_76, _ge_arg1), _v_Const__Expr__Aux1);
    31463154      _block2: {
    31473155        _block2__branch1: {
     
    31533161          }
    31543162          int _v_len__cpp__expr = (_v_len1 - _v_len2);
    3155           if (!_c_144.equals (_v_Const__Expr__Aux1.getExpr (), 0))
     3163          if (!_c_145.equals (_v_Const__Expr__Aux1.getExpr (), 0))
    31563164          {
    31573165            break _block2__branch1;
     
    32703278              Expr _ve__dollar_tmp_m_402_m_39 = Expr.empty;
    32713279              _ve__dollar_tmp_m_402_m_39 = _v_lsplit__CharsToBytes1.subexpr ((0 + 1), _v_len___dollar_tmp_m_402_m_39);
    3272               if (!refal.plus.Compare.Gt (_vs_c, _c_145))
     3280              if (!refal.plus.Compare.Gt (_vs_c, _c_146))
    32733281              {
    32743282                continue _continue1;
    32753283              }
    32763284              Result _v_Const__Expr__Aux1 = new Result (Expr.empty);
    3277               Const_Expr_Aux (Expr.concat (_c_75, _ve_expr), _v_Const__Expr__Aux1);
    3278               _v_res1.assign (Expr.getConcatenator ().toRight (_c_146).toRight (_ve_accum).toRight (_c_83).toRight (_v_Const__Expr__Aux1.getExpr ()).yield ());
     3285              Const_Expr_Aux (Expr.concat (_c_76, _ve_expr), _v_Const__Expr__Aux1);
     3286              _v_res1.assign (Expr.getConcatenator ().toRight (_c_147).toRight (_ve_accum).toRight (_c_84).toRight (_v_Const__Expr__Aux1.getExpr ()).yield ());
    32793287              break _exit1;
    32803288            }
     
    32823290          }
    32833291          Result _v_Const__Expr__Aux2 = new Result (Expr.empty);
    3284           Const_Expr_Aux (Expr.concat (_c_75, _ve_expr), _v_Const__Expr__Aux2);
    3285           _v_res1.assign (Expr.getConcatenator ().toRight (_c_147).toRight (_ve_accum).toRight (_c_83).toRight (_v_Const__Expr__Aux2.getExpr ()).yield ());
     3292          Const_Expr_Aux (Expr.concat (_c_76, _ve_expr), _v_Const__Expr__Aux2);
     3293          _v_res1.assign (Expr.getConcatenator ().toRight (_c_148).toRight (_ve_accum).toRight (_c_84).toRight (_v_Const__Expr__Aux2.getExpr ()).yield ());
    32863294        }
    32873295        break _block1;
     
    33143322            }
    33153323            int _v_len__paren__expr = (_v_len13 - _v_len14);
    3316             if (!_c_103.termEquals (_v_deref__item, 0))
     3324            if (!_c_104.termEquals (_v_deref__item, 0))
    33173325            {
    33183326              break _block3__branch1;
     
    33223330            Result _ge_auxcall2 = new Result (Expr.empty);
    33233331            Const_Expr_To_CPP (_ve_paren__expr, _ge_auxcall2);
    3324             _ve_cpp__item = Expr.getConcatenator ().toRight (_c_149).toRight (_ge_auxcall2.getExpr ()).toRight (_c_148).yield ();
     3332            _ve_cpp__item = Expr.getConcatenator ().toRight (_c_150).toRight (_ge_auxcall2.getExpr ()).toRight (_c_149).yield ();
    33253333            break _block3;
    33263334          }
     
    33353343              break _block3__branch2;
    33363344            }
    3337             if (!_c_108.termEquals (_v_deref__item2, 0))
     3345            if (!_c_109.termEquals (_v_deref__item2, 0))
    33383346            {
    33393347              break _block3__branch2;
     
    33433351            Result _v_Name__To__CPP1 = new Result (Expr.empty);
    33443352            Name_To_CPP (_c_12, _vt_name, _v_Name__To__CPP1);
    3345             _ve_cpp__item = Expr.concat (_c_144, _v_Name__To__CPP1.getExpr ());
     3353            _ve_cpp__item = Expr.concat (_c_145, _v_Name__To__CPP1.getExpr ());
    33463354            break _block3;
    33473355          }
     
    33673375            Result _v_Rfp2Cpp1 = new Result (Expr.empty);
    33683376            refal.plus.CppMangle.Rfp2Cpp (_vt_item, _v_Rfp2Cpp1);
    3369             _ve_cpp__item = Expr.concat (_c_144, _v_Rfp2Cpp1.getExpr ());
     3377            _ve_cpp__item = Expr.concat (_c_145, _v_Rfp2Cpp1.getExpr ());
    33703378            break _block3;
    33713379          }
     
    33963404                break _block4;
    33973405              }
    3398               if (!_vs_FUNC.termEquals (_c_27, 0))
     3406              _block4__branch2: {
     3407                if (!_vs_FUNC.termEquals (_c_27, 0))
     3408                {
     3409                  break _block4__branch2;
     3410                }
     3411                break _block4;
     3412              }
     3413              if (!_vs_FUNC.termEquals (_c_30, 0))
    33993414              {
    34003415                break _block3__branch4;
     
    34023417            }
    34033418            Result _ge_auxcall3 = new Result (Expr.empty);
    3404             Name_To_CPP (_c_32, _vt_name, _ge_auxcall3);
    3405             _ve_cpp__item = Expr.getConcatenator ().toRight (_c_150).toRight (_ge_auxcall3.getExpr ()).toRight (_c_37).yield ();
     3419            Name_To_CPP (_c_33, _vt_name, _ge_auxcall3);
     3420            _ve_cpp__item = Expr.getConcatenator ().toRight (_c_151).toRight (_ge_auxcall3.getExpr ()).toRight (_c_38).yield ();
    34063421            break _block3;
    34073422          }
     
    34203435              Result _ge_auxcall4 = new Result (Expr.empty);
    34213436              refal.plus.Box.Get (Int, _ge_auxcall4);
    3422               _ve_cpp__item = Expr.getConcatenator ().toRight (_c_151).toRight (_ge_auxcall4.getExpr ()).toRight (_c_112).toRight (_vs_sym).toRight (_c_83).yield ();
     3437              _ve_cpp__item = Expr.getConcatenator ().toRight (_c_152).toRight (_ge_auxcall4.getExpr ()).toRight (_c_113).toRight (_vs_sym).toRight (_c_84).yield ();
    34233438              break _block5;
    34243439            }
     
    34293444            Result _ge_auxcall5 = new Result (Expr.empty);
    34303445            Symbol_To_CPP (_vs_sym, _ge_auxcall5);
    3431             _ve_cpp__item = Expr.getConcatenator ().toRight (_c_152).toRight (_ge_auxcall5.getExpr ()).toRight (_c_83).yield ();
     3446            _ve_cpp__item = Expr.getConcatenator ().toRight (_c_153).toRight (_ge_auxcall5.getExpr ()).toRight (_c_84).yield ();
    34323447          }
    34333448        }
    34343449        Result _v_Const__Expr__Aux3 = new Result (Expr.empty);
    3435         Const_Expr_Aux (Expr.concat (_c_75, _ve_rest), _v_Const__Expr__Aux3);
     3450        Const_Expr_Aux (Expr.concat (_c_76, _ve_rest), _v_Const__Expr__Aux3);
    34363451        _v_res1.assign (Expr.concat (_ve_cpp__item, _v_Const__Expr__Aux3.getExpr ()));
    34373452        break _block1;
     
    34763491      _block3: {
    34773492        _block3__branch1: {
    3478           if (!_vs_char.termEquals (_c_153, 0))
     3493          if (!_vs_char.termEquals (_c_154, 0))
    34793494          {
    34803495            break _block3__branch1;
    34813496          }
    3482           _ve_cpp__char = _c_154;
     3497          _ve_cpp__char = _c_155;
    34833498          break _block3;
    34843499        }
    34853500        _block3__branch2: {
    3486           if (!_vs_char.termEquals (_c_155, 0))
     3501          if (!_vs_char.termEquals (_c_156, 0))
    34873502          {
    34883503            break _block3__branch2;
    34893504          }
    3490           _ve_cpp__char = _c_156;
     3505          _ve_cpp__char = _c_157;
    34913506          break _block3;
    34923507        }
    34933508        _block3__branch3: {
    3494           if (!_vs_char.termEquals (_c_157, 0))
     3509          if (!_vs_char.termEquals (_c_158, 0))
    34953510          {
    34963511            break _block3__branch3;
    34973512          }
    3498           _ve_cpp__char = _c_158;
     3513          _ve_cpp__char = _c_159;
    34993514          break _block3;
    35003515        }
    35013516        _block3__branch4: {
    3502           if (!_vs_char.termEquals (_c_159, 0))
     3517          if (!_vs_char.termEquals (_c_160, 0))
    35033518          {
    35043519            break _block3__branch4;
    35053520          }
    3506           _ve_cpp__char = _c_160;
     3521          _ve_cpp__char = _c_161;
    35073522          break _block3;
    35083523        }
    35093524        _block3__branch5: {
    3510           if (!_vs_char.termEquals (_c_161, 0))
     3525          if (!_vs_char.termEquals (_c_162, 0))
    35113526          {
    35123527            break _block3__branch5;
    35133528          }
    3514           _ve_cpp__char = _c_162;
     3529          _ve_cpp__char = _c_163;
    35153530          break _block3;
    35163531        }
     
    35503565        }
    35513566        int _v_len__prefix = (_v_len1 - _v_len2);
    3552         if (!_c_34.termEquals (_v_compose1, (0 + 1)))
     3567        if (!_c_35.termEquals (_v_compose1, (0 + 1)))
    35533568        {
    35543569          break _block1__branch1;
     
    35563571        Expr _vv_prefix = Expr.empty;
    35573572        _vv_prefix = _v_deref__compose1.subexpr (0, _v_len__prefix);
    3558         _v_res1.assign (_c_163);
     3573        _v_res1.assign (_c_164);
    35593574        break _block1;
    35603575      }
     
    35653580        }
    35663581        Expr _v_compose2 = Expr.getConcatenator ().toRight ((Comparable<?>) _ge_arg1).toRight (_gs_arg2).toRight (_ge_arg3).yield ();
    3567         if (!_c_164.equals (_v_compose2, 0))
     3582        if (!_c_165.equals (_v_compose2, 0))
    35683583        {
    35693584          break _block1__branch2;
    35703585        }
    3571         _v_res1.assign (_c_165);
     3586        _v_res1.assign (_c_166);
    35723587        break _block1;
    35733588      }
     
    35903605        }
    35913606        int _v_len__arg = (_v_len3 - _v_len4);
    3592         if (!_c_164.equals (_v_compose3, 0))
     3607        if (!_c_165.equals (_v_compose3, 0))
    35933608        {
    35943609          break _block1__branch3;
     
    36173632        }
    36183633        int _v_len__prefix2 = (_v_len5 - _v_len6);
    3619         if (!_c_91.termEquals (_v_compose4, (0 + 1)))
     3634        if (!_c_92.termEquals (_v_compose4, (0 + 1)))
    36203635        {
    36213636          break _block1__branch4;
     
    36233638        Expr _ve_prefix = Expr.empty;
    36243639        _ve_prefix = _v_deref__compose4.subexpr (0, _v_len__prefix2);
    3625         _v_res1.assign (_c_165);
     3640        _v_res1.assign (_c_166);
    36263641        break _block1;
    36273642      }
     
    36563671        }
    36573672        int _v_len__arg2 = (_v_len9 - _v_len10);
    3658         if (!_c_91.termEquals (_v_compose5, (0 + 1)))
     3673        if (!_c_92.termEquals (_v_compose5, (0 + 1)))
    36593674        {
    36603675          break _block1__branch5;
     
    36793694            _block2__branch1: {
    36803695              Expr _v_compose6 = Expr.concat ((Comparable<?>) _ge_arg1, _gs_arg2);
    3681               if (!_c_91.termEquals (_v_compose6, (0 + 1)))
     3696              if (!_c_92.termEquals (_v_compose6, (0 + 1)))
    36823697              {
    36833698                break _block2__branch1;
     
    36853700              Expr _vt__dollar_tmp_m_472_m_8 = Expr.empty;
    36863701              _vt__dollar_tmp_m_472_m_8 = _v_compose6.subexpr (0, 1);
    3687               _v_res1.assign (Expr.getConcatenator ().toRight (_c_102).toRight (_ve_cpp__args).toRight (_c_37).yield ());
     3702              _v_res1.assign (Expr.getConcatenator ().toRight (_c_103).toRight (_ve_cpp__args).toRight (_c_38).yield ());
    36883703              break _block2;
    36893704            }
    36903705            _block2__branch2: {
    36913706              Expr _v_compose7 = Expr.concat ((Comparable<?>) _ge_arg1, _gs_arg2);
    3692               if (!_c_164.equals (_v_compose7, 0))
     3707              if (!_c_165.equals (_v_compose7, 0))
    36933708              {
    36943709                break _block2__branch2;
    36953710              }
    3696               _v_res1.assign (Expr.getConcatenator ().toRight (_c_102).toRight (_ve_cpp__args).toRight (_c_37).yield ());
     3711              _v_res1.assign (Expr.getConcatenator ().toRight (_c_103).toRight (_ve_cpp__args).toRight (_c_38).yield ());
    36973712              break _block2;
    36983713            }
     
    37113726              }
    37123727              int _v_len___dollar_tmp_m_474_m_9 = (_v_len11 - _v_len12);
    3713               if (!_c_34.termEquals (_v_compose8, (0 + 1)))
     3728              if (!_c_35.termEquals (_v_compose8, (0 + 1)))
    37143729              {
    37153730                break _block2__branch3;
     
    37173732              Expr _vv__dollar_tmp_m_474_m_9 = Expr.empty;
    37183733              _vv__dollar_tmp_m_474_m_9 = _v_deref__compose8.subexpr (0, _v_len___dollar_tmp_m_474_m_9);
    3719               _v_res1.assign (Expr.getConcatenator ().toRight (_c_102).toRight (_ge_arg1).toRight (_ve_cpp__args).toRight (_c_166).yield ());
     3734              _v_res1.assign (Expr.getConcatenator ().toRight (_c_103).toRight (_ge_arg1).toRight (_ve_cpp__args).toRight (_c_167).yield ());
    37203735              break _block2;
    37213736            }
     
    37693784            Expr _vv__dollar_tmp_m_461_m_21 = Expr.empty;
    37703785            _vv__dollar_tmp_m_461_m_21 = _ve_rest.subexpr (0, _v_len___dollar_tmp_m_461_m_21);
    3771             _ve_comma = _c_38;
     3786            _ve_comma = _c_39;
    37723787            break _block4;
    37733788          }
     
    37763791        _block5: {
    37773792          _block5__branch1: {
    3778             if (!_gs_arg2.termEquals (_c_34, 0))
     3793            if (!_gs_arg2.termEquals (_c_35, 0))
    37793794            {
    37803795              break _block5__branch1;
     
    37873802          }
    37883803          _block5__branch2: {
    3789             if (!_gs_arg2.termEquals (_c_91, 0))
     3804            if (!_gs_arg2.termEquals (_c_92, 0))
    37903805            {
    37913806              break _block5__branch2;
     
    37973812            break _block5;
    37983813          }
    3799           if (!_gs_arg2.termEquals (_c_119, 0))
     3814          if (!_gs_arg2.termEquals (_c_120, 0))
    38003815          {
    38013816            throw new RefalException ("org.refal.plus.compiler.rfp_asail_cpp", "Args_To_CPP", "Unexpected fail");
     
    38723887        }
    38733888        int _v_len__cont2 = (_v_len5 - _v_len6);
    3874         if (!_c_167.equals (_ve_name, 0))
     3889        if (!_c_168.equals (_ve_name, 0))
    38753890        {
    38763891          break _block1__branch2;
     
    38783893        Expr _ve_cont = Expr.empty;
    38793894        _ve_cont = _ve_name.subexpr ((0 + 1 + 1), _v_len__cont2);
    3880         refal.plus.Table.Bind (Decls, Expr.concat (_vs_decl__type, (Comparable<?>) Expr.concat (_c_168, _ve_cont)), Expr.empty);
    3881         QName_To_Cpp (Expr.concat (_c_168, _ve_cont), _v_res1);
     3895        refal.plus.Table.Bind (Decls, Expr.concat (_vs_decl__type, (Comparable<?>) Expr.concat (_c_169, _ve_cont)), Expr.empty);
     3896        QName_To_Cpp (Expr.concat (_c_169, _ve_cont), _v_res1);
    38823897        break _block1;
    38833898      }
     
    39113926  static  void QName_To_Cpp (Expr _ve_name, Result _v_res1) throws RefalException
    39123927  {
    3913     refal.plus.List.Intersperse (_c_111, _ve_name, _v_res1);
     3928    refal.plus.List.Intersperse (_c_112, _ve_name, _v_res1);
    39143929  }
    39153930
     
    39173932  static  void Open_Namespace (Expr _ve_name, Result _v_res1) throws RefalException
    39183933  {
    3919     _v_res1.assign (new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_170).toRight (_ve_name).toRight (_c_169).yield ()));
     3934    _v_res1.assign (new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_171).toRight (_ve_name).toRight (_c_170).yield ()));
    39203935  }
    39213936
     
    39233938  static  void Close_Namespace (Expr _ve_name, Result _v_res1) throws RefalException
    39243939  {
    3925     _v_res1.assign (_c_171);
     3940    _v_res1.assign (_c_172);
    39263941  }
    39273942
     
    39463961          break _block1__branch2;
    39473962        }
    3948         if (!_c_75.termEquals (_ve_qualifiers, 0))
     3963        if (!_c_76.termEquals (_ve_qualifiers, 0))
    39493964        {
    39503965          break _block1__branch2;
     
    39793994      refal.plus.Box.Store (Current_Namespace, _ge_qualifiers__1);
    39803995      Result _v_Map1 = new Result (Expr.empty);
    3981       if (!refal.plus.List.Map (_c_172, Expr.empty, _ge_qualifiers__1, _v_Map1))
     3996      if (!refal.plus.List.Map (_c_173, Expr.empty, _ge_qualifiers__1, _v_Map1))
    39823997      {
    39833998        throw new RefalException ("org.refal.plus.compiler.rfp_asail_cpp", "Namespace_Control", "Unexpected fail");
     
    40004015          break _iter1;
    40014016        }
    4002         _v_res1.assign (Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_174).toRight (_ve_name).toRight (_c_173).yield (), _ve_pr__args));
     4017        _v_res1.assign (Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_175).toRight (_ve_name).toRight (_c_174).yield (), _ve_pr__args));
    40034018        break _exit__iter1;
    40044019      }
     
    40354050            }
    40364051          }
    4037           _ve_num = Expr.getConcatenator ().toRight (_c_175).toRight (_vs_n).toRight (_c_6).yield ();
     4052          _ve_num = Expr.getConcatenator ().toRight (_c_176).toRight (_vs_n).toRight (_c_6).yield ();
    40384053          break _block2;
    40394054        }
    4040         _ve_num = _c_176;
     4055        _ve_num = _c_177;
    40414056      }
    40424057      Result _gs_auxcall1 = new Result (Expr.empty);
     
    40464061      _ge_args__0 = _ve_rest;
    40474062      _vs_n = _gs_auxcall1.getExpr ();
    4048       _ve_pr__args = Expr.concat (_ve_pr__args, (Comparable<?>) Expr.getConcatenator ().toRight (_c_178).toRight (_ve_num).toRight (_c_67).toRight (_ge_auxcall2.getExpr ()).toRight (_c_177).yield ());
     4063      _ve_pr__args = Expr.concat (_ve_pr__args, (Comparable<?>) Expr.getConcatenator ().toRight (_c_179).toRight (_ve_num).toRight (_c_68).toRight (_ge_auxcall2.getExpr ()).toRight (_c_178).yield ());
    40494064    }
    40504065  }
     
    40634078          break _iter1;
    40644079        }
    4065         _v_res1.assign (Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_179).toRight (_ve_name).toRight (_c_173).yield (), _ve_pr__args));
     4080        _v_res1.assign (Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_180).toRight (_ve_name).toRight (_c_174).yield (), _ve_pr__args));
    40664081        break _exit__iter1;
    40674082      }
     
    40984113            }
    40994114          }
    4100           _ve_num = Expr.getConcatenator ().toRight (_c_175).toRight (_vs_n).toRight (_c_6).yield ();
     4115          _ve_num = Expr.getConcatenator ().toRight (_c_176).toRight (_vs_n).toRight (_c_6).yield ();
    41014116          break _block2;
    41024117        }
    4103         _ve_num = _c_176;
     4118        _ve_num = _c_177;
    41044119      }
    41054120      Result _gs_auxcall1 = new Result (Expr.empty);
     
    41094124      _ge_args__0 = _ve_rest;
    41104125      _vs_n = _gs_auxcall1.getExpr ();
    4111       _ve_pr__args = Expr.concat (_ve_pr__args, (Comparable<?>) Expr.getConcatenator ().toRight (_c_181).toRight (_ve_num).toRight (_c_67).toRight (_ge_auxcall2.getExpr ()).toRight (_c_180).yield ());
     4126      _ve_pr__args = Expr.concat (_ve_pr__args, (Comparable<?>) Expr.getConcatenator ().toRight (_c_182).toRight (_ve_num).toRight (_c_68).toRight (_ge_auxcall2.getExpr ()).toRight (_c_181).yield ());
    41124127    }
    41134128  }
     
    41164131  static  void Trace_Fail (Expr _ve_name, Result _v_res1) throws RefalException
    41174132  {
    4118     _v_res1.assign (new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_182).toRight (_ve_name).toRight (_c_173).yield ()));
     4133    _v_res1.assign (new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_183).toRight (_ve_name).toRight (_c_174).yield ()));
    41194134  }
    41204135
     
    41424157        Expr _ve_n = Expr.empty;
    41434158        _ve_n = _v_deref__name.subexpr (0, _v_len__n);
    4144         _v_res1.assign (_c_75);
     4159        _v_res1.assign (_c_76);
    41454160        _v_res2.assign (_ve_n);
    41464161        break _block1;
     
    41544169    if (_ge_arg1.length () != 2)
    41554170    {
    4156       throw new RefalException (_c_183);
     4171      throw new RefalException (_c_184);
    41574172    }
    41584173    if (!_ge_arg1.isSymbolAt (0))
    41594174    {
    4160       throw new RefalException (_c_183);
     4175      throw new RefalException (_c_184);
    41614176    }
    41624177    Expr _v_stub1 = Expr.empty;
  • to-imperative/trunk/java/compiler/org/refal/plus/compiler/rfp_asail_java.java

    r3456 r3580  
    3939  static  final Expr _c_10 = Expr.fromSequence (" (new Result ());");
    4040  static  final Expr _c_11 = Expr.fromSequence ("try {");
    41   static  final Expr _c_211 = Expr.fromSequence ("java.lang.System.out.println (\"$error: \" + e);");
    42   static  final Expr _c_12 = Expr.getConcatenator (30).toRight (Expr.fromSequence ("} catch (RefalException e) {")).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_211, (Comparable<?>) Expr.fromSequence ("java.lang.System.exit (100);"))).toRight (Expr.fromSequence ("}")).yield ();
     41  static  final Expr _c_212 = Expr.fromSequence ("java.lang.System.out.println (\"$error: \" + e);");
     42  static  final Expr _c_12 = Expr.getConcatenator (30).toRight (Expr.fromSequence ("} catch (RefalException e) {")).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_212, (Comparable<?>) Expr.fromSequence ("java.lang.System.exit (100);"))).toRight (Expr.fromSequence ("}")).yield ();
    4343  static  final Expr _c_13 = Expr.fromSequence ("public void run () {");
    4444  static  final Expr _c_14 = _c_12.subexpr (0, 1);
     
    6060  static  final Expr _c_30 = new Expr (Symbol.newWord ("FUNC"));
    6161  static  final Expr _c_31 = _c_18.subexpr (14, 4);
    62   static  final Expr _c_32 = new Expr (Symbol.newWord ("FUNC?"));
    63   static  final Expr _c_161 = Expr.fromSequence ("public boolean eval (Expr arg, Result res) throws RefalException {");
    64   static  final Expr _c_33 = _c_161.subexpr (7, 7);
    65   static  final Expr _c_34 = new Expr ((Comparable<?>) Expr.fromSequence ("return true;"));
    66   static  final Expr _c_62 = Expr.fromSequence ("\", \"This is for avoiding 'Unreachable code' errors\");");
    67   static  final Expr _c_35 = _c_62.subexpr (50, 2);
    68   static  final Expr _c_36 = Expr.fromSequence ("@RefalFormat(\"");
    69   static  final Expr _c_37 = new Expr (Symbol.newWord ("Result"));
    70   static  final Expr _c_38 = new Expr (Symbol.newWord ("Expr"));
    71   static  final Expr _c_39 = _c_161.subexpr (41, 23);
    72   static  final Expr _c_40 = _c_10.subexpr (0, 2);
    73   static  final Expr _c_41 = _c_40.subexpr (0, 1);
    74   static  final Expr _c_42 = _c_18.subexpr (7, 7);
    75   static  final Expr _c_43 = _c_20.subexpr (1, 1);
    76   static  final Expr _c_44 = new Expr (Symbol.newWord ("TRACE"));
    77   static  final Expr _c_45 = new Expr (Symbol.newWord ("IF-INT-CMP"));
    78   static  final Expr _c_46 = _c_10.subexpr (14, 1);
    79   static  final Expr _c_65 = Expr.fromSequence ("if (false)");
    80   static  final Expr _c_47 = _c_65.subexpr (0, 4);
    81   static  final Expr _c_48 = new Expr (Symbol.newWord ("IF"));
    82   static  final Expr _c_49 = new Expr (Symbol.newWord ("CALL-FAILS"));
    83   static  final Expr _c_50 = new Expr (Symbol.newWord ("FOR"));
    84   static  final Expr _c_51 = new Expr (Symbol.newWord ("LABEL"));
    85   static  final Expr _c_52 = _c_211.subexpr (37, 2);
    86   static  final Expr _c_53 = new Expr (Symbol.newWord ("INC-ITER"));
    87   static  final Expr _c_54 = new Expr (Symbol.newWord ("DEC-ITER"));
    88   static  final Expr _c_55 = Expr.fromSequence (".getLeft();");
    89   static  final Expr _c_212 = Expr.fromSequence ("Expr err = error.getExpr ();");
    90   static  final Expr _c_56 = _c_212.subexpr (8, 3);
    91   static  final Expr _c_57 = _c_212.subexpr (0, 5);
    92   static  final Expr _c_58 = Expr.fromSequence (".getRight();");
    93   static  final Expr _c_59 = Expr.fromSequence ("for ( ; ; ");
    94   static  final Expr _c_60 = Expr.fromSequence (": {");
    95   static  final Expr _c_61 = new Expr (Symbol.newWord ("TRY"));
    96   static  final Expr _c_63 = _c_62.subexpr (0, 4);
    97   static  final Expr _c_64 = Expr.fromSequence ("throw new RefalException (\"");
    98   static  final Expr _c_66 = new Expr ((Comparable<?>) _c_11.subexpr (0, 3));
    99   static  final Expr _c_67 = new Expr (Symbol.newWord ("CATCH-ERROR"));
    100   static  final Expr _c_68 = new Expr ((Comparable<?>) _c_212);
    101   static  final Expr _c_69 = Expr.fromSequence ("catch (RefalException error) {");
    102   static  final Expr _c_70 = new Expr (Symbol.newWord ("RETFAIL"));
    103   static  final Expr _c_213 = Expr.fromSequence ("return false;");
    104   static  final Expr _c_105 = Expr.getConcatenator (5).toRight (Expr.fromSequence (") {")).toRight ((Comparable<?>) _c_213).toRight (Expr.fromSequence ("}")).yield ();
    105   static  final Expr _c_71 = _c_105.subexpr (3, 1);
    106   static  final Expr _c_72 = new Expr (Symbol.newWord ("FATAL"));
    107   static  final Expr _c_73 = Expr.fromSequence ("\", \"Unexpected fail\");");
    108   static  final Expr _c_74 = new Expr (Symbol.newWord ("LSPLIT"));
    109   static  final Expr _c_75 = Expr.fromSequence ("_va_");
    110   static  final Expr _c_76 = _c_10.subexpr (15, 2);
    111   static  final Expr _c_77 = Expr.fromSequence (".leftSplit(");
    112   static  final Expr _c_78 = Expr.fromSequence ("Expr.SplitIterator ");
    113   static  final Expr _c_79 = new Expr (Symbol.newWord ("RSPLIT"));
    114   static  final Expr _c_80 = Expr.fromSequence (".rightSplit(");
    115   static  final Expr _c_81 = new Expr (Symbol.newWord ("DECL"));
    116   static  final Expr _c_82 = Expr.fromSequence ("int ");
    117   static  final Expr _c_83 = new Expr (Symbol.newWord ("ASSIGN"));
    118   static  final Expr _c_108 = Expr.fromSequence (" = new Result ();");
    119   static  final Expr _c_84 = _c_108.subexpr (0, 15);
    120   static  final Expr _c_85 = _c_10.subexpr (6, 7);
    121   static  final Expr _c_86 = Expr.fromSequence (".assign (");
    122   static  final Expr _c_87 = new Expr (Symbol.newWord ("DROP"));
    123   static  final Expr _c_88 = Expr.fromSequence (".drop ();");
    124   static  final Expr _c_89 = new Expr (Symbol.newWord ("CONTINUE"));
    125   static  final Expr _c_90 = Expr.fromSequence ("continue ");
    126   static  final Expr _c_91 = new Expr (Symbol.newWord ("BREAK"));
    127   static  final Expr _c_92 = Expr.fromSequence ("break ");
    128   static  final Expr _c_93 = new Expr (Symbol.newWord ("ERROR"));
    129   static  final Expr _c_94 = _c_64.subexpr (0, 26);
    130   static  final Expr _c_95 = new Expr (Symbol.newWord ("CONSTEXPR"));
    131   static  final Expr _c_96 = new Expr (Symbol.newWord ("STATIC"));
    132   static  final Expr _c_97 = Expr.fromSequence (" final Expr ");
    133   static  final Expr _c_98 = new Expr (Symbol.newWord ("OBJ"));
    134   static  final Expr _c_99 = Expr.fromSequence ("\"));");
    135   static  final Expr _c_100 = _c_9.subexpr (20, 3);
    136   static  final Expr _c_101 = Expr.fromSequence (" = new Expr (Symbol.new");
    137   static  final Expr _c_102 = new Expr (Symbol.newWord ("DECL-OBJ"));
    138   static  final Expr _c_103 = new Expr (Symbol.newWord ("DECL-FUNC"));
    139   static  final Expr _c_104 = new Expr (Symbol.newWord ("TAILCALL?"));
    140   static  final Expr _c_106 = Expr.fromSequence ("if (!");
    141   static  final Expr _c_107 = _c_212.subexpr (16, 12);
    142   static  final Expr _c_109 = Expr.fromSequence ("Expr.empty");
    143   static  final Expr _c_110 = new Expr (Symbol.newWord ("PAREN"));
    144   static  final Expr _c_111 = Expr.fromSequence ("new Expr ((Comparable<?>) ");
    145   static  final Expr _c_112 = _c_63.subexpr (1, 2);
    146   static  final Expr _c_113 = Expr.fromSequence ("Expr.concat (");
    147   static  final Expr _c_114 = new Expr (new Func () {
     62  static  final Expr _c_32 = new Expr (Symbol.newWord ("TFUNC"));
     63  static  final Expr _c_33 = new Expr (Symbol.newWord ("FUNC?"));
     64  static  final Expr _c_162 = Expr.fromSequence ("public boolean eval (Expr arg, Result res) throws RefalException {");
     65  static  final Expr _c_34 = _c_162.subexpr (7, 7);
     66  static  final Expr _c_35 = new Expr ((Comparable<?>) Expr.fromSequence ("return true;"));
     67  static  final Expr _c_63 = Expr.fromSequence ("\", \"This is for avoiding 'Unreachable code' errors\");");
     68  static  final Expr _c_36 = _c_63.subexpr (50, 2);
     69  static  final Expr _c_37 = Expr.fromSequence ("@RefalFormat(\"");
     70  static  final Expr _c_38 = new Expr (Symbol.newWord ("Result"));
     71  static  final Expr _c_39 = new Expr (Symbol.newWord ("Expr"));
     72  static  final Expr _c_40 = _c_162.subexpr (41, 23);
     73  static  final Expr _c_41 = _c_10.subexpr (0, 2);
     74  static  final Expr _c_42 = _c_41.subexpr (0, 1);
     75  static  final Expr _c_43 = _c_18.subexpr (7, 7);
     76  static  final Expr _c_44 = _c_20.subexpr (1, 1);
     77  static  final Expr _c_45 = new Expr (Symbol.newWord ("TRACE"));
     78  static  final Expr _c_46 = new Expr (Symbol.newWord ("IF-INT-CMP"));
     79  static  final Expr _c_47 = _c_10.subexpr (14, 1);
     80  static  final Expr _c_66 = Expr.fromSequence ("if (false)");
     81  static  final Expr _c_48 = _c_66.subexpr (0, 4);
     82  static  final Expr _c_49 = new Expr (Symbol.newWord ("IF"));
     83  static  final Expr _c_50 = new Expr (Symbol.newWord ("CALL-FAILS"));
     84  static  final Expr _c_51 = new Expr (Symbol.newWord ("FOR"));
     85  static  final Expr _c_52 = new Expr (Symbol.newWord ("LABEL"));
     86  static  final Expr _c_53 = _c_212.subexpr (37, 2);
     87  static  final Expr _c_54 = new Expr (Symbol.newWord ("INC-ITER"));
     88  static  final Expr _c_55 = new Expr (Symbol.newWord ("DEC-ITER"));
     89  static  final Expr _c_56 = Expr.fromSequence (".getLeft();");
     90  static  final Expr _c_213 = Expr.fromSequence ("Expr err = error.getExpr ();");
     91  static  final Expr _c_57 = _c_213.subexpr (8, 3);
     92  static  final Expr _c_58 = _c_213.subexpr (0, 5);
     93  static  final Expr _c_59 = Expr.fromSequence (".getRight();");
     94  static  final Expr _c_60 = Expr.fromSequence ("for ( ; ; ");
     95  static  final Expr _c_61 = Expr.fromSequence (": {");
     96  static  final Expr _c_62 = new Expr (Symbol.newWord ("TRY"));
     97  static  final Expr _c_64 = _c_63.subexpr (0, 4);
     98  static  final Expr _c_65 = Expr.fromSequence ("throw new RefalException (\"");
     99  static  final Expr _c_67 = new Expr ((Comparable<?>) _c_11.subexpr (0, 3));
     100  static  final Expr _c_68 = new Expr (Symbol.newWord ("CATCH-ERROR"));
     101  static  final Expr _c_69 = new Expr ((Comparable<?>) _c_213);
     102  static  final Expr _c_70 = Expr.fromSequence ("catch (RefalException error) {");
     103  static  final Expr _c_71 = new Expr (Symbol.newWord ("RETFAIL"));
     104  static  final Expr _c_214 = Expr.fromSequence ("return false;");
     105  static  final Expr _c_106 = Expr.getConcatenator (5).toRight (Expr.fromSequence (") {")).toRight ((Comparable<?>) _c_214).toRight (Expr.fromSequence ("}")).yield ();
     106  static  final Expr _c_72 = _c_106.subexpr (3, 1);
     107  static  final Expr _c_73 = new Expr (Symbol.newWord ("FATAL"));
     108  static  final Expr _c_74 = Expr.fromSequence ("\", \"Unexpected fail\");");
     109  static  final Expr _c_75 = new Expr (Symbol.newWord ("LSPLIT"));
     110  static  final Expr _c_76 = Expr.fromSequence ("_va_");
     111  static  final Expr _c_77 = _c_10.subexpr (15, 2);
     112  static  final Expr _c_78 = Expr.fromSequence (".leftSplit(");
     113  static  final Expr _c_79 = Expr.fromSequence ("Expr.SplitIterator ");
     114  static  final Expr _c_80 = new Expr (Symbol.newWord ("RSPLIT"));
     115  static  final Expr _c_81 = Expr.fromSequence (".rightSplit(");
     116  static  final Expr _c_82 = new Expr (Symbol.newWord ("DECL"));
     117  static  final Expr _c_83 = Expr.fromSequence ("int ");
     118  static  final Expr _c_84 = new Expr (Symbol.newWord ("ASSIGN"));
     119  static  final Expr _c_109 = Expr.fromSequence (" = new Result ();");
     120  static  final Expr _c_85 = _c_109.subexpr (0, 15);
     121  static  final Expr _c_86 = _c_10.subexpr (6, 7);
     122  static  final Expr _c_87 = Expr.fromSequence (".assign (");
     123  static  final Expr _c_88 = new Expr (Symbol.newWord ("DROP"));
     124  static  final Expr _c_89 = Expr.fromSequence (".drop ();");
     125  static  final Expr _c_90 = new Expr (Symbol.newWord ("CONTINUE"));
     126  static  final Expr _c_91 = Expr.fromSequence ("continue ");
     127  static  final Expr _c_92 = new Expr (Symbol.newWord ("BREAK"));
     128  static  final Expr _c_93 = Expr.fromSequence ("break ");
     129  static  final Expr _c_94 = new Expr (Symbol.newWord ("ERROR"));
     130  static  final Expr _c_95 = _c_65.subexpr (0, 26);
     131  static  final Expr _c_96 = new Expr (Symbol.newWord ("CONSTEXPR"));
     132  static  final Expr _c_97 = new Expr (Symbol.newWord ("STATIC"));
     133  static  final Expr _c_98 = Expr.fromSequence (" final Expr ");
     134  static  final Expr _c_99 = new Expr (Symbol.newWord ("OBJ"));
     135  static  final Expr _c_100 = Expr.fromSequence ("\"));");
     136  static  final Expr _c_101 = _c_9.subexpr (20, 3);
     137  static  final Expr _c_102 = Expr.fromSequence (" = new Expr (Symbol.new");
     138  static  final Expr _c_103 = new Expr (Symbol.newWord ("DECL-OBJ"));
     139  static  final Expr _c_104 = new Expr (Symbol.newWord ("DECL-FUNC"));
     140  static  final Expr _c_105 = new Expr (Symbol.newWord ("TAILCALL?"));
     141  static  final Expr _c_107 = Expr.fromSequence ("if (!");
     142  static  final Expr _c_108 = _c_213.subexpr (16, 12);
     143  static  final Expr _c_110 = Expr.fromSequence ("Expr.empty");
     144  static  final Expr _c_111 = new Expr (Symbol.newWord ("PAREN"));
     145  static  final Expr _c_112 = Expr.fromSequence ("new Expr ((Comparable<?>) ");
     146  static  final Expr _c_113 = _c_64.subexpr (1, 2);
     147  static  final Expr _c_114 = Expr.fromSequence ("Expr.concat (");
     148  static  final Expr _c_115 = new Expr (new Func () {
    148149    public boolean eval (Expr arg, Result res) throws RefalException {
    149150      return Term_Ref_To_Java_0 (arg, res);
    150151    }
    151152  });
    152   static  final Expr _c_115 = new Expr (new Func () {
     153  static  final Expr _c_116 = new Expr (new Func () {
    153154    public boolean eval (Expr arg, Result res) throws RefalException {
    154155      return ToRight_0 (arg, res);
    155156    }
    156157  });
    157   static  final Expr _c_116 = Expr.fromSequence (".yield ()");
    158   static  final Expr _c_117 = Expr.fromSequence ("Expr.getConcatenator ()");
    159   static  final Expr _c_118 = _c_111.subexpr (10, 16);
    160   static  final Expr _c_119 = new Expr (Symbol.newWord ("DEREF"));
    161   static  final Expr _c_120 = Expr.fromSequence (".at (");
    162   static  final Expr _c_121 = Expr.fromSequence ("(Expr) ");
    163   static  final Expr _c_122 = new Expr (Symbol.newWord ("SUBEXPR"));
    164   static  final Expr _c_123 = Expr.fromSequence (".subexpr (");
    165   static  final Expr _c_124 = new Expr (Symbol.newWord ("REF"));
    166   static  final Expr _c_125 = new Expr (Symbol.newWord ("ERROR-EXPR"));
    167   static  final Expr _c_126 = _c_62.subexpr (44, 3);
    168   static  final Expr _c_127 = new Expr (Symbol.newWord ("Illegal int-symbol: "));
    169   static  final Expr _c_128 = new Expr (Symbol.newWord ("LENGTH"));
    170   static  final Expr _c_129 = Expr.fromSequence (".length ()");
    171   static  final Expr _c_130 = new Expr (Symbol.newWord ("MAX"));
    172   static  final Expr _c_131 = Expr.fromSequence ("java.lang.Math.max (");
    173   static  final Expr _c_132 = new Expr (Symbol.newWord ("MIN"));
    174   static  final Expr _c_133 = Expr.fromSequence ("java.lang.Math.min (");
    175   static  final Expr _c_134 = new Expr (Symbol.newWord ("INFIX"));
    176   static  final Expr _c_135 = new Expr (new Func () {
     158  static  final Expr _c_117 = Expr.fromSequence (".yield ()");
     159  static  final Expr _c_118 = Expr.fromSequence ("Expr.getConcatenator ()");
     160  static  final Expr _c_119 = _c_112.subexpr (10, 16);
     161  static  final Expr _c_120 = new Expr (Symbol.newWord ("DEREF"));
     162  static  final Expr _c_121 = Expr.fromSequence (".at (");
     163  static  final Expr _c_122 = Expr.fromSequence ("(Expr) ");
     164  static  final Expr _c_123 = new Expr (Symbol.newWord ("SUBEXPR"));
     165  static  final Expr _c_124 = Expr.fromSequence (".subexpr (");
     166  static  final Expr _c_125 = new Expr (Symbol.newWord ("REF"));
     167  static  final Expr _c_126 = new Expr (Symbol.newWord ("ERROR-EXPR"));
     168  static  final Expr _c_127 = _c_63.subexpr (44, 3);
     169  static  final Expr _c_128 = new Expr (Symbol.newWord ("Illegal int-symbol: "));
     170  static  final Expr _c_129 = new Expr (Symbol.newWord ("LENGTH"));
     171  static  final Expr _c_130 = Expr.fromSequence (".length ()");
     172  static  final Expr _c_131 = new Expr (Symbol.newWord ("MAX"));
     173  static  final Expr _c_132 = Expr.fromSequence ("java.lang.Math.max (");
     174  static  final Expr _c_133 = new Expr (Symbol.newWord ("MIN"));
     175  static  final Expr _c_134 = Expr.fromSequence ("java.lang.Math.min (");
     176  static  final Expr _c_135 = new Expr (Symbol.newWord ("INFIX"));
     177  static  final Expr _c_136 = new Expr (new Func () {
    177178    public boolean eval (Expr arg, Result res) throws RefalException {
    178179      Expr_Int_To_Java (arg, res);
     
    180181    }
    181182  });
    182   static  final Expr _c_136 = _c_40.subexpr (1, 1);
    183   static  final Expr _c_137 = new Expr (Symbol.newWord ("+"));
    184   static  final Expr _c_138 = new Expr (Symbol.newWord ("CALL"));
    185   static  final Expr _c_139 = _c_106.subexpr (4, 1);
    186   static  final Expr _c_140 = new Expr (Symbol.newWord ("ITER-FAILS"));
    187   static  final Expr _c_141 = new Expr (Symbol.newInt ("0"));
    188   static  final Expr _c_142 = new Expr (Symbol.newInt ("2"));
    189   static  final Expr _c_143 = Expr.fromSequence (".isValid ()");
    190   static  final Expr _c_144 = new Expr (Symbol.newWord ("SYMBOL?"));
    191   static  final Expr _c_145 = Expr.fromSequence (".isSymbolAt (");
    192   static  final Expr _c_146 = new Expr (Symbol.newWord ("EQ"));
    193   static  final Expr _c_147 = Expr.fromSequence (".equals (");
    194   static  final Expr _c_148 = new Expr (Symbol.newWord ("TERM-EQ"));
    195   static  final Expr _c_149 = Expr.fromSequence (".termEquals (");
    196   static  final Expr _c_150 = new Expr (Symbol.newWord ("NOT"));
    197   static  final Expr _c_151 = Expr.fromSequence (".next ()");
    198   static  final Expr _c_152 = Expr.fromSequence (".prev ()");
    199   static  final Expr _c_153 = _c_118.subexpr (0, 15);
    200   static  final Expr _c_162 = Expr.fromSequence ("new Func () {");
    201   static  final Expr _c_154 = _c_162.subexpr (0, 8);
    202   static  final Expr _c_155 = _c_101.subexpr (13, 10);
    203   static  final Expr _c_156 = _c_101.subexpr (3, 10);
    204   static  final Expr _c_157 = _c_117.subexpr (0, 22);
    205   static  final Expr _c_158 = Expr.fromSequence ("Expr.fromSequence (\"");
    206   static  final Expr _c_159 = Expr.fromSequence (" (arg, res);");
    207   static  final Expr _c_160 = _c_213.subexpr (0, 7);
    208   static  final Expr _c_163 = Expr.fromSequence ("Symbol.newInt (\"");
    209   static  final Expr _c_164 = Expr.fromSequence ("Symbol.newWord (\"");
    210   static  final Expr _c_165 = _c_24.subexpr (0, 1);
    211   static  final Expr _c_166 = Expr.fromSequence ("\\\\");
    212   static  final Expr _c_167 = Expr.fromSequence ("\n");
    213   static  final Expr _c_168 = Expr.fromSequence ("\\n");
    214   static  final Expr _c_169 = Expr.fromSequence ("\t");
    215   static  final Expr _c_170 = Expr.fromSequence ("\\t");
    216   static  final Expr _c_171 = Expr.fromSequence ("\r");
    217   static  final Expr _c_172 = Expr.fromSequence ("\\r");
    218   static  final Expr _c_173 = _c_107.subexpr (0, 11);
    219   static  final Expr _c_174 = new Expr (Symbol.newWord ("EXPORT"));
    220   static  final Expr _c_175 = _c_161.subexpr (0, 6);
    221   static  final Expr _c_176 = new Expr (Symbol.newInt ("1"));
    222   static  final Expr _c_177 = new Expr (Symbol.newWord ("SVAR"));
    223   static  final Expr _c_178 = new Expr (Symbol.newWord ("boolean"));
    224   static  final Expr _c_179 = new Expr (Symbol.newWord ("char"));
    225   static  final Expr _c_180 = new Expr (Symbol.newWord ("byte"));
    226   static  final Expr _c_181 = new Expr (Symbol.newWord ("short"));
    227   static  final Expr _c_182 = new Expr (Symbol.newWord ("int"));
    228   static  final Expr _c_183 = new Expr (Symbol.newWord ("long"));
    229   static  final Expr _c_187 = Expr.fromSequence (".at(0)))");
    230   static  final Expr _c_184 = _c_187.subexpr (0, 7);
    231   static  final Expr _c_188 = Expr.fromSequence (") Native.objectValue(");
    232   static  final Expr _c_185 = _c_188.subexpr (15, 6);
    233   static  final Expr _c_186 = _c_188.subexpr (2, 7);
    234   static  final Expr _c_189 = _c_111.subexpr (9, 2);
    235   static  final Expr _c_190 = new Expr (Symbol.newWord ("EVAR"));
    236   static  final Expr _c_191 = _c_18.subexpr (47, 2);
    237   static  final Expr _c_196 = Expr.fromSequence (") Native.objectArrayValue(");
    238   static  final Expr _c_192 = _c_196.subexpr (15, 11);
    239   static  final Expr _c_193 = Expr.fromSequence (".length()]))");
    240   static  final Expr _c_194 = _c_191.subexpr (0, 1);
    241   static  final Expr _c_195 = Expr.fromSequence (", new ");
    242   static  final Expr _c_197 = Expr.fromSequence ("Native.sValueOf(");
    243   static  final Expr _c_198 = Expr.fromSequence ("Native.eValueOf(");
    244   static  final Expr _c_199 = _c_159.subexpr (2, 3);
    245   static  final Expr _c_200 = _c_159.subexpr (7, 3);
    246   static  final Expr _c_201 = new Expr (Symbol.newWord (""));
    247   static  final Expr _c_202 = _c_10.subexpr (2, 4);
    248   static  final Expr _c_203 = Expr.fromSequence (".assign(");
    249   static  final Expr _c_204 = Expr.fromSequence ("\", e.toString());");
    250   static  final Expr _c_205 = Expr.fromSequence ("throw new org.refal.plus.RefalException(\"");
    251   static  final Expr _c_206 = Expr.fromSequence ("} catch (java.lang.Exception e) {");
    252   static  final Expr _c_207 = _c_161.subexpr (41, 25);
    253   static  final Expr _c_208 = _c_18.subexpr (13, 6);
    254   static  final Expr _c_209 = Expr.getConcatenator (3).toRight (Symbol.newWord ("Apply")).toRight (Symbol.newWord ("Apply")).toRight (Symbol.newWord ("Unexpected fail")).yield ();
    255   static  final Expr _c_210 = Expr.fromSequence (".toRight (");
     183  static  final Expr _c_137 = _c_41.subexpr (1, 1);
     184  static  final Expr _c_138 = new Expr (Symbol.newWord ("+"));
     185  static  final Expr _c_139 = new Expr (Symbol.newWord ("CALL"));
     186  static  final Expr _c_140 = _c_107.subexpr (4, 1);
     187  static  final Expr _c_141 = new Expr (Symbol.newWord ("ITER-FAILS"));
     188  static  final Expr _c_142 = new Expr (Symbol.newInt ("0"));
     189  static  final Expr _c_143 = new Expr (Symbol.newInt ("2"));
     190  static  final Expr _c_144 = Expr.fromSequence (".isValid ()");
     191  static  final Expr _c_145 = new Expr (Symbol.newWord ("SYMBOL?"));
     192  static  final Expr _c_146 = Expr.fromSequence (".isSymbolAt (");
     193  static  final Expr _c_147 = new Expr (Symbol.newWord ("EQ"));
     194  static  final Expr _c_148 = Expr.fromSequence (".equals (");
     195  static  final Expr _c_149 = new Expr (Symbol.newWord ("TERM-EQ"));
     196  static  final Expr _c_150 = Expr.fromSequence (".termEquals (");
     197  static  final Expr _c_151 = new Expr (Symbol.newWord ("NOT"));
     198  static  final Expr _c_152 = Expr.fromSequence (".next ()");
     199  static  final Expr _c_153 = Expr.fromSequence (".prev ()");
     200  static  final Expr _c_154 = _c_119.subexpr (0, 15);
     201  static  final Expr _c_163 = Expr.fromSequence ("new Func () {");
     202  static  final Expr _c_155 = _c_163.subexpr (0, 8);
     203  static  final Expr _c_156 = _c_102.subexpr (13, 10);
     204  static  final Expr _c_157 = _c_102.subexpr (3, 10);
     205  static  final Expr _c_158 = _c_118.subexpr (0, 22);
     206  static  final Expr _c_159 = Expr.fromSequence ("Expr.fromSequence (\"");
     207  static  final Expr _c_160 = Expr.fromSequence (" (arg, res);");
     208  static  final Expr _c_161 = _c_214.subexpr (0, 7);
     209  static  final Expr _c_164 = Expr.fromSequence ("Symbol.newInt (\"");
     210  static  final Expr _c_165 = Expr.fromSequence ("Symbol.newWord (\"");
     211  static  final Expr _c_166 = _c_24.subexpr (0, 1);
     212  static  final Expr _c_167 = Expr.fromSequence ("\\\\");
     213  static  final Expr _c_168 = Expr.fromSequence ("\n");
     214  static  final Expr _c_169 = Expr.fromSequence ("\\n");
     215  static  final Expr _c_170 = Expr.fromSequence ("\t");
     216  static  final Expr _c_171 = Expr.fromSequence ("\\t");
     217  static  final Expr _c_172 = Expr.fromSequence ("\r");
     218  static  final Expr _c_173 = Expr.fromSequence ("\\r");
     219  static  final Expr _c_174 = _c_108.subexpr (0, 11);
     220  static  final Expr _c_175 = new Expr (Symbol.newWord ("EXPORT"));
     221  static  final Expr _c_176 = _c_162.subexpr (0, 6);
     222  static  final Expr _c_177 = new Expr (Symbol.newInt ("1"));
     223  static  final Expr _c_178 = new Expr (Symbol.newWord ("SVAR"));
     224  static  final Expr _c_179 = new Expr (Symbol.newWord ("boolean"));
     225  static  final Expr _c_180 = new Expr (Symbol.newWord ("char"));
     226  static  final Expr _c_181 = new Expr (Symbol.newWord ("byte"));
     227  static  final Expr _c_182 = new Expr (Symbol.newWord ("short"));
     228  static  final Expr _c_183 = new Expr (Symbol.newWord ("int"));
     229  static  final Expr _c_184 = new Expr (Symbol.newWord ("long"));
     230  static  final Expr _c_188 = Expr.fromSequence (".at(0)))");
     231  static  final Expr _c_185 = _c_188.subexpr (0, 7);
     232  static  final Expr _c_189 = Expr.fromSequence (") Native.objectValue(");
     233  static  final Expr _c_186 = _c_189.subexpr (15, 6);
     234  static  final Expr _c_187 = _c_189.subexpr (2, 7);
     235  static  final Expr _c_190 = _c_112.subexpr (9, 2);
     236  static  final Expr _c_191 = new Expr (Symbol.newWord ("EVAR"));
     237  static  final Expr _c_192 = _c_18.subexpr (47, 2);
     238  static  final Expr _c_197 = Expr.fromSequence (") Native.objectArrayValue(");
     239  static  final Expr _c_193 = _c_197.subexpr (15, 11);
     240  static  final Expr _c_194 = Expr.fromSequence (".length()]))");
     241  static  final Expr _c_195 = _c_192.subexpr (0, 1);
     242  static  final Expr _c_196 = Expr.fromSequence (", new ");
     243  static  final Expr _c_198 = Expr.fromSequence ("Native.sValueOf(");
     244  static  final Expr _c_199 = Expr.fromSequence ("Native.eValueOf(");
     245  static  final Expr _c_200 = _c_160.subexpr (2, 3);
     246  static  final Expr _c_201 = _c_160.subexpr (7, 3);
     247  static  final Expr _c_202 = new Expr (Symbol.newWord (""));
     248  static  final Expr _c_203 = _c_10.subexpr (2, 4);
     249  static  final Expr _c_204 = Expr.fromSequence (".assign(");
     250  static  final Expr _c_205 = Expr.fromSequence ("\", e.toString());");
     251  static  final Expr _c_206 = Expr.fromSequence ("throw new org.refal.plus.RefalException(\"");
     252  static  final Expr _c_207 = Expr.fromSequence ("} catch (java.lang.Exception e) {");
     253  static  final Expr _c_208 = _c_162.subexpr (41, 25);
     254  static  final Expr _c_209 = _c_18.subexpr (13, 6);
     255  static  final Expr _c_210 = Expr.getConcatenator (3).toRight (Symbol.newWord ("Apply")).toRight (Symbol.newWord ("Apply")).toRight (Symbol.newWord ("Unexpected fail")).yield ();
     256  static  final Expr _c_211 = Expr.fromSequence (".toRight (");
    256257
    257258  @RefalFormat("$func RFP_ASAIL_To_Java t = (e) (e);")
     
    724725                break _block3;
    725726              }
    726               if (!_vs_tag.termEquals (_c_32, 0))
     727              _block3__branch2: {
     728                if (!_vs_tag.termEquals (_c_32, 0))
     729                {
     730                  break _block3__branch2;
     731                }
     732                _ve_return__type = _c_31;
     733                _ve_return = Expr.empty;
     734                break _block3;
     735              }
     736              if (!_vs_tag.termEquals (_c_33, 0))
    727737              {
    728738                break _block2__branch4;
    729739              }
    730               _ve_return__type = _c_33;
    731               _ve_return = _c_34;
     740              _ve_return__type = _c_34;
     741              _ve_return = _c_35;
    732742            }
    733743            refal.plus.Box.Store (Ress, _ve_ress);
     
    744754                _exit1: _continue1: for ( ; ; _va_4.next ())
    745755                {
    746                   Expr _ve__dollar_tmp_m_132_m_25 = _va_4.getLeft();
     756                  Expr _ve__dollar_tmp_m_133_m_25 = _va_4.getLeft();
    747757                  Expr _v_lsplit__Get1 = _va_4.getRight();
    748758                  if (!_va_4.isValid ())
     
    756766                    break _block4__branch1;
    757767                  }
    758                   int _v_len___dollar_tmp_m_132_m_34 = (_v_len17 - _v_len18);
     768                  int _v_len___dollar_tmp_m_133_m_34 = (_v_len17 - _v_len18);
    759769                  if (!_vt_name.termEquals (_v_lsplit__Get1, 0))
    760770                  {
    761771                    continue _continue1;
    762772                  }
    763                   Expr _ve__dollar_tmp_m_132_m_34 = Expr.empty;
    764                   _ve__dollar_tmp_m_132_m_34 = _v_lsplit__Get1.subexpr ((0 + 1), _v_len___dollar_tmp_m_132_m_34);
     773                  Expr _ve__dollar_tmp_m_133_m_34 = Expr.empty;
     774                  _ve__dollar_tmp_m_133_m_34 = _v_lsplit__Get1.subexpr ((0 + 1), _v_len___dollar_tmp_m_133_m_34);
    765775                  refal.plus.Box.Store (Entry_Name, _vt_name);
    766776                  break _exit1;
     
    782792                Result _gs_auxcall3 = new Result (Expr.empty);
    783793                ReplaceQuotes (_gs_auxcall2.getExpr (), _gs_auxcall3);
    784                 _ve_refalFormat = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_36).toRight (_gs_auxcall3.getExpr ()).toRight (_c_35).yield ());
     794                _ve_refalFormat = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_37).toRight (_gs_auxcall3.getExpr ()).toRight (_c_36).yield ());
    785795                break _block5;
    786796              }
     
    792802            refal.plus.Box.Get (Func_Name, _ge_auxcall5);
    793803            Result _ge_auxcall6 = new Result (Expr.empty);
    794             Var_Args_To_Java (Expr.getConcatenator ().toRight (_c_38).toRight (_ve_args).toRight (_c_37).toRight (_ve_ress).yield (), _ge_auxcall6);
     804            Var_Args_To_Java (Expr.getConcatenator ().toRight (_c_39).toRight (_ve_args).toRight (_c_38).toRight (_ve_ress).yield (), _ge_auxcall6);
    795805            Result _ge_auxcall7 = new Result (Expr.empty);
    796806            ASAIL_To_Java (_ve_body, _ge_auxcall7);
    797             _ve_java__item = Expr.getConcatenator ().toRight (_c_19).toRight (_ve_refalFormat).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_42).toRight (_ge_auxcall4.getExpr ()).toRight (_c_41).toRight (_ve_return__type).toRight (_c_41).toRight (_ge_auxcall5.getExpr ()).toRight (_c_40).toRight (_ge_auxcall6.getExpr ()).toRight (_c_39).yield ()).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_43).toRight ((Comparable<?>) Expr.concat (_ge_auxcall7.getExpr (), _ve_return)).toRight (_c_14).yield ()).yield ();
     807            _ve_java__item = Expr.getConcatenator ().toRight (_c_19).toRight (_ve_refalFormat).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_43).toRight (_ge_auxcall4.getExpr ()).toRight (_c_42).toRight (_ve_return__type).toRight (_c_42).toRight (_ge_auxcall5.getExpr ()).toRight (_c_41).toRight (_ge_auxcall6.getExpr ()).toRight (_c_40).yield ()).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight ((Comparable<?>) Expr.concat (_ge_auxcall7.getExpr (), _ve_return)).toRight (_c_14).yield ()).yield ();
    798808            break _block2;
    799809          }
     
    808818              break _block2__branch5;
    809819            }
    810             if (!_c_44.termEquals (_v_deref__item5, 0))
     820            if (!_c_45.termEquals (_v_deref__item5, 0))
    811821            {
    812822              break _block2__branch5;
     
    855865            }
    856866            int _v_len__arg2 = (_v_len23 - _v_len24);
    857             if (!_c_45.termEquals (_v_deref__item6, 0))
     867            if (!_c_46.termEquals (_v_deref__item6, 0))
    858868            {
    859869              break _block2__branch6;
     
    875885            Result _v_Expr__Int__To__Java1 = new Result (Expr.empty);
    876886            Expr_Int_To_Java (_ve_arg2, _v_Expr__Int__To__Java1);
    877             Expr _ve_cond = Expr.getConcatenator ().toRight (_ge_auxcall8.getExpr ()).toRight (_c_41).toRight (_vs_op).toRight (_c_41).toRight (_v_Expr__Int__To__Java1.getExpr ()).yield ();
     887            Expr _ve_cond = Expr.getConcatenator ().toRight (_ge_auxcall8.getExpr ()).toRight (_c_42).toRight (_vs_op).toRight (_c_42).toRight (_v_Expr__Int__To__Java1.getExpr ()).yield ();
    878888            Result _ge_auxcall9 = new Result (Expr.empty);
    879889            ASAIL_To_Java (_ve_body, _ge_auxcall9);
    880             _ve_java__item = Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_47).toRight (_ve_cond).toRight (_c_46).yield (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_43).toRight ((Comparable<?>) _ge_auxcall9.getExpr ()).toRight (_c_14).yield ());
     890            _ve_java__item = Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_48).toRight (_ve_cond).toRight (_c_47).yield (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight ((Comparable<?>) _ge_auxcall9.getExpr ()).toRight (_c_14).yield ());
    881891            break _block2;
    882892          }
     
    894904            }
    895905            int _v_len__body3 = (_v_len25 - _v_len26);
    896             if (!_c_48.termEquals (_v_deref__item7, 0))
     906            if (!_c_49.termEquals (_v_deref__item7, 0))
    897907            {
    898908              break _block2__branch7;
     
    921931                  break _block6__branch1;
    922932                }
    923                 int _v_len___dollar_tmp_m_150_m_33 = (_v_len27 - _v_len28);
    924                 if (!_c_49.termEquals (_v_deref__cond, 0))
     933                int _v_len___dollar_tmp_m_151_m_33 = (_v_len27 - _v_len28);
     934                if (!_c_50.termEquals (_v_deref__cond, 0))
    925935                {
    926936                  break _block6__branch1;
    927937                }
    928                 Expr _ve__dollar_tmp_m_150_m_33 = Expr.empty;
    929                 _ve__dollar_tmp_m_150_m_33 = _v_deref__cond.subexpr ((0 + 1), _v_len___dollar_tmp_m_150_m_33);
     938                Expr _ve__dollar_tmp_m_151_m_33 = Expr.empty;
     939                _ve__dollar_tmp_m_151_m_33 = _v_deref__cond.subexpr ((0 + 1), _v_len___dollar_tmp_m_151_m_33);
    930940                Result _ge_auxcall10 = new Result (Expr.empty);
    931941                refal.plus.Box.Get (Res_Assigns, _ge_auxcall10);
     
    945955            Result _ge_auxcall13 = new Result (Expr.empty);
    946956            ASAIL_To_Java (_ve_body, _ge_auxcall13);
    947             _ve_java__item = Expr.getConcatenator ().toRight (_ge_auxcall12.getExpr ()).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_47).toRight (_ve_j__cond.getExpr ()).toRight (_c_46).yield ()).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_43).toRight ((Comparable<?>) Expr.concat (_ve_if__yes__assigns, _ge_auxcall13.getExpr ())).toRight (_c_14).yield ()).toRight (_ve_if__not__assigns).yield ();
     957            _ve_java__item = Expr.getConcatenator ().toRight (_ge_auxcall12.getExpr ()).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_48).toRight (_ve_j__cond.getExpr ()).toRight (_c_47).yield ()).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight ((Comparable<?>) Expr.concat (_ve_if__yes__assigns, _ge_auxcall13.getExpr ())).toRight (_c_14).yield ()).toRight (_ve_if__not__assigns).yield ();
    948958            break _block2;
    949959          }
     
    9971007            }
    9981008            int _v_len__step = (_v_len35 - _v_len36);
    999             if (!_c_50.termEquals (_v_deref__item8, 0))
     1009            if (!_c_51.termEquals (_v_deref__item8, 0))
    10001010            {
    10011011              break _block2__branch8;
     
    10201030                  break _block7__branch1;
    10211031                }
    1022                 Expr _vt__dollar_tmp_m_163_m_25 = Expr.empty;
    1023                 _vt__dollar_tmp_m_163_m_25 = _ve_cont__label.subexpr (0, 1);
     1032                Expr _vt__dollar_tmp_m_164_m_25 = Expr.empty;
     1033                _vt__dollar_tmp_m_164_m_25 = _ve_cont__label.subexpr (0, 1);
    10241034                Result _ge_auxcall14 = new Result (Expr.empty);
    1025                 refal.plus.JavaMangle.Rfp2Java (new Expr ((Comparable<?>) Expr.concat (_c_51, _ve_cont__label)), _ge_auxcall14);
    1026                 _ve_cont = Expr.concat (_ge_auxcall14.getExpr (), _c_52);
     1035                refal.plus.JavaMangle.Rfp2Java (new Expr ((Comparable<?>) Expr.concat (_c_52, _ve_cont__label)), _ge_auxcall14);
     1036                _ve_cont = Expr.concat (_ge_auxcall14.getExpr (), _c_53);
    10271037                break _block7;
    10281038              }
     
    10361046                  break _block8__branch1;
    10371047                }
    1038                 Expr _vt__dollar_tmp_m_166_m_26 = Expr.empty;
    1039                 _vt__dollar_tmp_m_166_m_26 = _ve_break__label.subexpr (0, 1);
     1048                Expr _vt__dollar_tmp_m_167_m_26 = Expr.empty;
     1049                _vt__dollar_tmp_m_167_m_26 = _ve_break__label.subexpr (0, 1);
    10401050                Result _ge_auxcall15 = new Result (Expr.empty);
    1041                 refal.plus.JavaMangle.Rfp2Java (new Expr ((Comparable<?>) Expr.concat (_c_51, _ve_break__label)), _ge_auxcall15);
    1042                 _ve_break = Expr.concat (_ge_auxcall15.getExpr (), _c_52);
     1051                refal.plus.JavaMangle.Rfp2Java (new Expr ((Comparable<?>) Expr.concat (_c_52, _ve_break__label)), _ge_auxcall15);
     1052                _ve_break = Expr.concat (_ge_auxcall15.getExpr (), _c_53);
    10431053                break _block8;
    10441054              }
     
    10741084                _block10: {
    10751085                  _block10__branch1: {
    1076                     if (!_vs_d.termEquals (_c_53, 0))
     1086                    if (!_vs_d.termEquals (_c_54, 0))
    10771087                    {
    10781088                      break _block10__branch1;
     
    10801090                    break _block10;
    10811091                  }
    1082                   if (!_vs_d.termEquals (_c_54, 0))
     1092                  if (!_vs_d.termEquals (_c_55, 0))
    10831093                  {
    10841094                    break _block9__branch1;
     
    11071117                Result _ge_auxcall17 = new Result (Expr.empty);
    11081118                refal.plus.JavaMangle.Rfp2Java (_vt_var2, _ge_auxcall17);
    1109                 _ve_split__vars = Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_57).toRight (_ge_auxcall16.getExpr ()).toRight (_c_56).toRight (_ve_new__var).toRight (_c_55).yield (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_57).toRight (_ge_auxcall17.getExpr ()).toRight (_c_56).toRight (_ve_new__var).toRight (_c_58).yield ());
     1119                _ve_split__vars = Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_58).toRight (_ge_auxcall16.getExpr ()).toRight (_c_57).toRight (_ve_new__var).toRight (_c_56).yield (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_58).toRight (_ge_auxcall17.getExpr ()).toRight (_c_57).toRight (_ve_new__var).toRight (_c_59).yield ());
    11101120                break _block9;
    11111121              }
     
    11191129            Result _ge_auxcall20 = new Result (Expr.empty);
    11201130            ASAIL_To_Java (_ve_body, _ge_auxcall20);
    1121             _ve_java__item = Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_ve_break).toRight (_ve_cont).toRight (_c_59).toRight (_ge_auxcall18.getExpr ()).toRight (_c_46).yield (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_43).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_ve_split__vars).toRight (_ge_auxcall19.getExpr ()).toRight (_ge_auxcall20.getExpr ()).yield ()).toRight (_c_14).yield ());
     1131            _ve_java__item = Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_ve_break).toRight (_ve_cont).toRight (_c_60).toRight (_ge_auxcall18.getExpr ()).toRight (_c_47).yield (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight ((Comparable<?>) Expr.getConcatenator ().toRight (_ve_split__vars).toRight (_ge_auxcall19.getExpr ()).toRight (_ge_auxcall20.getExpr ()).yield ()).toRight (_c_14).yield ());
    11221132            break _block2;
    11231133          }
     
    11471157            }
    11481158            int _v_len__label = (_v_len43 - _v_len44);
    1149             if (!_c_51.termEquals (_v_deref__item9, 0))
     1159            if (!_c_52.termEquals (_v_deref__item9, 0))
    11501160            {
    11511161              break _block2__branch9;
     
    11561166            _ve_label = _v_deref__deref__item9.subexpr (0, _v_len__label);
    11571167            Result _ge_auxcall21 = new Result (Expr.empty);
    1158             refal.plus.JavaMangle.Rfp2Java (new Expr ((Comparable<?>) Expr.concat (_c_51, _ve_label)), _ge_auxcall21);
     1168            refal.plus.JavaMangle.Rfp2Java (new Expr ((Comparable<?>) Expr.concat (_c_52, _ve_label)), _ge_auxcall21);
    11591169            Result _ge_auxcall22 = new Result (Expr.empty);
    11601170            ASAIL_To_Java (_ve_body, _ge_auxcall22);
    1161             _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_ge_auxcall21.getExpr ()).toRight (_c_60).toRight ((Comparable<?>) _ge_auxcall22.getExpr ()).toRight (_c_14).yield ());
     1171            _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_ge_auxcall21.getExpr ()).toRight (_c_61).toRight ((Comparable<?>) _ge_auxcall22.getExpr ()).toRight (_c_14).yield ());
    11621172            break _block2;
    11631173          }
     
    11751185            }
    11761186            int _v_len__body6 = (_v_len45 - _v_len46);
    1177             if (!_c_61.termEquals (_v_deref__item10, 0))
     1187            if (!_c_62.termEquals (_v_deref__item10, 0))
    11781188            {
    11791189              break _block2__branch10;
     
    11871197            Result _ge_auxcall25 = new Result (Expr.empty);
    11881198            ASAIL_To_Java (_ve_body, _ge_auxcall25);
    1189             _ve_java__item = Expr.concat (_c_66, (Comparable<?>) Expr.getConcatenator ().toRight (_c_43).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) Expr.concat (_c_65, (Comparable<?>) Expr.getConcatenator ().toRight (_c_64).toRight (_ge_auxcall23.getExpr ()).toRight (_c_63).toRight (_ge_auxcall24.getExpr ()).toRight (_c_62).yield ()), _ge_auxcall25.getExpr ())).toRight (_c_14).yield ());
     1199            _ve_java__item = Expr.concat (_c_67, (Comparable<?>) Expr.getConcatenator ().toRight (_c_44).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) Expr.concat (_c_66, (Comparable<?>) Expr.getConcatenator ().toRight (_c_65).toRight (_ge_auxcall23.getExpr ()).toRight (_c_64).toRight (_ge_auxcall24.getExpr ()).toRight (_c_63).yield ()), _ge_auxcall25.getExpr ())).toRight (_c_14).yield ());
    11901200            break _block2;
    11911201          }
     
    12031213            }
    12041214            int _v_len__body7 = (_v_len47 - _v_len48);
    1205             if (!_c_67.termEquals (_v_deref__item11, 0))
     1215            if (!_c_68.termEquals (_v_deref__item11, 0))
    12061216            {
    12071217              break _block2__branch11;
     
    12111221            Result _ge_auxcall26 = new Result (Expr.empty);
    12121222            ASAIL_To_Java (_ve_body, _ge_auxcall26);
    1213             _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_69).toRight ((Comparable<?>) Expr.concat (_c_68, (Comparable<?>) _ge_auxcall26.getExpr ())).toRight (_c_14).yield ());
     1223            _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_70).toRight ((Comparable<?>) Expr.concat (_c_69, (Comparable<?>) _ge_auxcall26.getExpr ())).toRight (_c_14).yield ());
    12141224            break _block2;
    12151225          }
    12161226          _block2__branch12: {
    1217             if (!_vt_item.termEquals (_c_70, 0))
     1227            if (!_vt_item.termEquals (_c_71, 0))
    12181228            {
    12191229              break _block2__branch12;
    12201230            }
    1221             _ve_java__item = _c_71;
     1231            _ve_java__item = _c_72;
    12221232            break _block2;
    12231233          }
    12241234          _block2__branch13: {
    1225             if (!_vt_item.termEquals (_c_72, 0))
     1235            if (!_vt_item.termEquals (_c_73, 0))
    12261236            {
    12271237              break _block2__branch13;
     
    12311241            Result _ge_auxcall28 = new Result (Expr.empty);
    12321242            refal.plus.Box.Get (Func_Name, _ge_auxcall28);
    1233             _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_64).toRight (_ge_auxcall27.getExpr ()).toRight (_c_63).toRight (_ge_auxcall28.getExpr ()).toRight (_c_73).yield ());
     1243            _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_65).toRight (_ge_auxcall27.getExpr ()).toRight (_c_64).toRight (_ge_auxcall28.getExpr ()).toRight (_c_74).yield ());
    12341244            break _block2;
    12351245          }
     
    12561266            }
    12571267            int _v_len__min = (_v_len49 - _v_len50);
    1258             if (!_c_74.termEquals (_v_deref__item12, 0))
     1268            if (!_c_75.termEquals (_v_deref__item12, 0))
    12591269            {
    12601270              break _block2__branch14;
     
    12721282            Result _v_Free__Index1 = new Result (Expr.empty);
    12731283            Free_Index (_v_Free__Index1);
    1274             Expr _ve_new__var = Expr.concat (_c_75, _v_Free__Index1.getExpr ());
     1284            Expr _ve_new__var = Expr.concat (_c_76, _v_Free__Index1.getExpr ());
    12751285            refal.plus.Table.Bind (Iter_Vars, _vt_name, Expr.getConcatenator ().toRight (_ve_new__var).toRight (_vt_var1).toRight (_vt_var2).yield ());
    12761286            Result _va_5 = new Result ();
    12771287            Expr_Int_To_Java (_ve_min, _va_5);
    12781288            _ve_min = _va_5.getExpr ();
    1279             _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_78).toRight (_ve_new__var).toRight (_c_56).toRight (_ve_n.getExpr ()).toRight (_c_77).toRight (_ve_min).toRight (_c_76).yield ());
     1289            _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_79).toRight (_ve_new__var).toRight (_c_57).toRight (_ve_n.getExpr ()).toRight (_c_78).toRight (_ve_min).toRight (_c_77).yield ());
    12801290            break _block2;
    12811291          }
     
    13021312            }
    13031313            int _v_len__min2 = (_v_len51 - _v_len52);
    1304             if (!_c_79.termEquals (_v_deref__item13, 0))
     1314            if (!_c_80.termEquals (_v_deref__item13, 0))
    13051315            {
    13061316              break _block2__branch15;
     
    13181328            Result _v_Free__Index2 = new Result (Expr.empty);
    13191329            Free_Index (_v_Free__Index2);
    1320             Expr _ve_new__var = Expr.concat (_c_75, _v_Free__Index2.getExpr ());
     1330            Expr _ve_new__var = Expr.concat (_c_76, _v_Free__Index2.getExpr ());
    13211331            refal.plus.Table.Bind (Iter_Vars, _vt_name, Expr.getConcatenator ().toRight (_ve_new__var).toRight (_vt_var1).toRight (_vt_var2).yield ());
    13221332            Result _va_6 = new Result ();
    13231333            Expr_Int_To_Java (_ve_min, _va_6);
    13241334            _ve_min = _va_6.getExpr ();
    1325             _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_78).toRight (_ve_new__var).toRight (_c_56).toRight (_ve_n.getExpr ()).toRight (_c_80).toRight (_ve_min).toRight (_c_76).yield ());
     1335            _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_79).toRight (_ve_new__var).toRight (_c_57).toRight (_ve_n.getExpr ()).toRight (_c_81).toRight (_ve_min).toRight (_c_77).yield ());
    13261336            break _block2;
    13271337          }
     
    13481358              break _block2__branch16;
    13491359            }
    1350             if (!_c_81.termEquals (_v_deref__item14, 0))
     1360            if (!_c_82.termEquals (_v_deref__item14, 0))
    13511361            {
    13521362              break _block2__branch16;
     
    13641374            Result _ge_auxcall30 = new Result (Expr.empty);
    13651375            Expr_Int_To_Java (_ve_expr, _ge_auxcall30);
    1366             _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_82).toRight (_ge_auxcall29.getExpr ()).toRight (_c_56).toRight (_ge_auxcall30.getExpr ()).toRight (_c_6).yield ());
     1376            _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_83).toRight (_ge_auxcall29.getExpr ()).toRight (_c_57).toRight (_ge_auxcall30.getExpr ()).toRight (_c_6).yield ());
    13671377            break _block2;
    13681378          }
     
    13891399              break _block2__branch17;
    13901400            }
    1391             if (!_c_83.termEquals (_v_deref__item15, 0))
     1401            if (!_c_84.termEquals (_v_deref__item15, 0))
    13921402            {
    13931403              break _block2__branch17;
     
    14051415            Result _ge_auxcall32 = new Result (Expr.empty);
    14061416            Expr_Int_To_Java (_ve_expr, _ge_auxcall32);
    1407             _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_ge_auxcall31.getExpr ()).toRight (_c_56).toRight (_ge_auxcall32.getExpr ()).toRight (_c_6).yield ());
     1417            _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_ge_auxcall31.getExpr ()).toRight (_c_57).toRight (_ge_auxcall32.getExpr ()).toRight (_c_6).yield ());
    14081418            break _block2;
    14091419          }
     
    14211431            }
    14221432            int _v_len__expr3 = (_v_len57 - _v_len58);
    1423             if (!_c_81.termEquals (_v_deref__item16, 0))
     1433            if (!_c_82.termEquals (_v_deref__item16, 0))
    14241434            {
    14251435              break _block2__branch18;
     
    14411451            _block11: {
    14421452              _block11__branch1: {
    1443                 if (!_vs_type.termEquals (_c_37, 0))
     1453                if (!_vs_type.termEquals (_c_38, 0))
    14441454                {
    14451455                  break _block11__branch1;
    14461456                }
    14471457                refal.plus.Table.Bind (Result, _vt_var, _ve_j__var.getExpr ());
    1448                 _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_85).toRight (_ve_j__var.getExpr ()).toRight (_c_84).toRight (_ve_j__expr.getExpr ()).toRight (_c_76).yield ());
     1458                _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_86).toRight (_ve_j__var.getExpr ()).toRight (_c_85).toRight (_ve_j__expr.getExpr ()).toRight (_c_77).yield ());
    14491459                break _block11;
    14501460              }
    14511461              refal.plus.Table.Unbind (Result, _vt_var);
    1452               _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_57).toRight (_ve_j__var.getExpr ()).toRight (_c_56).toRight (_ve_j__expr.getExpr ()).toRight (_c_6).yield ());
     1462              _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_58).toRight (_ve_j__var.getExpr ()).toRight (_c_57).toRight (_ve_j__expr.getExpr ()).toRight (_c_6).yield ());
    14531463            }
    14541464            break _block2;
     
    14671477            }
    14681478            int _v_len__expr4 = (_v_len59 - _v_len60);
    1469             if (!_c_83.termEquals (_v_deref__item17, 0))
     1479            if (!_c_84.termEquals (_v_deref__item17, 0))
    14701480            {
    14711481              break _block2__branch19;
     
    14881498                _exit2: _continue2: for ( ; ; _va_7.next ())
    14891499                {
    1490                   Expr _ve__dollar_tmp_m_225_m_24 = _va_7.getLeft();
     1500                  Expr _ve__dollar_tmp_m_226_m_24 = _va_7.getLeft();
    14911501                  Expr _v_lsplit__Get2 = _va_7.getRight();
    14921502                  if (!_va_7.isValid ())
     
    15001510                    break _block12__branch1;
    15011511                  }
    1502                   int _v_len___dollar_tmp_m_225_m_32 = (_v_len61 - _v_len62);
     1512                  int _v_len___dollar_tmp_m_226_m_32 = (_v_len61 - _v_len62);
    15031513                  if (!_vt_var.termEquals (_v_lsplit__Get2, 0))
    15041514                  {
    15051515                    continue _continue2;
    15061516                  }
    1507                   Expr _ve__dollar_tmp_m_225_m_32 = Expr.empty;
    1508                   _ve__dollar_tmp_m_225_m_32 = _v_lsplit__Get2.subexpr ((0 + 1), _v_len___dollar_tmp_m_225_m_32);
     1517                  Expr _ve__dollar_tmp_m_226_m_32 = Expr.empty;
     1518                  _ve__dollar_tmp_m_226_m_32 = _v_lsplit__Get2.subexpr ((0 + 1), _v_len___dollar_tmp_m_226_m_32);
    15091519                  Result _ge_auxcall33 = new Result (Expr.empty);
    15101520                  refal.plus.JavaMangle.Rfp2Java (_vt_var, _ge_auxcall33);
    1511                   _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_ge_auxcall33.getExpr ()).toRight (_c_86).toRight (_ve_j__expr.getExpr ()).toRight (_c_76).yield ());
     1521                  _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_ge_auxcall33.getExpr ()).toRight (_c_87).toRight (_ve_j__expr.getExpr ()).toRight (_c_77).yield ());
    15121522                  break _exit2;
    15131523                }
     
    15201530                  break _block12__branch2;
    15211531                }
    1522                 _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_ge_auxcall34.getExpr ()).toRight (_c_86).toRight (_ve_j__expr.getExpr ()).toRight (_c_76).yield ());
     1532                _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_ge_auxcall34.getExpr ()).toRight (_c_87).toRight (_ve_j__expr.getExpr ()).toRight (_c_77).yield ());
    15231533                break _block12;
    15241534              }
    15251535              Result _ge_auxcall35 = new Result (Expr.empty);
    15261536              refal.plus.JavaMangle.Rfp2Java (_vt_var, _ge_auxcall35);
    1527               _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_ge_auxcall35.getExpr ()).toRight (_c_56).toRight (_ve_j__expr.getExpr ()).toRight (_c_6).yield ());
     1537              _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_ge_auxcall35.getExpr ()).toRight (_c_57).toRight (_ve_j__expr.getExpr ()).toRight (_c_6).yield ());
    15281538            }
    15291539            break _block2;
     
    15391549              break _block2__branch20;
    15401550            }
    1541             if (!_c_87.termEquals (_v_deref__item18, 0))
     1551            if (!_c_88.termEquals (_v_deref__item18, 0))
    15421552            {
    15431553              break _block2__branch20;
     
    15471557            Result _ge_auxcall36 = new Result (Expr.empty);
    15481558            Var_To_Java (_vt_var, _ge_auxcall36);
    1549             _ve_java__item = new Expr ((Comparable<?>) Expr.concat (_ge_auxcall36.getExpr (), _c_88));
     1559            _ve_java__item = new Expr ((Comparable<?>) Expr.concat (_ge_auxcall36.getExpr (), _c_89));
    15501560            break _block2;
    15511561          }
     
    15601570              break _block2__branch21;
    15611571            }
    1562             if (!_c_89.termEquals (_v_deref__item19, 0))
     1572            if (!_c_90.termEquals (_v_deref__item19, 0))
    15631573            {
    15641574              break _block2__branch21;
     
    15671577            _vt_label = _v_deref__item19.subexpr ((0 + 1), 1);
    15681578            Result _ge_auxcall37 = new Result (Expr.empty);
    1569             refal.plus.JavaMangle.Rfp2Java (new Expr ((Comparable<?>) Expr.concat (_c_51, _vt_label)), _ge_auxcall37);
    1570             _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_90).toRight (_ge_auxcall37.getExpr ()).toRight (_c_6).yield ());
     1579            refal.plus.JavaMangle.Rfp2Java (new Expr ((Comparable<?>) Expr.concat (_c_52, _vt_label)), _ge_auxcall37);
     1580            _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_91).toRight (_ge_auxcall37.getExpr ()).toRight (_c_6).yield ());
    15711581            break _block2;
    15721582          }
     
    15811591              break _block2__branch22;
    15821592            }
    1583             if (!_c_91.termEquals (_v_deref__item20, 0))
     1593            if (!_c_92.termEquals (_v_deref__item20, 0))
    15841594            {
    15851595              break _block2__branch22;
     
    15881598            _vt_label = _v_deref__item20.subexpr ((0 + 1), 1);
    15891599            Result _ge_auxcall38 = new Result (Expr.empty);
    1590             refal.plus.JavaMangle.Rfp2Java (new Expr ((Comparable<?>) Expr.concat (_c_51, _vt_label)), _ge_auxcall38);
    1591             _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_92).toRight (_ge_auxcall38.getExpr ()).toRight (_c_6).yield ());
     1600            refal.plus.JavaMangle.Rfp2Java (new Expr ((Comparable<?>) Expr.concat (_c_52, _vt_label)), _ge_auxcall38);
     1601            _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_93).toRight (_ge_auxcall38.getExpr ()).toRight (_c_6).yield ());
    15921602            break _block2;
    15931603          }
     
    16051615            }
    16061616            int _v_len__expr5 = (_v_len63 - _v_len64);
    1607             if (!_c_93.termEquals (_v_deref__item21, 0))
     1617            if (!_c_94.termEquals (_v_deref__item21, 0))
    16081618            {
    16091619              break _block2__branch23;
     
    16131623            Result _ge_auxcall39 = new Result (Expr.empty);
    16141624            Expr_Ref_To_Java (_ve_expr, _ge_auxcall39);
    1615             _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_94).toRight (_ge_auxcall39.getExpr ()).toRight (_c_76).yield ());
     1625            _ve_java__item = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_95).toRight (_ge_auxcall39.getExpr ()).toRight (_c_77).yield ());
    16161626            break _block2;
    16171627          }
     
    16411651            }
    16421652            int _v_len__comment = (_v_len67 - _v_len68);
    1643             if (!_c_95.termEquals (_v_deref__item22, 0))
     1653            if (!_c_96.termEquals (_v_deref__item22, 0))
    16441654            {
    16451655              break _block2__branch24;
     
    16711681                  break _block13__branch1;
    16721682                }
    1673                 int _v_len___dollar_tmp_m_240_m_27 = (_v_len69 - _v_len70);
    1674                 if (!_c_96.termEquals (_v_deref__name, 0))
     1683                int _v_len___dollar_tmp_m_241_m_27 = (_v_len69 - _v_len70);
     1684                if (!_c_97.termEquals (_v_deref__name, 0))
    16751685                {
    16761686                  break _block13__branch1;
    16771687                }
    1678                 Expr _ve__dollar_tmp_m_240_m_27 = Expr.empty;
    1679                 _ve__dollar_tmp_m_240_m_27 = _v_deref__name.subexpr ((0 + 1), _v_len___dollar_tmp_m_240_m_27);
     1688                Expr _ve__dollar_tmp_m_241_m_27 = Expr.empty;
     1689                _ve__dollar_tmp_m_241_m_27 = _v_deref__name.subexpr ((0 + 1), _v_len___dollar_tmp_m_241_m_27);
    16801690                Result _va_8 = new Result ();
    16811691                refal.plus.JavaMangle.Rfp2Java (_vt_name, _va_8);
     
    16991709                Result _gs_auxcall41 = new Result (Expr.empty);
    17001710                ReplaceQuotes (_gs_auxcall40.getExpr (), _gs_auxcall41);
    1701                 _ve_refalDecl = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_36).toRight (_gs_auxcall41.getExpr ()).toRight (_c_35).yield ());
     1711                _ve_refalDecl = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_37).toRight (_gs_auxcall41.getExpr ()).toRight (_c_36).yield ());
    17021712                break _block14;
    17031713              }
     
    17061716            Result _ge_auxcall42 = new Result (Expr.empty);
    17071717            Access_Mode (_vs_linkage, _ge_auxcall42);
    1708             _ve_java__item = Expr.concat (_ve_refalDecl, (Comparable<?>) Expr.getConcatenator ().toRight (_c_42).toRight (_ge_auxcall42.getExpr ()).toRight (_c_97).toRight (_ve_n).toRight (_c_56).toRight (_ve_j__expr.getExpr ()).toRight (_c_6).yield ());
     1718            _ve_java__item = Expr.concat (_ve_refalDecl, (Comparable<?>) Expr.getConcatenator ().toRight (_c_43).toRight (_ge_auxcall42.getExpr ()).toRight (_c_98).toRight (_ve_n).toRight (_c_57).toRight (_ve_j__expr.getExpr ()).toRight (_c_6).yield ());
    17091719            break _block2;
    17101720          }
     
    17191729              break _block2__branch25;
    17201730            }
    1721             if (!_c_98.termEquals (_v_deref__item23, 0))
     1731            if (!_c_99.termEquals (_v_deref__item23, 0))
    17221732            {
    17231733              break _block2__branch25;
     
    17681778              break _block1__branch1;
    17691779            }
    1770             int _v_len___dollar_tmp_m_250_m_19 = (_v_len73 - _v_len74);
    1771             if (!_v_deref__name2.isSymbolAt ((0 + _v_len___dollar_tmp_m_250_m_19)))
     1780            int _v_len___dollar_tmp_m_251_m_19 = (_v_len73 - _v_len74);
     1781            if (!_v_deref__name2.isSymbolAt ((0 + _v_len___dollar_tmp_m_251_m_19)))
    17721782            {
    17731783              break _block1__branch1;
    17741784            }
    1775             Expr _ve__dollar_tmp_m_250_m_19 = Expr.empty;
    1776             _ve__dollar_tmp_m_250_m_19 = _v_deref__name2.subexpr (0, _v_len___dollar_tmp_m_250_m_19);
     1785            Expr _ve__dollar_tmp_m_251_m_19 = Expr.empty;
     1786            _ve__dollar_tmp_m_251_m_19 = _v_deref__name2.subexpr (0, _v_len___dollar_tmp_m_251_m_19);
    17771787            Expr _vs_n = Expr.empty;
    1778             _vs_n = _v_deref__name2.subexpr ((0 + _v_len___dollar_tmp_m_250_m_19), 1);
     1788            _vs_n = _v_deref__name2.subexpr ((0 + _v_len___dollar_tmp_m_251_m_19), 1);
    17791789            Expr _ve_refalDecl = Expr.empty;
    17801790            _block15: {
     
    17871797                Result _gs_auxcall44 = new Result (Expr.empty);
    17881798                ReplaceQuotes (_gs_auxcall43.getExpr (), _gs_auxcall44);
    1789                 _ve_refalDecl = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_36).toRight (_gs_auxcall44.getExpr ()).toRight (_c_35).yield ());
     1799                _ve_refalDecl = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_c_37).toRight (_gs_auxcall44.getExpr ()).toRight (_c_36).yield ());
    17901800                break _block15;
    17911801              }
     
    17961806            Result _ge_auxcall46 = new Result (Expr.empty);
    17971807            Name_To_Java (_vt_name, _ge_auxcall46);
    1798             _ve_java__item = Expr.concat (_ve_refalDecl, (Comparable<?>) Expr.getConcatenator ().toRight (_c_42).toRight (_ge_auxcall45.getExpr ()).toRight (_c_97).toRight (_ge_auxcall46.getExpr ()).toRight (_c_101).toRight (_ve_class__name).toRight (_c_100).toRight (_vs_n).toRight (_c_99).yield ());
     1808            _ve_java__item = Expr.concat (_ve_refalDecl, (Comparable<?>) Expr.getConcatenator ().toRight (_c_43).toRight (_ge_auxcall45.getExpr ()).toRight (_c_98).toRight (_ge_auxcall46.getExpr ()).toRight (_c_102).toRight (_ve_class__name).toRight (_c_101).toRight (_vs_n).toRight (_c_100).yield ());
    17991809            break _block2;
    18001810          }
     
    18091819              break _block2__branch26;
    18101820            }
    1811             if (!_c_102.termEquals (_v_deref__item24, 0))
     1821            if (!_c_103.termEquals (_v_deref__item24, 0))
    18121822            {
    18131823              break _block2__branch26;
     
    18281838              break _block2__branch27;
    18291839            }
    1830             if (!_c_103.termEquals (_v_deref__item25, 0))
     1840            if (!_c_104.termEquals (_v_deref__item25, 0))
    18311841            {
    18321842              break _block2__branch27;
     
    18871897          _ve_ress = _va_10.getExpr ();
    18881898          Result _va_11 = new Result ();
    1889           Expr_Args_To_Java (Expr.getConcatenator ().toRight (_ve_args).toRight (_c_37).toRight (_ve_ress).yield (), _va_11);
     1899          Expr_Args_To_Java (Expr.getConcatenator ().toRight (_ve_args).toRight (_c_38).toRight (_ve_ress).yield (), _va_11);
    18901900          _ve_args = _va_11.getExpr ();
    18911901          Result _ge_auxcall47 = new Result (Expr.empty);
    18921902          Name_To_Java (_vt_name, _ge_auxcall47);
    1893           Expr _ve_c = Expr.getConcatenator ().toRight (_ge_auxcall47.getExpr ()).toRight (_c_40).toRight (_ve_args).toRight (_c_46).yield ();
     1903          Expr _ve_c = Expr.getConcatenator ().toRight (_ge_auxcall47.getExpr ()).toRight (_c_41).toRight (_ve_args).toRight (_c_47).yield ();
    18941904          _block16: {
    18951905            _block16__branch1: {
    1896               if (!_vs_call.termEquals (_c_104, 0))
     1906              if (!_vs_call.termEquals (_c_105, 0))
    18971907              {
    18981908                break _block16__branch1;
    18991909              }
    1900               _ve_java__item = Expr.concat (_ve_decls.getExpr (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_106).toRight (_ve_c).toRight (_c_105).yield ());
     1910              _ve_java__item = Expr.concat (_ve_decls.getExpr (), (Comparable<?>) Expr.getConcatenator ().toRight (_c_107).toRight (_ve_c).toRight (_c_106).yield ());
    19011911              break _block16;
    19021912            }
     
    19241934              break _block17__branch1;
    19251935            }
    1926             int _v_len___dollar_tmp_m_272_m_32 = (_v_len79 - _v_len80);
    1927             if (!_c_92.equals (_v_deref__java__item, 0))
     1936            int _v_len___dollar_tmp_m_273_m_32 = (_v_len79 - _v_len80);
     1937            if (!_c_93.equals (_v_deref__java__item, 0))
    19281938            {
    19291939              break _block17__branch1;
    19301940            }
    1931             Expr _ve__dollar_tmp_m_272_m_32 = Expr.empty;
    1932             _ve__dollar_tmp_m_272_m_32 = _v_deref__java__item.subexpr ((0 + 1 + 1 + 1 + 1 + 1 + 1), _v_len___dollar_tmp_m_272_m_32);
     1941            Expr _ve__dollar_tmp_m_273_m_32 = Expr.empty;
     1942            _ve__dollar_tmp_m_273_m_32 = _v_deref__java__item.subexpr ((0 + 1 + 1 + 1 + 1 + 1 + 1), _v_len___dollar_tmp_m_273_m_32);
    19331943            _v_res1.assign (_ve_java__item);
    19341944            break _block17;
     
    19962006            _exit1: _continue1: for ( ; ; _va_12.next ())
    19972007            {
    1998               Expr _ve__dollar_tmp_m_281_m_20 = _va_12.getLeft();
     2008              Expr _ve__dollar_tmp_m_282_m_20 = _va_12.getLeft();
    19992009              Expr _v_lsplit__Get1 = _va_12.getRight();
    20002010              if (!_va_12.isValid ())
     
    20082018                break _block2__branch2;
    20092019              }
    2010               int _v_len___dollar_tmp_m_281_m_28 = (_v_len5 - _v_len6);
     2020              int _v_len___dollar_tmp_m_282_m_28 = (_v_len5 - _v_len6);
    20112021              if (!_vt_var.termEquals (_v_lsplit__Get1, 0))
    20122022              {
    20132023                continue _continue1;
    20142024              }
    2015               Expr _ve__dollar_tmp_m_281_m_28 = Expr.empty;
    2016               _ve__dollar_tmp_m_281_m_28 = _v_lsplit__Get1.subexpr ((0 + 1), _v_len___dollar_tmp_m_281_m_28);
     2025              Expr _ve__dollar_tmp_m_282_m_28 = Expr.empty;
     2026              _ve__dollar_tmp_m_282_m_28 = _v_lsplit__Get1.subexpr ((0 + 1), _v_len___dollar_tmp_m_282_m_28);
    20172027              Result _ge_auxcall2 = new Result (Expr.empty);
    20182028              refal.plus.JavaMangle.Rfp2Java (_vt_var, _ge_auxcall2);
     
    20242034          Result _v_Free__Index1 = new Result (Expr.empty);
    20252035          Free_Index (_v_Free__Index1);
    2026           Expr _ve_new__var = Expr.concat (_c_75, _v_Free__Index1.getExpr ());
     2036          Expr _ve_new__var = Expr.concat (_c_76, _v_Free__Index1.getExpr ());
    20272037          Result _ge_auxcall3 = new Result (Expr.empty);
    20282038          refal.plus.JavaMangle.Rfp2Java (_vt_var, _ge_auxcall3);
    2029           refal.plus.Box.Put (Res_Assigns, new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_ge_auxcall3.getExpr ()).toRight (_c_56).toRight (_ve_new__var).toRight (_c_107).yield ()));
     2039          refal.plus.Box.Put (Res_Assigns, new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_ge_auxcall3.getExpr ()).toRight (_c_57).toRight (_ve_new__var).toRight (_c_108).yield ()));
    20302040          Result _v_Declare__Results1 = new Result (Expr.empty);
    20312041          Declare_Results (_ve_r, Expr.concat (_ve_ress, (Comparable<?>) _ve_new__var), _v_Declare__Results1, _v_res2);
    2032           _v_res1.assign (Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_85).toRight (_ve_new__var).toRight (_c_108).yield (), _v_Declare__Results1.getExpr ()));
     2042          _v_res1.assign (Expr.concat ((Comparable<?>) Expr.getConcatenator ().toRight (_c_86).toRight (_ve_new__var).toRight (_c_109).yield (), _v_Declare__Results1.getExpr ()));
    20332043        }
    20342044        break _block1;
     
    20682078          break _block1__branch1;
    20692079        }
    2070         _v_res1.assign (_c_109);
     2080        _v_res1.assign (_c_110);
    20712081        break _block1;
    20722082      }
     
    20882098        }
    20892099        int _v_len__expr = (_v_len1 - _v_len2);
    2090         if (!_c_110.termEquals (_v_deref__arg1, 0))
     2100        if (!_c_111.termEquals (_v_deref__arg1, 0))
    20912101        {
    20922102          break _block1__branch2;
     
    20962106        Result _ge_auxcall1 = new Result (Expr.empty);
    20972107        Expr_Ref_To_Java (_ve_expr, _ge_auxcall1);
    2098         _v_res1.assign (Expr.getConcatenator ().toRight (_c_111).toRight (_ge_auxcall1.getExpr ()).toRight (_c_46).yield ());
     2108        _v_res1.assign (Expr.getConcatenator ().toRight (_c_112).toRight (_ge_auxcall1.getExpr ()).toRight (_c_47).yield ());
    20992109        break _block1;
    21002110      }
     
    21242134        Result _ve_t2 = new Result (Expr.empty);
    21252135        Term_Ref_To_Java (_vt_2, _ve_t2);
    2126         _v_res1.assign (Expr.getConcatenator ().toRight (_c_113).toRight (_ve_t1.getExpr ()).toRight (_c_112).toRight (_ve_t2.getExpr ()).toRight (_c_46).yield ());
     2136        _v_res1.assign (Expr.getConcatenator ().toRight (_c_114).toRight (_ve_t1.getExpr ()).toRight (_c_113).toRight (_ve_t2.getExpr ()).toRight (_c_47).yield ());
    21272137        break _block1;
    21282138      }
    21292139      Result _ge_auxcall2 = new Result (Expr.empty);
    2130       if (!refal.plus.List.Map (_c_114, Expr.empty, _ge_arg1, _ge_auxcall2))
     2140      if (!refal.plus.List.Map (_c_115, Expr.empty, _ge_arg1, _ge_auxcall2))
    21312141      {
    21322142        throw new RefalException ("org.refal.plus.compiler.rfp_asail_java", "Expr_Ref_To_Java", "Unexpected fail");
    21332143      }
    21342144      Result _ge_auxcall3 = new Result (Expr.empty);
    2135       if (!refal.plus.List.Map (_c_115, Expr.empty, _ge_auxcall2.getExpr (), _ge_auxcall3))
     2145      if (!refal.plus.List.Map (_c_116, Expr.empty, _ge_auxcall2.getExpr (), _ge_auxcall3))
    21362146      {
    21372147        throw new RefalException ("org.refal.plus.compiler.rfp_asail_java", "Expr_Ref_To_Java", "Unexpected fail");
    21382148      }
    2139       _v_res1.assign (Expr.getConcatenator ().toRight (_c_117).toRight (_ge_auxcall3.getExpr ()).toRight (_c_116).yield ());
     2149      _v_res1.assign (Expr.getConcatenator ().toRight (_c_118).toRight (_ge_auxcall3.getExpr ()).toRight (_c_117).yield ());
    21402150    }
    21412151  }
     
    21582168        }
    21592169        int _v_len__expr = (_v_len1 - _v_len2);
    2160         if (!_c_110.termEquals (_v_deref__erm, 0))
     2170        if (!_c_111.termEquals (_v_deref__erm, 0))
    21612171        {
    21622172          break _block1__branch1;
     
    21662176        Result _ge_auxcall1 = new Result (Expr.empty);
    21672177        Expr_Ref_To_Java (_ve_expr, _ge_auxcall1);
    2168         _v_res1.assign (Expr.concat (_c_118, _ge_auxcall1.getExpr ()));
     2178        _v_res1.assign (Expr.concat (_c_119, _ge_auxcall1.getExpr ()));
    21692179        break _block1;
    21702180      }
     
    21942204        }
    21952205        int _v_len__pos = (_v_len5 - _v_len6);
    2196         if (!_c_119.termEquals (_v_deref__erm2, 0))
     2206        if (!_c_120.termEquals (_v_deref__erm2, 0))
    21972207        {
    21982208          break _block1__branch2;
     
    22062216        Result _ge_auxcall3 = new Result (Expr.empty);
    22072217        Expr_Int_To_Java (_ve_pos, _ge_auxcall3);
    2208         _v_res1.assign (Expr.getConcatenator ().toRight (_c_121).toRight (_ge_auxcall2.getExpr ()).toRight (_c_120).toRight (_ge_auxcall3.getExpr ()).toRight (_c_46).yield ());
     2218        _v_res1.assign (Expr.getConcatenator ().toRight (_c_122).toRight (_ge_auxcall2.getExpr ()).toRight (_c_121).toRight (_ge_auxcall3.getExpr ()).toRight (_c_47).yield ());
    22092219        break _block1;
    22102220      }
     
    22462256        }
    22472257        int _v_len__len = (_v_len11 - _v_len12);
    2248         if (!_c_122.termEquals (_v_deref__erm3, 0))
     2258        if (!_c_123.termEquals (_v_deref__erm3, 0))
    22492259        {
    22502260          break _block1__branch3;
     
    22622272        Result _ge_auxcall6 = new Result (Expr.empty);
    22632273        Expr_Int_To_Java (_ve_len, _ge_auxcall6);
    2264         _v_res1.assign (Expr.getConcatenator ().toRight (_ge_auxcall4.getExpr ()).toRight (_c_123).toRight (_ge_auxcall5.getExpr ()).toRight (_c_112).toRight (_ge_auxcall6.getExpr ()).toRight (_c_46).yield ());
     2274        _v_res1.assign (Expr.getConcatenator ().toRight (_ge_auxcall4.getExpr ()).toRight (_c_124).toRight (_ge_auxcall5.getExpr ()).toRight (_c_113).toRight (_ge_auxcall6.getExpr ()).toRight (_c_47).yield ());
    22652275        break _block1;
    22662276      }
     
    22752285          break _block1__branch4;
    22762286        }
    2277         if (!_c_124.termEquals (_v_deref__erm4, 0))
     2287        if (!_c_125.termEquals (_v_deref__erm4, 0))
    22782288        {
    22792289          break _block1__branch4;
     
    22872297      }
    22882298      _block1__branch5: {
    2289         if (!_vt_erm.termEquals (_c_125, 0))
     2299        if (!_vt_erm.termEquals (_c_126, 0))
    22902300        {
    22912301          break _block1__branch5;
    22922302        }
    2293         _v_res1.assign (_c_126);
     2303        _v_res1.assign (_c_127);
    22942304        break _block1;
    22952305      }
     
    23462356            break _block2;
    23472357          }
    2348           throw new RefalException (new Expr ((Comparable<?>) Expr.concat (_c_127, _vs_ObjectSymbol)));
     2358          throw new RefalException (new Expr ((Comparable<?>) Expr.concat (_c_128, _vs_ObjectSymbol)));
    23492359        }
    23502360        break _block1;
     
    23672377        }
    23682378        int _v_len__expr = (_v_len1 - _v_len2);
    2369         if (!_c_128.termEquals (_v_deref__arg1, 0))
     2379        if (!_c_129.termEquals (_v_deref__arg1, 0))
    23702380        {
    23712381          break _block1__branch2;
     
    23752385        Result _ge_auxcall1 = new Result (Expr.empty);
    23762386        Expr_Ref_To_Java (_ve_expr, _ge_auxcall1);
    2377         _v_res1.assign (Expr.concat (_ge_auxcall1.getExpr (), _c_129));
     2387        _v_res1.assign (Expr.concat (_ge_auxcall1.getExpr (), _c_130));
    23782388        break _block1;
    23792389      }
     
    23952405        }
    23962406        int _v_len__args = (_v_len3 - _v_len4);
    2397         if (!_c_130.termEquals (_v_deref__arg12, 0))
     2407        if (!_c_131.termEquals (_v_deref__arg12, 0))
    23982408        {
    23992409          break _block1__branch3;
     
    24032413        Result _ge_auxcall2 = new Result (Expr.empty);
    24042414        Int_Args_To_Java (_ve_args, _ge_auxcall2);
    2405         _v_res1.assign (Expr.getConcatenator ().toRight (_c_131).toRight (_ge_auxcall2.getExpr ()).toRight (_c_46).yield ());
     2415        _v_res1.assign (Expr.getConcatenator ().toRight (_c_132).toRight (_ge_auxcall2.getExpr ()).toRight (_c_47).yield ());
    24062416        break _block1;
    24072417      }
     
    24232433        }
    24242434        int _v_len__args2 = (_v_len5 - _v_len6);
    2425         if (!_c_132.termEquals (_v_deref__arg13, 0))
     2435        if (!_c_133.termEquals (_v_deref__arg13, 0))
    24262436        {
    24272437          break _block1__branch4;
     
    24312441        Result _ge_auxcall3 = new Result (Expr.empty);
    24322442        Int_Args_To_Java (_ve_args, _ge_auxcall3);
    2433         _v_res1.assign (Expr.getConcatenator ().toRight (_c_133).toRight (_ge_auxcall3.getExpr ()).toRight (_c_46).yield ());
     2443        _v_res1.assign (Expr.getConcatenator ().toRight (_c_134).toRight (_ge_auxcall3.getExpr ()).toRight (_c_47).yield ());
    24342444        break _block1;
    24352445      }
     
    24512461        }
    24522462        int _v_len__args3 = (_v_len7 - _v_len8);
    2453         if (!_c_134.termEquals (_v_deref__arg14, 0))
     2463        if (!_c_135.termEquals (_v_deref__arg14, 0))
    24542464        {
    24552465          break _block1__branch5;
     
    24642474        _ve_args = _v_deref__arg14.subexpr ((0 + 1 + 1), _v_len__args3);
    24652475        Result _ge_auxcall4 = new Result (Expr.empty);
    2466         Infix_To_Java (_c_135, _vs_op, _ve_args, _ge_auxcall4);
    2467         _v_res1.assign (Expr.getConcatenator ().toRight (_c_136).toRight (_ge_auxcall4.getExpr ()).toRight (_c_46).yield ());
     2476        Infix_To_Java (_c_136, _vs_op, _ve_args, _ge_auxcall4);
     2477        _v_res1.assign (Expr.getConcatenator ().toRight (_c_137).toRight (_ge_auxcall4.getExpr ()).toRight (_c_47).yield ());
    24682478        break _block1;
    24692479      }
     
    24942504      refal.plus.List.Paren (_ge_arg1, _ge_auxcall5);
    24952505      Result _ge_auxcall6 = new Result (Expr.empty);
    2496       Infix_To_Java (_c_135, _c_137, _ge_auxcall5.getExpr (), _ge_auxcall6);
    2497       _v_res1.assign (Expr.getConcatenator ().toRight (_c_136).toRight (_ge_auxcall6.getExpr ()).toRight (_c_46).yield ());
     2506      Infix_To_Java (_c_136, _c_138, _ge_auxcall5.getExpr (), _ge_auxcall6);
     2507      _v_res1.assign (Expr.getConcatenator ().toRight (_c_137).toRight (_ge_auxcall6.getExpr ()).toRight (_c_47).yield ());
    24982508    }
    24992509  }
     
    25462556        }
    25472557        int _v_len__ress = (_v_len3 - _v_len4);
    2548         if (!_c_49.termEquals (_v_deref__cond, 0))
     2558        if (!_c_50.termEquals (_v_deref__cond, 0))
    25492559        {
    25502560          break _block1__branch1;
    25512561        }
    2552         if (!_c_138.termEquals (_v_deref__deref__cond, 0))
     2562        if (!_c_139.termEquals (_v_deref__deref__cond, 0))
    25532563        {
    25542564          break _block1__branch1;
     
    25652575        _ve_ress = _va_13.getExpr ();
    25662576        Result _ve_args = new Result (Expr.empty);
    2567         Expr_Args_To_Java (Expr.getConcatenator ().toRight (_ve_exprs).toRight (_c_37).toRight (_ve_ress).yield (), _ve_args);
     2577        Expr_Args_To_Java (Expr.getConcatenator ().toRight (_ve_exprs).toRight (_c_38).toRight (_ve_ress).yield (), _ve_args);
    25682578        refal.plus.Box.Put (_vs_acc, _ve_decls.getExpr ());
    25692579        Result _ge_auxcall1 = new Result (Expr.empty);
    25702580        Name_To_Java (_vt_name, _ge_auxcall1);
    2571         _v_res1.assign (Expr.getConcatenator ().toRight (_c_139).toRight (_ge_auxcall1.getExpr ()).toRight (_c_40).toRight (_ve_args.getExpr ()).toRight (_c_46).yield ());
     2581        _v_res1.assign (Expr.getConcatenator ().toRight (_c_140).toRight (_ge_auxcall1.getExpr ()).toRight (_c_41).toRight (_ve_args.getExpr ()).toRight (_c_47).yield ());
    25722582        break _block1;
    25732583      }
     
    25852595        }
    25862596        int _v_len__expr = (_v_len5 - _v_len6);
    2587         if (!_c_140.termEquals (_v_deref__cond2, 0))
     2597        if (!_c_141.termEquals (_v_deref__cond2, 0))
    25882598        {
    25892599          break _block1__branch2;
     
    25972607        }
    25982608        Result _ge_auxcall3 = new Result (Expr.empty);
    2599         if (!refal.plus.Access.Middle (_c_141, _c_142, _ge_auxcall2.getExpr (), _ge_auxcall3))
     2609        if (!refal.plus.Access.Middle (_c_142, _c_143, _ge_auxcall2.getExpr (), _ge_auxcall3))
    26002610        {
    26012611          throw new RefalException ("org.refal.plus.compiler.rfp_asail_java", "Cond_To_Java", "Unexpected fail");
    26022612        }
    2603         _v_res1.assign (Expr.getConcatenator ().toRight (_c_139).toRight (_ge_auxcall3.getExpr ()).toRight (_c_143).yield ());
     2613        _v_res1.assign (Expr.getConcatenator ().toRight (_c_140).toRight (_ge_auxcall3.getExpr ()).toRight (_c_144).yield ());
    26042614        break _block1;
    26052615      }
     
    26292639        }
    26302640        int _v_len__pos = (_v_len9 - _v_len10);
    2631         if (!_c_144.termEquals (_v_deref__cond3, 0))
     2641        if (!_c_145.termEquals (_v_deref__cond3, 0))
    26322642        {
    26332643          break _block1__branch3;
     
    26412651        Result _ge_auxcall5 = new Result (Expr.empty);
    26422652        Expr_Int_To_Java (_ve_pos, _ge_auxcall5);
    2643         _v_res1.assign (Expr.getConcatenator ().toRight (_ge_auxcall4.getExpr ()).toRight (_c_145).toRight (_ge_auxcall5.getExpr ()).toRight (_c_46).yield ());
     2653        _v_res1.assign (Expr.getConcatenator ().toRight (_ge_auxcall4.getExpr ()).toRight (_c_146).toRight (_ge_auxcall5.getExpr ()).toRight (_c_47).yield ());
    26442654        break _block1;
    26452655      }
     
    26812691        }
    26822692        int _v_len__pos2 = (_v_len15 - _v_len16);
    2683         if (!_c_146.termEquals (_v_deref__cond4, 0))
     2693        if (!_c_147.termEquals (_v_deref__cond4, 0))
    26842694        {
    26852695          break _block1__branch4;
     
    26972707        Result _ge_auxcall6 = new Result (Expr.empty);
    26982708        Expr_Int_To_Java (_ve_pos, _ge_auxcall6);
    2699         _v_res1.assign (Expr.getConcatenator ().toRight (_ve_j__expr1.getExpr ()).toRight (_c_147).toRight (_ve_j__expr2.getExpr ()).toRight (_c_112).toRight (_ge_auxcall6.getExpr ()).toRight (_c_46).yield ());
     2709        _v_res1.assign (Expr.getConcatenator ().toRight (_ve_j__expr1.getExpr ()).toRight (_c_148).toRight (_ve_j__expr2.getExpr ()).toRight (_c_113).toRight (_ge_auxcall6.getExpr ()).toRight (_c_47).yield ());
    27002710        break _block1;
    27012711      }
     
    27372747        }
    27382748        int _v_len__pos3 = (_v_len21 - _v_len22);
    2739         if (!_c_148.termEquals (_v_deref__cond5, 0))
     2749        if (!_c_149.termEquals (_v_deref__cond5, 0))
    27402750        {
    27412751          break _block1__branch5;
     
    27532763        Result _ge_auxcall7 = new Result (Expr.empty);
    27542764        Expr_Int_To_Java (_ve_pos, _ge_auxcall7);
    2755         _v_res1.assign (Expr.getConcatenator ().toRight (_ve_j__expr1.getExpr ()).toRight (_c_149).toRight (_ve_j__expr2.getExpr ()).toRight (_c_112).toRight (_ge_auxcall7.getExpr ()).toRight (_c_46).yield ());
     2765        _v_res1.assign (Expr.getConcatenator ().toRight (_ve_j__expr1.getExpr ()).toRight (_c_150).toRight (_ve_j__expr2.getExpr ()).toRight (_c_113).toRight (_ge_auxcall7.getExpr ()).toRight (_c_47).yield ());
    27562766        break _block1;
    27572767      }
     
    27652775        throw new RefalException ("org.refal.plus.compiler.rfp_asail_java", "Cond_To_Java", "Unexpected fail");
    27662776      }
    2767       if (!_c_150.termEquals (_v_deref__cond6, 0))
     2777      if (!_c_151.termEquals (_v_deref__cond6, 0))
    27682778      {
    27692779        throw new RefalException ("org.refal.plus.compiler.rfp_asail_java", "Cond_To_Java", "Unexpected fail");
     
    27732783      Result _v_Cond__To__Java1 = new Result (Expr.empty);
    27742784      Cond_To_Java (_vs_acc, _vt_not__cond, _v_Cond__To__Java1);
    2775       _v_res1.assign (Expr.concat (_c_139, _v_Cond__To__Java1.getExpr ()));
     2785      _v_res1.assign (Expr.concat (_c_140, _v_Cond__To__Java1.getExpr ()));
    27762786    }
    27772787  }
     
    28222832              break _block2__branch1;
    28232833            }
    2824             int _v_len___dollar_tmp_m_372_m_16 = (_v_len5 - _v_len6);
     2834            int _v_len___dollar_tmp_m_373_m_16 = (_v_len5 - _v_len6);
    28252835            int _v_len7 = _ve_rest.length ();
    28262836            int _v_len8 = 0;
     
    28292839              break _block2__branch1;
    28302840            }
    2831             int _v_len___dollar_tmp_m_372_m_28 = (_v_len7 - _v_len8);
    2832             Expr _vv__dollar_tmp_m_372_m_16 = Expr.empty;
    2833             _vv__dollar_tmp_m_372_m_16 = _ve_arg.subexpr (0, _v_len___dollar_tmp_m_372_m_16);
    2834             Expr _vv__dollar_tmp_m_372_m_28 = Expr.empty;
    2835             _vv__dollar_tmp_m_372_m_28 = _ve_rest.subexpr (0, _v_len___dollar_tmp_m_372_m_28);
    2836             _v_res1.assign (Expr.getConcatenator ().toRight (_ve_arg).toRight (_c_41).toRight (_vs_op).toRight (_c_41).toRight (_ve_rest).yield ());
     2841            int _v_len___dollar_tmp_m_373_m_28 = (_v_len7 - _v_len8);
     2842            Expr _vv__dollar_tmp_m_373_m_16 = Expr.empty;
     2843            _vv__dollar_tmp_m_373_m_16 = _ve_arg.subexpr (0, _v_len___dolla