
/* This file was automatically generated by pclu.*/

#include "pclu_err.h"
#include "pclu_sys.h"


/**** BEGIN CLUSTER p_env ****/

extern errcode oneofOPmake_7();
extern errcode oneofOPmake_1();
extern errcode oneofOPmake_4();
extern errcode oneofOPmake_6();
extern errcode oneofOPmake_11();
extern errcode oneofOPmake_12();
extern errcode oneofOPmake_32();
extern errcode oneofOPmake_2();
extern errcode oneofOPmake_23();
extern errcode oneofOPmake_10();
extern errcode oneofOPmake_21();
extern errcode oneofOPmake_28();
extern errcode oneofOPmake_9();
extern errcode oneofOPmake_3();
extern errcode oneofOPmake_25();
extern errcode oneofOPmake_31();
extern errcode oneofOPmake_8();
extern errcode oneofOPmake_19();
extern errcode oneofOPmake_5();
extern errcode oneofOPmake_26();
extern errcode oneofOPmake_20();
extern errcode oneofOPmake_27();
extern errcode oneofOPmake_22();
extern errcode tokentabOPcreate();
extern errcode arrayOPpredict();
extern errcode ceOPget_unknown_type();
extern errcode p_envOPnext_token();
extern errcode recordOPget_15();
extern errcode recordOPset_18();
extern errcode arrayOPtrim();
extern errcode recordOPget_14();
extern errcode recordOPcopy1();
extern errcode recordOPset_10();
extern errcode recordOPset_7();
extern errcode stringOPconcat();
extern errcode file_nameOPunparse();
extern errcode streamOPget_name();
extern errcode recordOPset_12();
extern errcode recordOPset_9();
extern errcode recordOPset_16();
extern errcode recordOPset_13();
extern errcode recordOPset_14();
extern errcode recordOPset_3();
extern errcode recordOPset_6();
extern errcode recordOPset_5();
extern errcode boolOPnot();
extern errcode recordOPget_18();
extern errcode tokentabOPreset();
extern errcode recordOPget_21();
extern errcode recordOPset_8();
extern errcode arrayOPset_low();
extern errcode recordOPget_16();
extern errcode recordOPget_13();
extern errcode recordOPget_2();
extern errcode recordOPset_22();
extern errcode recordOPget_8();
extern errcode tokentabOPhack();
extern errcode tokentabOPunhack();
extern errcode tokentabOPadd_token();
extern errcode intOPequal();
extern errcode intOPsub();
extern errcode intOPle();
extern errcode arrayOPsize();
extern errcode p_envOPscanline();
extern errcode arrayOPfetch();
extern errcode intOPadd();
extern errcode arrayOPlow();
extern errcode arrayOPempty();
extern errcode recordOPget_12();
extern errcode intOPgt();
extern errcode recordOPget_11();
extern errcode recordOPset_11();
extern errcode arrayOPaddh();
extern errcode recordOPset_15();
extern errcode arrayOPreml();
extern errcode arrayOPremh();
extern errcode arrayOPelements();
extern errcode recordOPget_22();
extern errcode exprOPcreate();
extern errcode recordOPget_6();
extern errcode streamOPputs();
extern errcode intOPunparse();
extern errcode recordOPget_7();
extern errcode p_envOPline();
extern errcode recordOPget_5();
extern errcode streamOPputc();
extern errcode pt_token();
extern errcode arrayOPindexes();
extern errcode recordOPset_17();
extern errcode duOPequal();
extern errcode ceOPget_proc_();
extern errcode recordOPget_3();
extern errcode recordOPset_19();
extern errcode recordOPget_17();
extern errcode recordOPget_19();
extern errcode recordOPget_4();
extern errcode recordOPget_1();
extern errcode recordOPset_4();
extern errcode recordOPset_1();
extern errcode recordOPget_10();
extern errcode recordOPget_9();
extern errcode streamOPgetc();
extern errcode sequenceOPfetch();
extern errcode charOPc2i();
extern errcode p_envOPidn_or_key();
extern errcode p_envOPmcharop();
extern errcode streamOPpeekc();
extern errcode charOPge();
extern errcode charOPle();
extern errcode recordOPget_20();
extern errcode p_envOPreallit();
extern errcode p_envOPnumber();
extern errcode p_envOPstrlit();
extern errcode p_envOPcharlit();
extern errcode intOPlt();
extern errcode intOPfrom_to();
extern errcode p_envOPcomment();
extern errcode p_envOPbad();
extern errcode cprint_form();
extern errcode tokentabOPget_token();
extern errcode stringOPac2s();
extern errcode charOPequal();
extern errcode i_oparse();
extern errcode intOPparse();
extern errcode oneofOPmake_13();
extern errcode oneofOPmake_15();
extern errcode realOPparse();
extern errcode p_envOPescape();
extern errcode oneofOPmake_24();
extern errcode stringOPc2s();
extern errcode intOPfrom_to_by();
extern errcode stringOPappend();
extern errcode charOPi2c();
extern errcode stringOPequal();
extern errcode stringOPindexc();
extern errcode stringOPempty();
CLUREF STR_and;
CLUREF STR_mul;
CLUREF STR_add;
CLUREF STR_sub;
CLUREF STR_div;
CLUREF STR_lt;
CLUREF STR_equal;
CLUREF STR_gt;
CLUREF STR_or;
CLUREF STR_;
CLUREF STR__050;
CLUREF STR__051_040;
CLUREF STR__072_011;
CLUREF STR_missing_040;
CLUREF STR__040_055_040assumed_040present;
CLUREF STR__074_041_076;
CLUREF STR__012_011;
CLUREF STR_Illegal_040character_040in_040text;
CLUREF STR_Integer_040value_040overflowed;
CLUREF STR_Illegal_040octal_040literal;
CLUREF STR_Bad_040format_040for_040real_040literal;
CLUREF STR_Real_040value_040overflowed;
CLUREF STR_Real_040value_040underflowed;
CLUREF STR_Unterminated_040string_040literal;
CLUREF STR_Illegal_040character_040in_040string_040literal;
CLUREF STR_Stray_040_047_040at_040end_040of_040line;
CLUREF STR__047_047;
CLUREF STR_Empty_040character_040literal;
CLUREF STR_Illegal_040character_040literal;
CLUREF STR__047;
CLUREF STR_Unterminated_040character_040literal;
CLUREF STR_Stray_040_134_040at_040end_040of_040line;
CLUREF STR__136;
CLUREF STR__134_136_052_040escape_040sequences_040illegal;
CLUREF STR__100_133_134_135_136;
CLUREF STR__134;
CLUREF STR_Illegal_040escape_040sequence;
CLUREF STR_concat;
CLUREF STR_power;
CLUREF STR_mod;
CLUREF STR_le;
CLUREF STR_ge;
CLUREF STR_Illegal_040character_040in_040comment;
CLUREF STR__072_040;
static int p_env_own_init = 0;
OWN_req p_env_ownreqs = {0,0};
CLUREF p_envOPchrvec;
CLUREF p_envOPsaved_env;
errcode p_env_own_init_proc()
{
    errcode err;
    enter_own_init_proc();
        if (p_env_own_init == 0) {
        stringOPcons("and", CLU_1, CLU_3, &STR_and);
        stringOPcons("mul", CLU_1, CLU_3, &STR_mul);
        stringOPcons("add", CLU_1, CLU_3, &STR_add);
        stringOPcons("sub", CLU_1, CLU_3, &STR_sub);
        stringOPcons("div", CLU_1, CLU_3, &STR_div);
        stringOPcons("lt", CLU_1, CLU_2, &STR_lt);
        stringOPcons("equal", CLU_1, CLU_5, &STR_equal);
        stringOPcons("gt", CLU_1, CLU_2, &STR_gt);
        stringOPcons("or", CLU_1, CLU_2, &STR_or);
        stringOPcons("", CLU_1, CLU_0, &STR_);
        stringOPcons("(", CLU_1, CLU_1, &STR__050);
        stringOPcons(") ", CLU_1, CLU_2, &STR__051_040);
        stringOPcons(":\t", CLU_1, CLU_2, &STR__072_011);
        stringOPcons("missing ", CLU_1, CLU_8, &STR_missing_040);
        stringOPcons(" - assumed present", CLU_1, CLU_18, &STR__040_055_040assumed_040present);
        stringOPcons("<!>", CLU_1, CLU_3, &STR__074_041_076);
        stringOPcons("\n\t", CLU_1, CLU_2, &STR__012_011);
        stringOPcons("Illegal character in text", CLU_1, CLU_25, &STR_Illegal_040character_040in_040text);
        stringOPcons("Integer value overflowed", CLU_1, CLU_24, &STR_Integer_040value_040overflowed);
        stringOPcons("Illegal octal literal", CLU_1, CLU_21, &STR_Illegal_040octal_040literal);
        stringOPcons("Bad format for real literal", CLU_1, CLU_27, &STR_Bad_040format_040for_040real_040literal);
        stringOPcons("Real value overflowed", CLU_1, CLU_21, &STR_Real_040value_040overflowed);
        stringOPcons("Real value underflowed", CLU_1, CLU_22, &STR_Real_040value_040underflowed);
        stringOPcons("Unterminated string literal", CLU_1, CLU_27, &STR_Unterminated_040string_040literal);
        stringOPcons("Illegal character in string literal", CLU_1, CLU_35, &STR_Illegal_040character_040in_040string_040literal);
        stringOPcons("Stray \' at end of line", CLU_1, CLU_22, &STR_Stray_040_047_040at_040end_040of_040line);
        stringOPcons("\'\'", CLU_1, CLU_2, &STR__047_047);
        stringOPcons("Empty character literal", CLU_1, CLU_23, &STR_Empty_040character_040literal);
        stringOPcons("Illegal character literal", CLU_1, CLU_25, &STR_Illegal_040character_040literal);
        stringOPcons("\'", CLU_1, CLU_1, &STR__047);
        stringOPcons("Unterminated character literal", CLU_1, CLU_30, &STR_Unterminated_040character_040literal);
        stringOPcons("Stray \\ at end of line", CLU_1, CLU_22, &STR_Stray_040_134_040at_040end_040of_040line);
        stringOPcons("^", CLU_1, CLU_1, &STR__136);
        stringOPcons("\\^* escape sequences illegal", CLU_1, CLU_28, &STR__134_136_052_040escape_040sequences_040illegal);
        stringOPcons("@[\\]^", CLU_1, CLU_5, &STR__100_133_134_135_136);
        stringOPcons("\\", CLU_1, CLU_1, &STR__134);
        stringOPcons("Illegal escape sequence", CLU_1, CLU_23, &STR_Illegal_040escape_040sequence);
        stringOPcons("concat", CLU_1, CLU_6, &STR_concat);
        stringOPcons("power", CLU_1, CLU_5, &STR_power);
        stringOPcons("mod", CLU_1, CLU_3, &STR_mod);
        stringOPcons("le", CLU_1, CLU_2, &STR_le);
        stringOPcons("ge", CLU_1, CLU_2, &STR_ge);
        stringOPcons("Illegal character in comment", CLU_1, CLU_28, &STR_Illegal_040character_040in_040comment);
        stringOPcons(": ", CLU_1, CLU_2, &STR__072_040);
        p_env_own_init = 1;
        {
            {CLUREF T_0_1;
            CLUREF T_0_2;
            CLUREF T_0_3;
            CLUREF T_0_4;
            CLUREF T_0_5;
            CLUREF T_0_6;
            CLUREF T_0_7;
            CLUREF T_0_8;
            CLUREF T_0_9;
            CLUREF T_0_10;
            CLUREF T_0_11;
            CLUREF T_0_12;
            CLUREF T_0_13;
            CLUREF T_0_14;
            CLUREF T_0_15;
            CLUREF T_0_16;
            CLUREF T_0_17;
            CLUREF T_0_18;
            CLUREF T_0_19;
            CLUREF T_0_20;
            CLUREF T_0_21;
            CLUREF T_0_22;
            CLUREF T_0_23;
            CLUREF T_0_24;
            CLUREF T_0_25;
            CLUREF T_0_26;
            CLUREF T_0_27;
            CLUREF T_0_28;
            CLUREF T_0_29;
            CLUREF T_0_30;
            CLUREF T_0_31;
            CLUREF T_0_32;
            CLUREF T_0_33;
            CLUREF T_0_34;
            CLUREF T_0_35;
            CLUREF T_0_36;
            CLUREF T_0_37;
            CLUREF T_0_38;
            CLUREF T_0_39;
            CLUREF T_0_40;
            CLUREF T_0_41;
            CLUREF T_0_42;
            CLUREF T_0_43;
            CLUREF T_0_44;
            CLUREF T_0_45;
            CLUREF T_0_46;
            CLUREF T_0_47;
            CLUREF T_0_48;
            CLUREF T_0_49;
            CLUREF T_0_50;
            CLUREF T_0_51;
            CLUREF T_0_52;
            CLUREF T_0_53;
            CLUREF T_0_54;
            CLUREF T_0_55;
            CLUREF T_0_56;
            CLUREF T_0_57;
            CLUREF T_0_58;
            CLUREF T_0_59;
            CLUREF T_0_60;
            CLUREF T_0_61;
            CLUREF T_0_62;
            CLUREF T_0_63;
            CLUREF T_0_64;
            CLUREF T_0_65;
            CLUREF T_0_66;
            CLUREF T_0_67;
            CLUREF T_0_68;
            CLUREF T_0_69;
            CLUREF T_0_70;
            CLUREF T_0_71;
            CLUREF T_0_72;
            CLUREF T_0_73;
            CLUREF T_0_74;
            CLUREF T_0_75;
            CLUREF T_0_76;
            CLUREF T_0_77;
            CLUREF T_0_78;
            CLUREF T_0_79;
            CLUREF T_0_80;
            CLUREF T_0_81;
            CLUREF T_0_82;
            CLUREF T_0_83;
            CLUREF T_0_84;
            CLUREF T_0_85;
            CLUREF T_0_86;
            CLUREF T_0_87;
            CLUREF T_0_88;
            CLUREF T_0_89;
            CLUREF T_0_90;
            CLUREF T_0_91;
            CLUREF T_0_92;
            CLUREF T_0_93;
            CLUREF T_0_94;
            CLUREF T_0_95;
            CLUREF T_0_96;
            CLUREF T_0_97;
            CLUREF T_0_98;
            CLUREF T_0_99;
            CLUREF T_0_100;
            CLUREF T_0_101;
            CLUREF T_0_102;
            CLUREF T_0_103;
            CLUREF T_0_104;
            CLUREF T_0_105;
            CLUREF T_0_106;
            CLUREF T_0_107;
            CLUREF T_0_108;
            CLUREF T_0_109;
            CLUREF T_0_110;
            CLUREF T_0_111;
            CLUREF T_0_112;
            CLUREF T_0_113;
            CLUREF T_0_114;
            CLUREF T_0_115;
            CLUREF T_0_116;
            CLUREF T_0_117;
            CLUREF T_0_118;
            CLUREF T_0_119;
            CLUREF T_0_120;
            CLUREF T_0_121;
            CLUREF T_0_122;
            CLUREF T_0_123;
            CLUREF T_0_124;
            CLUREF T_0_125;
            CLUREF T_0_126;
            CLUREF T_0_127;
            CLUREF T_0_128;
            CLUREF T_0_129;
            CLUREF T_0_130;
            CLUREF T_0_131;
            CLUREF T_0_132;
            CLUREF T_0_133;
            CLUREF T_0_134;
            CLUREF T_0_135;
            CLUREF T_0_136;
            CLUREF T_0_137;
            CLUREF T_0_138;
            CLUREF T_0_139;
            CLUREF T_0_140;
            CLUREF T_0_141;
            CLUREF T_0_142;
            CLUREF T_0_143;
            CLUREF T_0_144;
            CLUREF T_0_145;
            CLUREF T_0_146;
            CLUREF T_0_147;
            CLUREF T_0_148;
            CLUREF T_0_149;
            CLUREF T_0_150;
            CLUREF T_0_151;
            CLUREF T_0_152;
            CLUREF T_0_153;
            CLUREF T_0_154;
            CLUREF T_0_155;
            CLUREF T_0_156;
            CLUREF T_0_157;
            CLUREF T_0_158;
            CLUREF T_0_159;
            CLUREF T_0_160;
            CLUREF T_0_161;
            CLUREF T_0_162;
            CLUREF T_0_163;
            CLUREF T_0_164;
            CLUREF T_0_165;
            CLUREF T_0_166;
            CLUREF T_0_167;
            CLUREF T_0_168;
            CLUREF T_0_169;
            CLUREF T_0_170;
            CLUREF T_0_171;
            CLUREF T_0_172;
            CLUREF T_0_173;
            CLUREF T_0_174;
            CLUREF T_0_175;
            CLUREF T_0_176;
            CLUREF T_0_177;
            CLUREF T_0_178;
            CLUREF T_0_179;
            CLUREF T_0_180;
            CLUREF T_0_181;
            CLUREF T_0_182;
            CLUREF T_0_183;
            CLUREF T_0_184;
            CLUREF T_0_185;
            CLUREF T_0_186;
            CLUREF T_0_187;
            CLUREF T_0_188;
            CLUREF T_0_189;
            CLUREF T_0_190;
            CLUREF T_0_191;
            CLUREF T_0_192;
            CLUREF T_0_193;
            CLUREF T_0_194;
            CLUREF T_0_195;
            CLUREF T_0_196;
            CLUREF T_0_197;
            CLUREF T_0_198;
            CLUREF T_0_199;
            CLUREF T_0_200;
            CLUREF T_0_201;
            CLUREF T_0_202;
            CLUREF T_0_203;
            CLUREF T_0_204;
            CLUREF T_0_205;
            CLUREF T_0_206;
            CLUREF T_0_207;
            CLUREF T_0_208;
            CLUREF T_0_209;
            CLUREF T_0_210;
            CLUREF T_0_211;
            CLUREF T_0_212;
            CLUREF T_0_213;
            CLUREF T_0_214;
            CLUREF T_0_215;
            CLUREF T_0_216;
            CLUREF T_0_217;
            CLUREF T_0_218;
            CLUREF T_0_219;
            CLUREF T_0_220;
            CLUREF T_0_221;
            CLUREF T_0_222;
            CLUREF T_0_223;
            T_0_2.num = 127;
            sequenceOPnew2(T_0_2, &T_0_1);
            CellAlloc(7, nil, T_0_3);
            T_0_1.vec->data[0] = T_0_3.num;
            CellAlloc(7, nil, T_0_4);
            T_0_1.vec->data[1] = T_0_4.num;
            CellAlloc(7, nil, T_0_5);
            T_0_1.vec->data[2] = T_0_5.num;
            CellAlloc(7, nil, T_0_6);
            T_0_1.vec->data[3] = T_0_6.num;
            CellAlloc(7, nil, T_0_7);
            T_0_1.vec->data[4] = T_0_7.num;
            CellAlloc(7, nil, T_0_8);
            T_0_1.vec->data[5] = T_0_8.num;
            CellAlloc(7, nil, T_0_9);
            T_0_1.vec->data[6] = T_0_9.num;
            CellAlloc(7, nil, T_0_10);
            T_0_1.vec->data[7] = T_0_10.num;
            CellAlloc(1, nil, T_0_11);
            T_0_1.vec->data[8] = T_0_11.num;
            CellAlloc(4, nil, T_0_12);
            T_0_1.vec->data[9] = T_0_12.num;
            CellAlloc(1, nil, T_0_13);
            T_0_1.vec->data[10] = T_0_13.num;
            CellAlloc(1, nil, T_0_14);
            T_0_1.vec->data[11] = T_0_14.num;
            CellAlloc(1, nil, T_0_15);
            T_0_1.vec->data[12] = T_0_15.num;
            CellAlloc(7, nil, T_0_16);
            T_0_1.vec->data[13] = T_0_16.num;
            CellAlloc(7, nil, T_0_17);
            T_0_1.vec->data[14] = T_0_17.num;
            CellAlloc(7, nil, T_0_18);
            T_0_1.vec->data[15] = T_0_18.num;
            CellAlloc(7, nil, T_0_19);
            T_0_1.vec->data[16] = T_0_19.num;
            CellAlloc(7, nil, T_0_20);
            T_0_1.vec->data[17] = T_0_20.num;
            CellAlloc(7, nil, T_0_21);
            T_0_1.vec->data[18] = T_0_21.num;
            CellAlloc(7, nil, T_0_22);
            T_0_1.vec->data[19] = T_0_22.num;
            CellAlloc(7, nil, T_0_23);
            T_0_1.vec->data[20] = T_0_23.num;
            CellAlloc(7, nil, T_0_24);
            T_0_1.vec->data[21] = T_0_24.num;
            CellAlloc(7, nil, T_0_25);
            T_0_1.vec->data[22] = T_0_25.num;
            CellAlloc(7, nil, T_0_26);
            T_0_1.vec->data[23] = T_0_26.num;
            CellAlloc(7, nil, T_0_27);
            T_0_1.vec->data[24] = T_0_27.num;
            CellAlloc(7, nil, T_0_28);
            T_0_1.vec->data[25] = T_0_28.num;
            CellAlloc(7, nil, T_0_29);
            T_0_1.vec->data[26] = T_0_29.num;
            CellAlloc(7, nil, T_0_30);
            T_0_1.vec->data[27] = T_0_30.num;
            CellAlloc(7, nil, T_0_31);
            T_0_1.vec->data[28] = T_0_31.num;
            CellAlloc(7, nil, T_0_32);
            T_0_1.vec->data[29] = T_0_32.num;
            CellAlloc(7, nil, T_0_33);
            T_0_1.vec->data[30] = T_0_33.num;
            CellAlloc(1, nil, T_0_34);
            T_0_1.vec->data[31] = T_0_34.num;
            CellAlloc(6, nil, T_0_35);
            T_0_1.vec->data[32] = T_0_35.num;
            CellAlloc(11, nil, T_0_36);
            T_0_1.vec->data[33] = T_0_36.num;
            CellAlloc(32, nil, T_0_37);
            CellAlloc(12, T_0_37.num, T_0_38);
            T_0_1.vec->data[34] = T_0_38.num;
            CellAlloc(6, nil, T_0_39);
            CellAlloc(12, T_0_39.num, T_0_40);
            T_0_1.vec->data[35] = T_0_40.num;
            CellAlloc(2, nil, T_0_41);
            T_0_1.vec->data[36] = T_0_41.num;
            RecordAlloc(3, T_0_42);
            T_0_42.vec->data[2]  = 2;
            T_0_42.vec->data[1]  = STR_and.num;
            T_0_42.vec->data[0]  = false;
            CellAlloc(23, T_0_42.num, T_0_43);
            CellAlloc(12, T_0_43.num, T_0_44);
            T_0_1.vec->data[37] = T_0_44.num;
            CellAlloc(10, nil, T_0_45);
            T_0_1.vec->data[38] = T_0_45.num;
            CellAlloc(21, nil, T_0_46);
            CellAlloc(12, T_0_46.num, T_0_47);
            T_0_1.vec->data[39] = T_0_47.num;
            CellAlloc(28, nil, T_0_48);
            CellAlloc(12, T_0_48.num, T_0_49);
            T_0_1.vec->data[40] = T_0_49.num;
            RecordAlloc(3, T_0_50);
            T_0_50.vec->data[2]  = 5;
            T_0_50.vec->data[1]  = STR_mul.num;
            T_0_50.vec->data[0]  = false;
            CellAlloc(23, T_0_50.num, T_0_51);
            CellAlloc(9, T_0_51.num, T_0_52);
            T_0_1.vec->data[41] = T_0_52.num;
            RecordAlloc(3, T_0_53);
            T_0_53.vec->data[2]  = 4;
            T_0_53.vec->data[1]  = STR_add.num;
            T_0_53.vec->data[0]  = false;
            CellAlloc(23, T_0_53.num, T_0_54);
            CellAlloc(12, T_0_54.num, T_0_55);
            T_0_1.vec->data[42] = T_0_55.num;
            CellAlloc(3, nil, T_0_56);
            CellAlloc(12, T_0_56.num, T_0_57);
            T_0_1.vec->data[43] = T_0_57.num;
            RecordAlloc(3, T_0_58);
            T_0_58.vec->data[2]  = 4;
            T_0_58.vec->data[1]  = STR_sub.num;
            T_0_58.vec->data[0]  = false;
            CellAlloc(23, T_0_58.num, T_0_59);
            CellAlloc(12, T_0_59.num, T_0_60);
            T_0_1.vec->data[44] = T_0_60.num;
            CellAlloc(25, nil, T_0_61);
            CellAlloc(9, T_0_61.num, T_0_62);
            T_0_1.vec->data[45] = T_0_62.num;
            RecordAlloc(3, T_0_63);
            T_0_63.vec->data[2]  = 5;
            T_0_63.vec->data[1]  = STR_div.num;
            T_0_63.vec->data[0]  = false;
            CellAlloc(23, T_0_63.num, T_0_64);
            CellAlloc(9, T_0_64.num, T_0_65);
            T_0_1.vec->data[46] = T_0_65.num;
            T_0_66.ch = '0';
            CellAlloc(3, T_0_66.num, T_0_67);
            T_0_1.vec->data[47] = T_0_67.num;
            T_0_68.ch = '1';
            CellAlloc(3, T_0_68.num, T_0_69);
            T_0_1.vec->data[48] = T_0_69.num;
            T_0_70.ch = '2';
            CellAlloc(3, T_0_70.num, T_0_71);
            T_0_1.vec->data[49] = T_0_71.num;
            T_0_72.ch = '3';
            CellAlloc(3, T_0_72.num, T_0_73);
            T_0_1.vec->data[50] = T_0_73.num;
            T_0_74.ch = '4';
            CellAlloc(3, T_0_74.num, T_0_75);
            T_0_1.vec->data[51] = T_0_75.num;
            T_0_76.ch = '5';
            CellAlloc(3, T_0_76.num, T_0_77);
            T_0_1.vec->data[52] = T_0_77.num;
            T_0_78.ch = '6';
            CellAlloc(3, T_0_78.num, T_0_79);
            T_0_1.vec->data[53] = T_0_79.num;
            T_0_80.ch = '7';
            CellAlloc(3, T_0_80.num, T_0_81);
            T_0_1.vec->data[54] = T_0_81.num;
            T_0_82.ch = '8';
            CellAlloc(3, T_0_82.num, T_0_83);
            T_0_1.vec->data[55] = T_0_83.num;
            T_0_84.ch = '9';
            CellAlloc(3, T_0_84.num, T_0_85);
            T_0_1.vec->data[56] = T_0_85.num;
            CellAlloc(2, nil, T_0_86);
            CellAlloc(9, T_0_86.num, T_0_87);
            T_0_1.vec->data[57] = T_0_87.num;
            CellAlloc(31, nil, T_0_88);
            CellAlloc(12, T_0_88.num, T_0_89);
            T_0_1.vec->data[58] = T_0_89.num;
            RecordAlloc(3, T_0_90);
            T_0_90.vec->data[2]  = 3;
            T_0_90.vec->data[1]  = STR_lt.num;
            T_0_90.vec->data[0]  = false;
            CellAlloc(23, T_0_90.num, T_0_91);
            CellAlloc(9, T_0_91.num, T_0_92);
            T_0_1.vec->data[59] = T_0_92.num;
            RecordAlloc(3, T_0_93);
            T_0_93.vec->data[2]  = 3;
            T_0_93.vec->data[1]  = STR_equal.num;
            T_0_93.vec->data[0]  = false;
            CellAlloc(11, T_0_93.num, T_0_94);
            CellAlloc(12, T_0_94.num, T_0_95);
            T_0_1.vec->data[60] = T_0_95.num;
            RecordAlloc(3, T_0_96);
            T_0_96.vec->data[2]  = 3;
            T_0_96.vec->data[1]  = STR_gt.num;
            T_0_96.vec->data[0]  = false;
            CellAlloc(23, T_0_96.num, T_0_97);
            CellAlloc(9, T_0_97.num, T_0_98);
            T_0_1.vec->data[61] = T_0_98.num;
            CellAlloc(6, nil, T_0_99);
            T_0_1.vec->data[62] = T_0_99.num;
            CellAlloc(6, nil, T_0_100);
            T_0_1.vec->data[63] = T_0_100.num;
            T_0_101.ch = 'a';
            CellAlloc(8, T_0_101.num, T_0_102);
            T_0_1.vec->data[64] = T_0_102.num;
            T_0_103.ch = 'b';
            CellAlloc(8, T_0_103.num, T_0_104);
            T_0_1.vec->data[65] = T_0_104.num;
            T_0_105.ch = 'c';
            CellAlloc(8, T_0_105.num, T_0_106);
            T_0_1.vec->data[66] = T_0_106.num;
            T_0_107.ch = 'd';
            CellAlloc(8, T_0_107.num, T_0_108);
            T_0_1.vec->data[67] = T_0_108.num;
            T_0_109.ch = 'e';
            CellAlloc(8, T_0_109.num, T_0_110);
            T_0_1.vec->data[68] = T_0_110.num;
            T_0_111.ch = 'f';
            CellAlloc(8, T_0_111.num, T_0_112);
            T_0_1.vec->data[69] = T_0_112.num;
            T_0_113.ch = 'g';
            CellAlloc(8, T_0_113.num, T_0_114);
            T_0_1.vec->data[70] = T_0_114.num;
            T_0_115.ch = 'h';
            CellAlloc(8, T_0_115.num, T_0_116);
            T_0_1.vec->data[71] = T_0_116.num;
            T_0_117.ch = 'i';
            CellAlloc(8, T_0_117.num, T_0_118);
            T_0_1.vec->data[72] = T_0_118.num;
            T_0_119.ch = 'j';
            CellAlloc(8, T_0_119.num, T_0_120);
            T_0_1.vec->data[73] = T_0_120.num;
            T_0_121.ch = 'k';
            CellAlloc(8, T_0_121.num, T_0_122);
            T_0_1.vec->data[74] = T_0_122.num;
            T_0_123.ch = 'l';
            CellAlloc(8, T_0_123.num, T_0_124);
            T_0_1.vec->data[75] = T_0_124.num;
            T_0_125.ch = 'm';
            CellAlloc(8, T_0_125.num, T_0_126);
            T_0_1.vec->data[76] = T_0_126.num;
            T_0_127.ch = 'n';
            CellAlloc(8, T_0_127.num, T_0_128);
            T_0_1.vec->data[77] = T_0_128.num;
            T_0_129.ch = 'o';
            CellAlloc(8, T_0_129.num, T_0_130);
            T_0_1.vec->data[78] = T_0_130.num;
            T_0_131.ch = 'p';
            CellAlloc(8, T_0_131.num, T_0_132);
            T_0_1.vec->data[79] = T_0_132.num;
            T_0_133.ch = 'q';
            CellAlloc(8, T_0_133.num, T_0_134);
            T_0_1.vec->data[80] = T_0_134.num;
            T_0_135.ch = 'r';
            CellAlloc(8, T_0_135.num, T_0_136);
            T_0_1.vec->data[81] = T_0_136.num;
            T_0_137.ch = 's';
            CellAlloc(8, T_0_137.num, T_0_138);
            T_0_1.vec->data[82] = T_0_138.num;
            T_0_139.ch = 't';
            CellAlloc(8, T_0_139.num, T_0_140);
            T_0_1.vec->data[83] = T_0_140.num;
            T_0_141.ch = 'u';
            CellAlloc(8, T_0_141.num, T_0_142);
            T_0_1.vec->data[84] = T_0_142.num;
            T_0_143.ch = 'v';
            CellAlloc(8, T_0_143.num, T_0_144);
            T_0_1.vec->data[85] = T_0_144.num;
            T_0_145.ch = 'w';
            CellAlloc(8, T_0_145.num, T_0_146);
            T_0_1.vec->data[86] = T_0_146.num;
            T_0_147.ch = 'x';
            CellAlloc(8, T_0_147.num, T_0_148);
            T_0_1.vec->data[87] = T_0_148.num;
            T_0_149.ch = 'y';
            CellAlloc(8, T_0_149.num, T_0_150);
            T_0_1.vec->data[88] = T_0_150.num;
            T_0_151.ch = 'z';
            CellAlloc(8, T_0_151.num, T_0_152);
            T_0_1.vec->data[89] = T_0_152.num;
            CellAlloc(19, nil, T_0_153);
            CellAlloc(12, T_0_153.num, T_0_154);
            T_0_1.vec->data[90] = T_0_154.num;
            CellAlloc(5, nil, T_0_155);
            T_0_1.vec->data[91] = T_0_155.num;
            CellAlloc(26, nil, T_0_156);
            CellAlloc(12, T_0_156.num, T_0_157);
            T_0_1.vec->data[92] = T_0_157.num;
            CellAlloc(6, nil, T_0_158);
            T_0_1.vec->data[93] = T_0_158.num;
            T_0_159.ch = '_';
            CellAlloc(8, T_0_159.num, T_0_160);
            T_0_1.vec->data[94] = T_0_160.num;
            CellAlloc(6, nil, T_0_161);
            T_0_1.vec->data[95] = T_0_161.num;
            T_0_162.ch = 'a';
            CellAlloc(8, T_0_162.num, T_0_163);
            T_0_1.vec->data[96] = T_0_163.num;
            T_0_164.ch = 'b';
            CellAlloc(8, T_0_164.num, T_0_165);
            T_0_1.vec->data[97] = T_0_165.num;
            T_0_166.ch = 'c';
            CellAlloc(8, T_0_166.num, T_0_167);
            T_0_1.vec->data[98] = T_0_167.num;
            T_0_168.ch = 'd';
            CellAlloc(8, T_0_168.num, T_0_169);
            T_0_1.vec->data[99] = T_0_169.num;
            T_0_170.ch = 'e';
            CellAlloc(8, T_0_170.num, T_0_171);
            T_0_1.vec->data[100] = T_0_171.num;
            T_0_172.ch = 'f';
            CellAlloc(8, T_0_172.num, T_0_173);
            T_0_1.vec->data[101] = T_0_173.num;
            T_0_174.ch = 'g';
            CellAlloc(8, T_0_174.num, T_0_175);
            T_0_1.vec->data[102] = T_0_175.num;
            T_0_176.ch = 'h';
            CellAlloc(8, T_0_176.num, T_0_177);
            T_0_1.vec->data[103] = T_0_177.num;
            T_0_178.ch = 'i';
            CellAlloc(8, T_0_178.num, T_0_179);
            T_0_1.vec->data[104] = T_0_179.num;
            T_0_180.ch = 'j';
            CellAlloc(8, T_0_180.num, T_0_181);
            T_0_1.vec->data[105] = T_0_181.num;
            T_0_182.ch = 'k';
            CellAlloc(8, T_0_182.num, T_0_183);
            T_0_1.vec->data[106] = T_0_183.num;
            T_0_184.ch = 'l';
            CellAlloc(8, T_0_184.num, T_0_185);
            T_0_1.vec->data[107] = T_0_185.num;
            T_0_186.ch = 'm';
            CellAlloc(8, T_0_186.num, T_0_187);
            T_0_1.vec->data[108] = T_0_187.num;
            T_0_188.ch = 'n';
            CellAlloc(8, T_0_188.num, T_0_189);
            T_0_1.vec->data[109] = T_0_189.num;
            T_0_190.ch = 'o';
            CellAlloc(8, T_0_190.num, T_0_191);
            T_0_1.vec->data[110] = T_0_191.num;
            T_0_192.ch = 'p';
            CellAlloc(8, T_0_192.num, T_0_193);
            T_0_1.vec->data[111] = T_0_193.num;
            T_0_194.ch = 'q';
            CellAlloc(8, T_0_194.num, T_0_195);
            T_0_1.vec->data[112] = T_0_195.num;
            T_0_196.ch = 'r';
            CellAlloc(8, T_0_196.num, T_0_197);
            T_0_1.vec->data[113] = T_0_197.num;
            T_0_198.ch = 's';
            CellAlloc(8, T_0_198.num, T_0_199);
            T_0_1.vec->data[114] = T_0_199.num;
            T_0_200.ch = 't';
            CellAlloc(8, T_0_200.num, T_0_201);
            T_0_1.vec->data[115] = T_0_201.num;
            T_0_202.ch = 'u';
            CellAlloc(8, T_0_202.num, T_0_203);
            T_0_1.vec->data[116] = T_0_203.num;
            T_0_204.ch = 'v';
            CellAlloc(8, T_0_204.num, T_0_205);
            T_0_1.vec->data[117] = T_0_205.num;
            T_0_206.ch = 'w';
            CellAlloc(8, T_0_206.num, T_0_207);
            T_0_1.vec->data[118] = T_0_207.num;
            T_0_208.ch = 'x';
            CellAlloc(8, T_0_208.num, T_0_209);
            T_0_1.vec->data[119] = T_0_209.num;
            T_0_210.ch = 'y';
            CellAlloc(8, T_0_210.num, T_0_211);
            T_0_1.vec->data[120] = T_0_211.num;
            T_0_212.ch = 'z';
            CellAlloc(8, T_0_212.num, T_0_213);
            T_0_1.vec->data[121] = T_0_213.num;
            CellAlloc(20, nil, T_0_214);
            CellAlloc(12, T_0_214.num, T_0_215);
            T_0_1.vec->data[122] = T_0_215.num;
            RecordAlloc(3, T_0_216);
            T_0_216.vec->data[2]  = 1;
            T_0_216.vec->data[1]  = STR_or.num;
            T_0_216.vec->data[0]  = false;
            CellAlloc(23, T_0_216.num, T_0_217);
            CellAlloc(9, T_0_217.num, T_0_218);
            T_0_1.vec->data[123] = T_0_218.num;
            CellAlloc(27, nil, T_0_219);
            CellAlloc(12, T_0_219.num, T_0_220);
            T_0_1.vec->data[124] = T_0_220.num;
            CellAlloc(22, nil, T_0_221);
            CellAlloc(9, T_0_221.num, T_0_222);
            T_0_1.vec->data[125] = T_0_222.num;
            CellAlloc(7, nil, T_0_223);
            T_0_1.vec->data[126] = T_0_223.num;
            p_envOPchrvec.num = T_0_1.num;
            }
            }
        {signal(ERR_ok);}
    ex_0: pclu_unhandled(err); {signal(ERR_failure);}
        }
    }

