Changeset 3956 for to-imperative


Ignore:
Timestamp:
Oct 7, 2008, 1:44:22 PM (12 years ago)
Author:
yura
Message:
  • Some rfi-files are removed.
  • Russian comments in rfp_compile.rf are restored (UTF-8).
Location:
to-imperative/trunk/compiler/refal/org/refal/plus/compiler
Files:
3 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • to-imperative/trunk/compiler/refal/org/refal/plus/compiler/rfp_as2as.rf

    r3838 r3956  
    1 $use "org.refal.plus.compiler.rfpc";
    2 $use "org.refal.plus.compiler.rfp_compile";
     1// $Id$
     2
     3$module "org.refal.plus.compiler.rfp_as2as";
     4
    35$use "org.refal.plus.compiler.rfp_format";
    46$use "org.refal.plus.compiler.rfp_helper";
     
    3638$box Free_Idx;
    3739
     40
     41$public $func RFP_As2As_Transform e.Items = e.Items;
    3842
    3943RFP_As2As_Transform e.Items =
  • to-imperative/trunk/compiler/refal/org/refal/plus/compiler/rfp_asail2asail.rf

    r3589 r3956  
     1// $Id$
     2
     3$module "org.refal.plus.compiler.rfp_asail2asail";
     4
    15$use Apply Arithm Box Class Compare List StdIO Table;
    26
     
    1822$box Idx;
    1923
     24$public $func Simplify_ASAIL t.asail_module = t.simplified_asail_module;
    2025
    2126Simplify_ASAIL (MODULE t.ModuleName e.asail) =
  • to-imperative/trunk/compiler/refal/org/refal/plus/compiler/rfp_compile.rf

    r3867 r3956  
     1// $Id$
     2
     3$module "org.refal.plus.compiler.rfp_compile";
     4
    15$use Access Apply Arithm Box Class Compare Convert Dos List StdIO Table;
    26
    3 $use "org.refal.plus.compiler.rfpc";
    47$use "org.refal.plus.compiler.rfp_helper";
    5 $use "org.refal.plus.compiler.rfp_check";
    6 $use "org.refal.plus.compiler.rfp_as2as";
    78$use "org.refal.plus.compiler.rfp_format";
    89$use "org.refal.plus.compiler.rfp_vars";
     
    8788
    8889/*
    89  * О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.  О©╫О©╫О©╫ О©╫О©╫О©╫
    90  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫.
     90 * п╞я┴п╦п╨ п╢п╩я▐ п╬п╠я┼я▐п╡п╩п╣п╫п╦п╧ я│я┌п╟я┌п╦я┤п╣я│п╨п╦я┘ я└я┐п╫п╨я├п╦п╧, п╨п╬п╫я│я┌п╟п╫я┌ п╦ п╬п╠я┼п╣п╨я┌п╬п╡.  п▓я│п╣ п╬п╫п╦
     91 * п╡я▀п©п╦я│я▀п╡п╟я▌я┌я│я▐ п╡ я│п╟п╪п╬п╪ п╫п╟я┤п╟п╩п╣ я┌п╣п╩п╟ п╪п╬п╢я┐п╩я▐.
    9192 */
    9293$box Declarations;
     
    9596
    9697$box Module_Name;
     98
     99$public $func RFP_Compile t.ModuleName e.items = t.asail_module;
    97100
    98101RFP_Compile (e.ModuleName) e.Items =
     
    686689
    687690/*
    688  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ (О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫,
    689  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫) О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ (О©╫О©╫
    690  * О©╫чёО©╫ О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ VAR). 
     691 * п·п╠п╣я│п©п╣я┤п╦п╡п╟п╣я┌, я┤я┌п╬ я│пЁп╣п╫п╣я─п╦я─п╬п╡п╟п╫п╫я▀п╣ п©я─п╣п©я─п╬я├п╣я│я│п╬я─п╟п╪п╦ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ (я│ п╦п╪п╣п╫п╟п╪п╦,
     692 * п╬п╨п╟п╫я┤п╦п╡п╟я▌я┴п╦п╪п╦я│я▐ п╫п╟ я┤п╦я│п╩п╬) п╫п╣ п©п╣я─п╣я│п╣п╨п╟я▌я┌я│я▐ я│ п©я─п╬пЁя─п╟п╪п╪п╫я▀п╪п╦ п©п╣я─п╣п╪п╣п╫п╫я▀п╪п╦ (п╥п╟
     693 * я│я┤я▒я┌ я┌п╬пЁп╬, я┤я┌п╬ я┌п╟пЁ п╠я┐п╢п╣я┌ VAR).
    691694 */
    692695Prepare_Vars {
     
    704707
    705708/*
    706  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫-О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
     709 * п⌠п╣п╫п╣я─п╦я─я┐п╣п╪ я┐п╫п╦п╨п╟п╩я▄п╫я▀п╣ п╡п╫я┐я┌я─п╦ п╪п╬п╢я┐п╩я▐ п╦п╪п╣п╫п╟ п╢п╩я▐ я└я┐п╫п╨я├п╦п╧-п╥п╟пЁп╩я┐я┬п╣п╨.
    707710 */
    708711Stub_Name (e.qualifiers s.name) =
     
    775778
    776779/*
    777  * О©╫О©╫О©╫О©╫, e.vars -- О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.  О©╫О©╫О©╫О©╫О©╫О©╫
    778  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫
    779  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫.
    780  * e.splited-Re -- О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.  О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫
    781  * e.vars О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
     780 * п≤я┌п╟п╨, e.vars -- п╡я│п╣ п©п╣я─п╣п╪п╣п╫п╫я▀п╣, п╡я┘п╬п╢я▐я┴п╦п╣ п╡ я└п╬я─п╪п╟я┌п╫п╬п╣ п╡я▀я─п╟п╤п╣п╫п╦п╣.  п п╟п╤п╢п╟я▐
     781 * п©п╣я─п╣п╪п╣п╫п╫п╟я▐ п╪п╬п╤п╣я┌ п╡я┘п╬п╢п╦я┌я▄ п╡ я└п╬я─п╪п╟я┌п╫п╬п╣ п╡я▀я─п╟п╤п╣п╫п╦п╣ я┌п╬п╩я▄п╨п╬ п╬п╢п╦п╫ я─п╟п╥, п©п╬я█я┌п╬п╪я┐
     782 * п©п╬п╡я┌п╬я─я▐я▌я┴п╦я┘я│я▐ я│я─п╣п╢п╦ п╫п╦я┘ п╫п╣я┌.
     783 * e.splited-Re -- п╫п╟п╠п╬я─ я─п╣п╥я┐п╩я▄я┌п╟я┌п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦п╧.  п²п╟ п╨п╟п╤п╢я┐я▌ п©п╣я─п╣п╪п╣п╫п╫я┐я▌ п╦п╥
     784 * e.vars п©п╬ п╡я▀я─п╟п╤п╣п╫п╦я▌, п╨п╬я┌п╬я─п╬п╣ п╢п╬п╩п╤п╫п╬ п╠я▀я┌я▄ п╣п╧ п©я─п╦я│п╡п╬п╣п╫п╬.
    782785 *
    783  * О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ t.var_i О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ e.Re_j, О©╫ i /= j, О©╫О©╫
    784  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ t.var_j О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫О©╫О©╫eО©╫О©╫О©╫О©╫О©╫О©╫
    785  * t.var_i.  О©╫О©╫О©╫О©╫ О©╫О©╫, О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, t.var_i О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
    786  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ t.var_j, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
    787  *
    788  * О©╫О©╫О©╫О©╫О©╫О©╫:
     786 * п∙я│п╩п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ t.var_i п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п╡ п╡я▀я─п╟п╤п╣п╫п╦п╦ e.Re_j, п╦ i /= j, я┌п╬
     787 * п©п╣я─п╣п╪п╣п╫п╫п╬п╧ t.var_j п╥п╫п╟я┤п╣п╫п╦п╣ п╢п╬п╩п╤п╫п╬ п╠я▀я┌я▄ п©я─п╦я│п╡п╬п╣п╫п╬ я─п╟п╫я▄я┬п╣, я┤п╣п╪ п©п╣я─eп╪п╣п╫п╫п╬п╧
     788 * t.var_i.  п∙я│п╩п╦ п╤п╣, п©п╬ п╟п╫п╟п╩п╬пЁп╦я┤п╫я▀п╪ я│п╬п╬п╠я─п╟п╤п╣п╫п╦я▐п╪, t.var_i п╢п╬п╩п╤п╫п╟ п©п╬п╩я┐я┤п╦я┌я▄
     789 * п╥п╫п╟я┤п╣п╫п╦п╣ я─п╟п╫я▄я┬п╣ t.var_j, п╫п╣п╬п╠я┘п╬п╢п╦п╪п╬ п╥п╟п╡п╣я│я┌п╦ п╡я│п©п╬п╪п╬пЁп╟я┌п╣п╩я▄п╫я┐я▌ п©п╣я─п╣п╪п╣п╫п╫я┐я▌.
     790 * 
     791 * п÷я─п╦п╪п╣я─:
    789792 *
    790793 * t1 (t1 t2) (t1 t3) :: t2 t1 t3
     
    795798 * t2 = aux_1;
    796799 *
    797  * О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
    798  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ (О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫О©╫
    799  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫).
    800  *
    801  * О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫
    802  * О©╫О©╫О©╫О©╫О©╫О©╫ "О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫".  О©╫ О©╫О©╫О©╫О©╫О©╫О©╫:
     800 * п▓ п╬п╠я┴п╣п╪ я│п╩я┐я┤п╟п╣ п╡я│п©п╬п╪п╬пЁп╟я┌п╣п╩я▄п╫п╟я▐ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ я┌я─п╣п╠я┐п╣я┌я│я▐, п╣я│п╩п╦ п╢п╡я┐п╪ п©п╣я─п╣п╪п╣п╫п╫я▀п╪
     801 * п╫п╣п╬п╠я┘п╬п╢п╦п╪я▀ я│я┌п╟я─я▀п╣ п╥п╫п╟я┤п╣п╫п╦я▐ п╢я─я┐пЁ п╢я─я┐пЁп╟ (п╡п╬п╥п╪п╬п╤п╫п╬, п╫п╣ п╫п╟п©я─я▐п╪я┐я▌, п╟ я┤п╣я─п╣п╥
     802 * п©я─п╬п╪п╣п╤я┐я┌п╬я┤п╫я▀п╣ п©п╣я─п╣п╪п╣п╫п╫я▀п╣).
    803803 *
    804  *   - О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
    805  *     её О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫
    806  *     О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫.
    807  *
    808  *   - О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫
    809  *     О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.  О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫
    810  *     О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
    811  *
    812  *   - О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫
    813  *     О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫.  О©╫.О©╫.
    814  *     О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
    815  *
    816  *   - О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.  О©╫О©╫О©╫О©╫О©╫О©╫О©╫
    817  *     О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫, О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫,
    818  *     О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ её О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.  О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫
    819  *     О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫-О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫-О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫,
    820  *     О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
    821  *     О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫-О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
    822  *     О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫, О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫
    823  *     О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
    824  *
    825  *   - О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫сё О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫, О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
    826  *     О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫её.
    827  *
    828  *
    829  * О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫:
     804 * п▓п╪п╣я│я┌п╬ я┌п╬пЁп╬, я┤я┌п╬п╠я▀ п╦я│п╨п╟я┌я▄ п╦ п╟п╫п╟п╩п╦п╥п╦я─п╬п╡п╟я┌я▄ я┌п╟п╨п╦п╣ я├п╦п╨п╩я▀, п╠я┐п╢п╣п╪ п╢п╣п╧я│я┌п╡п╬п╡п╟я┌я▄ п©п╬
     805 * п╪п╣я┌п╬п╢я┐ "п╫п╟п╦п╠п╬п╩я▄я┬п╣п╧ п©п╬п╩я▄п╥я▀".  п░ п╦п╪п╣п╫п╫п╬:
     806 *
     807 *   - п■п╩я▐ п╨п╟п╤п╢п╬п╧ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п╡я▀п©п╦я┬п╣п╪ п╡я│п╣ п╢я─я┐пЁп╦п╣ п©п╣я─п╣п╪п╣п╫п╫я▀п╣, п╨п╬я┌п╬я─я▀п╪ я┌я─п╣п╠я┐п╣я┌я│я▐
     808 *     п╣я▒ я│я┌п╟я─п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣, п╟ я┌п╟п╨п╤п╣ п╬я┌п╢п╣п╩я▄п╫п╬ я┌п╣, я│я┌п╟я─я▀п╣ п╥п╫п╟я┤п╣п╫п╦я▐ п╨п╬я┌п╬я─я▀я┘
     809 *     я┌я─п╣п╠я┐я▌я┌я│я▐ п╣п╧.
     810 *
     811 *   - п▓я│п╣п╪ п©п╣я─п╣п╪п╣п╫п╫я▀п╪, п╬я┌ я│я┌п╟я─я▀я┘ п╥п╫п╟я┤п╣п╫п╦п╧ п╨п╬я┌п╬я─я▀я┘ п╫п╦я┤п╣пЁп╬ п╫п╣ п╥п╟п╡п╦я│п╦я┌, п╪п╬п╤п╫п╬
     812 *     я│п╪п╣п╩п╬ п©я─п╦я│п╡п╬п╦я┌я▄ п╫п╬п╡я▀п╣ п╥п╫п╟я┤п╣п╫п╦я▐.  п÷я─п╦ я█я┌п╬п╪ п╬п╫п╦ п╦я│я┤п╣п╥п╟я▌я┌ п╦п╥ я│п©п╦я│п╨п╬п╡
     813 *     п╥п╟п╡п╦я│п╦п╪п╬я│я┌п╣п╧ п╬я│я┌п╟п╡я┬п╦я┘я│я▐ п©п╣я─п╣п╪п╣п╫п╫я▀я┘.
     814 *
     815 *   - п▓я│п╣ п©п╣я─п╣п╪п╣п╫п╫я▀п╣, п╫п╬п╡я▀п╣ п╥п╫п╟я┤п╣п╫п╦я▐ п╨п╬я┌п╬я─я▀я┘ п╫п╦ п╬я┌ я┤п╣пЁп╬ п╫п╣ п╥п╟п╡п╦я│я▐я┌, п╪п╬п╤п╫п╬
     816 *     п╬я┌п╩п╬п╤п╦я┌я▄, я┤я┌п╬п╠я▀ п©я─п╦я│п╡п╬п╦я┌я▄ п╦п╪ п╥п╫п╟я┤п╣п╫п╦я▐ я┌п╬пЁп╢п╟, п╨п╬пЁп╢п╟ п╠я┐п╢п╣я┌ я┐п╢п╬п╠п╫п╬.  п╒.п╣.
     817 *     я┌п╬пЁп╢п╟, п╨п╬пЁп╢п╟ я│п©п╦я│п╨п╦ п╥п╟п╡п╦я│я▐я┴п╦я┘ п╬я┌ п╫п╦я┘ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╬п©я┐я│я┌п╣я▌я┌.
     818 *
     819 *   - п╖я┌п╬п╠я▀ п╬п╥п╫п╟я┤п╦я┌я▄ п╬я│я┌п╟п╡я┬п╦п╣я│я▐, п╫я┐п╤п╫я▀ п╡я│п©п╬п╪п╬пЁп╟я┌п╣п╩я▄п╫я▀п╣ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.  п▓я▀п╠п╣я─п╣п╪
     820 *     п╬п╢п╫я┐ п╦п╥ п©п╣я─п╣п╪п╣п╫п╫я▀я┘, я│ п╪п╟п╨я│п╦п╪п╟п╩я▄п╫я▀п╪ я│п©п╦я│п╨п╬п╪ я┌п╣я┘, п╬я┌ п╨п╬я┌п╬я─я▀я┘ п╬п╫п╟ п╥п╟п╡п╦я│п╦я┌,
     821 *     п╦ п©п╬п╩п╬п╤п╦п╪ п╣я▒ п╥п╫п╟я┤п╣п╫п╦п╣ п╡п╬ п╡я│п©п╬п╪п╬пЁп╟я┌п╣п╩я▄п╫я┐я▌ п©п╣я─п╣п╪п╣п╫п╫я┐я▌.  п╒п╟п╨ п╨п╟п╨ п╪я▀ я│я─п╟п╥я┐
     822 *     я┐п╪п╣п╫я▄я┬п╦п╩п╦ п╨п╬п╩-п╡п╬ п╥п╟п╡п╦я│п╦п╪п╬я│я┌п╣п╧ я┐ п╪п╟п╨я│п╦п╪п╟п╩я▄п╫п╬пЁп╬ п╨п╬п╩-п╡п╟ п©п╣я─п╣п╪п╣п╫п╫я▀я┘,
     823 *     п╩п╬п╨п╟п╩я▄п╫п╬ п╪я▀ п╢п╬п╠п╦п╩п╦я│я▄ п╫п╟п╦п╠п╬п╩я▄я┬п╣п╧ п©п╬п╩я▄п╥я▀, я┘п╬я┌я▐ п╫п╣ п╦я│п╨п╩я▌я┤п╣п╫п╬, я┤я┌п╬ пЁп╩п╬п╠п╟п╩я▄п╫п╬
     824 *     я┌п╟п╨п╬п╧ п╪п╣я┌п╬п╢ п╦ п╫п╣ п╢п╟я│я┌ п╫п╟п╦п╪п╣п╫я▄я┬п╣пЁп╬ п╨п╬п╩-п╡п╟ п╡я│п©п╬п╪п╬пЁп╟я┌п╣п╩я▄п╫я▀я┘ п©п╣я─п╣п╪п╣п╫п╫я▀я┘.
     825 *     п я─п╬п╪п╣ я┌п╬пЁп╬, п╪я▀ п╫п╣ п©я▀я┌п╟п╣п╪я│я▐ п╡я▀п╠я─п╟я┌я▄ п╫п╟п╦п╩я┐я┤я┬я┐я▌ п©п╣я─п╣п╪п╣п╫п╫я┐я▌ п╦п╥ п╫п╣я│п╨п╬п╩я▄п╨п╦я┘ я│
     826 *     п╪п╟п╨я│п╦п╪п╟п╩я▄п╫я▀п╪ я│п©п╦я│п╨п╬п╪ п╥п╟п╡п╦я│п╦п╪п╬я│я┌п╣п╧.
     827 *
     828 *   - п÷п╬п╡я┌п╬я─я▐п╣п╪ п╡я│я▒ я█я┌п╬ п╢п╬ я┌п╣я┘ п©п╬я─, п©п╬п╨п╟ я┐ п╨п╟п╤п╢п╬п╧ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п╫п╣ п╬п©я┐я│я┌п╣п╣я┌
     829 *     я│п©п╦я│п╬п╨ п╥п╟п╡п╦я│я▐я┴п╦я┘ п╬я┌ п╫п╣я▒.
     830 *
     831 *
     832 * п■п╩я▐ п╫п╟я┬п╣пЁп╬ п©я─п╦п╪п╣я─п╟:
    830833 *
    831834 * t1 (t1 t2) (t1 t3) :: t2 t1 t3
     
    836839 *
    837840 *
    838  * О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ var_i О©╫О©╫О©╫дёО©╫ О©╫О©╫О©╫ j /= i, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫ Re_j О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
    839  * var_i -- provide[i], О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ j /= i, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ var_j О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫
    840  * О©╫О©╫О©╫О©╫чёО©╫О©╫ var_i, О©╫.О©╫. О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ Re_i.
     841 * п■п╩я▐ п╨п╟п╤п╢п╬п╧ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ var_i п╫п╟п╧п╢я▒п╪ п╡я│п╣ j /= i, я┌п╟п╨п╦п╣ я┤я┌п╬ п╡ Re_j п╡я│я┌я─п╣я┤п╟п╣я┌я│я▐
     842 * var_i -- provide[i], п╦ п╟ я┌п╟п╨п╤п╣ п╡я│п╣ j /= i, я┌п╟п╨п╦п╣ я┤я┌п╬ var_j п╫я┐п╤п╫п╟ п╢п╩я▐
     843 * п©п╬п╢я│я┤я▒я┌п╟ var_i, я┌.п╣. п╡я│я┌я─п╣я┤п╟п╣я┌я│я▐ п╡ Re_i.
    841844 *
    842845 * Res-vars <- <Map &Vars (Res)>
     
    886889
    887890/*
    888  * О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ provide О©╫О©╫О©╫О©╫, её О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
    889  * О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫О©╫О©╫ (О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫) О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
    890  * О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ assigns, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ vars, О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ provide
    891  * О©╫ delayed.  О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ require её О©╫О©╫ О©╫О©╫О©╫О©╫.
     891 * п∙я│п╩п╦ п╣я│я┌я▄ п©п╣я─п╣п╪п╣п╫п╫п╟я▐, я┐ п╨п╬я┌п╬я─п╬п╧ я│п©п╦я│п╬п╨ provide п©я┐я│я┌, п╣я▒ п╪п╬п╤п╫п╬ п©п╬я│я┤п╦я┌п╟я┌я▄.
     892 * п╜я┌п╬ п╡я▀я─п╟п╤п╟п╣я┌я│я▐ п╡ я┌п╬п╪, я┤я┌п╬ п╬п╫п╟ (п╡п╪п╣я│я┌п╣ я│ п©я─п╦я│п╡п╟п╦п╡п╟п╣п╪я▀п╪ п╥п╫п╟я┤п╣п╫п╦п╣п╪) п╢п╬п╠п╟п╡п╩я▐п╣я┌я│я▐
     893 * п╡ я│п©п╦я│п╬п╨ assigns, я┐п╠п╦я─п╟п╣я┌я│я▐ п╦п╥ я│п©п╦я│п╨п╟ vars, п╟ я┌п╟п╨п╤п╣ п╦п╥ п╡я│п╣я┘ я│п©п╦я│п╨п╬п╡ provide
     894 * п╦ delayed.  п▓ я│п©п╦я│п╨п╟я┘ require п╣я▒ п╫п╣ п╠я▀п╩п╬.
    892895 *
    893896 * CAV Res vars provide require assigns delayed =
    894  *   { i | var_i <- vars, provide_i == [] } ->     // О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫!  О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
    895  *                                                    О©╫О©╫ delayed О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
     897 *   { i | var_i <- vars, provide_i == [] } ->     // п≈п╢п╣я│я▄ п╫п╣п╡п╣я─п╫п╬!  п²п╟ п©п╣я─п╣п╪п╣п╫п╫я▀п╣
     898 *                                                    п╦п╥ delayed я┌п╬п╤п╣ п╫п╟п╢п╬ я│п╪п╬я┌я─п╣я┌я▄.
    896899 *       vars    = vars - var_i
    897900 *       provide = [ provide_j - i | provide_j <- provide ]
     
    917920
    918921/*
    919  * О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ require О©╫О©╫О©╫О©╫, О©╫О©╫О©╫дёО©╫ её О©╫ delayed.
    920  * О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫её О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ provide, О©╫.О©╫. О©╫О©╫О©╫О©╫О©╫ О©╫О©╫
    921  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ require.
     922 * п∙я│п╩п╦ п╣я│я┌я▄ п©п╣я─п╣п╪п╣п╫п╫п╟я▐, я┐ п╨п╬я┌п╬я─п╬п╧ я│п©п╦я│п╬п╨ require п©я┐я│я┌, п╨п╩п╟п╢я▒п╪ п╣я▒ п╡ delayed.
     923 * п·п╫п╟ п╠я┐п╢п╣я┌ п©п╬я│я┤п╦я┌п╟п╫п╟, п╨п╬пЁп╢п╟ я┐ п╫п╣я▒ п╬п©я┐я│я┌п╣п╣я┌ я│п©п╦я│п╬п╨ provide, я┌.п╣. п╨п╬пЁп╢п╟ п╫п╣
     924 * п╬я│я┌п╟п╫п╣я┌я│я▐ п©п╣я─п╣п╪п╣п╫п╫я▀я┘, я┐ п╨п╬я┌п╬я─я▀я┘ п╬п╫п╟ п╡ я│п©п╦я│п╨п╣ require.
    922925 */
    923926$func Delay_Empty_Requires e.vars  = e.delayed (e.vars);
     
    932935
    933936/*
    934  * О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ (О©╫О©╫ О©╫О©╫О©╫О©╫) О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
     937 * п▓я▀п╠п╬я─ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ (п╦п╥ п╢п╡я┐я┘) я│ п╠п╬п╩п╣п╣ п╢п╩п╦п╫п╫я▀п╪ я│п©п╦я│п╨п╬п╪ я┌я─п╣п╠я┐п╣п╪я▀я┘ п╣п╧ п╥п╫п╟я┤п╣п╫п╦п╧.
    935938 */
    936939$func Max_Require e = e;
     
    946949
    947950/*
    948  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
    949  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ (О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫).
    950  * О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
     951 * п÷п╬п╢я│я┌п╟п╡п╦я┌я▄ п╡я│п©п╬п╪п╬пЁп╟я┌п╣п╩я▄п╫я┐я▌ п©п╣я─п╣п╪п╣п╫п╫я┐я▌ п╡п╪п╣я│я┌п╬ п╦я│я┘п╬п╢п╫п╬п╧ п╡п╬ п╡я│п╣я┘ я─п╣п╥я┐п╩я▄я┌п╟я┌п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘.
     952 * п÷я─п╦я│п╡п╟п╦п╡п╟п╫п╦п╣ п╨ п╦я│я┘п╬п╢п╫п╬п╧ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ я┐п╠я─п╟я┌я▄ (п╬п╫п╬ п╨ я█я┌п╬п╪я┐ п╪п╬п╪п╣п╫я┌я┐ я┐п╤п╣ п╡я▀п©п╬п╩п╫п╣п╫п╬).
     953 * пёп╠я─п╟я┌я▄ п©п╣я─п╣п╪п╣п╫п╫я┐я▌ п╦п╥ я│п©п╦я│п╨п╬п╡ п╥п╟п╡п╦я│п╦п╪п╬я│я┌п╣п╧.
    951954 */
    952955$func Subst_Aux_Var e = e;
     
    964967
    965968/*
    966  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
     969 * п≤п╥п╡п╩п╣я┤я▄ п©я─п╦я│п╡п╟п╦п╡п╟п╫п╦п╣ п╦п╥ п╡я│п╣п╧ п╦п╫я└п╬я─п╪п╟я├п╦п╦ п╬ п©п╣я─п╣п╪п╣п╫п╫п╬п╧.
    967970 */
    968971$func Extract_Assigns e = e;
     
    971974
    972975/*
    973  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
    974  *
    975  * 1) О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ (О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫), О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫
    976  *    О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
    977  * 2) О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
    978  * 3) О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫,
    979  *    О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫
    980  *    О©╫её О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ 1.
     976 * п·я│п╫п╬п╡п╫п╬п╧ я├п╦п╨п╩ п╬п╠я─п╟п╠п╬я┌п╨п╦ п©я─п╦я│п╡п╟п╦п╡п╟п╫п╦п╧.
     977 * 
     978 * 1) п≤п╥ п╡я│п╣я┘ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ (п╡ я┌п╬п╪ я┤п╦я│п╩п╣ п╦ п╬я┌п╩п╬п╤п╣п╫п╫я▀я┘), п╬я┌ п╨п╬я┌п╬я─я▀я┘ п╠п╬п╩я▄я┬п╣ п╫п╦я┤п╣пЁп╬
     979 *    п╫п╣ п╥п╟п╡п╦я│п╦я┌, я│п╢п╣п╩п╟я┌я▄ п©я─п╦я│п╡п╟п╦п╡п╟п╫п╦я▐.
     980 * 2) п▓я│п╣ п©п╣я─п╣п╪п╣п╫п╫я▀п╣, п╨п╬я┌п╬я─я▀п╣ п╠п╬п╩я▄я┬п╣ п╫п╦ п╬я┌ я┤п╣пЁп╬ п╫п╣ п╥п╟п╡п╦я│я▐я┌, п╬я┌п╩п╬п╤п╦я┌я▄.
     981 * 3) п∙я│п╩п╦ п╬я│я┌п╟п╩п╬я│я▄ я┘п╬я┌я▐ п╠я▀ п╢п╡п╣ п╫п╣п╬я┌п╩п╬п╤п╣п╫п╫я▀я┘ п©п╣я─п╣п╪п╣п╫п╫я▀я┘, п╡я▀п╠п╦я─п╟я┌я▄ п╦п╥ п╫п╦я┘ я┌я┐,
     982 *    п╨п╬я┌п╬я─п╟я▐ п╥п╟п╡п╦я│п╦я┌ п╬я┌ п╫п╟п╦п╠п╬п╩я▄я┬п╣пЁп╬ я┤п╦я│п╩п╟ п©п╣я─п╣п╪п╣п╫п╫я▀я┘, п©п╬п╢я│я┌п╟п╡п╦я┌я▄ п╡п╣п╥п╢п╣ п╡п╪п╣я│я┌п╬
     983 *    п╫п╣я▒ п╡я│п©п╬п╪п╬пЁп╟я┌п╣п╩я▄п╫я┐я▌, п©п╣я─п╣п╧я┌п╦ п╨ п©я┐п╫п╨я┌я┐ 1.
    981984 */
    982985CAV e.vars (e.assigns) (e.delayed) =
     
    9981001
    9991002
    1000 //***************** О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ *******************
     1003//***************** п п╬п╪п©п╦п╩я▐я├п╦я▐ я│п╬п©п╬я│я┌п╟п╡п╩п╣п╫п╦я▐ я│ п╬п╠я─п╟п╥я├п╬п╪ *******************
    10011004
    10021005Get_Clash_Sequence (e.last_Re) t.Pattern e.Snt =
     
    10041007    e.Snt : (RESULT e.Re) (s.dir e.Pe) e.rest =
    10051008      /*
    1006        * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫
    1007        * О©╫О©╫О©╫О©╫О©╫О©╫дёО©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.  О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫
    1008        * О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
     1009       * п п╬п╪п©п╦п╩п╦я─я┐п╣п╪ п╡я│п╣ п╨п╬п╫я│я┌п╟п╫я┌п╫я▀п╣ п╡я▀я─п╟п╤п╣п╫п╦я▐ п╦ п╥п╟п╡п╬п╢п╦п╪ п╡ я┌п╟п╠п╩п╦я┤п╨п╣ п╡я│п╣
     1010       * п╫п╣п╥п╟п╡п╣п╢я▒п╫п╫я▀п╣ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.  пё я│я┌п╟я─я▀я┘ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╬я┤п╦я┴п╟п╣я┌я│я▐ п©п╟п╪я▐я┌я▄
     1011       * п╫п╟ п©я─п╣п╢п╪п╣я┌ п╨п╩п╣я┬п╣п╧, п╡ п╨п╬я┌п╬я─я▀я┘ п╬п╫п╦ я─п╟п╫я▄я┬п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄.
    10091012       */
    10101013      <Prepare_Res (e.Re) (e.Pe)> : (e.R1) (e.P1),
     
    10611064    <CC_Unknown_Lengths t.end_cycle e.clashes> :: e.conds,
    10621065    /*
    1063      * О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫
    1064      * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.  О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ (О©╫О©╫
    1065      * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫) О©╫О©╫дёО©╫ О©╫О©╫ О©╫
    1066      * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫, О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫.
    1067      * О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ t.end-cycle О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫
    1068      * О©╫О©╫О©╫О©╫О©╫.
     1066     * п п╬пЁп╢п╟ п╪я▀ п╢п╬п╠я─п╟п╩п╦я│я▄ п╢п╬ я│я▌п╢п╟, п╡я│п╣ я┐я│п╩п╬п╡п╦я▐ п╫п╟ п╢п╩п╦п╫я▀ п╫п╟ я┌п╣п╨я┐я┴п╣п╪ я┐я─п╬п╡п╫п╣
     1067     * п╡я▀п©п╦я│п╟п╫я▀.  п²п╣п╡я▀п©п╬п╩п╫п╣п╫п╦п╣ п╩я▌п╠п╬пЁп╬ п╦п╥ п╬я│я┌п╟п╡я┬п╦я┘я│я▐ я┐я│п╩п╬п╡п╦п╧ (п╫п╟
     1068     * я│п╬п╬я┌п╡п╣я┌я│я┌п╡п╦п╣ я┌п╦п©п╬п╡, я─п╟п╡п╣п╫я│я┌п╡п╬, п╢п╩п╦п╫я▀ п╡п╫я┐я┌я─п╦ я│п╨п╬п╠п╬п╨) п╡п╣п╢я▒я┌ п╫п╣ п╨
     1069     * п©я─п╣п╨я─п╟я┴п╣п╫п╦я▌ я┌п╣п╨я┐я┴п╣пЁп╬ я├п╦п╨п╩п╟, п╟ п©п╣я─п╣я┘п╬п╢ п╨ п╣пЁп╬ я│п╩п╣п╢я┐я▌я┴п╣п╧ п╦я┌п╣я─п╟я├п╦п╦.
     1070     * п÷п╬я█я┌п╬п╪я┐ п╡ п╨п╟я┤п╣я│я┌п╡п╣ t.end-cycle п╡п╣п╥п╢п╣ п╢п╟п╩я▄я┬п╣ п©п╬п╢я│я┌п╟п╡п╩я▐п╣я┌я│я▐ я┌п╣п╨я┐я┴п╦п╧
     1071     * п╬я┌п╨п╟я┌.
    10691072     */
    10701073    <Update_Hard_Parts> : {
     
    12101213
    12111214/*
    1212  * О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
    1213  * О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫ ASAIL.
     1215 * п≤п╫я└п╬я─п╪п╟я├п╦я▌ п╬ п©я─п╬п╡п╣я─п╨п╟я┘ п╦ п╥п╟п╡п╣п╢п╣п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘, п╫п╣п╬п╠я┘п╬п╢п╦п╪я▀я┘ п╢п╩я▐ я│п╬п╥п╢п╟п╫п╦я▐
     1216 * п╨п╩п╣я┬п╣п╧ п╦п╥ я│п╬п╢п╣я─п╤п╦п╪п╬пЁп╬ я│п╨п╬п╠п╬п╨, п╨п╬п╢п╦я─я┐п╣п╪ п╫п╟ ASAIL.
    12141217 */
    12151218CC_Deref (e.fail) e.actions, e.actions : {
     
    12531256        {
    12541257          /*
    1255            * О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫, О©╫О©╫О©╫ О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ e.eqs О©╫О©╫О©╫ e.Re
    1256            * О©╫О©╫О©╫ О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫.
     1258           * п°я▀ п©я─п╣п╢п©п╬п╩п╟пЁп╟п╣п╪, я┤я┌п╬ п╡п╬ п╡я│п╣я┘ п©я─п╦я┬п╣п╢я┬п╦я┘ e.eqs п╡я│п╣ e.Re
     1259           * я┐п╤п╣ п╠я▀п╩п╦ п╬п©я─п╣п╢п╣п╩п╣п╫я▀ я─п╟п╫п╣п╣.
    12571260           */
    12581261          e.assigns : $r e1 (s.op e.arg t.Pt e.def) e2, e.arg : \{ s; /*empty*/; } =
  • to-imperative/trunk/compiler/refal/org/refal/plus/compiler/rfpc.rf

    r3864 r3956  
    4040
    4141$func Set_Path = ;
    42 
    43 // initialize tables
    44 $func Get_Ready_For_Compilation e.Items = ;
    4542
    4643$func CPP_Pretty_Print s.Isinner_call s.channel (e.indent) e.expr = ;
     
    452449  <Store &RFP_Include_Path <MapIn &Append (<Get &DirSeparator>) (<Get &RFP_Include_Path>)>>;
    453450
     451// initialize tables
     452$func Get_Ready_For_Compilation e.Items = ;
     453
    454454Get_Ready_For_Compilation e.Items =
    455455  <ClearTable &Fun>,
Note: See TracChangeset for help on using the changeset viewer.