Changeset 3578


Ignore:
Timestamp:
Mar 25, 2008, 9:20:08 PM (13 years ago)
Author:
yura
Message:
  • $native in rfpc.rf.
Location:
to-imperative/trunk
Files:
2 edited

Legend:

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

    r3539 r3578  
    3333$use "rfp_asail2asail";
    3434
    35 $use "org.refal.plus.wrappers.java.io.FileOutputStream";
    36 
    3735$use Access Arithm Box Class Compare Convert CppMangle File Java JavaMangle
    3836   Dos List Table StdIO;
     37
     38$func FileOutputStream s = s;
     39$native FileOutputStream = "java.io.FileOutputStream (java.lang.String)";
     40
     41$func WriteToStream s s = ;
     42$native WriteToStream = "void java.io.FileOutputStream.write (byte[])";
     43
     44$func CloseStream s = ;
     45$native CloseStream = "void java.io.FileOutputStream.close ()";
    3946
    4047$const RevDate = ('$Revision$') ('$Date$');
  • to-imperative/trunk/java/compiler/org/refal/plus/compiler/rfpc.java

    r3456 r3578  
    2323  @RefalFormat("$const Tab = \'  \';")
    2424  static  final Expr Tab = Expr.fromSequence ("  ");
    25   static  final Expr _c_122 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("NO-OPTIM"));
    26   static  final Expr _c_0 = _c_122.subexpr (1, 1);
     25  static  final Expr _c_126 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("NO-OPTIM"));
     26  static  final Expr _c_0 = _c_126.subexpr (1, 1);
    2727  static  final Expr _c_1 = Expr.fromSequence ("/");
    2828  static  final Expr _c_2 = new Expr (Symbol.newInt ("1"));
    29   static  final Expr _c_123 = Expr.fromSequence ("bootpath");
    30   static  final Expr _c_124 = Expr.concat ((Comparable<?>) Expr.concat ((Comparable<?>) _c_123.subexpr (7, 1), (Comparable<?>) Expr.fromSequence ("help")), Symbol.newWord ("HELP"));
    31   static  final Expr _c_3 = _c_124.subexpr (1, 1);
     29  static  final Expr _c_127 = Expr.fromSequence ("bootpath");
     30  static  final Expr _c_128 = Expr.concat ((Comparable<?>) Expr.concat ((Comparable<?>) _c_127.subexpr (7, 1), (Comparable<?>) Expr.fromSequence ("help")), Symbol.newWord ("HELP"));
     31  static  final Expr _c_3 = _c_128.subexpr (1, 1);
    3232  static  final Expr _c_4 = Expr.fromSequence ("Refal+ compiler ");
    3333  static  final Expr _c_5 = Expr.fromSequence ("Usage: rfpc");
     
    4343  static  final Expr _c_15 = _c_13.subexpr (6, 1);
    4444  static  final Expr _c_16 = _c_13.subexpr (5, 2);
    45   static  final Expr _c_125 = Expr.getConcatenator (5).toRight ((Comparable<?>) new Expr ((Comparable<?>) _c_14.subexpr (1, 1))).toRight (Symbol.newWord ("NAME")).toRight ((Comparable<?>) new Expr (Symbol.newWord ("name| - "))).toRight (Symbol.newWord ("place outputs for file1 into files <name>.* or send")).toRight (Symbol.newWord ("them to stdout")).yield ();
    46   static  final Expr _c_17 = _c_125.subexpr (1, 1);
     45  static  final Expr _c_129 = Expr.getConcatenator (5).toRight ((Comparable<?>) new Expr ((Comparable<?>) _c_14.subexpr (1, 1))).toRight (Symbol.newWord ("NAME")).toRight ((Comparable<?>) new Expr (Symbol.newWord ("name| - "))).toRight (Symbol.newWord ("place outputs for file1 into files <name>.* or send")).toRight (Symbol.newWord ("them to stdout")).yield ();
     46  static  final Expr _c_17 = _c_129.subexpr (1, 1);
    4747  static  final Expr _c_19 = Expr.fromSequence (" .rfi");
    4848  static  final Expr _c_18 = _c_19.subexpr (0, 4);
     
    5757  static  final Expr _c_28 = new Expr (Symbol.newWord (" --- Warning: "));
    5858  static  final Expr _c_29 = new Expr (Symbol.newWord (": parsing finished"));
    59   static  final Expr _c_126 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("AS-REFAL"));
    60   static  final Expr _c_30 = _c_126.subexpr (1, 1);
     59  static  final Expr _c_130 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("AS-REFAL"));
     60  static  final Expr _c_30 = _c_130.subexpr (1, 1);
    6161  static  final Expr _c_31 = Expr.fromSequence (" .asr");
    6262  static  final Expr _c_32 = new Expr (Symbol.newWord ("R"));
     
    7070  static  final Expr _c_39 = new Expr (Symbol.newWord ("Error: unknown extension"));
    7171  static  final Expr _c_40 = _c_31.subexpr (1, 4);
    72   static  final Expr _c_127 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("NO-CHECK"));
    73   static  final Expr _c_41 = _c_127.subexpr (1, 1);
     72  static  final Expr _c_131 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("NO-CHECK"));
     73  static  final Expr _c_41 = _c_131.subexpr (1, 1);
    7474  static  final Expr _c_42 = new Expr (Symbol.newWord ("syntax check started"));
    7575  static  final Expr _c_43 = new Expr (Symbol.newWord ("syntax check finished"));
     
    7979    }
    8080  });
    81   static  final Expr _c_128 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("NO-TRANSFORM"));
    82   static  final Expr _c_46 = _c_128.subexpr (1, 1);
     81  static  final Expr _c_132 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("NO-TRANSFORM"));
     82  static  final Expr _c_46 = _c_132.subexpr (1, 1);
    8383  static  final Expr _c_47 = new Expr (Symbol.newWord ("as-to-as transformation started"));
    8484  static  final Expr _c_48 = new Expr (Symbol.newWord ("as-to-as transformation finished"));
     
    9595  static  final Expr _c_59 = Expr.fromSequence (".cc");
    9696  static  final Expr _c_60 = new Expr (Symbol.newInt ("0"));
    97   static  final Expr _c_61 = _c_50.subexpr (3, 1);
    98   static  final Expr _c_62 = new Expr (Symbol.newWord ("compilation from as-ail to java started"));
    99   static  final Expr _c_63 = Expr.fromSequence (".java");
    100   static  final Expr _c_64 = new Expr (Symbol.newWord ("compilation from as-ail to java finished"));
    101   static  final Expr _c_65 = _c_50.subexpr (4, 1);
    102   static  final Expr _c_66 = new Expr (Symbol.newWord ("compilation from as-ail to java-bytecode started"));
    103   static  final Expr _c_67 = new Expr (Symbol.newWord (".class"));
    104   static  final Expr _c_68 = new Expr (Symbol.newWord ("compilation from as-ail to java-bytecode finished"));
    105   static  final Expr _c_129 = new Expr (Symbol.newWord ("dir"));
    106   static  final Expr _c_130 = Expr.getConcatenator (5).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) Expr.fromSequence ("I"), (Comparable<?>) Expr.fromSequence ("ipath"))).toRight (Symbol.newWord ("IPATH")).toRight ((Comparable<?>) _c_129).toRight (Symbol.newWord ("add <dir> to the list of directories to be searched")).toRight (Symbol.newWord ("for .rfi files")).yield ();
    107   static  final Expr _c_131 = Expr.getConcatenator (5).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) Expr.fromSequence ("B"), (Comparable<?>) _c_123)).toRight (Symbol.newWord ("BPATH")).toRight ((Comparable<?>) _c_129).toRight (Symbol.newWord ("add <dir> to the list of directories to be searched")).toRight (Symbol.newWord ("for standard library .rfi files")).yield ();
    108   static  final Expr _c_132 = Expr.fromSequence ("no-check");
    109   static  final Expr _c_133 = Expr.fromSequence ("entry");
    110   static  final Expr _c_134 = Expr.getConcatenator (5).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_14.subexpr (18, 2), (Comparable<?>) Expr.fromSequence ("comp-item"))).toRight (Symbol.newWord ("COMP-ITEM")).toRight ((Comparable<?>) new Expr (Symbol.newWord ("item"))).toRight (Symbol.newWord ("compile <item> only, not the whole source")).toRight (Symbol.newWord ("(may be used several times)")).yield ();
    111   static  final Expr _c_135 = Expr.getConcatenator (4).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_13.subexpr (4, 1), (Comparable<?>) _c_133)).toRight (Symbol.newWord ("ENTRY")).toRight ((Comparable<?>) new Expr (Symbol.newWord ("func"))).toRight (Symbol.newWord ("use function <func> as an entry to the program")).yield ();
    112   static  final Expr _c_136 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("VERBOSE"));
    113   static  final Expr _c_137 = Expr.getConcatenator (4).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_14.subexpr (5, 1), (Comparable<?>) Expr.fromSequence ("package"))).toRight (Symbol.newWord ("PACKAGE")).toRight ((Comparable<?>) new Expr (Symbol.newWord ("pack"))).toRight (Symbol.newWord ("place output in package <pack>")).yield ();
    114   static  final Expr _c_138 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("HH"));
    115   static  final Expr _c_139 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("AS-AIL"));
    116   static  final Expr _c_140 = Expr.getConcatenator (4).toRight ((Comparable<?>) new Expr ((Comparable<?>) Expr.fromSequence ("int"))).toRight (Symbol.newWord ("INT")).toRight ((Comparable<?>) new Expr (Symbol.newWord ("class_name"))).toRight (Symbol.newWord ("class to use for literal integers")).yield ();
    117   static  final Expr _c_141 = Expr.getConcatenator (4).toRight ((Comparable<?>) new Expr ((Comparable<?>) Expr.fromSequence ("replace-module"))).toRight (Symbol.newWord ("REPLACE-MODULE")).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("m1"), Symbol.newWord ("m2"))).toRight (Symbol.newWord ("use module <m2> instead of <m1>")).yield ();
    118   static  final Expr _c_142 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("DBG"));
    119   static  final Expr _c_143 = Expr.fromSequence ("traceall");
    120   static  final Expr _c_144 = Expr.getConcatenator (4).toRight ((Comparable<?>) new Expr ((Comparable<?>) _c_143.subexpr (0, 5))).toRight (Symbol.newWord ("TRACE")).toRight ((Comparable<?>) new Expr (Symbol.newWord ("fname"))).toRight (Symbol.newWord ("trace function <fname> (may be used several times)")).yield ();
    121   static  final Expr _c_69 = Expr.getConcatenator (29).toRight ((Comparable<?>) _c_130).toRight ((Comparable<?>) _c_131).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) Expr.concat ((Comparable<?>) Expr.fromSequence ("ne"), (Comparable<?>) Expr.fromSequence ("no-elaborate")), (Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("NO-ELABORATE")))).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) Expr.fromSequence ("nc"), (Comparable<?>) _c_132)).toRight ((Comparable<?>) _c_127).toRight (Symbol.newWord ("don't perform syntax check")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_133.subexpr (1, 2), (Comparable<?>) Expr.fromSequence ("no-transform"))).toRight ((Comparable<?>) _c_128).toRight (Symbol.newWord ("don't perform AS-to-AS transformations")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (4).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_59.subexpr (1, 1), (Comparable<?>) _c_132.subexpr (3, 5))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("CHECK"))).toRight (Symbol.newWord ("check only, causes no file creation in the absence")).toRight (Symbol.newWord ("of other output control options")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_132.subexpr (0, 2), (Comparable<?>) Expr.fromSequence ("no-optim"))).toRight ((Comparable<?>) _c_122).toRight (Symbol.newWord ("don't perform ASAIL-optimization")).yield ()).toRight ((Comparable<?>) _c_134).toRight ((Comparable<?>) _c_135).toRight ((Comparable<?>) _c_124).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_63.subexpr (3, 1), (Comparable<?>) Expr.fromSequence ("verbose"))).toRight ((Comparable<?>) _c_136).toRight (Symbol.newWord ("display information about the stages of compilation")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (4).toRight ((Comparable<?>) new Expr ((Comparable<?>) _c_14.subexpr (6, 1))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("CASE-INSENSITIVE"))).toRight (Symbol.newWord ("convert all symbol-words without surrounding quotes")).toRight (Symbol.newWord ("to upper case")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) new Expr ((Comparable<?>) _c_4.subexpr (7, 2))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("IDENT-COMPATIBILITY"))).toRight (Symbol.newWord ("compatibility mode: assume old-style identificator names")).yield ()).toRight ((Comparable<?>) _c_125).toRight ((Comparable<?>) _c_137).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) new Expr ((Comparable<?>) _c_59.subexpr (1, 2))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("CC"))).toRight (Symbol.newWord ("output C++ code")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) new Expr ((Comparable<?>) Expr.fromSequence ("hh"))).toRight ((Comparable<?>) _c_138).toRight (Symbol.newWord ("generate header files")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_63.subexpr (1, 1), (Comparable<?>) _c_63.subexpr (1, 4))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("JAVA"))).toRight (Symbol.newWord ("output Java code")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) new Expr ((Comparable<?>) Expr.fromSequence ("jbc"))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("JBC"))).toRight (Symbol.newWord ("output Java byte-code")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_33.subexpr (4, 1), (Comparable<?>) Expr.fromSequence ("t++"))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("TPP"))).toRight (Symbol.newWord ("output T++ code")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_31.subexpr (2, 3), (Comparable<?>) Expr.fromSequence ("as-refal"))).toRight ((Comparable<?>) _c_126).toRight (Symbol.newWord ("output Refal Abstract Syntax")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (4).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_33.subexpr (2, 3), (Comparable<?>) Expr.fromSequence ("as-transformed"))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("AS-TRANSFORMED"))).toRight (Symbol.newWord ("output Refal Abstract Syntax after AS-to-AS")).toRight (Symbol.newWord ("transformations")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (4).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_35.subexpr (2, 3), (Comparable<?>) Expr.fromSequence ("as-ail"))).toRight ((Comparable<?>) _c_139).toRight (Symbol.newWord ("output Abstract Syntax of Abstract Imperative")).toRight (Symbol.newWord ("Language")).yield ()).toRight ((Comparable<?>) _c_140).toRight ((Comparable<?>) _c_141).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) Expr.concat ((Comparable<?>) _c_14.subexpr (23, 1), (Comparable<?>) Expr.fromSequence ("debug")), (Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("DEBUG")))).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) new Expr ((Comparable<?>) Expr.fromSequence ("dbg"))).toRight ((Comparable<?>) _c_142).toRight (Symbol.newWord ("generate text for debugger")).yield ()).toRight ((Comparable<?>) _c_144).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) new Expr ((Comparable<?>) _c_143)).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("TRACEALL"))).toRight (Symbol.newWord ("trace all functions")).yield ()).yield ();
    122   static  final Expr _c_70 = new Expr (Symbol.newInt ("29"));
    123   static  final Expr _c_71 = new Expr (Symbol.newWord ("Refal+ compiler "));
    124   static  final Expr _c_72 = new Expr (Symbol.newWord ("Copyright blah-blah-blah"));
    125   static  final Expr _c_73 = new Expr (Symbol.newWord ("Usage: rfpc [options] file1 [file2 ...]"));
    126   static  final Expr _c_74 = new Expr (Symbol.newWord ("Options:"));
    127   static  final Expr _c_75 = _c_9.subexpr (2, 1);
    128   static  final Expr _c_76 = Expr.fromSequence (", -");
    129   static  final Expr _c_77 = _c_7.subexpr (0, 1);
    130   static  final Expr _c_78 = _c_130.subexpr (1, 1);
    131   static  final Expr _c_79 = _c_131.subexpr (1, 1);
    132   static  final Expr _c_80 = _c_134.subexpr (1, 1);
    133   static  final Expr _c_81 = new Expr (Symbol.newWord ("ITEMS"));
    134   static  final Expr _c_82 = _c_135.subexpr (1, 1);
    135   static  final Expr _c_83 = new Expr (Symbol.newWord ("ENTRIES"));
    136   static  final Expr _c_84 = _c_144.subexpr (1, 1);
    137   static  final Expr _c_85 = _c_137.subexpr (1, 1);
    138   static  final Expr _c_86 = _c_140.subexpr (1, 1);
    139   static  final Expr _c_87 = _c_141.subexpr (1, 1);
    140   static  final Expr _c_88 = new Expr (Symbol.newWord ("REPLACE-MODULE-2"));
    141   static  final Expr _c_89 = _c_139.subexpr (0, 1);
    142   static  final Expr _c_90 = new Expr (Symbol.newWord ("\""));
    143   static  final Expr _c_91 = new Expr (Symbol.newWord ("Unknown option \"-"));
    144   static  final Expr _c_92 = new Expr (Symbol.newWord ("Last option requires parameter"));
    145   static  final Expr _c_93 = Expr.getConcatenator (9).toRight (Symbol.newWord ("CC")).toRight (Symbol.newWord ("HH")).toRight (Symbol.newWord ("TPP")).toRight (Symbol.newWord ("JAVA")).toRight (Symbol.newWord ("JBC")).toRight (Symbol.newWord ("AS-REFAL")).toRight (Symbol.newWord ("AS-TRANSFORMED")).toRight (Symbol.newWord ("AS-AIL")).toRight (Symbol.newWord ("CHECK")).yield ();
    146   static  final Expr _c_94 = _c_138.subexpr (1, 1);
    147   static  final Expr _c_95 = new Expr (new Func () {
     97  static  final Expr _c_61 = _c_50.subexpr (2, 1);
     98  static  final Expr _c_62 = new Expr (Symbol.newWord ("compilation from as-ail to T++ started"));
     99  static  final Expr _c_63 = new Expr (Symbol.newWord ("compilation from as-ail to T++ finished"));
     100  static  final Expr _c_64 = Expr.fromSequence (".tpp");
     101  static  final Expr _c_65 = _c_50.subexpr (3, 1);
     102  static  final Expr _c_66 = new Expr (Symbol.newWord ("compilation from as-ail to java started"));
     103  static  final Expr _c_67 = Expr.fromSequence (".java");
     104  static  final Expr _c_68 = new Expr (Symbol.newWord ("compilation from as-ail to java finished"));
     105  static  final Expr _c_69 = _c_50.subexpr (4, 1);
     106  static  final Expr _c_70 = new Expr (Symbol.newWord ("compilation from as-ail to java-bytecode started"));
     107  static  final Expr _c_71 = new Expr (Symbol.newWord (".class"));
     108  static  final Expr _c_72 = new Expr (Symbol.newWord ("compilation from as-ail to java-bytecode finished"));
     109  static  final Expr _c_133 = new Expr (Symbol.newWord ("dir"));
     110  static  final Expr _c_134 = Expr.getConcatenator (5).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) Expr.fromSequence ("I"), (Comparable<?>) Expr.fromSequence ("ipath"))).toRight (Symbol.newWord ("IPATH")).toRight ((Comparable<?>) _c_133).toRight (Symbol.newWord ("add <dir> to the list of directories to be searched")).toRight (Symbol.newWord ("for .rfi files")).yield ();
     111  static  final Expr _c_135 = Expr.getConcatenator (5).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) Expr.fromSequence ("B"), (Comparable<?>) _c_127)).toRight (Symbol.newWord ("BPATH")).toRight ((Comparable<?>) _c_133).toRight (Symbol.newWord ("add <dir> to the list of directories to be searched")).toRight (Symbol.newWord ("for standard library .rfi files")).yield ();
     112  static  final Expr _c_136 = Expr.fromSequence ("no-check");
     113  static  final Expr _c_137 = Expr.fromSequence ("entry");
     114  static  final Expr _c_138 = Expr.getConcatenator (5).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_14.subexpr (18, 2), (Comparable<?>) Expr.fromSequence ("comp-item"))).toRight (Symbol.newWord ("COMP-ITEM")).toRight ((Comparable<?>) new Expr (Symbol.newWord ("item"))).toRight (Symbol.newWord ("compile <item> only, not the whole source")).toRight (Symbol.newWord ("(may be used several times)")).yield ();
     115  static  final Expr _c_139 = Expr.getConcatenator (4).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_13.subexpr (4, 1), (Comparable<?>) _c_137)).toRight (Symbol.newWord ("ENTRY")).toRight ((Comparable<?>) new Expr (Symbol.newWord ("func"))).toRight (Symbol.newWord ("use function <func> as an entry to the program")).yield ();
     116  static  final Expr _c_140 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("VERBOSE"));
     117  static  final Expr _c_141 = Expr.getConcatenator (4).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_64.subexpr (2, 1), (Comparable<?>) Expr.fromSequence ("package"))).toRight (Symbol.newWord ("PACKAGE")).toRight ((Comparable<?>) new Expr (Symbol.newWord ("pack"))).toRight (Symbol.newWord ("place output in package <pack>")).yield ();
     118  static  final Expr _c_142 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("HH"));
     119  static  final Expr _c_143 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("AS-AIL"));
     120  static  final Expr _c_144 = Expr.getConcatenator (4).toRight ((Comparable<?>) new Expr ((Comparable<?>) Expr.fromSequence ("int"))).toRight (Symbol.newWord ("INT")).toRight ((Comparable<?>) new Expr (Symbol.newWord ("class_name"))).toRight (Symbol.newWord ("class to use for literal integers")).yield ();
     121  static  final Expr _c_145 = Expr.getConcatenator (4).toRight ((Comparable<?>) new Expr ((Comparable<?>) Expr.fromSequence ("replace-module"))).toRight (Symbol.newWord ("REPLACE-MODULE")).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("m1"), Symbol.newWord ("m2"))).toRight (Symbol.newWord ("use module <m2> instead of <m1>")).yield ();
     122  static  final Expr _c_146 = Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("DBG"));
     123  static  final Expr _c_147 = Expr.fromSequence ("traceall");
     124  static  final Expr _c_148 = Expr.getConcatenator (4).toRight ((Comparable<?>) new Expr ((Comparable<?>) _c_147.subexpr (0, 5))).toRight (Symbol.newWord ("TRACE")).toRight ((Comparable<?>) new Expr (Symbol.newWord ("fname"))).toRight (Symbol.newWord ("trace function <fname> (may be used several times)")).yield ();
     125  static  final Expr _c_73 = Expr.getConcatenator (29).toRight ((Comparable<?>) _c_134).toRight ((Comparable<?>) _c_135).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) Expr.concat ((Comparable<?>) Expr.fromSequence ("ne"), (Comparable<?>) Expr.fromSequence ("no-elaborate")), (Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("NO-ELABORATE")))).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) Expr.fromSequence ("nc"), (Comparable<?>) _c_136)).toRight ((Comparable<?>) _c_131).toRight (Symbol.newWord ("don't perform syntax check")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_137.subexpr (1, 2), (Comparable<?>) Expr.fromSequence ("no-transform"))).toRight ((Comparable<?>) _c_132).toRight (Symbol.newWord ("don't perform AS-to-AS transformations")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (4).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_59.subexpr (1, 1), (Comparable<?>) _c_136.subexpr (3, 5))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("CHECK"))).toRight (Symbol.newWord ("check only, causes no file creation in the absence")).toRight (Symbol.newWord ("of other output control options")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_136.subexpr (0, 2), (Comparable<?>) Expr.fromSequence ("no-optim"))).toRight ((Comparable<?>) _c_126).toRight (Symbol.newWord ("don't perform ASAIL-optimization")).yield ()).toRight ((Comparable<?>) _c_138).toRight ((Comparable<?>) _c_139).toRight ((Comparable<?>) _c_128).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_67.subexpr (3, 1), (Comparable<?>) Expr.fromSequence ("verbose"))).toRight ((Comparable<?>) _c_140).toRight (Symbol.newWord ("display information about the stages of compilation")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (4).toRight ((Comparable<?>) new Expr ((Comparable<?>) _c_14.subexpr (6, 1))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("CASE-INSENSITIVE"))).toRight (Symbol.newWord ("convert all symbol-words without surrounding quotes")).toRight (Symbol.newWord ("to upper case")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) new Expr ((Comparable<?>) _c_4.subexpr (7, 2))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("IDENT-COMPATIBILITY"))).toRight (Symbol.newWord ("compatibility mode: assume old-style identificator names")).yield ()).toRight ((Comparable<?>) _c_129).toRight ((Comparable<?>) _c_141).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) new Expr ((Comparable<?>) _c_59.subexpr (1, 2))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("CC"))).toRight (Symbol.newWord ("output C++ code")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) new Expr ((Comparable<?>) Expr.fromSequence ("hh"))).toRight ((Comparable<?>) _c_142).toRight (Symbol.newWord ("generate header files")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_67.subexpr (1, 1), (Comparable<?>) _c_67.subexpr (1, 4))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("JAVA"))).toRight (Symbol.newWord ("output Java code")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) new Expr ((Comparable<?>) Expr.fromSequence ("jbc"))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("JBC"))).toRight (Symbol.newWord ("output Java byte-code")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_33.subexpr (4, 1), (Comparable<?>) Expr.fromSequence ("t++"))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("TPP"))).toRight (Symbol.newWord ("output T++ code")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_31.subexpr (2, 3), (Comparable<?>) Expr.fromSequence ("as-refal"))).toRight ((Comparable<?>) _c_130).toRight (Symbol.newWord ("output Refal Abstract Syntax")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (4).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_33.subexpr (2, 3), (Comparable<?>) Expr.fromSequence ("as-transformed"))).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("AS-TRANSFORMED"))).toRight (Symbol.newWord ("output Refal Abstract Syntax after AS-to-AS")).toRight (Symbol.newWord ("transformations")).yield ()).toRight ((Comparable<?>) Expr.getConcatenator (4).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) _c_35.subexpr (2, 3), (Comparable<?>) Expr.fromSequence ("as-ail"))).toRight ((Comparable<?>) _c_143).toRight (Symbol.newWord ("output Abstract Syntax of Abstract Imperative")).toRight (Symbol.newWord ("Language")).yield ()).toRight ((Comparable<?>) _c_144).toRight ((Comparable<?>) _c_145).toRight ((Comparable<?>) Expr.concat ((Comparable<?>) Expr.concat ((Comparable<?>) _c_14.subexpr (23, 1), (Comparable<?>) Expr.fromSequence ("debug")), (Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("DEBUG")))).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) new Expr ((Comparable<?>) Expr.fromSequence ("dbg"))).toRight ((Comparable<?>) _c_146).toRight (Symbol.newWord ("generate text for debugger")).yield ()).toRight ((Comparable<?>) _c_148).toRight ((Comparable<?>) Expr.getConcatenator (3).toRight ((Comparable<?>) new Expr ((Comparable<?>) _c_147)).toRight ((Comparable<?>) Expr.concat (Symbol.newWord ("BIND"), Symbol.newWord ("TRACEALL"))).toRight (Symbol.newWord ("trace all functions")).yield ()).yield ();
     126  static  final Expr _c_74 = new Expr (Symbol.newInt ("29"));
     127  static  final Expr _c_75 = new Expr (Symbol.newWord ("Refal+ compiler "));
     128  static  final Expr _c_76 = new Expr (Symbol.newWord ("Copyright blah-blah-blah"));
     129  static  final Expr _c_77 = new Expr (Symbol.newWord ("Usage: rfpc [options] file1 [file2 ...]"));
     130  static  final Expr _c_78 = new Expr (Symbol.newWord ("Options:"));
     131  static  final Expr _c_79 = _c_9.subexpr (2, 1);
     132  static  final Expr _c_80 = Expr.fromSequence (", -");
     133  static  final Expr _c_81 = _c_7.subexpr (0, 1);
     134  static  final Expr _c_82 = _c_134.subexpr (1, 1);
     135  static  final Expr _c_83 = _c_135.subexpr (1, 1);
     136  static  final Expr _c_84 = _c_138.subexpr (1, 1);
     137  static  final Expr _c_85 = new Expr (Symbol.newWord ("ITEMS"));
     138  static  final Expr _c_86 = _c_139.subexpr (1, 1);
     139  static  final Expr _c_87 = new Expr (Symbol.newWord ("ENTRIES"));
     140  static  final Expr _c_88 = _c_148.subexpr (1, 1);
     141  static  final Expr _c_89 = _c_141.subexpr (1, 1);
     142  static  final Expr _c_90 = _c_144.subexpr (1, 1);
     143  static  final Expr _c_91 = _c_145.subexpr (1, 1);
     144  static  final Expr _c_92 = new Expr (Symbol.newWord ("REPLACE-MODULE-2"));
     145  static  final Expr _c_93 = _c_143.subexpr (0, 1);
     146  static  final Expr _c_94 = new Expr (Symbol.newWord ("\""));
     147  static  final Expr _c_95 = new Expr (Symbol.newWord ("Unknown option \"-"));
     148  static  final Expr _c_96 = new Expr (Symbol.newWord ("Last option requires parameter"));
     149  static  final Expr _c_97 = Expr.getConcatenator (9).toRight (Symbol.newWord ("CC")).toRight (Symbol.newWord ("HH")).toRight (Symbol.newWord ("TPP")).toRight (Symbol.newWord ("JAVA")).toRight (Symbol.newWord ("JBC")).toRight (Symbol.newWord ("AS-REFAL")).toRight (Symbol.newWord ("AS-TRANSFORMED")).toRight (Symbol.newWord ("AS-AIL")).toRight (Symbol.newWord ("CHECK")).yield ();
     150  static  final Expr _c_98 = _c_142.subexpr (1, 1);
     151  static  final Expr _c_99 = new Expr (new Func () {
    148152    public boolean eval (Expr arg, Result res) throws RefalException {
    149153      return Append_0 (arg, res);
    150154    }
    151155  });
    152   static  final Expr _c_96 = new Expr (Symbol.newWord ("PRAGMA"));
    153   static  final Expr _c_97 = new Expr (Symbol.newWord ("NATIVE"));
    154   static  final Expr _c_145 = new Expr ((Comparable<?>) new Expr (Symbol.newWord ("EVAR")));
    155   static  final Expr _c_109 = Expr.getConcatenator (4).toRight (Symbol.newWord ("IMPORT")).toRight (Symbol.newWord ("FUNC")).toRight ((Comparable<?>) _c_145).toRight ((Comparable<?>) Expr.empty).yield ();
    156   static  final Expr _c_98 = _c_109.subexpr (1, 1);
    157   static  final Expr _c_99 = new Expr (Symbol.newInt ("2"));
    158   static  final Expr _c_100 = new Expr (Symbol.newWord ("TFUNC"));
    159   static  final Expr _c_104 = Expr.getConcatenator (4).toRight (Symbol.newWord ("IMPORT")).toRight (Symbol.newWord ("FUNC?")).toRight ((Comparable<?>) _c_145).toRight ((Comparable<?>) _c_145).yield ();
    160   static  final Expr _c_101 = _c_104.subexpr (1, 1);
    161   static  final Expr _c_102 = new Expr (Symbol.newWord ("CONST"));
    162   static  final Expr _c_103 = new Expr (Symbol.newWord ("EXTERN"));
    163   static  final Expr _c_105 = _c_142.subexpr (1, 1);
    164   static  final Expr _c_106 = new Expr ((Comparable<?>) Expr.getConcatenator (3).toRight (Symbol.newWord ("refal")).toRight (Symbol.newWord ("Debug")).toRight (Symbol.newWord ("ShouldStop")).yield ());
    165   static  final Expr _c_107 = Expr.getConcatenator (4).toRight (Symbol.newWord ("IMPORT")).toRight (Symbol.newWord ("FUNC?")).toRight ((Comparable<?>) _c_145).toRight ((Comparable<?>) Expr.empty).yield ();
    166   static  final Expr _c_108 = new Expr ((Comparable<?>) Expr.getConcatenator (3).toRight (Symbol.newWord ("refal")).toRight (Symbol.newWord ("Debug")).toRight (Symbol.newWord ("Debug")).yield ());
    167   static  final Expr _c_110 = Expr.fromSequence ("(");
    168   static  final Expr _c_111 = Expr.fromSequence ("  ");
    169   static  final Expr _c_112 = Expr.fromSequence (")");
    170   static  final Expr _c_113 = new Expr (Symbol.newWord ("LABEL"));
    171   static  final Expr _c_114 = _c_136.subexpr (1, 1);
    172   static  final Expr _c_115 = new Expr (Symbol.newWord ("W"));
    173   static  final Expr _c_116 = new Expr (Symbol.newWord (" for writing"));
    174   static  final Expr _c_117 = new Expr (Symbol.newWord ("Error: cannot open file "));
    175   static  final Expr _c_118 = _c_76.subexpr (0, 2);
    176   static  final Expr _c_119 = Expr.fromSequence ("2.0-beta-");
    177   static  final Expr _c_120 = Expr.fromSequence ("2.0-unknown-beta");
    178   static  final Expr _c_121 = Expr.getConcatenator (3).toRight (Symbol.newWord ("Apply")).toRight (Symbol.newWord ("Apply")).toRight (Symbol.newWord ("Unexpected fail")).yield ();
     156  static  final Expr _c_100 = new Expr (Symbol.newWord ("PRAGMA"));
     157  static  final Expr _c_101 = new Expr (Symbol.newWord ("NATIVE"));
     158  static  final Expr _c_149 = new Expr ((Comparable<?>) new Expr (Symbol.newWord ("EVAR")));
     159  static  final Expr _c_113 = Expr.getConcatenator (4).toRight (Symbol.newWord ("IMPORT")).toRight (Symbol.newWord ("FUNC")).toRight ((Comparable<?>) _c_149).toRight ((Comparable<?>) Expr.empty).yield ();
     160  static  final Expr _c_102 = _c_113.subexpr (1, 1);
     161  static  final Expr _c_103 = new Expr (Symbol.newInt ("2"));
     162  static  final Expr _c_104 = new Expr (Symbol.newWord ("TFUNC"));
     163  static  final Expr _c_108 = Expr.getConcatenator (4).toRight (Symbol.newWord ("IMPORT")).toRight (Symbol.newWord ("FUNC?")).toRight ((Comparable<?>) _c_149).toRight ((Comparable<?>) _c_149).yield ();
     164  static  final Expr _c_105 = _c_108.subexpr (1, 1);
     165  static  final Expr _c_106 = new Expr (Symbol.newWord ("CONST"));
     166  static  final Expr _c_107 = new Expr (Symbol.newWord ("EXTERN"));
     167  static  final Expr _c_109 = _c_146.subexpr (1, 1);
     168  static  final Expr _c_110 = new Expr ((Comparable<?>) Expr.getConcatenator (3).toRight (Symbol.newWord ("refal")).toRight (Symbol.newWord ("Debug")).toRight (Symbol.newWord ("ShouldStop")).yield ());
     169  static  final Expr _c_111 = Expr.getConcatenator (4).toRight (Symbol.newWord ("IMPORT")).toRight (Symbol.newWord ("FUNC?")).toRight ((Comparable<?>) _c_149).toRight ((Comparable<?>) Expr.empty).yield ();
     170  static  final Expr _c_112 = new Expr ((Comparable<?>) Expr.getConcatenator (3).toRight (Symbol.newWord ("refal")).toRight (Symbol.newWord ("Debug")).toRight (Symbol.newWord ("Debug")).yield ());
     171  static  final Expr _c_114 = Expr.fromSequence ("(");
     172  static  final Expr _c_115 = Expr.fromSequence ("  ");
     173  static  final Expr _c_116 = Expr.fromSequence (")");
     174  static  final Expr _c_117 = new Expr (Symbol.newWord ("LABEL"));
     175  static  final Expr _c_118 = _c_140.subexpr (1, 1);
     176  static  final Expr _c_119 = new Expr (Symbol.newWord ("W"));
     177  static  final Expr _c_120 = new Expr (Symbol.newWord (" for writing"));
     178  static  final Expr _c_121 = new Expr (Symbol.newWord ("Error: cannot open file "));
     179  static  final Expr _c_122 = _c_80.subexpr (0, 2);
     180  static  final Expr _c_123 = Expr.fromSequence ("2.0-beta-");
     181  static  final Expr _c_124 = Expr.fromSequence ("2.0-unknown-beta");
     182  static  final Expr _c_125 = Expr.getConcatenator (3).toRight (Symbol.newWord ("Apply")).toRight (Symbol.newWord ("Apply")).toRight (Symbol.newWord ("Unexpected fail")).yield ();
     183
     184  @RefalFormat("$func FileOutputStream s = s;")
     185  static  void FileOutputStream (Expr _gs_arg1, Result _gs_res1) throws RefalException {
     186    try {
     187      _gs_res1.assign(Native.sValueOf(new java.io.FileOutputStream(((java.lang.String) Native.objectValue(_gs_arg1.at(0))))));
     188    } catch (java.lang.Exception e) {
     189      throw new org.refal.plus.RefalException("org.refal.plus.compiler.rfpc", "FileOutputStream", e.toString());
     190    }
     191  }
     192
     193  @RefalFormat("$func WriteToStream s s = ;")
     194  static  void WriteToStream (Expr _gs_arg1, Expr _gs_arg2) throws RefalException {
     195    try {
     196      ((java.io.FileOutputStream) Native.objectValue(_gs_arg1.at(0))).write(((byte[]) Native.objectValue(_gs_arg2.at(0))));
     197    } catch (java.lang.Exception e) {
     198      throw new org.refal.plus.RefalException("org.refal.plus.compiler.rfpc", "WriteToStream", e.toString());
     199    }
     200  }
     201
     202  @RefalFormat("$func CloseStream s = ;")
     203  static  void CloseStream (Expr _gs_arg1) throws RefalException {
     204    try {
     205      ((java.io.FileOutputStream) Native.objectValue(_gs_arg1.at(0))).close();
     206    } catch (java.lang.Exception e) {
     207      throw new org.refal.plus.RefalException("org.refal.plus.compiler.rfpc", "CloseStream", e.toString());
     208    }
     209  }
    179210
    180211  @RefalFormat("$func CompileASToJBC t = e;")
     
    197228      throw new RefalException ("org.refal.plus.compiler.rfpc", "CompileASToJBC", "Unexpected fail");
    198229    }
    199     Expr _vs__dollar_tmp_m_70_m_12 = Expr.empty;
    200     _vs__dollar_tmp_m_70_m_12 = _v_deref__as.subexpr (0, 1);
     230    Expr _vs__dollar_tmp_m_77_m_12 = Expr.empty;
     231    _vs__dollar_tmp_m_77_m_12 = _v_deref__as.subexpr (0, 1);
    201232    Expr _vt_ModuleName = Expr.empty;
    202233    _vt_ModuleName = _v_deref__as.subexpr ((0 + 1), 1);
     
    330361            _exit1: _continue1: for ( ; ; _va_3.next ())
    331362            {
    332               Expr _ve__dollar_tmp_m_100_m_31 = _va_3.getLeft();
     363              Expr _ve__dollar_tmp_m_107_m_31 = _va_3.getLeft();
    333364              Expr _v_lsplit__Get2 = _va_3.getRight();
    334365              if (!_va_3.isValid ())
     
    342373                break _block3__branch1;
    343374              }
    344               int _v_len___dollar_tmp_m_100_m_58 = (_v_len1 - _v_len2);
     375              int _v_len___dollar_tmp_m_107_m_58 = (_v_len1 - _v_len2);
    345376              if (_v_lsplit__Get2.isSymbolAt (0))
    346377              {
     
    366397                continue _continue1;
    367398              }
    368               int _v_len___dollar_tmp_m_100_m_44 = (_v_len5 - _v_len6);
     399              int _v_len___dollar_tmp_m_107_m_44 = (_v_len5 - _v_len6);
    369400              if (_v_deref__deref__lsplit__Get2.isSymbolAt (0))
    370401              {
     
    379410              }
    380411              int _v_len__next = (_v_len7 - _v_len8);
    381               Expr _ve__dollar_tmp_m_100_m_58 = Expr.empty;
    382               _ve__dollar_tmp_m_100_m_58 = _v_lsplit__Get2.subexpr ((0 + 1), _v_len___dollar_tmp_m_100_m_58);
    383               Expr _vt__dollar_tmp_m_100_m_47 = Expr.empty;
    384               _vt__dollar_tmp_m_100_m_47 = _v_deref__lsplit__Get2.subexpr ((0 + 1), 1);
     412              Expr _ve__dollar_tmp_m_107_m_58 = Expr.empty;
     413              _ve__dollar_tmp_m_107_m_58 = _v_lsplit__Get2.subexpr ((0 + 1), _v_len___dollar_tmp_m_107_m_58);
     414              Expr _vt__dollar_tmp_m_107_m_47 = Expr.empty;
     415              _vt__dollar_tmp_m_107_m_47 = _v_deref__lsplit__Get2.subexpr ((0 + 1), 1);
    385416              Expr _ve_descr = Expr.empty;
    386417              _ve_descr = _v_deref__lsplit__Get2.subexpr ((0 + 1 + 1), _v_len__descr);
    387               Expr _ve__dollar_tmp_m_100_m_44 = Expr.empty;
    388               _ve__dollar_tmp_m_100_m_44 = _v_deref__deref__lsplit__Get2.subexpr ((0 + 1), _v_len___dollar_tmp_m_100_m_44);
     418              Expr _ve__dollar_tmp_m_107_m_44 = Expr.empty;
     419              _ve__dollar_tmp_m_107_m_44 = _v_deref__deref__lsplit__Get2.subexpr ((0 + 1), _v_len___dollar_tmp_m_107_m_44);
    389420              Expr _ve_next = Expr.empty;
    390421              _ve_next = _v_deref__deref__deref__lsplit__Get2.subexpr (0, _v_len__next);
     
    404435                    break _block4__branch1;
    405436                  }
    406                   int _v_len___dollar_tmp_m_103_m_36 = (_v_len9 - _v_len10);
     437                  int _v_len___dollar_tmp_m_110_m_36 = (_v_len9 - _v_len10);
    407438                  if (_ve_descr.isSymbolAt (0))
    408439                  {
     
    417448                  }
    418449                  int _v_len__arg = (_v_len11 - _v_len12);
    419                   Expr _ve__dollar_tmp_m_103_m_36 = Expr.empty;
    420                   _ve__dollar_tmp_m_103_m_36 = _ve_descr.subexpr ((0 + 1), _v_len___dollar_tmp_m_103_m_36);
     450                  Expr _ve__dollar_tmp_m_110_m_36 = Expr.empty;
     451                  _ve__dollar_tmp_m_110_m_36 = _ve_descr.subexpr ((0 + 1), _v_len___dollar_tmp_m_110_m_36);
    421452                  Expr _ve_arg = Expr.empty;
    422453                  _ve_arg = _v_deref__descr.subexpr (0, _v_len__arg);
     
    657688                  _exit5: _continue5: for ( ; ; _va_9.next ())
    658689                  {
    659                     Expr _ve__dollar_tmp_m_148_m_36 = _va_9.getLeft();
     690                    Expr _ve__dollar_tmp_m_155_m_36 = _va_9.getLeft();
    660691                    Expr _v_lsplit__RFP__Parser__Errors1 = _va_9.getRight();
    661692                    if (!_va_9.isValid ())
     
    669700                      break _block13__branch1;
    670701                    }
    671                     int _v_len___dollar_tmp_m_148_m_48 = (_v_len21 - _v_len22);
     702                    int _v_len___dollar_tmp_m_155_m_48 = (_v_len21 - _v_len22);
    672703                    if (_v_lsplit__RFP__Parser__Errors1.isSymbolAt (0))
    673704                    {
     
    682713                    }
    683714                    int _v_len__error = (_v_len23 - _v_len24);
    684                     Expr _ve__dollar_tmp_m_148_m_48 = Expr.empty;
    685                     _ve__dollar_tmp_m_148_m_48 = _v_lsplit__RFP__Parser__Errors1.subexpr ((0 + 1), _v_len___dollar_tmp_m_148_m_48);
     715                    Expr _ve__dollar_tmp_m_155_m_48 = Expr.empty;
     716                    _ve__dollar_tmp_m_155_m_48 = _v_lsplit__RFP__Parser__Errors1.subexpr ((0 + 1), _v_len___dollar_tmp_m_155_m_48);
    686717                    Expr _ve_error = Expr.empty;
    687718                    _ve_error = _v_deref__lsplit__RFP__Parser__Errors1.subexpr (0, _v_len__error);
     
    759790                        Expr _ve_efile = Expr.empty;
    760791                        _ve_efile = _v_deref__deref__error.subexpr (0, _v_len__efile);
    761                         Expr _vt__dollar_tmp_m_150_m_53 = Expr.empty;
    762                         _vt__dollar_tmp_m_150_m_53 = _v_deref__deref__error2.subexpr ((0 + 1), 1);
     792                        Expr _vt__dollar_tmp_m_157_m_53 = Expr.empty;
     793                        _vt__dollar_tmp_m_157_m_53 = _v_deref__deref__error2.subexpr ((0 + 1), 1);
    763794                        Expr _vs_row = Expr.empty;
    764795                        _vs_row = _v_deref__deref__deref__error2.subexpr (0, 1);
     
    856887                      Expr _ve_efile = Expr.empty;
    857888                      _ve_efile = _v_deref__deref__error3.subexpr (0, _v_len__efile2);
    858                       Expr _vt__dollar_tmp_m_153_m_55 = Expr.empty;
    859                       _vt__dollar_tmp_m_153_m_55 = _v_deref__deref__error32.subexpr ((0 + 1), 1);
     889                      Expr _vt__dollar_tmp_m_160_m_55 = Expr.empty;
     890                      _vt__dollar_tmp_m_160_m_55 = _v_deref__deref__error32.subexpr ((0 + 1), 1);
    860891                      Expr _vs_row = Expr.empty;
    861892                      _vs_row = _v_deref__deref__deref__error32.subexpr (0, 1);
     
    12391270                }
    12401271                Verbose (_c_62);
     1272                Result _ge_module__12 = new Result (Expr.empty);
     1273                rfp_asail_cpp.RFP_ASAIL_To_CPP (_gt_module__10, _ge_module__12);
     1274                Verbose (_c_63);
     1275                Result _vs_channel = new Result (Expr.empty);
     1276                Result _vs_Isneed__close = new Result (Expr.empty);
     1277                Open_Channel (_ve_basename, _c_64, _vs_channel, _vs_Isneed__close);
     1278                CPP_Pretty_Print (_c_60, _vs_channel.getExpr (), Expr.empty, _ge_module__12.getExpr ());
     1279                _block30: {
     1280                  _block30__branch1: {
     1281                    if (!_vs_Isneed__close.getExpr ().termEquals (_c_2, 0))
     1282                    {
     1283                      break _block30__branch1;
     1284                    }
     1285                    refal.plus.StdIO.CloseChannel (_vs_channel.getExpr ());
     1286                    break _block30;
     1287                  }
     1288                }
     1289              }
     1290              _block28__branch3: {
     1291                if (!refal.plus.Table.IsInTable (rfp_helper.RFP_Options, _c_65))
     1292                {
     1293                  break _block28__branch3;
     1294                }
     1295                Verbose (_c_66);
    12411296                Result _ve_javaModuleName = new Result (Expr.empty);
    12421297                Result _ge_module__12 = new Result (Expr.empty);
     
    12441299                Expr _vs_channel = Expr.empty;
    12451300                Expr _vs_Isneed__close = Expr.empty;
    1246                 _block30: {
    1247                   _block30__branch1: {
     1301                _block31: {
     1302                  _block31__branch1: {
    12481303                    if (!refal.plus.Class.IsChannel (_ve_basename))
    12491304                    {
    1250                       break _block30__branch1;
     1305                      break _block31__branch1;
    12511306                    }
    12521307                    Result _va_10 = new Result ();
    12531308                    Result _va_11 = new Result ();
    1254                     Open_Channel (_ve_basename, _c_63, _va_10, _va_11);
     1309                    Open_Channel (_ve_basename, _c_67, _va_10, _va_11);
    12551310                    _vs_channel = _va_10.getExpr ();
    12561311                    _vs_Isneed__close = _va_11.getExpr ();
    1257                     break _block30;
     1312                    break _block31;
    12581313                  }
    12591314                  Result _gt_auxcall12 = new Result (Expr.empty);
     
    12641319                  Result _va_12 = new Result ();
    12651320                  Result _va_13 = new Result ();
    1266                   Open_Channel (Expr.getConcatenator ().toRight (_ve_dirname).toRight (_vs_dir__separator).toRight (_gt_auxcall12.getExpr ()).yield (), _c_63, _va_12, _va_13);
     1321                  Open_Channel (Expr.getConcatenator ().toRight (_ve_dirname).toRight (_vs_dir__separator).toRight (_gt_auxcall12.getExpr ()).yield (), _c_67, _va_12, _va_13);
    12671322                  _vs_channel = _va_12.getExpr ();
    12681323                  _vs_Isneed__close = _va_13.getExpr ();
    12691324                }
    12701325                CPP_Pretty_Print (_c_60, _vs_channel, Expr.empty, _ge_module__12.getExpr ());
    1271                 _block31: {
    1272                   _block31__branch1: {
     1326                _block32: {
     1327                  _block32__branch1: {
    12731328                    if (!_vs_Isneed__close.termEquals (_c_2, 0))
    12741329                    {
    1275                       break _block31__branch1;
     1330                      break _block32__branch1;
    12761331                    }
    12771332                    refal.plus.StdIO.CloseChannel (_vs_channel);
    1278                     break _block31;
    1279                   }
    1280                 }
    1281                 Verbose (_c_64);
    1282               }
    1283               if (!refal.plus.Table.IsInTable (rfp_helper.RFP_Options, _c_65))
     1333                    break _block32;
     1334                  }
     1335                }
     1336                Verbose (_c_68);
     1337              }
     1338              if (!refal.plus.Table.IsInTable (rfp_helper.RFP_Options, _c_69))
    12841339              {
    12851340                continue _continue2;
    12861341              }
    1287               Verbose (_c_66);
    1288               _block32__branch1: {
     1342              Verbose (_c_70);
     1343              _block33__branch1: {
    12891344                Result _v_RFP__ASAIL__To__JBC1 = new Result (Expr.empty);
    12901345                rfp_asail_jbc.RFP_ASAIL_To_JBC (_gt_module__10, _v_RFP__ASAIL__To__JBC1);
    12911346                if (_v_RFP__ASAIL__To__JBC1.getExpr ().length () < 1)
    12921347                {
    1293                   break _block32__branch1;
     1348                  break _block33__branch1;
    12941349                }
    12951350                Expr.SplitIterator _va_14 = _v_RFP__ASAIL__To__JBC1.getExpr ().leftSplit(0);
    12961351                _exit6: _continue6: for ( ; ; _va_14.next ())
    12971352                {
    1298                   Expr _ve__dollar_tmp_m_285_m_48 = _va_14.getLeft();
     1353                  Expr _ve__dollar_tmp_m_292_m_48 = _va_14.getLeft();
    12991354                  Expr _v_lsplit__RFP__ASAIL__To__JBC1 = _va_14.getRight();
    13001355                  if (!_va_14.isValid ())
    13011356                  {
    1302                     break _block32__branch1;
     1357                    break _block33__branch1;
    13031358                  }
    13041359                  int _v_len39 = _v_lsplit__RFP__ASAIL__To__JBC1.length ();
     
    13061361                  if (_v_len39 < _v_len40)
    13071362                  {
    1308                     break _block32__branch1;
    1309                   }
    1310                   int _v_len___dollar_tmp_m_285_m_80 = (_v_len39 - _v_len40);
     1363                    break _block33__branch1;
     1364                  }
     1365                  int _v_len___dollar_tmp_m_292_m_80 = (_v_len39 - _v_len40);
    13111366                  if (_v_lsplit__RFP__ASAIL__To__JBC1.isSymbolAt (0))
    13121367                  {
     
    13251380                    continue _continue6;
    13261381                  }
    1327                   Expr _ve__dollar_tmp_m_285_m_80 = Expr.empty;
    1328                   _ve__dollar_tmp_m_285_m_80 = _v_lsplit__RFP__ASAIL__To__JBC1.subexpr ((0 + 1), _v_len___dollar_tmp_m_285_m_80);
     1382                  Expr _ve__dollar_tmp_m_292_m_80 = Expr.empty;
     1383                  _ve__dollar_tmp_m_292_m_80 = _v_lsplit__RFP__ASAIL__To__JBC1.subexpr ((0 + 1), _v_len___dollar_tmp_m_292_m_80);
    13291384                  Expr _vs_bytecode = Expr.empty;
    13301385                  _vs_bytecode = _v_deref__lsplit__RFP__ASAIL__To__JBC1.subexpr (0, 1);
     
    13371392                  }
    13381393                  Result _gs_auxcall14 = new Result (Expr.empty);
    1339                   refal.plus.Convert.ToWord (Expr.getConcatenator ().toRight (_ve_dirname).toRight (_vs_dir__separator).toRight (_gt_auxcall13.getExpr ()).toRight (_c_67).yield (), _gs_auxcall14);
     1394                  refal.plus.Convert.ToWord (Expr.getConcatenator ().toRight (_ve_dirname).toRight (_vs_dir__separator).toRight (_gt_auxcall13.getExpr ()).toRight (_c_71).yield (), _gs_auxcall14);
    13401395                  Result _vs_stream = new Result (Expr.empty);
    1341                   org.refal.plus.wrappers.java.io.FileOutputStream.FileOutputStream (_gs_auxcall14.getExpr (), _vs_stream);
    1342                   org.refal.plus.wrappers.java.io.FileOutputStream.WriteToStream (_vs_stream.getExpr (), _vs_bytecode);
    1343                   org.refal.plus.wrappers.java.io.FileOutputStream.CloseStream (_vs_stream.getExpr ());
    1344                 }
    1345               }
    1346               Verbose (_c_68);
     1396                  FileOutputStream (_gs_auxcall14.getExpr (), _vs_stream);
     1397                  WriteToStream (_vs_stream.getExpr (), _vs_bytecode);
     1398                  CloseStream (_vs_stream.getExpr ());
     1399                }
     1400              }
     1401              Verbose (_c_72);
    13471402              continue _continue2;
    13481403            }
     
    13661421  static  void Init_Options () throws RefalException
    13671422  {
    1368     refal.plus.Box.Store (Options, _c_69);
     1423    refal.plus.Box.Store (Options, _c_73);
    13691424  }
    13701425
     
    13751430    refal.plus.Box.Box (Expr.empty, _vs_line);
    13761431    Expr _ve_start1 = _c_12;
    1377     Expr _vs_2nd__col = _c_70;
     1432    Expr _vs_2nd__col = _c_74;
    13781433    Result _ve_start2 = new Result (Expr.empty);
    13791434    refal.plus.List.Replicate (_vs_2nd__col, _c_12, _ve_start2);
    13801435    Result _ge_auxcall1 = new Result (Expr.empty);
    13811436    Version (_ge_auxcall1);
    1382     refal.plus.StdIO.PrintLn (Expr.concat (_c_71, _ge_auxcall1.getExpr ()));
    1383     refal.plus.StdIO.PrintLn (_c_72);
     1437    refal.plus.StdIO.PrintLn (Expr.concat (_c_75, _ge_auxcall1.getExpr ()));
     1438    refal.plus.StdIO.PrintLn (_c_76);
    13841439    refal.plus.StdIO.PrintLn (Expr.empty);
    1385     refal.plus.StdIO.PrintLn (_c_73);
    1386     refal.plus.StdIO.PrintLn (_c_74);
     1440    refal.plus.StdIO.PrintLn (_c_77);
     1441    refal.plus.StdIO.PrintLn (_c_78);
    13871442    _block1__branch1: {
    13881443      Result _v_Get1 = new Result (Expr.empty);
     
    13951450      _exit1: _continue1: for ( ; ; _va_15.next ())
    13961451      {
    1397         Expr _ve__dollar_tmp_m_364_m_23 = _va_15.getLeft();
     1452        Expr _ve__dollar_tmp_m_371_m_23 = _va_15.getLeft();
    13981453        Expr _v_lsplit__Get1 = _va_15.getRight();
    13991454        if (!_va_15.isValid ())
     
    14071462          break _block1__branch1;
    14081463        }
    1409         int _v_len___dollar_tmp_m_364_m_53 = (_v_len1 - _v_len2);
     1464        int _v_len___dollar_tmp_m_371_m_53 = (_v_len1 - _v_len2);
    14101465        if (_v_lsplit__Get1.isSymbolAt (0))
    14111466        {
     
    14441499        }
    14451500        int _v_len__op = (_v_len7 - _v_len8);
    1446         Expr _ve__dollar_tmp_m_364_m_53 = Expr.empty;
    1447         _ve__dollar_tmp_m_364_m_53 = _v_lsplit__Get1.subexpr ((0 + 1), _v_len___dollar_tmp_m_364_m_53);
    1448         Expr _vt__dollar_tmp_m_364_m_42 = Expr.empty;
    1449         _vt__dollar_tmp_m_364_m_42 = _v_deref__lsplit__Get1.subexpr ((0 + 1), 1);
     1501        Expr _ve__dollar_tmp_m_371_m_53 = Expr.empty;
     1502        _ve__dollar_tmp_m_371_m_53 = _v_lsplit__Get1.subexpr ((0 + 1), _v_len___dollar_tmp_m_371_m_53);
     1503        Expr _vt__dollar_tmp_m_371_m_42 = Expr.empty;
     1504        _vt__dollar_tmp_m_371_m_42 = _v_deref__lsplit__Get1.subexpr ((0 + 1), 1);
    14501505        Expr _ve_descr = Expr.empty;
    14511506        _ve_descr = _v_deref__lsplit__Get1.subexpr ((0 + 1 + 1), _v_len__descr);
     
    14541509        Expr _ve_op = Expr.empty;
    14551510        _ve_op = _v_deref__deref__deref__lsplit__Get1.subexpr (0, _v_len__op);
    1456         refal.plus.Box.Store (_vs_line.getExpr (), Expr.getConcatenator ().toRight (_ve_start1).toRight (_c_75).toRight (_ve_op).yield ());
     1511        refal.plus.Box.Store (_vs_line.getExpr (), Expr.getConcatenator ().toRight (_ve_start1).toRight (_c_79).toRight (_ve_op).yield ());
    14571512        _block2__branch1: {
    14581513          if (_v_len__opts < 1)
     
    14631518          _exit2: _continue2: for ( ; ; _va_16.next ())
    14641519          {
    1465             Expr _ve__dollar_tmp_m_367_m_19 = _va_16.getLeft();
     1520            Expr _ve__dollar_tmp_m_374_m_19 = _va_16.getLeft();
    14661521            Expr _v_lsplit__opts = _va_16.getRight();
    14671522            if (!_va_16.isValid ())
     
    14751530              break _block2__branch1;
    14761531            }
    1477             int _v_len___dollar_tmp_m_367_m_30 = (_v_len9 - _v_len10);
     1532            int _v_len___dollar_tmp_m_374_m_30 = (_v_len9 - _v_len10);
    14781533            if (_v_lsplit__opts.isSymbolAt (0))
    14791534            {
     
    14881543            }
    14891544            int _v_len__next = (_v_len11 - _v_len12);
    1490             Expr _ve__dollar_tmp_m_367_m_30 = Expr.empty;
    1491             _ve__dollar_tmp_m_367_m_30 = _v_lsplit__opts.subexpr ((0 + 1), _v_len___dollar_tmp_m_367_m_30);
     1545            Expr _ve__dollar_tmp_m_374_m_30 = Expr.empty;
     1546            _ve__dollar_tmp_m_374_m_30 = _v_lsplit__opts.subexpr ((0 + 1), _v_len___dollar_tmp_m_374_m_30);
    14921547            Expr _ve_next = Expr.empty;
    14931548            _ve_next = _v_deref__lsplit__opts.subexpr (0, _v_len__next);
    1494             refal.plus.Box.Put (_vs_line.getExpr (), Expr.concat (_c_76, _ve_next));
     1549            refal.plus.Box.Put (_vs_line.getExpr (), Expr.concat (_c_80, _ve_next));
    14951550          }
    14961551        }
     
    15291584              _exit3: _continue3: for ( ; ; _va_17.next ())
    15301585              {
    1531                 Expr _ve__dollar_tmp_m_374_m_25 = _va_17.getLeft();
     1586                Expr _ve__dollar_tmp_m_381_m_25 = _va_17.getLeft();
    15321587                Expr _v_lsplit__params = _va_17.getRight();
    15331588                if (!_va_17.isValid ())
     
    15411596                  break _block4__branch1;
    15421597                }
    1543                 int _v_len___dollar_tmp_m_374_m_33 = (_v_len17 - _v_len18);
     1598                int _v_len___dollar_tmp_m_381_m_33 = (_v_len17 - _v_len18);
    15441599                if (!_v_lsplit__params.isSymbolAt (0))
    15451600                {
     
    15481603                Expr _vs_par = Expr.empty;
    15491604                _vs_par = _v_lsplit__params.subexpr (0, 1);
    1550                 Expr _ve__dollar_tmp_m_374_m_33 = Expr.empty;
    1551                 _ve__dollar_tmp_m_374_m_33 = _v_lsplit__params.subexpr ((0 + 1), _v_len___dollar_tmp_m_374_m_33);
     1605                Expr _ve__dollar_tmp_m_381_m_33 = Expr.empty;
     1606                _ve__dollar_tmp_m_381_m_33 = _v_lsplit__params.subexpr ((0 + 1), _v_len___dollar_tmp_m_381_m_33);
    15521607                Result _ge_auxcall2 = new Result (Expr.empty);
    15531608                refal.plus.Convert.ToChars (_vs_par, _ge_auxcall2);
    1554                 refal.plus.Box.Put (_vs_line.getExpr (), Expr.getConcatenator ().toRight (_c_8).toRight (_ge_auxcall2.getExpr ()).toRight (_c_77).yield ());
     1609                refal.plus.Box.Put (_vs_line.getExpr (), Expr.getConcatenator ().toRight (_c_8).toRight (_ge_auxcall2.getExpr ()).toRight (_c_81).yield ());
    15551610              }
    15561611            }
     
    15671622            break _block5__branch1;
    15681623          }
    1569           int _v_len___dollar_tmp_m_381_m_19 = (_v_len19 - _v_len20);
     1624          int _v_len___dollar_tmp_m_388_m_19 = (_v_len19 - _v_len20);
    15701625          if (!_ge_auxalt3.isSymbolAt (0))
    15711626          {
     
    15741629          Expr _vs_phrase = Expr.empty;
    15751630          _vs_phrase = _ge_auxalt3.subexpr (0, 1);
    1576           Expr _ve__dollar_tmp_m_381_m_19 = Expr.empty;
    1577           _ve__dollar_tmp_m_381_m_19 = _ge_auxalt3.subexpr ((0 + 1), _v_len___dollar_tmp_m_381_m_19);
     1631          Expr _ve__dollar_tmp_m_388_m_19 = Expr.empty;
     1632          _ve__dollar_tmp_m_388_m_19 = _ge_auxalt3.subexpr ((0 + 1), _v_len___dollar_tmp_m_388_m_19);
    15781633          Result _ge_auxcall4 = new Result (Expr.empty);
    15791634          refal.plus.Box.Get (_vs_line.getExpr (), _ge_auxcall4);
     
    15951650        _exit4: _continue4: for ( ; ; _va_18.next ())
    15961651        {
    1597           Expr _ve__dollar_tmp_m_388_m_10 = _va_18.getLeft();
     1652          Expr _ve__dollar_tmp_m_395_m_10 = _va_18.getLeft();
    15981653          Expr _v_lsplit__auxalt3 = _va_18.getRight();
    15991654          if (!_va_18.isValid ())
     
    16071662            continue _continue1;
    16081663          }
    1609           int _v_len___dollar_tmp_m_388_m_23 = (_v_len21 - _v_len22);
     1664          int _v_len___dollar_tmp_m_395_m_23 = (_v_len21 - _v_len22);
    16101665          if (!_v_lsplit__auxalt3.isSymbolAt (0))
    16111666          {
     
    16161671            continue _continue4;
    16171672          }
    1618           Expr _vs__dollar_tmp_m_388_m_12 = Expr.empty;
    1619           _vs__dollar_tmp_m_388_m_12 = _v_lsplit__auxalt3.subexpr (0, 1);
     1673          Expr _vs__dollar_tmp_m_395_m_12 = Expr.empty;
     1674          _vs__dollar_tmp_m_395_m_12 = _v_lsplit__auxalt3.subexpr (0, 1);
    16201675          Expr _vs_phrase = Expr.empty;
    16211676          _vs_phrase = _v_lsplit__auxalt3.subexpr ((0 + 1), 1);
    1622           Expr _ve__dollar_tmp_m_388_m_23 = Expr.empty;
    1623           _ve__dollar_tmp_m_388_m_23 = _v_lsplit__auxalt3.subexpr ((0 + 1 + 1), _v_len___dollar_tmp_m_388_m_23);
     1677          Expr _ve__dollar_tmp_m_395_m_23 = Expr.empty;
     1678          _ve__dollar_tmp_m_395_m_23 = _v_lsplit__auxalt3.subexpr ((0 + 1 + 1), _v_len___dollar_tmp_m_395_m_23);
    16241679          refal.plus.StdIO.PrintLn (Expr.concat (_ve_start2.getExpr (), _vs_phrase));
    16251680        }
     
    16541709              break _block2__branch1;
    16551710            }
    1656             int _v_len___dollar_tmp_m_398_m_20 = (_v_len3 - _v_len4);
    1657             Expr _vv__dollar_tmp_m_398_m_20 = Expr.empty;
    1658             _vv__dollar_tmp_m_398_m_20 = _ve_prevarg.subexpr (0, _v_len___dollar_tmp_m_398_m_20);
     1711            int _v_len___dollar_tmp_m_405_m_20 = (_v_len3 - _v_len4);
     1712            Expr _vv__dollar_tmp_m_405_m_20 = Expr.empty;
     1713            _vv__dollar_tmp_m_405_m_20 = _ve_prevarg.subexpr (0, _v_len___dollar_tmp_m_405_m_20);
    16591714            Expr _ge_prevarg__5 = Expr.empty;
    16601715            _block3: {
     
    16641719                  break _block3__branch1;
    16651720                }
    1666                 if (!_c_78.termEquals (_ve_prevarg, 0))
     1721                if (!_c_82.termEquals (_ve_prevarg, 0))
    16671722                {
    16681723                  break _block3__branch1;
     
    16791734                  break _block3__branch2;
    16801735                }
    1681                 if (!_c_79.termEquals (_ve_prevarg, 0))
     1736                if (!_c_83.termEquals (_ve_prevarg, 0))
    16821737                {
    16831738                  break _block3__branch2;
     
    16941749                  break _block3__branch3;
    16951750                }
    1696                 if (!_c_80.termEquals (_ve_prevarg, 0))
     1751                if (!_c_84.termEquals (_ve_prevarg, 0))
    16971752                {
    16981753                  break _block3__branch3;
     
    17021757                  _block4__branch1: {
    17031758                    Result _va_19 = new Result ();
    1704                     if (!refal.plus.Table.Lookup (rfp_helper.RFP_Options, _c_81, _va_19))
     1759                    if (!refal.plus.Table.Lookup (rfp_helper.RFP_Options, _c_85, _va_19))
    17051760                    {
    17061761                      break _block4__branch1;
     
    17131768                Result _ge_auxcall3 = new Result (Expr.empty);
    17141769                rfp_helper.Make_Name (_vv_arg, _ge_auxcall3);
    1715                 refal.plus.Table.Bind (rfp_helper.RFP_Options, _c_81, Expr.concat (_ve_items, (Comparable<?>) _ge_auxcall3.getExpr ()));
     1770                refal.plus.Table.Bind (rfp_helper.RFP_Options, _c_85, Expr.concat (_ve_items, (Comparable<?>) _ge_auxcall3.getExpr ()));
    17161771                _ge_prevarg__5 = Expr.empty;
    17171772                break _block3;
     
    17221777                  break _block3__branch4;
    17231778                }
    1724                 if (!_c_82.termEquals (_ve_prevarg, 0))
     1779                if (!_c_86.termEquals (_ve_prevarg, 0))
    17251780                {
    17261781                  break _block3__branch4;
     
    17301785                  _block5__branch1: {
    17311786                    Result _va_20 = new Result ();
    1732                     if (!refal.plus.Table.Lookup (rfp_helper.RFP_Options, _c_83, _va_20))
     1787                    if (!refal.plus.Table.Lookup (rfp_helper.RFP_Options, _c_87, _va_20))
    17331788                    {
    17341789                      break _block5__branch1;
     
    17411796                Result _ge_auxcall4 = new Result (Expr.empty);
    17421797                rfp_helper.Make_Name (_vv_arg, _ge_auxcall4);
    1743                 refal.plus.Table.Bind (rfp_helper.RFP_Options, _c_83, Expr.concat (_ve_entries, (Comparable<?>) _ge_auxcall4.getExpr ()));
     1798                refal.plus.Table.Bind (rfp_helper.RFP_Options, _c_87, Expr.concat (_ve_entries, (Comparable<?>) _ge_auxcall4.getExpr ()));
    17441799                _ge_prevarg__5 = Expr.empty;
    17451800                break _block3;
     
    17501805                  break _block3__branch5;
    17511806                }
    1752                 if (!_c_84.termEquals (_ve_prevarg, 0))
     1807                if (!_c_88.termEquals (_ve_prevarg, 0))
    17531808                {
    17541809                  break _block3__branch5;
     
    17761831                      break _block6__branch1;
    17771832                    }
    1778                     if (!_c_75.termEquals (_vv_arg, 0))
     1833                    if (!_c_79.termEquals (_vv_arg, 0))
    17791834                    {
    17801835                      break _block6__branch1;
     
    17941849                  break _block3__branch7;
    17951850                }
    1796                 if (!_c_85.termEquals (_ve_prevarg, 0))
     1851                if (!_c_89.termEquals (_ve_prevarg, 0))
    17971852                {
    17981853                  break _block3__branch7;
    17991854                }
    1800                 refal.plus.Table.Bind (rfp_helper.RFP_Options, _c_85, _vv_arg);
     1855                refal.plus.Table.Bind (rfp_helper.RFP_Options, _c_89, _vv_arg);
    18011856                _ge_prevarg__5 = Expr.empty;
    18021857                break _block3;
     
    18071862                  break _block3__branch8;
    18081863                }
    1809                 if (!_c_86.termEquals (_ve_prevarg, 0))
     1864                if (!_c_90.termEquals (_ve_prevarg, 0))
    18101865                {
    18111866                  break _block3__branch8;
    18121867                }
    1813                 refal.plus.Table.Bind (rfp_helper.RFP_Options, _c_86, _vv_arg);
     1868                refal.plus.Table.Bind (rfp_helper.RFP_Options, _c_90, _vv_arg);
    18141869                _ge_prevarg__5 = Expr.empty;
    18151870                break _block3;
     
    18201875                  break _block3__branch9;
    18211876                }
    1822                 if (!_c_87.termEquals (_ve_prevarg, 0))
     1877                if (!_c_91.termEquals (_ve_prevarg, 0))
    18231878                {
    18241879                  break _block3__branch9;
    18251880                }
    1826                 _ge_prevarg__5 = Expr.concat (_c_88, _vv_arg);
     1881                _ge_prevarg__5 = Expr.concat (_c_92, _vv_arg);
    18271882                break _block3;
    18281883              }
     
    18341889              }
    18351890              int _v_len__mod1 = (_v_len5 - _v_len6);
    1836               if (!_c_88.termEquals (_ve_prevarg, 0))
     1891              if (!_c_92.termEquals (_ve_prevarg, 0))
    18371892              {
    18381893                throw new RefalException ("org.refal.plus.compiler.rfpc", "Parse_Args", "Unexpected fail");
     
    18541909            }
    18551910            int _v_len__opt = (_v_len7 - _v_len8);
    1856             if (!_c_75.termEquals (_vv_arg, 0))
     1911            if (!_c_79.termEquals (_vv_arg, 0))
    18571912            {
    18581913              break _block2__branch2;
     
    18741929                    _exit1: _continue1: for ( ; ; _va_21.next ())
    18751930                    {
    1876                       Expr _ve__dollar_tmp_m_436_m_31 = _va_21.getLeft();
     1931                      Expr _ve__dollar_tmp_m_443_m_31 = _va_21.getLeft();
    18771932                      Expr _v_lsplit__Get1 = _va_21.getRight();
    18781933                      if (!_va_21.isValid ())
     
    18861941                        break _block8__branch1;
    18871942                      }
    1888                       int _v_len___dollar_tmp_m_436_m_60 = (_v_len9 - _v_len10);
     1943                      int _v_len___dollar_tmp_m_443_m_60 = (_v_len9 - _v_len10);
    18891944                      if (_v_lsplit__Get1.isSymbolAt (0))
    18901945                      {
     
    18981953                        continue _continue1;
    18991954                      }
    1900                       int _v_len___dollar_tmp_m_436_m_57 = (_v_len11 - _v_len12);
     1955                      int _v_len___dollar_tmp_m_443_m_57 = (_v_len11 - _v_len12);
    19011956                      if (_v_deref__lsplit__Get1.isSymbolAt (0))
    19021957                      {
     
    19081963                        continue _continue1;
    19091964                      }
    1910                       Expr _ve__dollar_tmp_m_436_m_60 = Expr.empty;
    1911                       _ve__dollar_tmp_m_436_m_60 = _v_lsplit__Get1.subexpr ((0 + 1), _v_len___dollar_tmp_m_436_m_60);
     1965                      Expr _ve__dollar_tmp_m_443_m_60 = Expr.empty;
     1966                      _ve__dollar_tmp_m_443_m_60 = _v_lsplit__Get1.subexpr ((0 + 1), _v_len___dollar_tmp_m_443_m_60);
    19121967                      Expr _vt_action = Expr.empty;
    19131968                      _vt_action = _v_deref__lsplit__Get1.subexpr ((0 + 1), 1);
    1914                       Expr _ve__dollar_tmp_m_436_m_57 = Expr.empty;
    1915                       _ve__dollar_tmp_m_436_m_57 = _v_deref__lsplit__Get1.subexpr ((0 + 1 + 1), _v_len___dollar_tmp_m_436_m_57);
     1969                      Expr _ve__dollar_tmp_m_443_m_57 = Expr.empty;
     1970                      _ve__dollar_tmp_m_443_m_57 = _v_deref__lsplit__Get1.subexpr ((0 + 1 + 1), _v_len___dollar_tmp_m_443_m_57);
    19161971                      Expr.SplitIterator _va_22 = _v_deref__deref__lsplit__Get1.leftSplit(0);
    19171972                      _exit2: _continue2: for ( ; ; _va_22.next ())
    19181973                      {
    1919                         Expr _ve__dollar_tmp_m_436_m_35 = _va_22.getLeft();
     1974                        Expr _ve__dollar_tmp_m_443_m_35 = _va_22.getLeft();
    19201975                        Expr _v_lsplit__deref__deref__lsplit__Get1 = _va_22.getRight();
    19211976                        if (!_va_22.isValid ())
     
    19291984                          continue _continue1;
    19301985                        }
    1931                         int _v_len___dollar_tmp_m_436_m_45 = (_v_len13 - _v_len14);
     1986                        int _v_len___dollar_tmp_m_443_m_45 = (_v_len13 - _v_len14);
    19321987                        if (_v_lsplit__deref__deref__lsplit__Get1.isSymbolAt (0))
    19331988                        {
     
    19431998                          continue _continue2;
    19441999                        }
    1945                         Expr _ve__dollar_tmp_m_436_m_45 = Expr.empty;
    1946                         _ve__dollar_tmp_m_436_m_45 = _v_lsplit__deref__deref__lsplit__Get1.subexpr ((0 + 1), _v_len___dollar_tmp_m_436_m_45);
     2000                        Expr _ve__dollar_tmp_m_443_m_45 = Expr.empty;
     2001                        _ve__dollar_tmp_m_443_m_45 = _v_lsplit__deref__deref__lsplit__Get1.subexpr ((0 + 1), _v_len___dollar_tmp_m_443_m_45);
    19472002                        _gt_auxalt6 = _vt_action;
    19482003                        break _exit2;
     
    19592014                  }
    19602015                  int _v_len__o = (_v_len15 - _v_len16);
    1961                   if (!_c_75.termEquals (_ve_opt, 0))
     2016                  if (!_c_79.termEquals (_ve_opt, 0))
    19622017                  {
    19632018                    break _block7__branch1;
     
    19742029                  _exit3: _continue3: for ( ; ; _va_23.next ())
    19752030                  {
    1976                     Expr _ve__dollar_tmp_m_438_m_33 = _va_23.getLeft();
     2031                    Expr _ve__dollar_tmp_m_445_m_33 = _va_23.getLeft();
    19772032                    Expr _v_lsplit__Get2 = _va_23.getRight();
    19782033                    if (!_va_23.isValid ())
     
    19862041                      break _block7__branch1;
    19872042                    }
    1988                     int _v_len___dollar_tmp_m_438_m_60 = (_v_len17 - _v_len18);
     2043                    int _v_len___dollar_tmp_m_445_m_60 = (_v_len17 - _v_len18);
    19892044                    if (_v_lsplit__Get2.isSymbolAt (0))
    19902045                    {
     
    19982053                      continue _continue3;
    19992054                    }
    2000                     int _v_len___dollar_tmp_m_438_m_57 = (_v_len19 - _v_len20);
     2055                    int _v_len___dollar_tmp_m_445_m_57 = (_v_len19 - _v_len20);
    20012056                    if (_v_deref__lsplit__Get2.isSymbolAt (0))
    20022057                    {
     
    20082063                      continue _continue3;
    20092064                    }
    2010                     Expr _ve__dollar_tmp_m_438_m_60 = Expr.empty;
    2011                     _ve__dollar_tmp_m_438_m_60 = _v_lsplit__Get2.subexpr ((0 + 1), _v_len___dollar_tmp_m_438_m_60);
     2065                    Expr _ve__dollar_tmp_m_445_m_60 = Expr.empty;
     2066                    _ve__dollar_tmp_m_445_m_60 = _v_lsplit__Get2.subexpr ((0 + 1), _v_len___dollar_tmp_m_445_m_60);
    20122067                    Expr _vt_action = Expr.empty;
    20132068                    _vt_action = _v_deref__lsplit__Get2.subexpr ((0 + 1), 1);
    2014                     Expr _ve__dollar_tmp_m_438_m_57 = Expr.empty;
    2015                     _ve__dollar_tmp_m_438_m_57 = _v_deref__lsplit__Get2.subexpr ((0 + 1 + 1), _v_len___dollar_tmp_m_438_m_57);
     2069                    Expr _ve__dollar_tmp_m_445_m_57 = Expr.empty;
     2070                    _ve__dollar_tmp_m_445_m_57 = _v_deref__lsplit__Get2.subexpr ((0 + 1 + 1), _v_len___dollar_tmp_m_445_m_57);
    20162071                    Expr.SplitIterator _va_24 = _v_deref__deref__lsplit__Get2.leftSplit(0);
    20172072                    _exit4: _continue4: for ( ; ; _va_24.next ())
    20182073                    {
    2019                       Expr _ve__dollar_tmp_m_438_m_37 = _va_24.getLeft();
     2074                      Expr _ve__dollar_tmp_m_445_m_37 = _va_24.getLeft();
    20202075                      Expr _v_lsplit__deref__deref__lsplit__Get2 = _va_24.getRight();
    20212076                      if (!_va_24.isValid ())
     
    20292084                        continue _continue3;
    20302085                      }
    2031                       int _v_len___dollar_tmp_m_438_m_45 = (_v_len21 - _v_len22);
     2086                      int _v_len___dollar_tmp_m_445_m_45 = (_v_len21 - _v_len22);
    20322087                      if (_v_lsplit__deref__deref__lsplit__Get2.isSymbolAt (0))
    20332088                      {
     
    20432098                        continue _continue4;
    20442099                      }
    2045                       Expr _ve__dollar_tmp_m_438_m_45 = Expr.empty;
    2046                       _ve__dollar_tmp_m_438_m_45 = _v_lsplit__deref__deref__lsplit__Get2.subexpr ((0 + 1), _v_len___dollar_tmp_m_438_m_45);
     2100                      Expr _ve__dollar_tmp_m_445_m_45 = Expr.empty;
     2101                      _ve__dollar_tmp_m_445_m_45 = _v_lsplit__deref__deref__lsplit__Get2.subexpr ((0 + 1), _v_len___dollar_tmp_m_445_m_45);
    20472102                      _gt_auxalt6 = _vt_action;
    20482103                      break _exit4;
     
    20632118                      break _block9__branch1;
    20642119                    }
    2065                     if (!_c_89.termEquals (_v_deref__auxalt6, 0))
     2120                    if (!_c_93.termEquals (_v_deref__auxalt6, 0))
    20662121                    {
    20672122                      break _block9__branch1;
     
    20982153                break _block7;
    20992154              }
    2100               refal.plus.StdIO.PrintLnCh (refal.plus.StdIO.StdErr, Expr.getConcatenator ().toRight (_c_91).toRight (_ve_opt).toRight (_c_90).yield ());
     2155              refal.plus.StdIO.PrintLnCh (refal.plus.StdIO.StdErr, Expr.getConcatenator ().toRight (_c_95).toRight (_ve_opt).toRight (_c_94).yield ());
    21012156              Parse_Args (_ve_files, Expr.empty, _gs_index__2.getExpr (), _v_res1);
    21022157            }
     
    21142169          break _block1__branch2;
    21152170        }
    2116         int _v_len___dollar_tmp_m_450_m_16 = (_v_len23 - _v_len24);
    2117         Expr _vv__dollar_tmp_m_450_m_16 = Expr.empty;
    2118         _vv__dollar_tmp_m_450_m_16 = _ve_prevarg.subexpr (0, _v_len___dollar_tmp_m_450_m_16);
    2119         refal.plus.StdIO.PrintLnCh (refal.plus.StdIO.StdErr, _c_92);
     2171        int _v_len___dollar_tmp_m_457_m_16 = (_v_len23 - _v_len24);
     2172        Expr _vv__dollar_tmp_m_457_m_16 = Expr.empty;
     2173        _vv__dollar_tmp_m_457_m_16 = _ve_prevarg.subexpr (0, _v_len___dollar_tmp_m_457_m_16);
     2174        refal.plus.StdIO.PrintLnCh (refal.plus.StdIO.StdErr, _c_96);
    21202175        refal.plus.Dos.Exit (_c_2);
    21212176        _v_res1.assign (Expr.empty);
     
    21242179      _block10: {
    21252180        _block10__branch1: {
    2126           if (!refal.plus.List.Any (_c_44, rfp_helper.RFP_Options, _c_93))
     2181          if (!refal.plus.List.Any (_c_44, rfp_helper.RFP_Options, _c_97))
    21272182          {
    21282183            break _block10__branch1;
     
    21312186        }
    21322187        refal.plus.Table.Bind (rfp_helper.RFP_Options, _c_56, Expr.empty);
    2133         refal.plus.Table.Bind (rfp_helper.RFP_Options, _c_94, Expr.empty);
     2188        refal.plus.Table.Bind (rfp_helper.RFP_Options, _c_98, Expr.empty);
    21342189      }
    21352190      _v_res1.assign (_ve_files);
     
    21452200    refal.plus.Box.Get (RFP_Boot_Path, _ge_auxcall2);
    21462201    Result _ge_auxcall3 = new Result (Expr.empty);
    2147     if (!refal.plus.List.MapIn (_c_95, new Expr ((Comparable<?>) _ge_auxcall1.getExpr ()), Expr.concat (_ge_auxcall2.getExpr (), RFP_Default_Boot_Path), _ge_auxcall3))
     2202    if (!refal.plus.List.MapIn (_c_99, new Expr ((Comparable<?>) _ge_auxcall1.getExpr ()), Expr.concat (_ge_auxcall2.getExpr (), RFP_Default_Boot_Path), _ge_auxcall3))
    21482203    {
    21492204      throw new RefalException ("org.refal.plus.compiler.rfpc", "Set_Path", "Unexpected fail");
     
    21552210    refal.plus.Box.Get (RFP_Include_Path, _ge_auxcall5);
    21562211    Result _ge_auxcall6 = new Result (Expr.empty);
    2157     if (!refal.plus.List.MapIn (_c_95, new Expr ((Comparable<?>) _ge_auxcall4.getExpr ()), _ge_auxcall5.getExpr (), _ge_auxcall6))
     2212    if (!refal.plus.List.MapIn (_c_99, new Expr ((Comparable<?>) _ge_auxcall4.getExpr ()), _ge_auxcall5.getExpr (), _ge_auxcall6))
    21582213    {
    21592214      throw new RefalException ("org.refal.plus.compiler.rfpc", "Set_Path", "Unexpected fail");
     
    21772232      _exit1: _continue1: for ( ; ; _va_25.next ())
    21782233      {
    2179         Expr _ve__dollar_tmp_m_470_m_16 = _va_25.getLeft();
     2234        Expr _ve__dollar_tmp_m_477_m_16 = _va_25.getLeft();
    21802235        Expr _v_lsplit__Items = _va_25.getRight();
    21812236        if (!_va_25.isValid ())
     
    21892244          break _block1__branch1;
    21902245        }
    2191         int _v_len___dollar_tmp_m_470_m_25 = (_v_len1 - _v_len2);
     2246        int _v_len___dollar_tmp_m_477_m_25 = (_v_len1 - _v_len2);
    21922247        Expr _vt_Item = Expr.empty;
    21932248        _vt_Item = _v_lsplit__Items.subexpr (0, 1);
    2194         Expr _ve__dollar_tmp_m_470_m_25 = Expr.empty;
    2195         _ve__dollar_tmp_m_470_m_25 = _v_lsplit__Items.subexpr ((0 + 1), _v_len___dollar_tmp_m_470_m_25);
     2249        Expr _ve__dollar_tmp_m_477_m_25 = Expr.empty;
     2250        _ve__dollar_tmp_m_477_m_25 = _v_lsplit__Items.subexpr ((0 + 1), _v_len___dollar_tmp_m_477_m_25);
    21962251        _block2: {
    21972252          _block2__branch1: {
     
    22222277                  break _block3__branch1;
    22232278                }
    2224                 int _v_len___dollar_tmp_m_472_m_51 = (_v_len5 - _v_len6);
     2279                int _v_len___dollar_tmp_m_479_m_51 = (_v_len5 - _v_len6);
    22252280                if (_v_deref__deref__Item.isSymbolAt ((0 + 1)))
    22262281                {
     
    22342289                  break _block3__branch1;
    22352290                }
    2236                 int _v_len___dollar_tmp_m_472_m_48 = (_v_len7 - _v_len8);
    2237                 if (!_c_97.termEquals (_v_deref__Item, 0))
     2291                int _v_len___dollar_tmp_m_479_m_48 = (_v_len7 - _v_len8);
     2292                if (!_c_101.termEquals (_v_deref__Item, 0))
    22382293                {
    22392294                  break _block3__branch1;
     
    22472302                  break _block3__branch1;
    22482303                }
    2249                 if (!_c_96.termEquals (_v_deref__deref__Item, 0))
     2304                if (!_c_100.termEquals (_v_deref__deref__Item, 0))
    22502305                {
    22512306                  break _block3__branch1;
     
    22592314                Expr _ve_ItemBody = Expr.empty;
    22602315                _ve_ItemBody = _v_deref__Item.subexpr ((0 + 1 + 1 + 1 + 1 + 1), _v_len__ItemBody);
    2261                 Expr _ve__dollar_tmp_m_472_m_51 = Expr.empty;
    2262                 _ve__dollar_tmp_m_472_m_51 = _v_deref__deref__Item.subexpr ((0 + 1 + 1), _v_len___dollar_tmp_m_472_m_51);
    2263                 Expr _ve__dollar_tmp_m_472_m_48 = Expr.empty;
    2264                 _ve__dollar_tmp_m_472_m_48 = _v_deref__deref__deref__Item.subexpr (0, _v_len___dollar_tmp_m_472_m_48);
     2316                Expr _ve__dollar_tmp_m_479_m_51 = Expr.empty;
     2317                _ve__dollar_tmp_m_479_m_51 = _v_deref__deref__Item.subexpr ((0 + 1 + 1), _v_len___dollar_tmp_m_479_m_51);
     2318                Expr _ve__dollar_tmp_m_479_m_48 = Expr.empty;
     2319                _ve__dollar_tmp_m_479_m_48 = _v_deref__deref__deref__Item.subexpr (0, _v_len___dollar_tmp_m_479_m_48);
    22652320                _gt_auxalt1 = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_vs_Linkage).toRight (_vs_ItemType).toRight (_vt_ItemName).toRight (_ve_ItemBody).yield ());
    22662321                break _block3;
     
    22792334                }
    22802335                int _v_len__ItemBody2 = (_v_len9 - _v_len10);
    2281                 if (!_c_97.termEquals (_v_deref__Item2, 0))
     2336                if (!_c_101.termEquals (_v_deref__Item2, 0))
    22822337                {
    22832338                  break _block3__branch2;
     
    23262381                  break _block3__branch3;
    23272382                }
    2328                 int _v_len___dollar_tmp_m_476_m_44 = (_v_len13 - _v_len14);
     2383                int _v_len___dollar_tmp_m_483_m_44 = (_v_len13 - _v_len14);
    23292384                if (_v_deref__deref__Item3.isSymbolAt ((0 + 1)))
    23302385                {
     
    23382393                  break _block3__branch3;
    23392394                }
    2340                 int _v_len___dollar_tmp_m_476_m_41 = (_v_len15 - _v_len16);
     2395                int _v_len___dollar_tmp_m_483_m_41 = (_v_len15 - _v_len16);
    23412396                if (!_v_deref__Item3.isSymbolAt (0))
    23422397                {
     
    23472402                  break _block3__branch3;
    23482403                }
    2349                 if (!_c_96.termEquals (_v_deref__deref__Item3, 0))
     2404                if (!_c_100.termEquals (_v_deref__deref__Item3, 0))
    23502405                {
    23512406                  break _block3__branch3;
     
    23592414                Expr _ve_ItemBody = Expr.empty;
    23602415                _ve_ItemBody = _v_deref__Item3.subexpr ((0 + 1 + 1 + 1 + 1), _v_len__ItemBody3);
    2361                 Expr _ve__dollar_tmp_m_476_m_44 = Expr.empty;
    2362                 _ve__dollar_tmp_m_476_m_44 = _v_deref__deref__Item3.subexpr ((0 + 1 + 1), _v_len___dollar_tmp_m_476_m_44);
    2363                 Expr _ve__dollar_tmp_m_476_m_41 = Expr.empty;
    2364                 _ve__dollar_tmp_m_476_m_41 = _v_deref__deref__deref__Item3.subexpr (0, _v_len___dollar_tmp_m_476_m_41);
     2416                Expr _ve__dollar_tmp_m_483_m_44 = Expr.empty;
     2417                _ve__dollar_tmp_m_483_m_44 = _v_deref__deref__Item3.subexpr ((0 + 1 + 1), _v_len___dollar_tmp_m_483_m_44);
     2418                Expr _ve__dollar_tmp_m_483_m_41 = Expr.empty;
     2419                _ve__dollar_tmp_m_483_m_41 = _v_deref__deref__deref__Item3.subexpr (0, _v_len___dollar_tmp_m_483_m_41);
    23652420                _gt_auxalt1 = new Expr ((Comparable<?>) Expr.getConcatenator ().toRight (_vs_Linkage).toRight (_vs_ItemType).toRight (_vt_ItemName).toRight (_ve_ItemBody).yield ());
    23662421                break _block3;
    23672422              }
    2368               Expr _vt__dollar_tmp_m_478_m_10 = Expr.empty;
    2369               _vt__dollar_tmp_m_478_m_10 = _vt_Item.subexpr (0, 1);
     2423              Expr _vt__dollar_tmp_m_485_m_10 = Expr.empty;
     2424              _vt__dollar_tmp_m_485_m_10 = _vt_Item.subexpr (0, 1);
    23702425              _gt_auxalt1 = _vt_Item;
    23712426            }
     
    24022457            _block4: {
    24032458              _block4__branch1: {
    2404                 if (!_vs_ItemType.termEquals (_c_98, 0))
     2459                if (!_vs_ItemType.termEquals (_c_102, 0))
    24052460                {
    24062461                  break _block4__branch1;
    24072462                }
    24082463                Result _v_Left1 = new Result (Expr.empty);
    2409                 if (!refal.plus.Access.Left (_c_60, _c_99, _ve_ItemBody, _v_Left1))
     2464                if (!refal.plus.Access.Left (_c_60, _c_103, _ve_ItemBody, _v_Left1))
    24102465                {
    24112466                  continue _continue1;
     
    24522507              }
    24532508              _block4__branch2: {
    2454                 if (!_vs_ItemType.termEquals (_c_100, 0))
     2509                if (!_vs_ItemType.termEquals (_c_104, 0))
    24552510                {
    24562511                  break _block4__branch2;
    24572512                }
    24582513                Result _v_Left2 = new Result (Expr.empty);
    2459                 if (!refal.plus.Access.Left (_c_60, _c_99, _ve_ItemBody, _v_Left2))
     2514                if (!refal.plus.Access.Left (_c_60, _c_103, _ve_ItemBody, _v_Left2))
    24602515                {
    24612516                  continue _continue1;
     
    25022557              }
    25032558              _block4__branch3: {
    2504                 if (!_vs_ItemType.termEquals (_c_101, 0))
     2559                if (!_vs_ItemType.termEquals (_c_105, 0))
    25052560                {
    25062561                  break _block4__branch3;
    25072562                }
    25082563                Result _v_Left3 = new Result (Expr.empty);
    2509                 if (!refal.plus.Access.Left (_c_60, _c_99, _ve_ItemBody, _v_Left3))
     2564                if (!refal.plus.Access.Left (_c_60, _c_103, _ve_ItemBody, _v_Left3))
    25102565                {
    25112566                  continue _continue1;
     
    25522607              }
    25532608              _block4__branch4: {
    2554                 if (!_vs_ItemType.termEquals (_c_102, 0))
     2609                if (!_vs_ItemType.termEquals (_c_106, 0))
    25552610                {
    25562611                  break _block4__branch4;
     
    25642619                throw new RefalException ("org.refal.plus.compiler.rfpc", "Get_Ready_For_Compilation", "Unexpected fail");
    25652620              }
    2566               Expr _vs__dollar_tmp_m_491_m_12 = Expr.empty;
    2567               _vs__dollar_tmp_m_491_m_12 = _vs_ItemType.subexpr (0, 1);
     2621              Expr _vs__dollar_tmp_m_498_m_12 = Expr.empty;
     2622              _vs__dollar_tmp_m_498_m_12 = _vs_ItemType.subexpr (0, 1);
    25682623              _vs_tab = rfp_helper.Object;
    25692624              _ve_ItemDef = _ve_ItemBody;
     
    25842639          }
    25852640          int _v_len__Pragma = (_v_len31 - _v_len32);
    2586           if (!_c_103.termEquals (_v_deref__Item4, 0))
     2641          if (!_c_107.termEquals (_v_deref__Item4, 0))
    25872642          {
    25882643            continue _continue1;
     
    25922647          Expr _vt_FName = Expr.empty;
    25932648          _vt_FName = _v_deref__Item4.subexpr ((0 + 1 + _v_len__Pragma), 1);
    2594           refal.plus.Table.Bind (rfp_helper.IsFun, _vt_FName, _c_104);
     2649          refal.plus.Table.Bind (rfp_helper.IsFun, _vt_FName, _c_108);
    25952650        }
    25962651      }
     
    25982653    _block5: {
    25992654      _block5__branch1: {
    2600         if (!refal.plus.Table.IsInTable (rfp_helper.RFP_Options, _c_105))
     2655        if (!refal.plus.Table.IsInTable (rfp_helper.RFP_Options, _c_109))
    26012656        {
    26022657          break _block5__branch1;
    26032658        }
    2604         refal.plus.Table.Bind (rfp_helper.IsFun, _c_106, _c_107);
    2605         refal.plus.Table.Bind (rfp_helper.Fun, _c_108, _c_109);
     2659        refal.plus.Table.Bind (rfp_helper.IsFun, _c_110, _c_111);
     2660        refal.plus.Table.Bind (rfp_helper.Fun, _c_112, _c_113);
    26062661        break _block5;
    26072662      }
     
    26592714                break _block2__branch1;
    26602715              }
    2661               int _v_len___dollar_tmp_m_509_m_21 = (_v_len5 - _v_len6);
    2662               Expr _vv__dollar_tmp_m_509_m_21 = Expr.empty;
    2663               _vv__dollar_tmp_m_509_m_21 = _ve_indent.subexpr (0, _v_len___dollar_tmp_m_509_m_21);
     2716              int _v_len___dollar_tmp_m_516_m_21 = (_v_len5 - _v_len6);
     2717              Expr _vv__dollar_tmp_m_516_m_21 = Expr.empty;
     2718              _vv__dollar_tmp_m_516_m_21 = _ve_indent.subexpr (0, _v_len___dollar_tmp_m_516_m_21);
    26642719              refal.plus.StdIO.PrintLnCh (_vs_channel, Expr.empty);
    26652720              break _block2;
    26662721            }
    26672722          }
    2668           refal.plus.StdIO.PrintCh (_vs_channel, Expr.concat (_ve_indent, _c_110));
    2669           RFP_Pretty_Print (_vs_channel, Expr.concat (_ve_indent, _c_111), _ve_1);
     2723          refal.plus.StdIO.PrintCh (_vs_channel, Expr.concat (_ve_indent, _c_114));
     2724          RFP_Pretty_Print (_vs_channel, Expr.concat (_ve_indent, _c_115), _ve_1);
    26702725          _block3: {
    26712726            _block3__branch1: {
     
    26772732              _exit2: _continue2: for ( ; ; _va_27.next ())
    26782733              {
    2679                 Expr _ve__dollar_tmp_m_513_m_15 = _va_27.getLeft();
     2734                Expr _ve__dollar_tmp_m_520_m_15 = _va_27.getLeft();
    26802735                Expr _v_lsplit__1 = _va_27.getRight();
    26812736                if (!_va_27.isValid ())
     
    26892744                  break _block3__branch1;
    26902745                }
    2691                 int _v_len___dollar_tmp_m_513_m_21 = (_v_len7 - _v_len8);
     2746                int _v_len___dollar_tmp_m_520_m_21 = (_v_len7 - _v_len8);
    26922747                if (_v_lsplit__1.isSymbolAt (0))
    26932748                {
     
    27012756                  continue _continue2;
    27022757                }
    2703                 int _v_len___dollar_tmp_m_513_m_18 = (_v_len9 - _v_len10);
    2704                 Expr _ve__dollar_tmp_m_513_m_21 = Expr.empty;
    2705                 _ve__dollar_tmp_m_513_m_21 = _v_lsplit__1.subexpr ((0 + 1), _v_len___dollar_tmp_m_513_m_21);
    2706                 Expr _ve__dollar_tmp_m_513_m_18 = Expr.empty;
    2707                 _ve__dollar_tmp_m_513_m_18 = _v_deref__lsplit__1.subexpr (0, _v_len___dollar_tmp_m_513_m_18);
     2758                int _v_len___dollar_tmp_m_520_m_18 = (_v_len9 - _v_len10);
     2759                Expr _ve__dollar_tmp_m_520_m_21 = Expr.empty;
     2760                _ve__dollar_tmp_m_520_m_21 = _v_lsplit__1.subexpr ((0 + 1), _v_len___dollar_tmp_m_520_m_21);
     2761                Expr _ve__dollar_tmp_m_520_m_18 = Expr.empty;
     2762                _ve__dollar_tmp_m_520_m_18 = _v_deref__lsplit__1.subexpr (0, _v_len___dollar_tmp_m_520_m_18);
    27082763                refal.plus.StdIO.PrintLnCh (_vs_channel, Expr.empty);
    2709                 refal.plus.StdIO.PrintCh (_vs_channel, Expr.concat (_ve_indent, _c_112));
     2764                refal.plus.StdIO.PrintCh (_vs_channel, Expr.concat (_ve_indent, _c_116));
    27102765                break _exit2;
    27112766              }
    27122767              break _block3;
    27132768            }
    2714             refal.plus.StdIO.PrintCh (_vs_channel, _c_112);
     2769            refal.plus.StdIO.PrintCh (_vs_channel, _c_116);
    27152770          }
    27162771          _block4: {
     
    27222777                break _block4__branch1;
    27232778              }
    2724               int _v_len___dollar_tmp_m_519_m_19 = (_v_len11 - _v_len12);
     2779              int _v_len___dollar_tmp_m_526_m_19 = (_v_len11 - _v_len12);
    27252780              if (_ve_2.isSymbolAt (0))
    27262781              {
     
    27342789                break _block4__branch1;
    27352790              }
    2736               int _v_len___dollar_tmp_m_519_m_16 = (_v_len13 - _v_len14);
    2737               Expr _ve__dollar_tmp_m_519_m_19 = Expr.empty;
    2738               _ve__dollar_tmp_m_519_m_19 = _ve_2.subexpr ((0 + 1), _v_len___dollar_tmp_m_519_m_19);
    2739               Expr _ve__dollar_tmp_m_519_m_16 = Expr.empty;
    2740               _ve__dollar_tmp_m_519_m_16 = _v_deref__2.subexpr (0, _v_len___dollar_tmp_m_519_m_16);
     2791              int _v_len___dollar_tmp_m_526_m_16 = (_v_len13 - _v_len14);
     2792              Expr _ve__dollar_tmp_m_526_m_19 = Expr.empty;
     2793              _ve__dollar_tmp_m_526_m_19 = _ve_2.subexpr ((0 + 1), _v_len___dollar_tmp_m_526_m_19);
     2794              Expr _ve__dollar_tmp_m_526_m_16 = Expr.empty;
     2795              _ve__dollar_tmp_m_526_m_16 = _v_deref__2.subexpr (0, _v_len___dollar_tmp_m_526_m_16);
    27412796              break _block4;
    27422797            }
     
    27522807                break _block4__branch2;
    27532808              }
    2754               int _v_len___dollar_tmp_m_520_m_28 = (_v_len15 - _v_len16);
    2755               Expr _vv__dollar_tmp_m_520_m_28 = Expr.empty;
    2756               _vv__dollar_tmp_m_520_m_28 = _ve_indent.subexpr (0, _v_len___dollar_tmp_m_520_m_28);
     2809              int _v_len___dollar_tmp_m_527_m_28 = (_v_len15 - _v_len16);
     2810              Expr _vv__dollar_tmp_m_527_m_28 = Expr.empty;
     2811              _vv__dollar_tmp_m_527_m_28 = _ve_indent.subexpr (0, _v_len___dollar_tmp_m_527_m_28);
    27572812              break _block4;
    27582813            }
     
    28512906                  }
    28522907                  int _v_len__label = (_v_len5 - _v_len6);
    2853                   if (!_c_113.termEquals (_ve_1, 0))
     2908                  if (!_c_117.termEquals (_ve_1, 0))
    28542909                  {
    28552910                    break _block4__branch1;
     
    29182973    _block1: {
    29192974      _block1__branch1: {
    2920         if (!refal.plus.Table.IsInTable (rfp_helper.RFP_Options, _c_114))
     2975        if (!refal.plus.Table.IsInTable (rfp_helper.RFP_Options, _c_118))
    29212976        {
    29222977          break _block1__branch1;
     
    29513006          break _block1__branch1;
    29523007        }
    2953         int _v_len___dollar_tmp_m_557_m_12 = (_v_len1 - _v_len2);
     3008        int _v_len___dollar_tmp_m_564_m_12 = (_v_len1 - _v_len2);
    29543009        if (!_v_compose1.isSymbolAt (0))
    29553010        {
     
    29583013        Expr _vs_ymbol = Expr.empty;
    29593014        _vs_ymbol = _v_compose1.subexpr (0, 1);
    2960         Expr _ve__dollar_tmp_m_557_m_12 = Expr.empty;
    2961         _ve__dollar_tmp_m_557_m_12 = _v_deref__compose1.subexpr (0, _v_len___dollar_tmp_m_557_m_12);
     3015        Expr _ve__dollar_tmp_m_564_m_12 = Expr.empty;
     3016        _ve__dollar_tmp_m_564_m_12 = _v_deref__compose1.subexpr (0, _v_len___dollar_tmp_m_564_m_12);
    29623017        if (!refal.plus.Class.IsChannel (_vs_ymbol))
    29633018        {
     
    29723027      _block2: {
    29733028        _block2__branch1: {
    2974           if (!refal.plus.StdIO.OpenFile (_vs_channel.getExpr (), Expr.concat (_ge_arg1, _ge_arg2), _c_115))
     3029          if (!refal.plus.StdIO.OpenFile (_vs_channel.getExpr (), Expr.concat (_ge_arg1, _ge_arg2), _c_119))
    29753030          {
    29763031            break _block2__branch1;
     
    29803035          break _block2;
    29813036        }
    2982         refal.plus.StdIO.PrintLnCh (refal.plus.StdIO.StdErr, Expr.getConcatenator ().toRight (_c_117).toRight (_ge_arg1).toRight (_ge_arg2).toRight (_c_116).yield ());
     3037        refal.plus.StdIO.PrintLnCh (refal.plus.StdIO.StdErr, Expr.getConcatenator ().toRight (_c_121).toRight (_ge_arg1).toRight (_ge_arg2).toRight (_c_120).yield ());
    29833038        refal.plus.Dos.Exit (_c_2);
    29843039        throw new RefalException ("org.refal.plus.compiler.rfpc", "Open_Channel", "Unexpected fail");
     
    30283083        _exit1: _continue1: for ( ; ; _va_29.next ())
    30293084        {
    3030           Expr _ve__dollar_tmp_m_571_m_16 = _va_29.getLeft();
     3085          Expr _ve__dollar_tmp_m_578_m_16 = _va_29.getLeft();
    30313086          Expr _v_lsplit__deref__RevDate = _va_29.getRight();
    30323087          if (!_va_29.isValid ())
     
    30583113              continue _continue1;
    30593114            }
    3060             int _v_len___dollar_tmp_m_571_m_32 = (_v_len1 - _v_len2);
     3115            int _v_len___dollar_tmp_m_578_m_32 = (_v_len1 - _v_len2);
    30613116            if (!_c_12.termEquals (_v_lsplit__lsplit__deref__RevDate, 0))
    30623117            {
    30633118              continue _continue2;
    30643119            }
    3065             Expr _ve__dollar_tmp_m_571_m_32 = Expr.empty;
    3066             _ve__dollar_tmp_m_571_m_32 = _v_lsplit__lsplit__deref__RevDate.subexpr ((0 + 1), _v_len___dollar_tmp_m_571_m_32);
     3120            Expr _ve__dollar_tmp_m_578_m_32 = Expr.empty;
     3121            _ve__dollar_tmp_m_578_m_32 = _v_lsplit__lsplit__deref__RevDate.subexpr ((0 + 1), _v_len___dollar_tmp_m_578_m_32);
    30673122            Expr.SplitIterator _va_31 = _v_deref__RevDate2.leftSplit(0);
    30683123            _exit3: _continue3: for ( ; ; _va_31.next ())
    30693124            {
    3070               Expr _ve__dollar_tmp_m_571_m_36 = _va_31.getLeft();
     3125              Expr _ve__dollar_tmp_m_578_m_36 = _va_31.getLeft();
    30713126              Expr _v_lsplit__deref__RevDate2 = _va_31.getRight();
    30723127              if (!_va_31.isValid ())
     
    30983153                  continue _continue3;
    30993154                }
    3100                 int _v_len___dollar_tmp_m_571_m_53 = (_v_len3 - _v_len4);
     3155                int _v_len___dollar_tmp_m_578_m_53 = (_v_len3 - _v_len4);
    31013156                if (!_c_12.termEquals (_v_lsplit__lsplit__deref__RevDate2, 0))
    31023157                {
    31033158                  continue _continue4;
    31043159                }
    3105                 Expr _ve__dollar_tmp_m_571_m_53 = Expr.empty;
    3106                 _ve__dollar_tmp_m_571_m_53 = _v_lsplit__lsplit__deref__RevDate2.subexpr ((0 + 1), _v_len___dollar_tmp_m_571_m_53);
    3107                 _v_res1.assign (Expr.getConcatenator ().toRight (_c_119).toRight (_vv_rev).toRight (_c_118).toRight (_vv_date).yield ());
     3160                Expr _ve__dollar_tmp_m_578_m_53 = Expr.empty;
     3161                _ve__dollar_tmp_m_578_m_53 = _v_lsplit__lsplit__deref__RevDate2.subexpr ((0 + 1), _v_len___dollar_tmp_m_578_m_53);
     3162                _v_res1.assign (Expr.getConcatenator ().toRight (_c_123).toRight (_vv_rev).toRight (_c_122).toRight (_vv_date).yield ());
    31083163                break _exit4;
    31093164              }
     
    31163171        break _block1;
    31173172      }
    3118       _v_res1.assign (_c_120);
     3173      _v_res1.assign (_c_124);
    31193174    }
    31203175  }
     
    31263181    if (_v_len1 < _v_len2)
    31273182    {
    3128       throw new RefalException (_c_121);
     3183      throw new RefalException (_c_125);
    31293184    }
    31303185    int _v_len__stub1 = (_v_len1 - _v_len2);
    31313186    if (_ge_arg1.isSymbolAt (0))
    31323187    {
    3133       throw new RefalException (_c_121);
     3188      throw new RefalException (_c_125);
    31343189    }
    31353190    Expr _v_deref__arg1 = (Expr) _ge_arg1.at (0);
     
    31383193    if (_v_len3 < _v_len4)
    31393194    {
    3140       throw new RefalException (_c_121);
     3195      throw new RefalException (_c_125);
    31413196    }
    31423197    int _v_len__stub2 = (_v_len3 - _v_len4);
     
    31553210    if (_v_len1 < _v_len2)
    31563211    {
    3157       throw new RefalException (_c_121);
     3212      throw new RefalException (_c_125);
    31583213    }
    31593214    int _v_len__stub1 = (_v_len1 - _v_len2);
    31603215    if (!_ge_arg1.isSymbolAt (0))
    31613216    {
    3162       throw new RefalException (_c_121);
     3217      throw new RefalException (_c_125);
    31633218    }
    31643219    Expr _v_stub2 = Expr.empty;
Note: See TracChangeset for help on using the changeset viewer.