static int p_envOPcreate_own_init = 0;

/**** BEGIN PROCEDURE create ****/

errcode p_envOPcreate(comp, inst, errst, ret_1)
CLUREF comp;
CLUREF inst;
CLUREF errst;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF e;
        if (p_envOPcreate_own_init == 0) {
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        p_envOPcreate_own_init = 1;
    }
    enter_proc(166);

  LINE(167);
    {
        {CLUREF T_1_1;
        CLUREF T_1_2;
        CLUREF T_1_3;
        CLUREF T_1_4;
        CLUREF T_1_5;
        CLUREF T_1_6;
        CLUREF T_1_7;
        CLUREF T_1_8;
        CLUREF T_1_9;
        RecordAlloc(22, T_1_1);
        T_1_1.vec->data[2]  = comp.num;
        T_1_1.vec->data[17]  = true;
        err = tokentabOPcreate(comp, &T_1_2);
        if (err != ERR_ok) goto ex_0;
        T_1_1.vec->data[20]  = T_1_2.num;
        T_1_1.vec->data[7]  = false;
        T_1_1.vec->data[5]  = errst.num;
        T_1_1.vec->data[4]  = 0;
        T_1_1.vec->data[9]  = inst.num;
        T_1_1.vec->data[6]  = STR_.num;
        T_1_1.vec->data[10]  = 1;
        CellAlloc(10, nil, T_1_3);
        T_1_1.vec->data[14]  = T_1_3.num;
        T_1_1.vec->data[11]  = 1;
        err = arrayOPpredict(CLU_1, CLU_50, &T_1_4);
        if (err != ERR_ok) goto ex_0;
        T_1_1.vec->data[15]  = T_1_4.num;
        err = arrayOPpredict(CLU_1, CLU_50, &T_1_5);
        if (err != ERR_ok) goto ex_0;
        T_1_1.vec->data[12]  = T_1_5.num;
        T_1_1.vec->data[8]  = 0;
        err = arrayOPpredict(CLU_1, CLU_50, &T_1_6);
        if (err != ERR_ok) goto ex_0;
        T_1_1.vec->data[13]  = T_1_6.num;
        T_1_1.vec->data[16]  = false;
        T_1_1.vec->data[18]  = false;
        T_1_1.vec->data[3]  = STR_.num;
        T_1_1.vec->data[0]  = STR_.num;
        err = arrayOPpredict(CLU_1, CLU_10, &T_1_7);
        if (err != ERR_ok) goto ex_0;
        T_1_1.vec->data[1]  = T_1_7.num;
        err = arrayOPpredict(CLU_1, CLU_50, &T_1_8);
        if (err != ERR_ok) goto ex_0;
        T_1_1.vec->data[19]  = T_1_8.num;
        err = ceOPget_unknown_type(comp, &T_1_9);
        if (err != ERR_ok) goto ex_0;
        T_1_1.vec->data[21]  = T_1_9.num;
        e.num = T_1_1.num;
        }
        }

  LINE(189);
    {
    CLUREF T_1_1;
    err = p_envOPnext_token(e, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(190);
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[14];
    switch (T_1_1.cell->tag) {
    case 10: 
         {
            break;
            }
    default: {

  LINE(192);
        {
        e.vec->data[17]  = false;
        }
    }
    }
    }

  LINE(194);
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[13];
    err = arrayOPtrim(T_1_1, CLU_1, CLU_0);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(195);
    {
    {
    ret_1->num = e.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE create ****/

static int p_envOPnew_env_own_init = 0;

/**** BEGIN PROCEDURE new_env ****/

errcode p_envOPnew_env(e, inst, ret_1)
CLUREF e;
CLUREF inst;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF e1;
        if (p_envOPnew_env_own_init == 0) {
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        p_envOPnew_env_own_init = 1;
    }
    enter_proc(198);

  LINE(199);
    {
    e.vec->data[17]  = false;
    }

  LINE(200);
    {
        {CLUREF T_1_1;
        generic_CLU_proc.type_owns = 0;
        generic_CLU_proc.proc = recordOPcopy1;
        CUR_PROC_VAR.proc = &generic_CLU_proc;
        err = recordOPcopy1(e, &T_1_1);
        if (err != ERR_ok) goto ex_0;
        e1.num = T_1_1.num;
        }
        }

  LINE(201);
    {
    e1.vec->data[9]  = inst.num;
    }

  LINE(202);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    err = streamOPget_name(inst, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = file_nameOPunparse(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(STR__050, T_1_2, &T_1_3);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(T_1_3, STR__051_040, &T_1_4);
    if (err != ERR_ok) goto ex_0;
    e1.vec->data[6]  = T_1_4.num;
    }

  LINE(203);
    {
    e1.vec->data[11]  = 1;
    }

  LINE(204);
    {
    e1.vec->data[8]  = 0;
    }

  LINE(205);
    {
    CLUREF T_1_1;
    err = arrayOPpredict(CLU_1, CLU_50, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    e1.vec->data[15]  = T_1_1.num;
    }

  LINE(206);
    {
    CLUREF T_1_1;
    err = arrayOPpredict(CLU_1, CLU_50, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    e1.vec->data[12]  = T_1_1.num;
    }

  LINE(207);
    {
    CLUREF T_1_1;
    err = arrayOPpredict(CLU_1, CLU_50, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    e1.vec->data[13]  = T_1_1.num;
    }

  LINE(208);
    {
    CLUREF T_1_1;
    err = p_envOPnext_token(e1, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(209);
    {
    CLUREF T_1_1;
    T_1_1.num = e1.vec->data[13];
    err = arrayOPtrim(T_1_1, CLU_1, CLU_0);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(210);
    {
    {
    ret_1->num = e1.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE new_env ****/


/**** BEGIN PROCEDURE push ****/

errcode p_envOPpush(e, inst, ret_1)
CLUREF e;
CLUREF inst;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF e1;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(213);

  LINE(214);
    {
    p_envOPsaved_env.num = e.num;
    }

  LINE(215);
    {
    e.vec->data[17]  = false;
    }

  LINE(216);
    {
        {CLUREF T_1_1;
        generic_CLU_proc.type_owns = 0;
        generic_CLU_proc.proc = recordOPcopy1;
        CUR_PROC_VAR.proc = &generic_CLU_proc;
        err = recordOPcopy1(e, &T_1_1);
        if (err != ERR_ok) goto ex_0;
        e1.num = T_1_1.num;
        }
        }

  LINE(217);
    {
    e1.vec->data[9]  = inst.num;
    }

  LINE(219);
    {
    e1.vec->data[11]  = 1;
    }

  LINE(220);
    {
    e1.vec->data[8]  = 0;
    }

  LINE(221);
    {
    CLUREF T_1_1;
    err = arrayOPpredict(CLU_1, CLU_50, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    e1.vec->data[15]  = T_1_1.num;
    }

  LINE(222);
    {
    CLUREF T_1_1;
    err = arrayOPpredict(CLU_1, CLU_50, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    e1.vec->data[12]  = T_1_1.num;
    }

  LINE(223);
    {
    CLUREF T_1_1;
    err = arrayOPpredict(CLU_1, CLU_50, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    e1.vec->data[13]  = T_1_1.num;
    }

  LINE(224);
    {
    CLUREF T_1_1;
    err = p_envOPnext_token(e1, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(225);
    {
    CLUREF T_1_1;
    T_1_1.num = e1.vec->data[13];
    err = arrayOPtrim(T_1_1, CLU_1, CLU_0);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(226);
    {
    {
    ret_1->num = e1.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE push ****/


/**** BEGIN PROCEDURE pop ****/

errcode p_envOPpop(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(229);

  LINE(230);
    {
    {
    ret_1->num = p_envOPsaved_env.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE pop ****/


/**** BEGIN PROCEDURE reset ****/

errcode p_envOPreset(e, comp, inst, errst)
CLUREF e;
CLUREF comp;
CLUREF inst;
CLUREF errst;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(233);

  LINE(234);
    {
    e.vec->data[2]  = comp.num;
    }

  LINE(235);
    {
    e.vec->data[5]  = errst.num;
    }

  LINE(236);
    {
    e.vec->data[4]  = 0;
    }

  LINE(237);
    {
    e.vec->data[9]  = inst.num;
    }

  LINE(238);
    {
    e.vec->data[11]  = 1;
    }

  LINE(239);
    {
    e.vec->data[8]  = 0;
    }

  LINE(240);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = e.vec->data[17];
    T_1_2.num = T_1_1.num ^ 1;
    if (T_1_2.num == true) {

  LINE(241);
        {
        CLUREF T_2_1;
        T_2_1.num = e.vec->data[20];
        err = tokentabOPreset(T_2_1, comp);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(242);
        {
        e.vec->data[7]  = false;
        }

  LINE(243);
        {
        CLUREF T_2_1;
        T_2_1.num = e.vec->data[15];
        err = arrayOPset_low(T_2_1, CLU_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(244);
        {
        CLUREF T_2_1;
        T_2_1.num = e.vec->data[15];
        err = arrayOPtrim(T_2_1, CLU_1, CLU_0);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(245);
        {
        CLUREF T_2_1;
        T_2_1.num = e.vec->data[12];
        err = arrayOPset_low(T_2_1, CLU_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(246);
        {
        CLUREF T_2_1;
        T_2_1.num = e.vec->data[12];
        err = arrayOPtrim(T_2_1, CLU_1, CLU_0);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(247);
        {
        CLUREF T_2_1;
        T_2_1.num = e.vec->data[1];
        err = arrayOPtrim(T_2_1, CLU_1, CLU_0);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(248);
        {
        CLUREF T_2_1;
        err = ceOPget_unknown_type(comp, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        e.vec->data[21]  = T_2_1.num;
        }
        }
        }/* end if */

  LINE(250);
    {
    CLUREF T_1_1;
    err = p_envOPnext_token(e, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(251);
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[14];
    switch (T_1_1.cell->tag) {
    case 10: 
         {

  LINE(252);
            {
            e.vec->data[17]  = true;
            }
            break;
            }
    default: {

  LINE(253);
        {
        e.vec->data[17]  = false;
        }
    }
    }
    }

  LINE(255);
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[13];
    err = arrayOPtrim(T_1_1, CLU_1, CLU_0);
    if (err != ERR_ok) goto ex_0;
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE reset ****/


/**** BEGIN PROCEDURE hack ****/

errcode p_envOPhack(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(258);

  LINE(259);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = e.vec->data[7];
    T_1_2.num = T_1_1.num ^ 1;
    if (T_1_2.num == true) {

  LINE(260);
        {
        e.vec->data[7]  = true;
        }

  LINE(261);
        {
        CLUREF T_2_1;
        T_2_1.num = e.vec->data[20];
        err = tokentabOPhack(T_2_1);
        if (err != ERR_ok) goto ex_0;
        }

  LINE(262);
        {
        e.vec->data[17]  = false;
        }
        }
        }/* end if */
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE hack ****/


/**** BEGIN PROCEDURE unhack ****/

errcode p_envOPunhack(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(266);

  LINE(267);
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[7];
    if (T_1_1.num == true) {

  LINE(268);
        {
        e.vec->data[7]  = false;
        }

  LINE(269);
        {
        CLUREF T_2_1;
        T_2_1.num = e.vec->data[20];
        err = tokentabOPunhack(T_2_1);
        if (err != ERR_ok) goto ex_0;
        }
        }
        }/* end if */
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE unhack ****/


/**** BEGIN PROCEDURE is_hacked ****/

errcode p_envOPis_hacked(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(273);

  LINE(274);
    {
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[7];
    ret_1->num = T_1_1.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE is_hacked ****/


/**** BEGIN PROCEDURE add_token ****/

errcode p_envOPadd_token(e, n, k)
CLUREF e;
CLUREF n;
CLUREF k;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(277);

  LINE(278);
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[20];
    err = tokentabOPadd_token(T_1_1, n, k);
    if (err != ERR_ok) goto ex_0;
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE add_token ****/


/**** BEGIN PROCEDURE get_peek1 ****/

errcode p_envOPget_peek1(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(281);

  LINE(282);
    {
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[14];
    ret_1->num = T_1_1.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE get_peek1 ****/


/**** BEGIN PROCEDURE peek ****/

errcode p_envOPpeek(e, num, ret_1)
CLUREF e;
CLUREF num;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF sp;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(287);

  LINE(288);
    {
    CLUREF T_1_1;
    T_1_1.num = (num.num == 1)? true : false;
    if (T_1_1.num == true) {

  LINE(289);
        {
        {
        CLUREF T_2_1;
        T_2_1.num = e.vec->data[14];
        ret_1->num = T_2_1.num;
        }
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(290);
    {
    CLUREF T_1_1;
    T_1_1.num = num.num - 2;
     if ((T_1_1.num >= 0 && num.num < 0 && (-2) < 0) || 
         (T_1_1.num <= 0 && num.num > 0 && (-2) > 0)) {
        err = ERR_overflow;
        goto ex_0;}
    num.num = T_1_1.num;
    }

  LINE(291);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[15];
        sp.num = T_1_1.num;
        }
        }

  LINE(292);
    for (;;) {
        CLUREF T_1_1;
        CLUREF T_1_2;
        T_1_1.num = sp.array->ext_size;
        T_1_2.num = (T_1_1.num <= num.num)? true : false;
        if (T_1_2.num != true) { break; }

  LINE(293);
        {
        err = p_envOPscanline(e);
        if (err != ERR_ok) goto ex_0;
        }
        }
        end_while_1:;

  LINE(295);
    {
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    T_1_1.num = sp.array->ext_low;
    T_1_2.num = T_1_1.num + num.num;
     if ((T_1_2.num > 0 && T_1_1.num < 0 && num.num < 0) || 
         (T_1_2.num < 0 && T_1_1.num > 0 && num.num > 0)) {
        err = ERR_overflow;
        goto ex_0;}
    if (T_1_2.num < sp.array->ext_low || T_1_2.num > sp.array->ext_high ) {
        err = ERR_bounds;
        goto ex_0;}
    T_1_3.num = sp.array->store->data[T_1_2.num - sp.array->ext_low + sp.array->int_low];
    ret_1->num = T_1_3.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE peek ****/


/**** BEGIN PROCEDURE next_token ****/

errcode p_envOPnext_token(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF sp;
    CLUREF lnum;
    CLUREF k;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(298);

  LINE(299);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[15];
        sp.num = T_1_1.num;
        }
        }

  LINE(300);
    {
    CLUREF T_1_1;
    T_1_1.num = (sp.array->ext_size == 0)? true : false;
    if (T_1_1.num == true) {

  LINE(301);
        {
        err = p_envOPscanline(e);
        if (err != ERR_ok) goto ex_0;
        }
        }
        }/* end if */

  LINE(303);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[11];
        lnum.num = T_1_1.num;
        }
        }

  LINE(304);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = e.vec->data[10];
    T_1_2.num = (lnum.num > T_1_1.num)? true : false;
    if (T_1_2.num == true) {

  LINE(305);
        {
        CLUREF T_2_1;
        T_2_1.num = e.vec->data[13];
        err = arrayOPtrim(T_2_1, CLU_1, CLU_0);
        if (err != ERR_ok) goto ex_0;
        }
        }
        }/* end if */

  LINE(306);
    {
    e.vec->data[10]  = lnum.num;
    }

  LINE(307);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[14];
        k.num = T_1_1.num;
        }
        }

  LINE(308);
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[13];
    {
    if ((T_1_1.array->int_low + T_1_1.array->ext_size + 1) < T_1_1.array->int_size) {
        T_1_1.array->store->data[T_1_1.array->int_low + T_1_1.array->ext_size] = k.num;
        T_1_1.array->ext_size++; T_1_1.array->ext_high++;}
    else {
        err = arrayOPaddh(T_1_1, k);
        if (err != ERR_ok) goto ex_0;}
    }
    }

  LINE(309);
    {
    CLUREF T_1_1;
    err = arrayOPreml(sp, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    e.vec->data[14]  = T_1_1.num;
    }

  LINE(310);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = e.vec->data[12];
    err = arrayOPreml(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    e.vec->data[11]  = T_1_2.num;
    }

  LINE(311);
    {
    {
    ret_1->num = k.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE next_token ****/


/**** BEGIN PROCEDURE get_line ****/

errcode p_envOPget_line(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(314);

  LINE(315);
    {
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[10];
    ret_1->num = T_1_1.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE get_line ****/


/**** BEGIN PROCEDURE get_peekline ****/

errcode p_envOPget_peekline(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(318);

  LINE(319);
    {
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[11];
    ret_1->num = T_1_1.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE get_peekline ****/


/**** BEGIN PROCEDURE begin_body ****/

errcode p_envOPbegin_body(e, kind)
CLUREF e;
CLUREF kind;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(322);

  LINE(323);
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[1];
    {
    if ((T_1_1.array->int_low + T_1_1.array->ext_size + 1) < T_1_1.array->int_size) {
        T_1_1.array->store->data[T_1_1.array->int_low + T_1_1.array->ext_size] = kind.num;
        T_1_1.array->ext_size++; T_1_1.array->ext_high++;}
    else {
        err = arrayOPaddh(T_1_1, kind);
        if (err != ERR_ok) goto ex_0;}
    }
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE begin_body ****/


/**** BEGIN PROCEDURE end_body ****/

errcode p_envOPend_body(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(326);

  LINE(327);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = e.vec->data[1];
    err = arrayOPremh(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE end_body ****/


/**** BEGIN PROCEDURE in_body ****/

errcode p_envOPin_body(e, kind, ret_1)
CLUREF e;
CLUREF kind;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF k;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(330);

  LINE(331);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
        T_1_1.num = e.vec->data[1];
        T_1_3.num = T_1_1.array->ext_high; 
        T_1_4 = T_1_1;
        for (T_1_2.num = T_1_1.array->ext_low; T_1_2.num <= T_1_3.num; T_1_2.num++) {
            if (T_1_2.num > T_1_4.array->ext_high || T_1_2.num < T_1_4.array->ext_low) {
                err = ERR_failure;
                elist[0].str = array_bounds_exception_STRING;
                goto ex_0;}
            k.num = T_1_4.array->store->data[T_1_2.num - T_1_4.array->ext_low + T_1_4.array->int_low];

  LINE(332);
            {
            CLUREF T_2_1;
            T_2_1.num = (k.num == kind.num)? true : false;
            if (T_2_1.num == true) {
                {
                {
                ret_1->tf = true;
                }
                {signal (ERR_ok);}}
                }
                }/* end if */
        }
    }
    end_inline_for_1:;

  LINE(334);
    {
    {
    ret_1->tf = false;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE in_body ****/


/**** BEGIN PROCEDURE get_unknown_type ****/

errcode p_envOPget_unknown_type(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(337);

  LINE(338);
    {
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[21];
    ret_1->num = T_1_1.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE get_unknown_type ****/


/**** BEGIN PROCEDURE get_bad_expr ****/

errcode p_envOPget_bad_expr(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(341);

  LINE(342);
    {
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CellAlloc(4, nil, T_1_1);
    T_1_2.num = e.vec->data[21];
    err = exprOPcreate(T_1_1, T_1_2, &T_1_3);
    if (err != ERR_ok) goto ex_0;
    ret_1->num = T_1_3.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE get_bad_expr ****/

static int p_envOPassume_own_init = 0;

/**** BEGIN PROCEDURE assume ****/

errcode p_envOPassume(e, what)
CLUREF e;
CLUREF what;
    {
    errcode err;
    errcode ecode2;
    CLUREF st;
        if (p_envOPassume_own_init == 0) {
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        p_envOPassume_own_init = 1;
    }
    enter_proc(345);

  LINE(346);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[5];
        st.num = T_1_1.num;
        }
        }

  LINE(347);
    {

  LINE(348);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        T_3_1.num = e.vec->data[10];
        err = intOPunparse(T_3_1, &T_3_2);
        if (err != ERR_ok) goto ex_1;
        err = streamOPputs(st, T_3_2);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(349);
        {
        err = streamOPputs(st, STR__072_011);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(350);
        {
        CLUREF T_3_1;
        T_3_1.num = e.vec->data[6];
        err = streamOPputs(st, T_3_1);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(351);
        {
        err = streamOPputs(st, STR_missing_040);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(352);
        {
        err = streamOPputs(st, what);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(353);
        {
        err = streamOPputs(st, STR__040_055_040assumed_040present);
        if (err != ERR_ok) goto ex_1;
        }
        }
        goto end_1;
        ex_1:
            if ((err == ERR_not_possible)) {
            }
            else {
                goto ex_0;
            }
        end_1:;

  LINE(355);
    {
    err = p_envOPline(e, CLU_1);
    if (err != ERR_ok) goto ex_0;
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE assume ****/


/**** BEGIN PROCEDURE get_err ****/

errcode p_envOPget_err(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(358);

  LINE(359);
    {
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[4];
    ret_1->num = T_1_1.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE get_err ****/


/**** BEGIN PROCEDURE set_err ****/

errcode p_envOPset_err(e, deg)
CLUREF e;
CLUREF deg;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(362);

  LINE(363);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = e.vec->data[4];
    T_1_2.num = (deg.num > T_1_1.num)? true : false;
    if (T_1_2.num == true) {

  LINE(364);
        {
        e.vec->data[4]  = deg.num;
        }
        }
        }/* end if */
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE set_err ****/


/**** BEGIN PROCEDURE reset_err ****/

errcode p_envOPreset_err(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(367);

  LINE(368);
    {
    e.vec->data[4]  = 0;
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE reset_err ****/

static int p_envOPerr_own_init = 0;

/**** BEGIN PROCEDURE err ****/

errcode p_envOPerr(e, why, deg)
CLUREF e;
CLUREF why;
CLUREF deg;
    {
    errcode err;
    errcode ecode2;
    CLUREF st;
        if (p_envOPerr_own_init == 0) {
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        p_envOPerr_own_init = 1;
    }
    enter_proc(371);

  LINE(372);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[5];
        st.num = T_1_1.num;
        }
        }

  LINE(373);
    {

  LINE(374);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        T_3_1.num = e.vec->data[10];
        err = intOPunparse(T_3_1, &T_3_2);
        if (err != ERR_ok) goto ex_1;
        err = streamOPputs(st, T_3_2);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(375);
        {
        err = streamOPputs(st, STR__072_011);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(376);
        {
        CLUREF T_3_1;
        T_3_1.num = e.vec->data[6];
        err = streamOPputs(st, T_3_1);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(377);
        {
        err = streamOPputs(st, why);
        if (err != ERR_ok) goto ex_1;
        }
        }
        goto end_1;
        ex_1:
            if ((err == ERR_not_possible)) {
            }
            else {
                goto ex_0;
            }
        end_1:;

  LINE(379);
    {
    err = p_envOPline(e, deg);
    if (err != ERR_ok) goto ex_0;
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE err ****/

static int p_envOPline_own_init = 0;

/**** BEGIN PROCEDURE line ****/

errcode p_envOPline(e, deg)
CLUREF e;
CLUREF deg;
    {
    errcode err;
    errcode ecode2;
    CLUREF st;
    CLUREF k;
    CLUREF sp;
    CLUREF lines;
    CLUREF i;
        if (p_envOPline_own_init == 0) {
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        p_envOPline_own_init = 1;
    }
    enter_proc(382);

  LINE(383);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[5];
        st.num = T_1_1.num;
        }
        }

  LINE(384);
    {

  LINE(385);
        {
        CLUREF T_3_1;
        T_3_1.ch = '\n';
        err = streamOPputc(st, T_3_1);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(386);
        {
        CLUREF T_3_1;
        T_3_1.ch = '\t';
        err = streamOPputc(st, T_3_1);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(387);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        CLUREF T_3_3;
        CLUREF T_3_4;
            T_3_1.num = e.vec->data[13];
            T_3_3.num = T_3_1.array->ext_high; 
            T_3_4 = T_3_1;
            for (T_3_2.num = T_3_1.array->ext_low; T_3_2.num <= T_3_3.num; T_3_2.num++) {
                if (T_3_2.num > T_3_4.array->ext_high || T_3_2.num < T_3_4.array->ext_low) {
                    err = ERR_failure;
                    elist[0].str = array_bounds_exception_STRING;
                    goto ex_1;}
                k.num = T_3_4.array->store->data[T_3_2.num - T_3_4.array->ext_low + T_3_4.array->int_low];

  LINE(388);
                {
                err = pt_token(k, st);
                if (err != ERR_ok) goto ex_1;
                }

  LINE(389);
                {
                CLUREF T_4_1;
                T_4_1.ch = ' ';
                err = streamOPputc(st, T_4_1);
                if (err != ERR_ok) goto ex_1;
                }
            }
        }
        end_inline_for_1:;

  LINE(391);
        {
        err = streamOPputs(st, STR__074_041_076);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(392);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        CLUREF T_3_3;
        T_3_1.num = e.vec->data[11];
        T_3_2.num = e.vec->data[10];
        T_3_3.num = (T_3_1.num > T_3_2.num)? true : false;
        if (T_3_3.num == true) {

  LINE(393);
            {
            err = streamOPputs(st, STR__012_011);
            if (err != ERR_ok) goto ex_1;
            }
            }
        else {

  LINE(394);
            {
            CLUREF T_4_1;
            T_4_1.ch = ' ';
            err = streamOPputc(st, T_4_1);
            if (err != ERR_ok) goto ex_1;
            }
            }}/* end if */

  LINE(396);
        {
        CLUREF T_3_1;
        T_3_1.num = e.vec->data[14];
        err = pt_token(T_3_1, st);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(397);
        {
            {CLUREF T_3_1;
            T_3_1.num = e.vec->data[15];
            sp.num = T_3_1.num;
            }
            }

  LINE(398);
        {
            {CLUREF T_3_1;
            T_3_1.num = e.vec->data[12];
            lines.num = T_3_1.num;
            }
            }

  LINE(399);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
            T_3_2.num = lines.array->ext_high; 
            for (T_3_1.num = lines.array->ext_low; T_3_1.num <= T_3_2.num; T_3_1.num++) {
                i.num = T_3_1.num;

  LINE(400);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                CLUREF T_4_3;
                if (i.num < lines.array->ext_low || i.num > lines.array->ext_high ) {
                    err = ERR_bounds;
                    goto ex_1;}
                T_4_1.num = lines.array->store->data[i.num - lines.array->ext_low + lines.array->int_low];
                T_4_2.num = e.vec->data[11];
                T_4_3.num = (T_4_1.num > T_4_2.num)? true : false;
                if (T_4_3.num == true) {
                    goto end_inline_for_2;
                    }
                    }/* end if */

  LINE(401);
                {
                CLUREF T_4_1;
                T_4_1.ch = ' ';
                err = streamOPputc(st, T_4_1);
                if (err != ERR_ok) goto ex_1;
                }

  LINE(402);
                {
                CLUREF T_4_1;
                if (i.num < sp.array->ext_low || i.num > sp.array->ext_high ) {
                    err = ERR_bounds;
                    goto ex_1;}
                T_4_1.num = sp.array->store->data[i.num - sp.array->ext_low + sp.array->int_low];
                err = pt_token(T_4_1, st);
                if (err != ERR_ok) goto ex_1;
                }
            }
        }
        end_inline_for_2:;

  LINE(404);
        {
        CLUREF T_3_1;
        T_3_1.ch = '\n';
        err = streamOPputc(st, T_3_1);
        if (err != ERR_ok) goto ex_1;
        }
        }
        goto end_1;
        ex_1:
            if ((err == ERR_not_possible)) {
            }
            else {
                goto ex_0;
            }
        end_1:;

  LINE(406);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = e.vec->data[4];
    T_1_2.num = (deg.num > T_1_1.num)? true : false;
    if (T_1_2.num == true) {
        {
        e.vec->data[4]  = deg.num;
        }
        }
        }/* end if */
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE line ****/


/**** BEGIN PROCEDURE set_deftype ****/

errcode p_envOPset_deftype(e, which, specvals)
CLUREF e;
CLUREF which;
CLUREF specvals;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(409);

  LINE(410);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    T_1_1.num = e.vec->data[2];
    err = ceOPget_proc_(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = duOPequal(which, T_1_2, &T_1_3);
    if (err != ERR_ok) goto ex_0;
    e.vec->data[16]  = T_1_3.num;
    }

  LINE(411);
    {
    e.vec->data[18]  = specvals.num;
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE set_deftype ****/


/**** BEGIN PROCEDURE in_proc ****/

errcode p_envOPin_proc(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(414);

  LINE(415);
    {
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[16];
    ret_1->num = T_1_1.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE in_proc ****/


/**** BEGIN PROCEDURE specd_vals ****/

errcode p_envOPspecd_vals(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(418);

  LINE(419);
    {
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[18];
    ret_1->num = T_1_1.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE specd_vals ****/


/**** BEGIN PROCEDURE get_clustr ****/

errcode p_envOPget_clustr(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(422);

  LINE(423);
    {
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[3];
    ret_1->num = T_1_1.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE get_clustr ****/


/**** BEGIN PROCEDURE get_applystr ****/

errcode p_envOPget_applystr(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(426);

  LINE(427);
    {
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[0];
    ret_1->num = T_1_1.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE get_applystr ****/


/**** BEGIN PROCEDURE set_clustr ****/

errcode p_envOPset_clustr(e, s)
CLUREF e;
CLUREF s;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(430);

  LINE(431);
    {
    e.vec->data[3]  = s.num;
    }

  LINE(432);
    {
    e.vec->data[17]  = false;
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE set_clustr ****/


/**** BEGIN PROCEDURE set_applystr ****/

errcode p_envOPset_applystr(e, s)
CLUREF e;
CLUREF s;
    {
    errcode err;
    errcode ecode2;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(435);

  LINE(436);
    {
    e.vec->data[0]  = s.num;
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE set_applystr ****/

static int p_envOPscanline_own_init = 0;

/**** BEGIN PROCEDURE scanline ****/

errcode p_envOPscanline(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
    CLUREF tokens;
    CLUREF st;
    CLUREF sp;
    CLUREF lines;
    CLUREF z;
    CLUREF cc;
    CLUREF c;
    CLUREF t;
    CLUREF b;
    CLUREF z1;
    CLUREF iline;
        if (p_envOPscanline_own_init == 0) {
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        p_envOPscanline_own_init = 1;
    }
    enter_proc(442);

  LINE(443);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[20];
        tokens.num = T_1_1.num;
        }
        }

  LINE(444);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[9];
        st.num = T_1_1.num;
        }
        }

  LINE(445);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[15];
        sp.num = T_1_1.num;
        }
        }

  LINE(446);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[12];
        lines.num = T_1_1.num;
        }
        }

  LINE(447);
    {
        {CLUREF T_1_1;
        T_1_1.num = sp.array->ext_size;
        z.num = T_1_1.num;
        }
        }

  LINE(448);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = e.vec->data[8];
    T_1_2.num = T_1_1.num + 1;
     if ((T_1_2.num > 0 && T_1_1.num < 0 && 1 < 0) || 
         (T_1_2.num < 0 && T_1_1.num > 0 && 1 > 0)) {
        err = ERR_overflow;
        goto ex_0;}
    e.vec->data[8]  = T_1_2.num;
    }

  LINE(449);
    for (;;) {
        if (true != true) { break; }

  LINE(450);
        {
            {CLUREF T_3_1;
            err = streamOPgetc(st, &T_3_1);
            if (err != ERR_ok) goto ex_1;
            cc.num = T_3_1.num;
            }
            }
            goto end_1;
            ex_1:
                if ((err == ERR_end_of_file)) {

  LINE(452);
                    {
                    CLUREF T_3_1;
                    CellAlloc(10, nil, T_3_1);
                    {
                    if ((sp.array->int_low + sp.array->ext_size + 1) < sp.array->int_size) {
                        sp.array->store->data[sp.array->int_low + sp.array->ext_size] = T_3_1.num;
                        sp.array->ext_size++; sp.array->ext_high++;}
                    else {
                        err = arrayOPaddh(sp, T_3_1);
                        if (err != ERR_ok) goto ex_0;}
                    }
                    }

  LINE(453);
                    {
                    CLUREF T_3_1;
                    T_3_1.ch = '\n';
                    cc.num = T_3_1.num;
                    }
                }
                else {
                    goto ex_0;
                }
            end_1:;

  LINE(455);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        T_3_1.num = (int)(cc.ch & 0xff);
        if (T_3_1.num < 1 || T_3_1.num > p_envOPchrvec.vec->size ) {
            err = ERR_bounds;
            goto ex_2;}
        T_3_2.num = p_envOPchrvec.vec->data[T_3_1.num - 1];
        switch (T_3_2.cell->tag) {
        case 8: 
             {CLUREF T_3_3;
            T_3_3.num = T_3_2.cell->value;
            c.num = T_3_3.num;

  LINE(457);
                {
                err = p_envOPidn_or_key(e, c);
                if (err != ERR_ok) goto ex_2;
                }
                break;
                }
        case 1: 
             {
                break;
                }
        case 12: 
             {CLUREF T_3_4;
            T_3_4.num = T_3_2.cell->value;
            t.num = T_3_4.num;

  LINE(460);
                {
                {
                if ((sp.array->int_low + sp.array->ext_size + 1) < sp.array->int_size) {
                    sp.array->store->data[sp.array->int_low + sp.array->ext_size] = t.num;
                    sp.array->ext_size++; sp.array->ext_high++;}
                else {
                    err = arrayOPaddh(sp, t);
                    if (err != ERR_ok) goto ex_2;}
                }
                }
                break;
                }
        case 9: 
             {CLUREF T_3_5;
            T_3_5.num = T_3_2.cell->value;
            t.num = T_3_5.num;

  LINE(462);
                {
                switch (t.cell->tag) {
                case 2: 
                case 23: 
                case 22: 
                     {

  LINE(464);
                        {
                        err = p_envOPmcharop(e, t, cc);
                        if (err != ERR_ok) goto ex_2;
                        }
                        break;
                        }
                case 25: 
                     {

  LINE(466);
                        {

  LINE(467);
                            {
                            CLUREF T_7_1;
                            err = streamOPpeekc(st, &T_7_1);
                            if (err != ERR_ok) goto ex_3;
                            cc.num = T_7_1.num;
                            }

  LINE(468);
                            {
                            CLUREF T_7_1;
                            CLUREF T_7_2;
                            CLUREF T_7_3;
                            CLUREF T_7_4;
                            CLUREF T_7_5;
                            T_7_2.ch = '0';
                            err = charOPge(cc, T_7_2, &T_7_3);
                            if (err != ERR_ok) goto ex_3;
                            T_7_1.num = T_7_3.num;
                            if (T_7_3.num) {
                                T_7_4.ch = '9';
                                err = charOPle(cc, T_7_4, &T_7_5);
                                if (err != ERR_ok) goto ex_3;
                                T_7_1.num = T_7_5.num;
                            }
                            if (T_7_1.num == true) {

  LINE(469);
                                {
                                    {CLUREF T_8_1;
                                    T_8_1.num = e.vec->data[19];
                                    b.num = T_8_1.num;
                                    }
                                    }

  LINE(470);
                                {
                                err = arrayOPtrim(b, CLU_1, CLU_0);
                                if (err != ERR_ok) goto ex_3;
                                }

  LINE(471);
                                {
                                CLUREF T_8_1;
                                T_8_1.ch = '.';
                                {
                                if ((b.array->int_low + b.array->ext_size + 1) < b.array->int_size) {
                                    b.array->store->data[b.array->int_low + b.array->ext_size] = T_8_1.num;
                                    b.array->ext_size++; b.array->ext_high++;}
                                else {
                                    err = arrayOPaddh(b, T_8_1);
                                    if (err != ERR_ok) goto ex_3;}
                                }
                                }

  LINE(472);
                                {
                                err = p_envOPreallit(e, b);
                                if (err != ERR_ok) goto ex_3;
                                }

  LINE(473);
                                continue;
                                }
                                }/* end if */
                            }
                            goto end_3;
                            ex_3:
                                if ((err == ERR_end_of_file)) {
                                }
                                else {
                                    goto ex_2;
                                }
                            end_3:;

  LINE(476);
                        {
                        {
                        if ((sp.array->int_low + sp.array->ext_size + 1) < sp.array->int_size) {
                            sp.array->store->data[sp.array->int_low + sp.array->ext_size] = t.num;
                            sp.array->ext_size++; sp.array->ext_high++;}
                        else {
                            err = arrayOPaddh(sp, t);
                            if (err != ERR_ok) goto ex_2;}
                        }
                        }
                        break;
                        }
                default: {

  LINE(478);
                    {
                    {
                    if ((sp.array->int_low + sp.array->ext_size + 1) < sp.array->int_size) {
                        sp.array->store->data[sp.array->int_low + sp.array->ext_size] = t.num;
                        sp.array->ext_size++; sp.array->ext_high++;}
                    else {
                        err = arrayOPaddh(sp, t);
                        if (err != ERR_ok) goto ex_2;}
                    }
                    }
                }
                }
                }
                break;
                }
        case 3: 
             {

  LINE(481);
                {
                err = p_envOPnumber(e, cc);
                if (err != ERR_ok) goto ex_2;
                }
                break;
                }
        case 11: 
             {

  LINE(483);
                {
                err = p_envOPstrlit(e);
                if (err != ERR_ok) goto ex_2;
                }
                break;
                }
        case 10: 
             {

  LINE(485);
                {
                err = p_envOPcharlit(e);
                if (err != ERR_ok) goto ex_2;
                }
                break;
                }
        case 4: 
             {

  LINE(487);
                {
                    {CLUREF T_4_1;
                    T_4_1.num = sp.array->ext_size;
                    z1.num = T_4_1.num;
                    }
                    }

  LINE(488);
                {
                    {CLUREF T_4_1;
                    T_4_1.num = e.vec->data[8];
                    iline.num = T_4_1.num;
                    }
                    }

  LINE(489);
                {
                CLUREF T_4_1;
                T_4_1.num = (z.num < z1.num)? true : false;
                if (T_4_1.num == true) {

  LINE(490);
                    {
                    CLUREF T_5_1;
                    CLUREF T_5_2;
                    CLUREF T_5_3;
                        T_5_1.num = z.num + 1;
                         if ((T_5_1.num > 0 && z.num < 0 && 1 < 0) || 
                             (T_5_1.num < 0 && z.num > 0 && 1 > 0)) {
                            err = ERR_overflow;
                            goto ex_2;}
                        T_5_3.num = z1.num;
                        for (T_5_2.num = T_5_1.num; T_5_2.num <= T_5_3.num; T_5_2.num++) {
                            z.num = T_5_2.num;

  LINE(491);
                            {
                            {
                            if ((lines.array->int_low + lines.array->ext_size + 1) < lines.array->int_size) {
                                lines.array->store->data[lines.array->int_low + lines.array->ext_size] = iline.num;
                                lines.array->ext_size++; lines.array->ext_high++;}
                            else {
                                err = arrayOPaddh(lines, iline);
                                if (err != ERR_ok) goto ex_2;}
                            }
                            }
                        }
                    }
                    end_inline_for_1:;

  LINE(493);
                    {
                    {signal (ERR_ok);}}
                    }
                else {

  LINE(494);
                    {
                    CLUREF T_5_1;
                    T_5_1.num = iline.num + 1;
                     if ((T_5_1.num > 0 && iline.num < 0 && 1 < 0) || 
                         (T_5_1.num < 0 && iline.num > 0 && 1 > 0)) {
                        err = ERR_overflow;
                        goto ex_2;}
                    e.vec->data[8]  = T_5_1.num;
                    }
                    }}/* end if */
                break;
                }
        case 2: 
             {

  LINE(497);
                {
                err = p_envOPcomment(e);
                if (err != ERR_ok) goto ex_2;
                }
                break;
                }
        default: {

  LINE(499);
            {
            CLUREF T_4_1;
            err = cprint_form(cc, &T_4_1);
            if (err != ERR_ok) goto ex_2;
            err = p_envOPbad(e, T_4_1, STR_Illegal_040character_040in_040text);
            if (err != ERR_ok) goto ex_2;
            }
        }
        }
        }
            goto end_2;
            ex_2:
                if ((err == ERR_bounds)) {

  LINE(501);
                    {
                    CLUREF T_3_1;
                    err = cprint_form(cc, &T_3_1);
                    if (err != ERR_ok) goto ex_0;
                    err = p_envOPbad(e, T_3_1, STR_Illegal_040character_040in_040text);
                    if (err != ERR_ok) goto ex_0;
                    }
                }
                else {
                    goto ex_0;
                }
            end_2:;
        }
        end_while_1:;
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE scanline ****/


/**** BEGIN PROCEDURE idn_or_key ****/

errcode p_envOPidn_or_key(e, cc)
CLUREF e;
CLUREF cc;
    {
    errcode err;
    errcode ecode2;
    CLUREF st;
    CLUREF t;
    CLUREF c;
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(509);

  LINE(510);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[9];
        st.num = T_1_1.num;
        }
        }

  LINE(511);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[19];
        t.num = T_1_1.num;
        }
        }

  LINE(512);
    {
    err = arrayOPtrim(t, CLU_1, CLU_0);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(513);
    {
    {
    if ((t.array->int_low + t.array->ext_size + 1) < t.array->int_size) {
        t.array->store->data[t.array->int_low + t.array->ext_size] = cc.num;
        t.array->ext_size++; t.array->ext_high++;}
    else {
        err = arrayOPaddh(t, cc);
        if (err != ERR_ok) goto ex_0;}
    }
    }

  LINE(514);
    for (;;) {
        if (true != true) { break; }

  LINE(515);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        CLUREF T_3_3;
        err = streamOPpeekc(st, &T_3_1);
        if (err != ERR_ok) goto ex_1;
        T_3_2.num = (int)(T_3_1.ch & 0xff);
        if (T_3_2.num < 1 || T_3_2.num > p_envOPchrvec.vec->size ) {
            err = ERR_bounds;
            goto ex_1;}
        T_3_3.num = p_envOPchrvec.vec->data[T_3_2.num - 1];
        switch (T_3_3.cell->tag) {
        case 8: 
        case 3: 
             {CLUREF T_3_4;
            T_3_4.num = T_3_3.cell->value;
            c.num = T_3_4.num;

  LINE(517);
                {
                {
                if ((t.array->int_low + t.array->ext_size + 1) < t.array->int_size) {
                    t.array->store->data[t.array->int_low + t.array->ext_size] = c.num;
                    t.array->ext_size++; t.array->ext_high++;}
                else {
                    err = arrayOPaddh(t, c);
                    if (err != ERR_ok) goto ex_1;}
                }
                }

  LINE(518);
                {
                CLUREF T_4_1;
                err = streamOPgetc(st, &T_4_1);
                if (err != ERR_ok) goto ex_1;
                }
                break;
                }
        default: {

  LINE(520);
            goto end_while_1;
        }
        }
        }
        }
        end_while_1:;
        goto end_1;
        ex_1:
            if ((err == ERR_bounds)
             || (err == ERR_end_of_file)) {
            }
            else {
                goto ex_0;
            }
        end_1:;

  LINE(524);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    T_1_1.num = e.vec->data[15];
    T_1_2.num = e.vec->data[20];
    err = stringOPac2s(t, &T_1_3);
    if (err != ERR_ok) goto ex_0;
    err = tokentabOPget_token(T_1_2, T_1_3, &T_1_4);
    if (err != ERR_ok) goto ex_0;
    {
    if ((T_1_1.array->int_low + T_1_1.array->ext_size + 1) < T_1_1.array->int_size) {
        T_1_1.array->store->data[T_1_1.array->int_low + T_1_1.array->ext_size] = T_1_4.num;
        T_1_1.array->ext_size++; T_1_1.array->ext_high++;}
    else {
        err = arrayOPaddh(T_1_1, T_1_4);
        if (err != ERR_ok) goto ex_0;}
    }
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE idn_or_key ****/

static int p_envOPnumber_own_init = 0;

/**** BEGIN PROCEDURE number ****/

errcode p_envOPnumber(e, cc)
CLUREF e;
CLUREF cc;
    {
    errcode err;
    errcode ecode2;
    CLUREF st;
    CLUREF b;
    CLUREF c;
    CLUREF t;
    CLUREF res;
        if (p_envOPnumber_own_init == 0) {
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        p_envOPnumber_own_init = 1;
    }
    enter_proc(533);

  LINE(534);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[9];
        st.num = T_1_1.num;
        }
        }

  LINE(535);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[19];
        b.num = T_1_1.num;
        }
        }

  LINE(536);
    {
    err = arrayOPtrim(b, CLU_1, CLU_0);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(537);
    {
    {
    if ((b.array->int_low + b.array->ext_size + 1) < b.array->int_size) {
        b.array->store->data[b.array->int_low + b.array->ext_size] = cc.num;
        b.array->ext_size++; b.array->ext_high++;}
    else {
        err = arrayOPaddh(b, cc);
        if (err != ERR_ok) goto ex_0;}
    }
    }

  LINE(538);
    for (;;) {
        if (true != true) { break; }

  LINE(539);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        CLUREF T_3_3;
        err = streamOPpeekc(st, &T_3_1);
        if (err != ERR_ok) goto ex_1;
        T_3_2.num = (int)(T_3_1.ch & 0xff);
        if (T_3_2.num < 1 || T_3_2.num > p_envOPchrvec.vec->size ) {
            err = ERR_bounds;
            goto ex_1;}
        T_3_3.num = p_envOPchrvec.vec->data[T_3_2.num - 1];
        switch (T_3_3.cell->tag) {
        case 3: 
             {CLUREF T_3_4;
            T_3_4.num = T_3_3.cell->value;
            c.num = T_3_4.num;

  LINE(541);
                {
                CLUREF T_4_1;
                err = streamOPgetc(st, &T_4_1);
                if (err != ERR_ok) goto ex_1;
                {
                if ((b.array->int_low + b.array->ext_size + 1) < b.array->int_size) {
                    b.array->store->data[b.array->int_low + b.array->ext_size] = T_4_1.num;
                    b.array->ext_size++; b.array->ext_high++;}
                else {
                    err = arrayOPaddh(b, T_4_1);
                    if (err != ERR_ok) goto ex_1;}
                }
                }

  LINE(542);
                continue;
                break;
                }
        case 8: 
             {CLUREF T_3_5;
            T_3_5.num = T_3_3.cell->value;
            c.num = T_3_5.num;

  LINE(544);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                T_4_1.ch = 'e';
                T_4_2.num = (c.ch == T_4_1.ch)? true : false;
                if (T_4_2.num == true) {

  LINE(545);
                    {
                    err = p_envOPreallit(e, b);
                    if (err != ERR_ok) goto ex_1;
                    }

  LINE(546);
                    {
                    {signal (ERR_ok);}}
                    }
                else {

  LINE(547);
                    goto end_while_1;
                    }}/* end if */
                break;
                }
        case 9: 
             {CLUREF T_3_6;
            T_3_6.num = T_3_3.cell->value;
            t.num = T_3_6.num;

  LINE(550);
                {
                switch (t.cell->tag) {
                case 25: 
                     {

  LINE(552);
                        {
                        CLUREF T_5_1;
                        err = streamOPgetc(st, &T_5_1);
                        if (err != ERR_ok) goto ex_1;
                        {
                        if ((b.array->int_low + b.array->ext_size + 1) < b.array->int_size) {
                            b.array->store->data[b.array->int_low + b.array->ext_size] = T_5_1.num;
                            b.array->ext_size++; b.array->ext_high++;}
                        else {
                            err = arrayOPaddh(b, T_5_1);
                            if (err != ERR_ok) goto ex_1;}
                        }
                        }

  LINE(553);
                        {
                        err = p_envOPreallit(e, b);
                        if (err != ERR_ok) goto ex_1;
                        }

  LINE(554);
                        {
                        {signal (ERR_ok);}}
                        break;
                        }
                default: {

  LINE(556);
                    goto end_while_1;
                }
                }
                }
                break;
                }
        default: {

  LINE(559);
            goto end_while_1;
        }
        }
        }
        }
        end_while_1:;
        goto end_1;
        ex_1:
            if ((err == ERR_bounds)
             || (err == ERR_end_of_file)) {
            }
            else {
                goto ex_0;
            }
        end_1:;

  LINE(564);
    {
    CLUREF T_2_1;
    CLUREF T_2_2;
    CLUREF T_2_3;
    CLUREF T_2_4;
    T_2_2.ch = '0';
    T_2_3.num = (cc.ch == T_2_2.ch)? true : false;
    T_2_1.num = T_2_3.num;
    if (T_2_3.num) {
        T_2_4.num = e.vec->data[7];
        T_2_1.num = T_2_4.num;
    }
    if (T_2_1.num == true) {

  LINE(565);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        err = stringOPac2s(b, &T_3_1);
        if (err != ERR_ok) goto ex_2;
        err = i_oparse(T_3_1, &T_3_2);
        if (err != ERR_ok) goto ex_2;
        res.num = T_3_2.num;
        }
        }
    else {

  LINE(566);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        err = stringOPac2s(b, &T_3_1);
        if (err != ERR_ok) goto ex_2;
        err = intOPparse(T_3_1, &T_3_2);
        if (err != ERR_ok) goto ex_2;
        res.num = T_3_2.num;
        }
        }}/* end if */
        goto end_2;
        ex_2:
            if ((err == ERR_overflow)) {

  LINE(568);
                {
                CLUREF T_2_1;
                err = stringOPac2s(b, &T_2_1);
                if (err != ERR_ok) goto ex_0;
                err = p_envOPbad(e, T_2_1, STR_Integer_040value_040overflowed);
                if (err != ERR_ok) goto ex_0;
                }

  LINE(569);
                {
                res.num = 131071;
                }
            }
            else if ((err == ERR_bad_format)) {

  LINE(571);
                {
                CLUREF T_2_1;
                err = stringOPac2s(b, &T_2_1);
                if (err != ERR_ok) goto ex_0;
                err = p_envOPbad(e, T_2_1, STR_Illegal_040octal_040literal);
                if (err != ERR_ok) goto ex_0;
                }

  LINE(572);
                {
                res.num = 0;
                }
            }
            else {
                goto ex_0;
            }
        end_2:;

  LINE(574);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    T_1_1.num = e.vec->data[15];
    CellAlloc(15, res.num, T_1_2);
    CellAlloc(13, T_1_2.num, T_1_3);
    {
    if ((T_1_1.array->int_low + T_1_1.array->ext_size + 1) < T_1_1.array->int_size) {
        T_1_1.array->store->data[T_1_1.array->int_low + T_1_1.array->ext_size] = T_1_3.num;
        T_1_1.array->ext_size++; T_1_1.array->ext_high++;}
    else {
        err = arrayOPaddh(T_1_1, T_1_3);
        if (err != ERR_ok) goto ex_0;}
    }
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE number ****/

static int p_envOPreallit_own_init = 0;

/**** BEGIN PROCEDURE reallit ****/

errcode p_envOPreallit(e, a)
CLUREF e;
CLUREF a;
    {
    errcode err;
    errcode ecode2;
    CLUREF st;
    CLUREF noexp;
    CLUREF c;
    CLUREF lit;
    CLUREF res;
        if (p_envOPreallit_own_init == 0) {
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        p_envOPreallit_own_init = 1;
    }
    enter_proc(577);

  LINE(578);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[9];
        st.num = T_1_1.num;
        }
        }

  LINE(579);
    {
        {noexp.tf = true;
        }
        }

  LINE(580);
    for (;;) {
        if (true != true) { break; }

  LINE(581);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        CLUREF T_3_3;
        err = streamOPpeekc(st, &T_3_1);
        if (err != ERR_ok) goto ex_1;
        T_3_2.num = (int)(T_3_1.ch & 0xff);
        if (T_3_2.num < 1 || T_3_2.num > p_envOPchrvec.vec->size ) {
            err = ERR_bounds;
            goto ex_1;}
        T_3_3.num = p_envOPchrvec.vec->data[T_3_2.num - 1];
        switch (T_3_3.cell->tag) {
        case 3: 
             {CLUREF T_3_4;
            T_3_4.num = T_3_3.cell->value;
            c.num = T_3_4.num;

  LINE(583);
                {
                CLUREF T_4_1;
                err = streamOPgetc(st, &T_4_1);
                if (err != ERR_ok) goto ex_1;
                {
                if ((a.array->int_low + a.array->ext_size + 1) < a.array->int_size) {
                    a.array->store->data[a.array->int_low + a.array->ext_size] = T_4_1.num;
                    a.array->ext_size++; a.array->ext_high++;}
                else {
                    err = arrayOPaddh(a, T_4_1);
                    if (err != ERR_ok) goto ex_1;}
                }
                }
                break;
                }
        case 8: 
             {CLUREF T_3_5;
            T_3_5.num = T_3_3.cell->value;
            c.num = T_3_5.num;

  LINE(585);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                CLUREF T_4_3;
                T_4_2.ch = 'e';
                T_4_3.num = (c.ch == T_4_2.ch)? true : false;
                T_4_1.num = T_4_3.num;
                if (T_4_3.num) {
                    T_4_1.num = noexp.num;
                }
                if (T_4_1.num == true) {

  LINE(586);
                    {
                    noexp.tf = false;
                    }

  LINE(587);
                    {
                    CLUREF T_5_1;
                    err = streamOPgetc(st, &T_5_1);
                    if (err != ERR_ok) goto ex_1;
                    {
                    if ((a.array->int_low + a.array->ext_size + 1) < a.array->int_size) {
                        a.array->store->data[a.array->int_low + a.array->ext_size] = T_5_1.num;
                        a.array->ext_size++; a.array->ext_high++;}
                    else {
                        err = arrayOPaddh(a, T_5_1);
                        if (err != ERR_ok) goto ex_1;}
                    }
                    }

  LINE(588);
                    {
                    CLUREF T_5_1;
                    err = streamOPpeekc(st, &T_5_1);
                    if (err != ERR_ok) goto ex_1;
                    c.num = T_5_1.num;
                    }

  LINE(589);
                    {
                    CLUREF T_5_1;
                    CLUREF T_5_2;
                    CLUREF T_5_3;
                    CLUREF T_5_4;
                    CLUREF T_5_5;
                    T_5_2.ch = '-';
                    T_5_3.num = (c.ch == T_5_2.ch)? true : false;
                    T_5_1.num = T_5_3.num;
                    if (!T_5_3.num) {
                        T_5_4.ch = '+';
                        T_5_5.num = (c.ch == T_5_4.ch)? true : false;
                        T_5_1.num = T_5_5.num;
                    }
                    if (T_5_1.num == true) {

  LINE(590);
                        {
                        CLUREF T_6_1;
                        err = streamOPgetc(st, &T_6_1);
                        if (err != ERR_ok) goto ex_1;
                        {
                        if ((a.array->int_low + a.array->ext_size + 1) < a.array->int_size) {
                            a.array->store->data[a.array->int_low + a.array->ext_size] = T_6_1.num;
                            a.array->ext_size++; a.array->ext_high++;}
                        else {
                            err = arrayOPaddh(a, T_6_1);
                            if (err != ERR_ok) goto ex_1;}
                        }
                        }
                        }
                        }/* end if */
                    }
                else {

  LINE(591);
                    goto end_while_1;
                    }}/* end if */
                break;
                }
        default: {

  LINE(594);
            goto end_while_1;
        }
        }
        }
        }
        end_while_1:;
        goto end_1;
        ex_1:
            if ((err == ERR_bounds)
             || (err == ERR_end_of_file)) {
            }
            else {
                goto ex_0;
            }
        end_1:;

  LINE(598);
    {
        {CLUREF T_1_1;
        err = stringOPac2s(a, &T_1_1);
        if (err != ERR_ok) goto ex_0;
        lit.num = T_1_1.num;
        }
        }

  LINE(599);
    {
        {CLUREF T_2_1;
        err = realOPparse(lit, &T_2_1);
        if (err != ERR_ok) goto ex_2;
        res.num = T_2_1.num;
        }
        }
        goto end_2;
        ex_2:
            if ((err == ERR_bad_format)) {

  LINE(600);
                {
                err = p_envOPbad(e, lit, STR_Bad_040format_040for_040real_040literal);
                if (err != ERR_ok) goto ex_0;
                }

  LINE(601);
                {
                CLUREF T_2_1;
                T_2_1.real = 1.000000e+38;
                res.num = T_2_1.num;
                }
            }
            else if ((err == ERR_overflow)) {

  LINE(602);
                {
                err = p_envOPbad(e, lit, STR_Real_040value_040overflowed);
                if (err != ERR_ok) goto ex_0;
                }

  LINE(603);
                {
                CLUREF T_2_1;
                T_2_1.real = 1.000000e+38;
                res.num = T_2_1.num;
                }
            }
            else if ((err == ERR_underflow)) {

  LINE(604);
                {
                err = p_envOPbad(e, lit, STR_Real_040value_040underflowed);
                if (err != ERR_ok) goto ex_0;
                }

  LINE(605);
                {
                CLUREF T_2_1;
                T_2_1.real = 9.999999e-39;
                res.num = T_2_1.num;
                }
            }
            else {
                goto ex_0;
            }
        end_2:;

  LINE(607);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    T_1_1.num = e.vec->data[15];
    CellAlloc(21, res.num, T_1_2);
    CellAlloc(13, T_1_2.num, T_1_3);
    {
    if ((T_1_1.array->int_low + T_1_1.array->ext_size + 1) < T_1_1.array->int_size) {
        T_1_1.array->store->data[T_1_1.array->int_low + T_1_1.array->ext_size] = T_1_3.num;
        T_1_1.array->ext_size++; T_1_1.array->ext_high++;}
    else {
        err = arrayOPaddh(T_1_1, T_1_3);
        if (err != ERR_ok) goto ex_0;}
    }
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE reallit ****/

static int p_envOPstrlit_own_init = 0;

/**** BEGIN PROCEDURE strlit ****/

errcode p_envOPstrlit(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
    CLUREF st;
    CLUREF t;
    CLUREF c;
        if (p_envOPstrlit_own_init == 0) {
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        p_envOPstrlit_own_init = 1;
    }
    enter_proc(612);

  LINE(613);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[9];
        st.num = T_1_1.num;
        }
        }

  LINE(614);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[19];
        t.num = T_1_1.num;
        }
        }

  LINE(615);
    {
    err = arrayOPtrim(t, CLU_1, CLU_0);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(616);
    for (;;) {
        if (true != true) { break; }

  LINE(617);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        CLUREF T_3_3;
        err = streamOPpeekc(st, &T_3_1);
        if (err != ERR_ok) goto ex_1;
        T_3_2.num = (int)(T_3_1.ch & 0xff);
        if (T_3_2.num < 1 || T_3_2.num > p_envOPchrvec.vec->size ) {
            err = ERR_bounds;
            goto ex_1;}
        T_3_3.num = p_envOPchrvec.vec->data[T_3_2.num - 1];
        switch (T_3_3.cell->tag) {
        case 11: 
             {

  LINE(619);
                {
                CLUREF T_4_1;
                err = streamOPgetc(st, &T_4_1);
                if (err != ERR_ok) goto ex_1;
                }

  LINE(620);
                goto end_while_1;
                break;
                }
        case 5: 
             {

  LINE(622);
                {
                CLUREF T_4_1;
                err = streamOPgetc(st, &T_4_1);
                if (err != ERR_ok) goto ex_1;
                }

  LINE(623);
                {
                CLUREF T_4_1;
                err = p_envOPescape(e, &T_4_1);
                if (err != ERR_ok) goto ex_1;
                {
                if ((t.array->int_low + t.array->ext_size + 1) < t.array->int_size) {
                    t.array->store->data[t.array->int_low + t.array->ext_size] = T_4_1.num;
                    t.array->ext_size++; t.array->ext_high++;}
                else {
                    err = arrayOPaddh(t, T_4_1);
                    if (err != ERR_ok) goto ex_1;}
                }
                }
                break;
                }
        case 4: 
             {

  LINE(625);
                {
                CLUREF T_4_1;
                err = stringOPac2s(t, &T_4_1);
                if (err != ERR_ok) goto ex_1;
                err = p_envOPbad(e, T_4_1, STR_Unterminated_040string_040literal);
                if (err != ERR_ok) goto ex_1;
                }

  LINE(626);
                goto end_while_1;
                break;
                }
        case 7: 
        case 1: 
             {

  LINE(628);
                {
                    {CLUREF T_4_1;
                    err = streamOPgetc(st, &T_4_1);
                    if (err != ERR_ok) goto ex_1;
                    c.num = T_4_1.num;
                    }
                    }

  LINE(629);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                CLUREF T_4_3;
                T_4_1.ch = ' ';
                T_4_2.num = (c.ch == T_4_1.ch)? true : false;
                T_4_3.num = T_4_2.num ^ 1;
                if (T_4_3.num == true) {

  LINE(630);
                    {
                    CLUREF T_5_1;
                    err = cprint_form(c, &T_5_1);
                    if (err != ERR_ok) goto ex_1;
                    err = p_envOPbad(e, T_5_1, STR_Illegal_040character_040in_040string_040literal);
                    if (err != ERR_ok) goto ex_1;
                    }
                    }
                    }/* end if */

  LINE(633);
                {
                {
                if ((t.array->int_low + t.array->ext_size + 1) < t.array->int_size) {
                    t.array->store->data[t.array->int_low + t.array->ext_size] = c.num;
                    t.array->ext_size++; t.array->ext_high++;}
                else {
                    err = arrayOPaddh(t, c);
                    if (err != ERR_ok) goto ex_1;}
                }
                }
                break;
                }
        default: {

  LINE(635);
            {
            CLUREF T_4_1;
            err = streamOPgetc(st, &T_4_1);
            if (err != ERR_ok) goto ex_1;
            {
            if ((t.array->int_low + t.array->ext_size + 1) < t.array->int_size) {
                t.array->store->data[t.array->int_low + t.array->ext_size] = T_4_1.num;
                t.array->ext_size++; t.array->ext_high++;}
            else {
                err = arrayOPaddh(t, T_4_1);
                if (err != ERR_ok) goto ex_1;}
            }
            }
        }
        }
        }
            goto end_1;
            ex_1:
                if ((err == ERR_bounds)) {

  LINE(638);
                    {
                        {CLUREF T_3_1;
                        err = streamOPgetc(st, &T_3_1);
                        if (err != ERR_ok) goto ex_0;
                        c.num = T_3_1.num;
                        }
                        }

  LINE(639);
                    {
                    CLUREF T_3_1;
                    err = cprint_form(c, &T_3_1);
                    if (err != ERR_ok) goto ex_0;
                    err = p_envOPbad(e, T_3_1, STR_Illegal_040character_040in_040string_040literal);
                    if (err != ERR_ok) goto ex_0;
                    }

  LINE(641);
                    {
                    {
                    if ((t.array->int_low + t.array->ext_size + 1) < t.array->int_size) {
                        t.array->store->data[t.array->int_low + t.array->ext_size] = c.num;
                        t.array->ext_size++; t.array->ext_high++;}
                    else {
                        err = arrayOPaddh(t, c);
                        if (err != ERR_ok) goto ex_0;}
                    }
                    }
                }
                else if ((err == ERR_end_of_file)) {

  LINE(643);
                    {
                    CLUREF T_3_1;
                    err = stringOPac2s(t, &T_3_1);
                    if (err != ERR_ok) goto ex_0;
                    err = p_envOPbad(e, T_3_1, STR_Unterminated_040string_040literal);
                    if (err != ERR_ok) goto ex_0;
                    }

  LINE(644);
                    goto end_while_1;
                }
                else {
                    goto ex_0;
                }
            end_1:;
        }
        end_while_1:;

  LINE(647);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    T_1_1.num = e.vec->data[15];
    err = stringOPac2s(t, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    CellAlloc(24, T_1_2.num, T_1_3);
    CellAlloc(13, T_1_3.num, T_1_4);
    {
    if ((T_1_1.array->int_low + T_1_1.array->ext_size + 1) < T_1_1.array->int_size) {
        T_1_1.array->store->data[T_1_1.array->int_low + T_1_1.array->ext_size] = T_1_4.num;
        T_1_1.array->ext_size++; T_1_1.array->ext_high++;}
    else {
        err = arrayOPaddh(T_1_1, T_1_4);
        if (err != ERR_ok) goto ex_0;}
    }
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE strlit ****/

static int p_envOPcharlit_own_init = 0;

/**** BEGIN PROCEDURE charlit ****/

errcode p_envOPcharlit(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
    CLUREF st;
    CLUREF c;
        if (p_envOPcharlit_own_init == 0) {
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        p_envOPcharlit_own_init = 1;
    }
    enter_proc(652);

  LINE(653);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[9];
        st.num = T_1_1.num;
        }
        }

  LINE(655);
    {
    CLUREF T_2_1;
    CLUREF T_2_2;
    CLUREF T_2_3;
    err = streamOPpeekc(st, &T_2_1);
    if (err != ERR_ok) goto ex_1;
    T_2_2.num = (int)(T_2_1.ch & 0xff);
    if (T_2_2.num < 1 || T_2_2.num > p_envOPchrvec.vec->size ) {
        err = ERR_bounds;
        goto ex_1;}
    T_2_3.num = p_envOPchrvec.vec->data[T_2_2.num - 1];
    switch (T_2_3.cell->tag) {
    case 5: 
         {

  LINE(657);
            {
            CLUREF T_3_1;
            err = streamOPgetc(st, &T_3_1);
            if (err != ERR_ok) goto ex_1;
            }

  LINE(658);
            {
            CLUREF T_3_1;
            err = p_envOPescape(e, &T_3_1);
            if (err != ERR_ok) goto ex_1;
            c.num = T_3_1.num;
            }
            break;
            }
    case 4: 
         {

  LINE(660);
            {
            err = p_envOPbad(e, STR_, STR_Stray_040_047_040at_040end_040of_040line);
            if (err != ERR_ok) goto ex_1;
            }

  LINE(661);
            {
            {signal (ERR_ok);}}
            break;
            }
    case 10: 
         {

  LINE(663);
            {
            err = p_envOPbad(e, STR__047_047, STR_Empty_040character_040literal);
            if (err != ERR_ok) goto ex_1;
            }

  LINE(664);
            {
            CLUREF T_3_1;
            T_3_1.ch = '?';
            c.num = T_3_1.num;
            }
            break;
            }
    case 7: 
    case 1: 
         {

  LINE(666);
            {
            CLUREF T_3_1;
            err = streamOPgetc(st, &T_3_1);
            if (err != ERR_ok) goto ex_1;
            c.num = T_3_1.num;
            }

  LINE(667);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            CLUREF T_3_3;
            T_3_1.ch = ' ';
            T_3_2.num = (c.ch == T_3_1.ch)? true : false;
            T_3_3.num = T_3_2.num ^ 1;
            if (T_3_3.num == true) {

  LINE(668);
                {
                CLUREF T_4_1;
                err = cprint_form(c, &T_4_1);
                if (err != ERR_ok) goto ex_1;
                err = p_envOPbad(e, T_4_1, STR_Illegal_040character_040literal);
                if (err != ERR_ok) goto ex_1;
                }
                }
                }/* end if */
            break;
            }
    default: {

  LINE(671);
        {
        CLUREF T_3_1;
        err = streamOPgetc(st, &T_3_1);
        if (err != ERR_ok) goto ex_1;
        c.num = T_3_1.num;
        }
    }
    }
    }
        goto end_1;
        ex_1:
            if ((err == ERR_bounds)) {

  LINE(674);
                {
                CLUREF T_2_1;
                err = streamOPgetc(st, &T_2_1);
                if (err != ERR_ok) goto ex_0;
                c.num = T_2_1.num;
                }

  LINE(675);
                {
                CLUREF T_2_1;
                err = cprint_form(c, &T_2_1);
                if (err != ERR_ok) goto ex_0;
                err = p_envOPbad(e, T_2_1, STR_Illegal_040character_040literal);
                if (err != ERR_ok) goto ex_0;
                }
            }
            else if ((err == ERR_end_of_file)) {

  LINE(677);
                {
                err = p_envOPbad(e, STR_, STR_Stray_040_047_040at_040end_040of_040line);
                if (err != ERR_ok) goto ex_0;
                }

  LINE(678);
                {
                {signal (ERR_ok);}}
            }
            else {
                goto ex_0;
            }
        end_1:;

  LINE(680);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    T_1_1.num = e.vec->data[15];
    CellAlloc(7, c.num, T_1_2);
    CellAlloc(13, T_1_2.num, T_1_3);
    {
    if ((T_1_1.array->int_low + T_1_1.array->ext_size + 1) < T_1_1.array->int_size) {
        T_1_1.array->store->data[T_1_1.array->int_low + T_1_1.array->ext_size] = T_1_3.num;
        T_1_1.array->ext_size++; T_1_1.array->ext_high++;}
    else {
        err = arrayOPaddh(T_1_1, T_1_3);
        if (err != ERR_ok) goto ex_0;}
    }
    }

  LINE(681);
    {
    CLUREF T_2_1;
    CLUREF T_2_2;
    CLUREF T_2_3;
    err = streamOPpeekc(st, &T_2_1);
    if (err != ERR_ok) goto ex_2;
    T_2_2.ch = '\'';
    T_2_3.num = (T_2_1.ch == T_2_2.ch)? true : false;
    if (T_2_3.num == true) {

  LINE(682);
        {
        CLUREF T_3_1;
        err = streamOPgetc(st, &T_3_1);
        if (err != ERR_ok) goto ex_2;
        }

  LINE(683);
        {
        {signal (ERR_ok);}}
        }
        }/* end if */
        goto end_2;
        ex_2:
            if ((err == ERR_end_of_file)) {
            }
            else {
                goto ex_0;
            }
        end_2:;

  LINE(685);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    err = cprint_form(c, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = stringOPconcat(STR__047, T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = p_envOPbad(e, T_1_2, STR_Unterminated_040character_040literal);
    if (err != ERR_ok) goto ex_0;
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE charlit ****/

static int p_envOPescape_own_init = 0;

/**** BEGIN PROCEDURE escape ****/

errcode p_envOPescape(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF st;
    CLUREF k;
    CLUREF s;
    CLUREF c;
    CLUREF i;
    CLUREF res;
        if (p_envOPescape_own_init == 0) {
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        p_envOPescape_own_init = 1;
    }
    enter_proc(691);

  LINE(692);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[9];
        st.num = T_1_1.num;
        }
        }

  LINE(693);
    {
        {CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        err = streamOPpeekc(st, &T_2_1);
        if (err != ERR_ok) goto ex_1;
        T_2_2.num = (int)(T_2_1.ch & 0xff);
        if (T_2_2.num < 1 || T_2_2.num > p_envOPchrvec.vec->size ) {
            err = ERR_bounds;
            goto ex_1;}
        T_2_3.num = p_envOPchrvec.vec->data[T_2_2.num - 1];
        k.num = T_2_3.num;
        }
        }
        goto end_1;
        ex_1:
            if ((err == ERR_bounds)) {

  LINE(694);
                {
                CLUREF T_2_1;
                CellAlloc(7, nil, T_2_1);
                k.num = T_2_1.num;
                }
            }
            else if ((err == ERR_end_of_file)) {

  LINE(695);
                {
                CLUREF T_2_1;
                CellAlloc(4, nil, T_2_1);
                k.num = T_2_1.num;
                }
            }
            else {
                goto ex_0;
            }
        end_1:;

  LINE(698);
    {
    switch (k.cell->tag) {
    case 4: 
         {

  LINE(700);
            {
            err = p_envOPbad(e, STR_, STR_Stray_040_134_040at_040end_040of_040line);
            if (err != ERR_ok) goto ex_0;
            }

  LINE(701);
            {
            {
            CLUREF T_2_1;
            T_2_1.ch = '?';
            ret_1->num = T_2_1.num;
            }
            {signal (ERR_ok);}}
            break;
            }
    default: {

  LINE(703);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        err = streamOPgetc(st, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        err = stringOPc2s(T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        s.num = T_2_2.num;
        }
    }
    }
    }

  LINE(705);
    {
    switch (k.cell->tag) {
    case 5: 
         {

  LINE(707);
            {
            {
            CLUREF T_3_1;
            T_3_1.ch = '\\';
            ret_1->num = T_3_1.num;
            }
            {signal (ERR_ok);}}
            break;
            }
    case 10: 
         {

  LINE(709);
            {
            {
            CLUREF T_3_1;
            T_3_1.ch = '\'';
            ret_1->num = T_3_1.num;
            }
            {signal (ERR_ok);}}
            break;
            }
    case 11: 
         {

  LINE(711);
            {
            {
            CLUREF T_3_1;
            T_3_1.ch = '\"';
            ret_1->num = T_3_1.num;
            }
            {signal (ERR_ok);}}
            break;
            }
    case 8: 
         {CLUREF T_2_1;
        T_2_1.num = k.cell->value;
        c.num = T_2_1.num;

  LINE(713);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            T_3_1.ch = 'n';
            T_3_2.num = (c.ch == T_3_1.ch)? true : false;
            if (T_3_2.num == true) {
                {
                {
                CLUREF T_4_1;
                T_4_1.ch = '\n';
                ret_1->num = T_4_1.num;
                }
                {signal (ERR_ok);}}
                }
            else {
            CLUREF T_3_3;
            CLUREF T_3_4;
            T_3_3.ch = 't';
            T_3_4.num = (c.ch == T_3_3.ch)? true : false;
            if (T_3_4.num == true) {

  LINE(714);
                {
                {
                CLUREF T_4_1;
                T_4_1.ch = '\t';
                ret_1->num = T_4_1.num;
                }
                {signal (ERR_ok);}}
                }
            else {
            CLUREF T_3_5;
            CLUREF T_3_6;
            T_3_5.ch = 'b';
            T_3_6.num = (c.ch == T_3_5.ch)? true : false;
            if (T_3_6.num == true) {

  LINE(715);
                {
                {
                CLUREF T_4_1;
                T_4_1.ch = '\b';
                ret_1->num = T_4_1.num;
                }
                {signal (ERR_ok);}}
                }
            else {
            CLUREF T_3_7;
            CLUREF T_3_8;
            T_3_7.ch = 'p';
            T_3_8.num = (c.ch == T_3_7.ch)? true : false;
            if (T_3_8.num == true) {

  LINE(716);
                {
                {
                CLUREF T_4_1;
                T_4_1.ch = '\f';
                ret_1->num = T_4_1.num;
                }
                {signal (ERR_ok);}}
                }
            else {
            CLUREF T_3_9;
            CLUREF T_3_10;
            T_3_9.ch = 'r';
            T_3_10.num = (c.ch == T_3_9.ch)? true : false;
            if (T_3_10.num == true) {

  LINE(717);
                {
                {
                CLUREF T_4_1;
                T_4_1.ch = '\r';
                ret_1->num = T_4_1.num;
                }
                {signal (ERR_ok);}}
                }
            else {
            CLUREF T_3_11;
            CLUREF T_3_12;
            T_3_11.ch = 'v';
            T_3_12.num = (c.ch == T_3_11.ch)? true : false;
            if (T_3_12.num == true) {

  LINE(718);
                {
                {
                CLUREF T_4_1;
                T_4_1.ch = '\v';
                ret_1->num = T_4_1.num;
                }
                {signal (ERR_ok);}}
                }
                }}}}}}/* end if */
            break;
            }
    case 3: 
         {

  LINE(720);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            CLUREF T_3_3;
                T_3_2.num = 3;
                T_3_3.num = 1;
                for (T_3_1.num = 2; ((T_3_3.num == 0) || ((T_3_3.num > 0)? (T_3_1.num <= T_3_2.num) : (T_3_1.num >= T_3_2.num))); T_3_1.num += T_3_3.num) {
                    i.num = T_3_1.num;

  LINE(721);
                    {
                    CLUREF T_4_1;
                    CLUREF T_4_2;
                    CLUREF T_4_3;
                    err = streamOPpeekc(st, &T_4_1);
                    if (err != ERR_ok) goto ex_2;
                    T_4_2.num = (int)(T_4_1.ch & 0xff);
                    if (T_4_2.num < 1 || T_4_2.num > p_envOPchrvec.vec->size ) {
                        err = ERR_bounds;
                        goto ex_2;}
                    T_4_3.num = p_envOPchrvec.vec->data[T_4_2.num - 1];
                    switch (T_4_3.cell->tag) {
                    case 3: 
                         {

  LINE(723);
                            {
                            CLUREF T_5_1;
                            CLUREF T_5_2;
                            err = streamOPgetc(st, &T_5_1);
                            if (err != ERR_ok) goto ex_2;
                            err = stringOPappend(s, T_5_1, &T_5_2);
                            if (err != ERR_ok) goto ex_2;
                            s.num = T_5_2.num;
                            }
                            break;
                            }
                    default: {

  LINE(725);
                        {
                            err = ERR_bad_format;
                            goto ex_2;
                            }
                    }
                    }
                    }
                }
            }
            end_inline_for_1:;

  LINE(728);
            {
                {CLUREF T_3_1;
                err = i_oparse(s, &T_3_1);
                if (err != ERR_ok) goto ex_2;
                res.num = T_3_1.num;
                }
                }

  LINE(729);
            {
            {
            CLUREF T_3_1;
            err = charOPi2c(res, &T_3_1);
            if (err != ERR_ok) goto ex_2;
            ret_1->num = T_3_1.num;
            }
            {signal (ERR_ok);}}
            break;
            }
    case 6: 
         {

  LINE(731);
            {
            CLUREF T_3_1;
            T_3_1.num = ((s.str->size != STR__136.str->size)? false :
                !(bcmp(s.str->data, STR__136.str->data, s.str->size)));
            if (T_3_1.num == true) {

  LINE(732);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                T_4_1.num = e.vec->data[7];
                T_4_2.num = T_4_1.num ^ 1;
                if (T_4_2.num == true) {

  LINE(733);
                    {
                    err = p_envOPbad(e, STR_, STR__134_136_052_040escape_040sequences_040illegal);
                    if (err != ERR_ok) goto ex_2;
                    }
                    }
                    }/* end if */

  LINE(734);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                CLUREF T_4_3;
                err = streamOPpeekc(st, &T_4_1);
                if (err != ERR_ok) goto ex_2;
                T_4_2.num = (int)(T_4_1.ch & 0xff);
                if (T_4_2.num < 1 || T_4_2.num > p_envOPchrvec.vec->size ) {
                    err = ERR_bounds;
                    goto ex_2;}
                T_4_3.num = p_envOPchrvec.vec->data[T_4_2.num - 1];
                switch (T_4_3.cell->tag) {
                case 8: 
                     {CLUREF T_4_4;
                    T_4_4.num = T_4_3.cell->value;
                    c.num = T_4_4.num;

  LINE(736);
                        {
                        CLUREF T_5_1;
                        err = streamOPgetc(st, &T_5_1);
                        if (err != ERR_ok) goto ex_2;
                        }

  LINE(737);
                        {
                        CLUREF T_5_1;
                        CLUREF T_5_2;
                        T_5_1.ch = '_';
                        T_5_2.num = (c.ch == T_5_1.ch)? true : false;
                        if (T_5_2.num == true) {

  LINE(738);
                            {
                            CLUREF T_6_1;
                            T_6_1.ch = '\177';
                            c.num = T_6_1.num;
                            }
                            }
                            }/* end if */

  LINE(739);
                        {
                        {
                        CLUREF T_5_1;
                        CLUREF T_5_2;
                        CLUREF T_5_3;
                        CLUREF T_5_4;
                        T_5_1.num = (int)(c.ch & 0xff);
                        T_5_2.num = 96;
                        T_5_3.num = T_5_1.num - T_5_2.num;
                         if ((T_5_3.num >= 0 && T_5_1.num < 0 && (-T_5_2.num) < 0) || 
                             (T_5_3.num <= 0 && T_5_1.num > 0 && (-T_5_2.num) > 0)) {
                            err = ERR_overflow;
                            goto ex_2;}
                        err = charOPi2c(T_5_3, &T_5_4);
                        if (err != ERR_ok) goto ex_2;
                        ret_1->num = T_5_4.num;
                        }
                        {signal (ERR_ok);}}
                        break;
                        }
                case 4: 
                     {
                        break;
                        }
                default: {

  LINE(742);
                    {
                        {CLUREF T_5_1;
                        err = streamOPgetc(st, &T_5_1);
                        if (err != ERR_ok) goto ex_2;
                        c.num = T_5_1.num;
                        }
                        }

  LINE(743);
                    {
                    CLUREF T_5_1;
                    CLUREF T_5_2;
                    T_5_1.ch = '?';
                    T_5_2.num = (c.ch == T_5_1.ch)? true : false;
                    if (T_5_2.num == true) {

  LINE(744);
                        {
                        {
                        CLUREF T_6_1;
                        T_6_1.ch = '\177';
                        ret_1->num = T_6_1.num;
                        }
                        {signal (ERR_ok);}}
                        }
                    else {
                    CLUREF T_5_3;
                    CLUREF T_5_4;
                    err = stringOPindexc(c, STR__100_133_134_135_136, &T_5_3);
                    if (err != ERR_ok) goto ex_2;
                    T_5_4.num = (T_5_3.num > 0)? true : false;
                    if (T_5_4.num == true) {

  LINE(746);
                        {
                        {
                        CLUREF T_6_1;
                        CLUREF T_6_2;
                        CLUREF T_6_3;
                        CLUREF T_6_4;
                        T_6_1.num = (int)(c.ch & 0xff);
                        T_6_2.num = 64;
                        T_6_3.num = T_6_1.num - T_6_2.num;
                         if ((T_6_3.num >= 0 && T_6_1.num < 0 && (-T_6_2.num) < 0) || 
                             (T_6_3.num <= 0 && T_6_1.num > 0 && (-T_6_2.num) > 0)) {
                            err = ERR_overflow;
                            goto ex_2;}
                        err = charOPi2c(T_6_3, &T_6_4);
                        if (err != ERR_ok) goto ex_2;
                        ret_1->num = T_6_4.num;
                        }
                        {signal (ERR_ok);}}
                        }
                        }}/* end if */

  LINE(747);
                    {
                    CLUREF T_5_1;
                    CLUREF T_5_2;
                    err = stringOPc2s(c, &T_5_1);
                    if (err != ERR_ok) goto ex_2;
                    err = stringOPconcat(s, T_5_1, &T_5_2);
                    if (err != ERR_ok) goto ex_2;
                    s.num = T_5_2.num;
                    }
                }
                }
                }
                }
                }/* end if */
            break;
            }
    default: {
    }
    }
    }
        goto end_2;
        ex_2:
            if ((err == ERR_bad_format)
             || (err == ERR_illegal_char)
             || (err == ERR_bounds)
             || (err == ERR_end_of_file)) {
            }
            else {
                goto ex_0;
            }
        end_2:;

  LINE(752);
    {
    CLUREF T_1_1;
    err = stringOPconcat(STR__134, s, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    err = p_envOPbad(e, T_1_1, STR_Illegal_040escape_040sequence);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(753);
    {
    {
    CLUREF T_1_1;
    T_1_1.ch = '?';
    ret_1->num = T_1_1.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE escape ****/

static int p_envOPmcharop_own_init = 0;

/**** BEGIN PROCEDURE mcharop ****/

errcode p_envOPmcharop(e, t, c)
CLUREF e;
CLUREF t;
CLUREF c;
    {
    errcode err;
    errcode ecode2;
    CLUREF st;
    CLUREF pc;
        if (p_envOPmcharop_own_init == 0) {
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        p_envOPmcharop_own_init = 1;
    }
    enter_proc(758);

  LINE(759);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[9];
        st.num = T_1_1.num;
        }
        }

  LINE(760);
    {
        {CLUREF T_2_1;
        err = streamOPpeekc(st, &T_2_1);
        if (err != ERR_ok) goto ex_1;
        pc.num = T_2_1.num;
        }
        }
        goto end_1;
        ex_1:
            if ((err == ERR_end_of_file)) {

  LINE(761);
                {
                CLUREF T_2_1;
                T_2_1.ch = '\n';
                pc.num = T_2_1.num;
                }
            }
            else {
                goto ex_0;
            }
        end_1:;

  LINE(762);
    {
    switch (t.cell->tag) {
    case 2: 
         {

  LINE(764);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            T_3_1.ch = '=';
            T_3_2.num = (pc.ch == T_3_1.ch)? true : false;
            if (T_3_2.num == true) {

  LINE(765);
                {
                CLUREF T_4_1;
                err = streamOPgetc(st, &T_4_1);
                if (err != ERR_ok) goto ex_2;
                }

  LINE(766);
                {
                CLUREF T_4_1;
                CellAlloc(1, nil, T_4_1);
                t.num = T_4_1.num;
                }
                }
                }/* end if */
            break;
            }
    case 23: 
         {

  LINE(769);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            T_3_1.ch = '|';
            T_3_2.num = (c.ch == T_3_1.ch)? true : false;
            if (T_3_2.num == true) {

  LINE(770);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                T_4_1.ch = '|';
                T_4_2.num = (pc.ch == T_4_1.ch)? true : false;
                if (T_4_2.num == true) {

  LINE(771);
                    {
                    CLUREF T_5_1;
                    err = streamOPgetc(st, &T_5_1);
                    if (err != ERR_ok) goto ex_2;
                    }

  LINE(772);
                    {
                    CLUREF T_5_1;
                    CLUREF T_5_2;
                    RecordAlloc(3, T_5_1);
                    T_5_1.vec->data[2]  = 4;
                    T_5_1.vec->data[1]  = STR_concat.num;
                    T_5_1.vec->data[0]  = false;
                    CellAlloc(23, T_5_1.num, T_5_2);
                    t.num = T_5_2.num;
                    }
                    }
                    }/* end if */
                }
            else {
            CLUREF T_3_3;
            CLUREF T_3_4;
            T_3_3.ch = '*';
            T_3_4.num = (c.ch == T_3_3.ch)? true : false;
            if (T_3_4.num == true) {

  LINE(777);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                T_4_1.ch = '*';
                T_4_2.num = (pc.ch == T_4_1.ch)? true : false;
                if (T_4_2.num == true) {

  LINE(778);
                    {
                    CLUREF T_5_1;
                    err = streamOPgetc(st, &T_5_1);
                    if (err != ERR_ok) goto ex_2;
                    }

  LINE(779);
                    {
                    CLUREF T_5_1;
                    CLUREF T_5_2;
                    RecordAlloc(3, T_5_1);
                    T_5_1.vec->data[2]  = 6;
                    T_5_1.vec->data[1]  = STR_power.num;
                    T_5_1.vec->data[0]  = false;
                    CellAlloc(23, T_5_1.num, T_5_2);
                    t.num = T_5_2.num;
                    }
                    }
                    }/* end if */
                }
            else {
            CLUREF T_3_5;
            CLUREF T_3_6;
            T_3_5.ch = '/';
            T_3_6.num = (c.ch == T_3_5.ch)? true : false;
            if (T_3_6.num == true) {

  LINE(784);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                T_4_1.ch = '/';
                T_4_2.num = (pc.ch == T_4_1.ch)? true : false;
                if (T_4_2.num == true) {

  LINE(785);
                    {
                    CLUREF T_5_1;
                    err = streamOPgetc(st, &T_5_1);
                    if (err != ERR_ok) goto ex_2;
                    }

  LINE(786);
                    {
                    CLUREF T_5_1;
                    CLUREF T_5_2;
                    RecordAlloc(3, T_5_1);
                    T_5_1.vec->data[2]  = 5;
                    T_5_1.vec->data[1]  = STR_mod.num;
                    T_5_1.vec->data[0]  = false;
                    CellAlloc(23, T_5_1.num, T_5_2);
                    t.num = T_5_2.num;
                    }
                    }
                    }/* end if */
                }
            else {
            CLUREF T_3_7;
            CLUREF T_3_8;
            T_3_7.ch = '<';
            T_3_8.num = (c.ch == T_3_7.ch)? true : false;
            if (T_3_8.num == true) {

  LINE(791);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                T_4_1.ch = '=';
                T_4_2.num = (pc.ch == T_4_1.ch)? true : false;
                if (T_4_2.num == true) {

  LINE(792);
                    {
                    CLUREF T_5_1;
                    err = streamOPgetc(st, &T_5_1);
                    if (err != ERR_ok) goto ex_2;
                    }

  LINE(793);
                    {
                    CLUREF T_5_1;
                    CLUREF T_5_2;
                    RecordAlloc(3, T_5_1);
                    T_5_1.vec->data[2]  = 3;
                    T_5_1.vec->data[1]  = STR_le.num;
                    T_5_1.vec->data[0]  = false;
                    CellAlloc(23, T_5_1.num, T_5_2);
                    t.num = T_5_2.num;
                    }
                    }
                    }/* end if */
                }
            else {
            CLUREF T_3_9;
            CLUREF T_3_10;
            T_3_9.ch = '>';
            T_3_10.num = (c.ch == T_3_9.ch)? true : false;
            if (T_3_10.num == true) {

  LINE(798);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                T_4_1.ch = '=';
                T_4_2.num = (pc.ch == T_4_1.ch)? true : false;
                if (T_4_2.num == true) {

  LINE(799);
                    {
                    CLUREF T_5_1;
                    err = streamOPgetc(st, &T_5_1);
                    if (err != ERR_ok) goto ex_2;
                    }

  LINE(800);
                    {
                    CLUREF T_5_1;
                    CLUREF T_5_2;
                    RecordAlloc(3, T_5_1);
                    T_5_1.vec->data[2]  = 3;
                    T_5_1.vec->data[1]  = STR_ge.num;
                    T_5_1.vec->data[0]  = false;
                    CellAlloc(23, T_5_1.num, T_5_2);
                    t.num = T_5_2.num;
                    }
                    }
                    }/* end if */
                }
                }}}}}/* end if */
            break;
            }
    case 22: 
         {

  LINE(806);
            {
            CLUREF T_3_1;
            CLUREF T_3_2;
            T_3_1.ch = '<';
            T_3_2.num = (pc.ch == T_3_1.ch)? true : false;
            if (T_3_2.num == true) {

  LINE(807);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                RecordAlloc(3, T_4_1);
                T_4_1.vec->data[2]  = 3;
                T_4_1.vec->data[1]  = STR_lt.num;
                T_4_1.vec->data[0]  = true;
                CellAlloc(23, T_4_1.num, T_4_2);
                t.num = T_4_2.num;
                }

  LINE(810);
                {
                CLUREF T_4_1;
                err = streamOPgetc(st, &T_4_1);
                if (err != ERR_ok) goto ex_2;
                }

  LINE(811);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                CLUREF T_4_3;
                err = streamOPpeekc(st, &T_4_1);
                if (err != ERR_ok) goto ex_2;
                T_4_2.ch = '=';
                T_4_3.num = (T_4_1.ch == T_4_2.ch)? true : false;
                if (T_4_3.num == true) {

  LINE(812);
                    {
                    CLUREF T_5_1;
                    err = streamOPgetc(st, &T_5_1);
                    if (err != ERR_ok) goto ex_2;
                    }

  LINE(813);
                    {
                    CLUREF T_5_1;
                    CLUREF T_5_2;
                    RecordAlloc(3, T_5_1);
                    T_5_1.vec->data[2]  = 3;
                    T_5_1.vec->data[1]  = STR_le.num;
                    T_5_1.vec->data[0]  = true;
                    CellAlloc(23, T_5_1.num, T_5_2);
                    t.num = T_5_2.num;
                    }
                    }
                    }/* end if */
                }
            else {
            CLUREF T_3_3;
            CLUREF T_3_4;
            T_3_3.ch = '>';
            T_3_4.num = (pc.ch == T_3_3.ch)? true : false;
            if (T_3_4.num == true) {

  LINE(818);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                RecordAlloc(3, T_4_1);
                T_4_1.vec->data[2]  = 3;
                T_4_1.vec->data[1]  = STR_gt.num;
                T_4_1.vec->data[0]  = true;
                CellAlloc(23, T_4_1.num, T_4_2);
                t.num = T_4_2.num;
                }

  LINE(821);
                {
                CLUREF T_4_1;
                err = streamOPgetc(st, &T_4_1);
                if (err != ERR_ok) goto ex_2;
                }

  LINE(822);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                CLUREF T_4_3;
                err = streamOPpeekc(st, &T_4_1);
                if (err != ERR_ok) goto ex_2;
                T_4_2.ch = '=';
                T_4_3.num = (T_4_1.ch == T_4_2.ch)? true : false;
                if (T_4_3.num == true) {

  LINE(823);
                    {
                    CLUREF T_5_1;
                    err = streamOPgetc(st, &T_5_1);
                    if (err != ERR_ok) goto ex_2;
                    }

  LINE(824);
                    {
                    CLUREF T_5_1;
                    CLUREF T_5_2;
                    RecordAlloc(3, T_5_1);
                    T_5_1.vec->data[2]  = 3;
                    T_5_1.vec->data[1]  = STR_ge.num;
                    T_5_1.vec->data[0]  = true;
                    CellAlloc(23, T_5_1.num, T_5_2);
                    t.num = T_5_2.num;
                    }
                    }
                    }/* end if */
                }
            else {
            CLUREF T_3_5;
            CLUREF T_3_6;
            T_3_5.ch = '=';
            T_3_6.num = (pc.ch == T_3_5.ch)? true : false;
            if (T_3_6.num == true) {

  LINE(829);
                {
                CLUREF T_4_1;
                err = streamOPgetc(st, &T_4_1);
                if (err != ERR_ok) goto ex_2;
                }

  LINE(830);
                {
                CLUREF T_4_1;
                CLUREF T_4_2;
                RecordAlloc(3, T_4_1);
                T_4_1.vec->data[2]  = 3;
                T_4_1.vec->data[1]  = STR_equal.num;
                T_4_1.vec->data[0]  = true;
                CellAlloc(23, T_4_1.num, T_4_2);
                t.num = T_4_2.num;
                }
                }
                }}}/* end if */
            break;
            }
    default: {
    }
    }
    }
        goto end_2;
        ex_2:
            if ((err == ERR_end_of_file)) {
            }
            else {
                goto ex_0;
            }
        end_2:;

  LINE(836);
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[15];
    {
    if ((T_1_1.array->int_low + T_1_1.array->ext_size + 1) < T_1_1.array->int_size) {
        T_1_1.array->store->data[T_1_1.array->int_low + T_1_1.array->ext_size] = t.num;
        T_1_1.array->ext_size++; T_1_1.array->ext_high++;}
    else {
        err = arrayOPaddh(T_1_1, t);
        if (err != ERR_ok) goto ex_0;}
    }
    }
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE mcharop ****/

static int p_envOPcomment_own_init = 0;

/**** BEGIN PROCEDURE comment ****/

errcode p_envOPcomment(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
    CLUREF st;
    CLUREF c;
        if (p_envOPcomment_own_init == 0) {
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        p_envOPcomment_own_init = 1;
    }
    enter_proc(841);

  LINE(842);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[9];
        st.num = T_1_1.num;
        }
        }

  LINE(843);
    for (;;) {
        if (true != true) { break; }

  LINE(844);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        CLUREF T_3_3;
        err = streamOPpeekc(st, &T_3_1);
        if (err != ERR_ok) goto ex_1;
        T_3_2.num = (int)(T_3_1.ch & 0xff);
        if (T_3_2.num < 1 || T_3_2.num > p_envOPchrvec.vec->size ) {
            err = ERR_bounds;
            goto ex_1;}
        T_3_3.num = p_envOPchrvec.vec->data[T_3_2.num - 1];
        switch (T_3_3.cell->tag) {
        case 7: 
        case 1: 
             {

  LINE(846);
                {
                    {CLUREF T_4_1;
                    err = streamOPgetc(st, &T_4_1);
                    if (err != ERR_ok) goto ex_1;
                    c.num = T_4_1.num;
                    }
                    }

  LINE(847);
                {
                CLUREF T_5_1;
                CLUREF T_5_2;
                CLUREF T_5_3;
                CLUREF T_5_4;
                CLUREF T_5_5;
                CLUREF T_5_6;
                T_5_2.ch = '\f';
                T_5_3.num = (c.ch == T_5_2.ch)? true : false;
                T_5_1.num = T_5_3.num;
                if (T_5_3.num) {
                    err = streamOPpeekc(st, &T_5_4);
                    if (err != ERR_ok) goto ex_2;
                    T_5_5.ch = '\n';
                    T_5_6.num = (T_5_4.ch == T_5_5.ch)? true : false;
                    T_5_1.num = T_5_6.num;
                }
                if (T_5_1.num == true) {

  LINE(848);
                    {
                    {signal (ERR_ok);}}
                    }
                else {
                CLUREF T_5_7;
                CLUREF T_5_8;
                CLUREF T_5_9;
                CLUREF T_5_10;
                CLUREF T_5_11;
                CLUREF T_5_12;
                T_5_8.ch = ' ';
                T_5_9.num = (c.ch == T_5_8.ch)? true : false;
                T_5_7.num = T_5_9.num;
                if (!T_5_9.num) {
                    T_5_10.ch = '\t';
                    T_5_11.num = (c.ch == T_5_10.ch)? true : false;
                    T_5_7.num = T_5_11.num;
                }
                T_5_12.num = T_5_7.num ^ 1;
                if (T_5_12.num == true) {

  LINE(850);
                    {
                    CLUREF T_6_1;
                    err = cprint_form(c, &T_6_1);
                    if (err != ERR_ok) goto ex_2;
                    err = p_envOPbad(e, T_6_1, STR_Illegal_040character_040in_040comment);
                    if (err != ERR_ok) goto ex_2;
                    }
                    }
                    }}/* end if */
                    goto end_2;
                    ex_2:
                        if ((err == ERR_end_of_file)) {

  LINE(852);
                            {
                            {signal (ERR_ok);}}
                        }
                        else {
                            goto ex_1;
                        }
                    end_2:;
                break;
                }
        case 4: 
             {

  LINE(854);
                {
                {signal (ERR_ok);}}
                break;
                }
        default: {

  LINE(856);
            {
            CLUREF T_4_1;
            err = streamOPgetc(st, &T_4_1);
            if (err != ERR_ok) goto ex_1;
            }
        }
        }
        }
            goto end_1;
            ex_1:
                if ((err == ERR_bounds)) {

  LINE(859);
                    {
                    CLUREF T_3_1;
                    CLUREF T_3_2;
                    err = streamOPgetc(st, &T_3_1);
                    if (err != ERR_ok) goto ex_0;
                    err = cprint_form(T_3_1, &T_3_2);
                    if (err != ERR_ok) goto ex_0;
                    err = p_envOPbad(e, T_3_2, STR_Illegal_040character_040in_040comment);
                    if (err != ERR_ok) goto ex_0;
                    }
                }
                else if ((err == ERR_end_of_file)) {

  LINE(862);
                    {
                    {signal (ERR_ok);}}
                }
                else {
                    goto ex_0;
                }
            end_1:;
        }
        end_while_1:;
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE comment ****/

static int p_envOPbad_own_init = 0;

/**** BEGIN PROCEDURE bad ****/

errcode p_envOPbad(e, text, why)
CLUREF e;
CLUREF text;
CLUREF why;
    {
    errcode err;
    errcode ecode2;
    CLUREF st;
        if (p_envOPbad_own_init == 0) {
        if (p_env_own_init == 0) {
            err = p_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        p_envOPbad_own_init = 1;
    }
    enter_proc(867);

  LINE(868);
    {
        {CLUREF T_1_1;
        T_1_1.num = e.vec->data[5];
        st.num = T_1_1.num;
        }
        }

  LINE(869);
    {

  LINE(870);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        T_3_1.num = e.vec->data[8];
        err = intOPunparse(T_3_1, &T_3_2);
        if (err != ERR_ok) goto ex_1;
        err = streamOPputs(st, T_3_2);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(871);
        {
        err = streamOPputs(st, STR__072_011);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(872);
        {
        CLUREF T_3_1;
        T_3_1.num = e.vec->data[6];
        err = streamOPputs(st, T_3_1);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(873);
        {
        err = streamOPputs(st, why);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(874);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        err = stringOPempty(text, &T_3_1);
        if (err != ERR_ok) goto ex_1;
        T_3_2.num = T_3_1.num ^ 1;
        if (T_3_2.num == true) {

  LINE(875);
            {
            err = streamOPputs(st, STR__072_040);
            if (err != ERR_ok) goto ex_1;
            }

  LINE(876);
            {
            err = streamOPputs(st, text);
            if (err != ERR_ok) goto ex_1;
            }
            }
            }/* end if */

  LINE(878);
        {
        CLUREF T_3_1;
        T_3_1.ch = '\n';
        err = streamOPputc(st, T_3_1);
        if (err != ERR_ok) goto ex_1;
        }
        }
        goto end_1;
        ex_1:
            if ((err == ERR_not_possible)) {
            }
            else {
                goto ex_0;
            }
        end_1:;

  LINE(880);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = e.vec->data[4];
    T_1_2.num = (1 > T_1_1.num)? true : false;
    if (T_1_2.num == true) {
        {
        e.vec->data[4]  = 1;
        }
        }
        }/* end if */
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: {signal(ERR_ok);}
    }

/**** END PROCEDURE bad ****/

typedef struct{
    int count;
    OWNPTR type_owns;
    OWNPTR op_owns;
    struct OP_ENTRY entry[31];
} p_env_OPS;

CLU_proc p_env_oe_add_token = {{0,0,0,0}, p_envOPadd_token, 0};
CLU_proc p_env_oe_assume = {{0,0,0,0}, p_envOPassume, 0};
CLU_proc p_env_oe_begin_body = {{0,0,0,0}, p_envOPbegin_body, 0};
CLU_proc p_env_oe_create = {{0,0,0,0}, p_envOPcreate, 0};
CLU_proc p_env_oe_end_body = {{0,0,0,0}, p_envOPend_body, 0};
CLU_proc p_env_oe_err = {{0,0,0,0}, p_envOPerr, 0};
CLU_proc p_env_oe_get_applystr = {{0,0,0,0}, p_envOPget_applystr, 0};
CLU_proc p_env_oe_get_bad_expr = {{0,0,0,0}, p_envOPget_bad_expr, 0};
CLU_proc p_env_oe_get_clustr = {{0,0,0,0}, p_envOPget_clustr, 0};
CLU_proc p_env_oe_get_err = {{0,0,0,0}, p_envOPget_err, 0};
CLU_proc p_env_oe_get_line = {{0,0,0,0}, p_envOPget_line, 0};
CLU_proc p_env_oe_get_peek1 = {{0,0,0,0}, p_envOPget_peek1, 0};
CLU_proc p_env_oe_get_peekline = {{0,0,0,0}, p_envOPget_peekline, 0};
CLU_proc p_env_oe_get_unknown_type = {{0,0,0,0}, p_envOPget_unknown_type, 0};
CLU_proc p_env_oe_hack = {{0,0,0,0}, p_envOPhack, 0};
CLU_proc p_env_oe_in_body = {{0,0,0,0}, p_envOPin_body, 0};
CLU_proc p_env_oe_in_proc = {{0,0,0,0}, p_envOPin_proc, 0};
CLU_proc p_env_oe_is_hacked = {{0,0,0,0}, p_envOPis_hacked, 0};
CLU_proc p_env_oe_new_env = {{0,0,0,0}, p_envOPnew_env, 0};
CLU_proc p_env_oe_next_token = {{0,0,0,0}, p_envOPnext_token, 0};
CLU_proc p_env_oe_peek = {{0,0,0,0}, p_envOPpeek, 0};
CLU_proc p_env_oe_pop = {{0,0,0,0}, p_envOPpop, 0};
CLU_proc p_env_oe_push = {{0,0,0,0}, p_envOPpush, 0};
CLU_proc p_env_oe_reset = {{0,0,0,0}, p_envOPreset, 0};
CLU_proc p_env_oe_reset_err = {{0,0,0,0}, p_envOPreset_err, 0};
CLU_proc p_env_oe_set_applystr = {{0,0,0,0}, p_envOPset_applystr, 0};
CLU_proc p_env_oe_set_clustr = {{0,0,0,0}, p_envOPset_clustr, 0};
CLU_proc p_env_oe_set_deftype = {{0,0,0,0}, p_envOPset_deftype, 0};
CLU_proc p_env_oe_set_err = {{0,0,0,0}, p_envOPset_err, 0};
CLU_proc p_env_oe_specd_vals = {{0,0,0,0}, p_envOPspecd_vals, 0};
CLU_proc p_env_oe_unhack = {{0,0,0,0}, p_envOPunhack, 0};

p_env_OPS p_env_ops_actual = {31, (OWNPTR)&p_env_own_init, (OWNPTR)&p_env_own_init, {
    {&p_env_oe_add_token, "add_token"},
    {&p_env_oe_assume, "assume"},
    {&p_env_oe_begin_body, "begin_body"},
    {&p_env_oe_create, "create"},
    {&p_env_oe_end_body, "end_body"},
    {&p_env_oe_err, "err"},
    {&p_env_oe_get_applystr, "get_applystr"},
    {&p_env_oe_get_bad_expr, "get_bad_expr"},
    {&p_env_oe_get_clustr, "get_clustr"},
    {&p_env_oe_get_err, "get_err"},
    {&p_env_oe_get_line, "get_line"},
    {&p_env_oe_get_peek1, "get_peek1"},
    {&p_env_oe_get_peekline, "get_peekline"},
    {&p_env_oe_get_unknown_type, "get_unknown_type"},
    {&p_env_oe_hack, "hack"},
    {&p_env_oe_in_body, "in_body"},
    {&p_env_oe_in_proc, "in_proc"},
    {&p_env_oe_is_hacked, "is_hacked"},
    {&p_env_oe_new_env, "new_env"},
    {&p_env_oe_next_token, "next_token"},
    {&p_env_oe_peek, "peek"},
    {&p_env_oe_pop, "pop"},
    {&p_env_oe_push, "push"},
    {&p_env_oe_reset, "reset"},
    {&p_env_oe_reset_err, "reset_err"},
    {&p_env_oe_set_applystr, "set_applystr"},
    {&p_env_oe_set_clustr, "set_clustr"},
    {&p_env_oe_set_deftype, "set_deftype"},
    {&p_env_oe_set_err, "set_err"},
    {&p_env_oe_specd_vals, "specd_vals"},
    {&p_env_oe_unhack, "unhack"}}};

struct OPS *p_env_ops = (struct OPS *)&p_env_ops_actual;

/**** END CLUSTER p_env ****/

extern errcode charOPlt();
extern errcode intOPmod();
CLUREF STR__136_077;
CLUREF STR__041;
CLUREF STR__046;
static int cprint_form_own_init = 0;

/**** BEGIN PROCEDURE cprint_form ****/

errcode cprint_form(c, ret_1)
CLUREF c;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF i;
        if (cprint_form_own_init == 0) {
        stringOPcons("^", CLU_1, CLU_1, &STR__136);
        stringOPcons("^?", CLU_1, CLU_2, &STR__136_077);
        stringOPcons("!", CLU_1, CLU_1, &STR__041);
        stringOPcons("&", CLU_1, CLU_1, &STR__046);
        cprint_form_own_init = 1;
    }
    enter_proc(885);

  LINE(886);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.ch = ' ';
    err = charOPlt(c, T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    if (T_1_2.num == true) {

  LINE(887);
        {
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        CLUREF T_2_4;
        CLUREF T_2_5;
        T_2_1.num = (int)(c.ch & 0xff);
        T_2_2.num = 64;
        T_2_3.num = T_2_1.num + T_2_2.num;
         if ((T_2_3.num > 0 && T_2_1.num < 0 && T_2_2.num < 0) || 
             (T_2_3.num < 0 && T_2_1.num > 0 && T_2_2.num > 0)) {
            err = ERR_overflow;
            goto ex_0;}
        err = charOPi2c(T_2_3, &T_2_4);
        if (err != ERR_ok) goto ex_0;
        err = stringOPappend(STR__136, T_2_4, &T_2_5);
        if (err != ERR_ok) goto ex_0;
        ret_1->num = T_2_5.num;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_3;
    CLUREF T_1_4;
    T_1_3.ch = '\177';
    err = charOPlt(c, T_1_3, &T_1_4);
    if (err != ERR_ok) goto ex_0;
    if (T_1_4.num == true) {

  LINE(889);
        {
        {
        CLUREF T_2_1;
        err = stringOPc2s(c, &T_2_1);
        if (err != ERR_ok) goto ex_0;
        ret_1->num = T_2_1.num;
        }
        {signal (ERR_ok);}}
        }
    else {
    CLUREF T_1_5;
    CLUREF T_1_6;
    T_1_5.ch = '\177';
    T_1_6.num = (c.ch == T_1_5.ch)? true : false;
    if (T_1_6.num == true) {

  LINE(891);
        {
        {
        ret_1->str = STR__136_077.str;
        }
        {signal (ERR_ok);}}
        }
        }}}/* end if */

  LINE(892);
    {
        {CLUREF T_1_1;
        T_1_1.num = (int)(c.ch & 0xff);
        i.num = T_1_1.num;
        }
        }

  LINE(893);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
    T_1_2.num = 160;
    T_1_3.num = (i.num < T_1_2.num)? true : false;
    T_1_1.num = T_1_3.num;
    if (!T_1_3.num) {
        T_1_4.num = 255;
        T_1_5.num = (i.num == T_1_4.num)? true : false;
        T_1_1.num = T_1_5.num;
    }
    if (T_1_1.num == true) {

  LINE(894);
        {
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        CLUREF T_2_4;
        CLUREF T_2_5;
        CLUREF T_2_6;
        T_2_1.num = 64;
        T_2_2.num = i.num - T_2_1.num;
         if ((T_2_2.num >= 0 && i.num < 0 && (-T_2_1.num) < 0) || 
             (T_2_2.num <= 0 && i.num > 0 && (-T_2_1.num) > 0)) {
            err = ERR_overflow;
            goto ex_0;}
        T_2_3.num = 128;
        err = intOPmod(T_2_2, T_2_3, &T_2_4);
        if (err != ERR_ok) goto ex_0;
        err = charOPi2c(T_2_4, &T_2_5);
        if (err != ERR_ok) goto ex_0;
        err = stringOPappend(STR__041, T_2_5, &T_2_6);
        if (err != ERR_ok) goto ex_0;
        ret_1->num = T_2_6.num;
        }
        {signal (ERR_ok);}}
        }
    else {

  LINE(895);
        {
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        CLUREF T_2_3;
        CLUREF T_2_4;
        T_2_1.num = 128;
        T_2_2.num = i.num - T_2_1.num;
         if ((T_2_2.num >= 0 && i.num < 0 && (-T_2_1.num) < 0) || 
             (T_2_2.num <= 0 && i.num > 0 && (-T_2_1.num) > 0)) {
            err = ERR_overflow;
            goto ex_0;}
        err = charOPi2c(T_2_2, &T_2_3);
        if (err != ERR_ok) goto ex_0;
        err = stringOPappend(STR__046, T_2_3, &T_2_4);
        if (err != ERR_ok) goto ex_0;
        ret_1->num = T_2_4.num;
        }
        {signal (ERR_ok);}}
        }}/* end if */
    goto end_0;
    ex_0:
        {
            if (err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE cprint_form ****/

