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

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


/**** BEGIN CLUSTER g_env ****/

extern errcode sequenceOPnew();
extern errcode streamOPopen();
extern errcode arrayOPpredict();
extern errcode oneofOPmake_1();
extern errcode arrayOPtrim();
extern errcode recordOPget_4();
extern errcode recordOPset_9();
extern errcode recordOPset_8();
extern errcode streamOPclose();
extern errcode recordOPget_10();
extern errcode recordOPset_10();
extern errcode streamOPputl();
extern errcode recordOPget_7();
extern errcode stringOPconcat();
extern errcode recordOPset_7();
extern errcode intOPgt();
extern errcode arrayOPsize();
extern errcode g_envOPoutput_line();
extern errcode recordOPget_12();
extern errcode recordOPset_12();
extern errcode recordOPset_11();
extern errcode recordOPget_11();
extern errcode recordOPset_13();
extern errcode recordOPget_13();
extern errcode recordOPget_8();
extern errcode boolOPnot();
extern errcode recordOPget_6();
extern errcode g_envOPnewline();
extern errcode arrayOPaddh();
extern errcode intOPequal();
extern errcode stringOPsize();
extern errcode recordOPget_5();
extern errcode recordOPget_9();
extern errcode recordOPset_5();
extern errcode stringOPsubstr();
extern errcode recordOPset_6();
extern errcode intOPadd();
extern errcode arrayOPempty();
extern errcode intOPsub();
extern errcode streamOPputs();
extern errcode intOPunparse();
extern errcode streamOPputc();
extern errcode recordOPset_2();
extern errcode oneofOPmake_2();
extern errcode recordOPset_3();
extern errcode recordOPget_3();
extern errcode recordOPget_2();
extern errcode ibOPbodies();
extern errcode arrayOPelements();
extern errcode recordOPget_1();
extern errcode sequenceOPelements();
extern errcode stringOPequal();
extern errcode idnOPget_str();
extern errcode sequenceOPaddh();
extern errcode intOPlt();
CLUREF STR_write;
CLUREF STR_;
CLUREF STR__012_057_052_040This_040file_040was_040automatically_040generated_040by_040pclu_056_052_057_012;
CLUREF STR__043include_040_042pclu_137err_056h_042;
CLUREF STR__043include_040_042pclu_137sys_056h_042;
CLUREF STR_can_047t_040write_040to_040binary_040file_072_040;
CLUREF STR_codegen_072_040_043SIGNAL_040directive_040ignored;
CLUREF STR__040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040;
CLUREF STR__040_040FB_137LINE_050;
CLUREF STR__051_073;
CLUREF STR__040_040LINE_050;
static int g_env_own_init = 0;
OWN_req g_env_ownreqs = {0,0};
CLUREF g_envOPcurrent_env;
CLUREF g_envOPlast_lineno;
CLUREF g_envOPlineno;
CLUREF g_envOPtypedef_list;
CLUREF g_envOPglobal_list;
CLUREF g_envOPstr_list;
CLUREF g_envOPextern_list;
CLUREF g_envOPvlist;
CLUREF g_envOPfind_owns_list;
errcode g_env_own_init_proc()
{
    errcode err;
    enter_own_init_proc();
        if (g_env_own_init == 0) {
        stringOPcons("write", CLU_1, CLU_5, &STR_write);
        stringOPcons("", CLU_1, CLU_0, &STR_);
        CLU_string_size.num = 53;
        stringOPcons("\n/* This file was automatically generated by pclu.*/\n", CLU_1, CLU_string_size, &STR__012_057_052_040This_040file_040was_040automatically_040generated_040by_040pclu_056_052_057_012);
        stringOPcons("#include \"pclu_err.h\"", CLU_1, CLU_21, &STR__043include_040_042pclu_137err_056h_042);
        stringOPcons("#include \"pclu_sys.h\"", CLU_1, CLU_21, &STR__043include_040_042pclu_137sys_056h_042);
        stringOPcons("can\'t write to binary file: ", CLU_1, CLU_28, &STR_can_047t_040write_040to_040binary_040file_072_040);
        stringOPcons("codegen: #SIGNAL directive ignored", CLU_1, CLU_34, &STR_codegen_072_040_043SIGNAL_040directive_040ignored);
        CLU_string_size.num = 77;
        stringOPcons("                                                                             ", CLU_1, CLU_string_size, &STR__040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040);
        stringOPcons("  FB_LINE(", CLU_1, CLU_10, &STR__040_040FB_137LINE_050);
        stringOPcons(");", CLU_1, CLU_2, &STR__051_073);
        stringOPcons("  LINE(", CLU_1, CLU_7, &STR__040_040LINE_050);
        g_env_own_init = 1;
        {
            {g_envOPlast_lineno.num = 0;
            }
            }
        {
            {g_envOPlineno.num = 0;
            }
            }
        {
            {CLUREF T_0_1;
            err = sequenceOPnew(&T_0_1);
            if (err != ERR_ok) goto ex_0;
            g_envOPtypedef_list.num = T_0_1.num;
            }
            }
        {
            {CLUREF T_0_2;
            err = sequenceOPnew(&T_0_2);
            if (err != ERR_ok) goto ex_0;
            g_envOPglobal_list.num = T_0_2.num;
            }
            }
        {
            {CLUREF T_0_3;
            err = sequenceOPnew(&T_0_3);
            if (err != ERR_ok) goto ex_0;
            g_envOPstr_list.num = T_0_3.num;
            }
            }
        {
            {CLUREF T_0_4;
            err = sequenceOPnew(&T_0_4);
            if (err != ERR_ok) goto ex_0;
            g_envOPextern_list.num = T_0_4.num;
            }
            }
        {
            {CLUREF T_0_5;
            err = sequenceOPnew(&T_0_5);
            if (err != ERR_ok) goto ex_0;
            g_envOPvlist.num = T_0_5.num;
            }
            }
        {
            {CLUREF T_0_6;
            err = sequenceOPnew(&T_0_6);
            if (err != ERR_ok) goto ex_0;
            g_envOPfind_owns_list.num = T_0_6.num;
            }
            }
        {signal(ERR_ok);}
    ex_0: pclu_unhandled(err); {signal(ERR_failure);}
        }
    }

static int g_envOPcreate_own_init = 0;

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

errcode g_envOPcreate(comp, errst, binfn, ret_1)
CLUREF comp;
CLUREF errst;
CLUREF binfn;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (g_envOPcreate_own_init == 0) {
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        g_envOPcreate_own_init = 1;
    }
    enter_proc(43);

  LINE(44);
    {
    g_envOPlineno.num = 0;
    }

  LINE(45);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    RecordAlloc(13, T_1_1);
    err = streamOPopen(binfn, STR_write, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    T_1_1.vec->data[9]  = T_1_2.num;
    T_1_1.vec->data[6]  = errst.num;
    err = arrayOPpredict(CLU_1, CLU_20, &T_1_3);
    if (err != ERR_ok) goto ex_0;
    T_1_1.vec->data[3]  = T_1_3.num;
    T_1_1.vec->data[4]  = STR_.num;
    T_1_1.vec->data[8]  = 0;
    T_1_1.vec->data[7]  = 0;
    T_1_1.vec->data[5]  = false;
    CellAlloc(1, nil, T_1_4);
    T_1_1.vec->data[1]  = T_1_4.num;
    T_1_1.vec->data[2]  = false;
    T_1_1.vec->data[11]  = binfn.num;
    T_1_1.vec->data[0]  = comp.num;
    T_1_1.vec->data[12]  = false;
    T_1_1.vec->data[10]  = false;
    g_envOPcurrent_env.num = T_1_1.num;
    }

  LINE(59);
    {
    {
    ret_1->num = g_envOPcurrent_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 create ****/

static int g_envOPreset_own_init = 0;

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

errcode g_envOPreset(e, comp, errst, binfn)
CLUREF e;
CLUREF comp;
CLUREF errst;
CLUREF binfn;
    {
    errcode err;
    errcode ecode2;
    CLUREF s;
        if (g_envOPreset_own_init == 0) {
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        g_envOPreset_own_init = 1;
    }
    enter_proc(62);

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

  LINE(64);
    {
    g_envOPlineno.num = 0;
    }

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

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

  LINE(67);
    {
    CLUREF T_1_1;
    err = sequenceOPnew(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    g_envOPtypedef_list.num = T_1_1.num;
    }

  LINE(68);
    {
    CLUREF T_1_1;
    err = sequenceOPnew(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    g_envOPglobal_list.num = T_1_1.num;
    }

  LINE(69);
    {
    CLUREF T_1_1;
    err = sequenceOPnew(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    g_envOPstr_list.num = T_1_1.num;
    }

  LINE(70);
    {
    CLUREF T_1_1;
    err = sequenceOPnew(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    g_envOPextern_list.num = T_1_1.num;
    }

  LINE(71);
    {
    CLUREF T_1_1;
    err = sequenceOPnew(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    g_envOPvlist.num = T_1_1.num;
    }

  LINE(72);
    {
    CLUREF T_1_1;
    err = sequenceOPnew(&T_1_1);
    if (err != ERR_ok) goto ex_0;
    g_envOPfind_owns_list.num = T_1_1.num;
    }

  LINE(73);
    {
    CLUREF T_2_1;
    T_2_1.num = e.vec->data[9];
    err = streamOPclose(T_2_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(75);
    {

  LINE(76);
        {
        CLUREF T_3_1;
        err = streamOPopen(binfn, STR_write, &T_3_1);
        if (err != ERR_ok) goto ex_2;
        e.vec->data[9]  = T_3_1.num;
        }

  LINE(77);
        {
        CLUREF T_3_1;
        T_3_1.num = e.vec->data[9];
        err = streamOPputl(T_3_1, STR__012_057_052_040This_040file_040was_040automatically_040generated_040by_040pclu_056_052_057_012);
        if (err != ERR_ok) goto ex_2;
        }

  LINE(78);
        {
        CLUREF T_3_1;
        T_3_1.num = e.vec->data[9];
        err = streamOPputl(T_3_1, STR__043include_040_042pclu_137err_056h_042);
        if (err != ERR_ok) goto ex_2;
        }

  LINE(79);
        {
        CLUREF T_3_1;
        T_3_1.num = e.vec->data[9];
        err = streamOPputl(T_3_1, STR__043include_040_042pclu_137sys_056h_042);
        if (err != ERR_ok) goto ex_2;
        }
        }
        goto end_2;
        ex_2:
            if ((err == ERR_not_possible)) {
            CLUREF s;
            s.num = elist[0].num;

  LINE(85);
                {
                CLUREF T_2_1;
                CLUREF T_2_2;
                T_2_1.num = e.vec->data[6];
                err = stringOPconcat(STR_can_047t_040write_040to_040binary_040file_072_040, s, &T_2_2);
                if (err != ERR_ok) goto ex_0;
                err = streamOPputl(T_2_1, T_2_2);
                if (err != ERR_ok) goto ex_0;
                }

  LINE(86);
                {
                e.vec->data[7]  = 2;
                }
            }
            else {
                goto ex_0;
            }
        end_2:;

  LINE(88);
    {
    e.vec->data[6]  = errst.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 reset ****/


/**** BEGIN PROCEDURE end_all ****/

errcode g_envOPend_all(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(91);

  LINE(92);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    T_1_1.num = e.vec->data[3];
    T_1_2.num = T_1_1.array->ext_size;
    T_1_3.num = (T_1_2.num > 0)? true : false;
    if (T_1_3.num == true) {

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

  LINE(95);
    {
    CLUREF T_2_1;
    T_2_1.num = e.vec->data[9];
    err = streamOPclose(T_2_1);
    if (err != ERR_ok) goto ex_1;
    }
        goto end_1;
        ex_1:
            if ((err == ERR_not_possible)) {
            }
            else {
                goto ex_0;
            }
        end_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 end_all ****/


/**** BEGIN PROCEDURE get_file_name ****/

errcode g_envOPget_file_name(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(99);

  LINE(100);
    {
    {
    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_file_name ****/


/**** BEGIN PROCEDURE set_file_name ****/

errcode g_envOPset_file_name(e, fn)
CLUREF e;
CLUREF fn;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(103);

  LINE(104);
    {
    e.vec->data[11]  = fn.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_file_name ****/

static int g_envOPforce_signal_own_init = 0;

/**** BEGIN PROCEDURE force_signal ****/

errcode g_envOPforce_signal(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
        if (g_envOPforce_signal_own_init == 0) {
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        g_envOPforce_signal_own_init = 1;
    }
    enter_proc(107);

  LINE(108);
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[6];
    err = streamOPputl(T_1_1, STR_codegen_072_040_043SIGNAL_040directive_040ignored);
    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 force_signal ****/


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

errcode g_envOPreset_err(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(111);
    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 ****/


/**** BEGIN PROCEDURE set_space ****/

errcode g_envOPset_space(e, b)
CLUREF e;
CLUREF b;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(114);

  LINE(115);
    {
    e.vec->data[10]  = b.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_space ****/


/**** BEGIN PROCEDURE get_space ****/

errcode g_envOPget_space(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(118);

  LINE(119);
    {
    {
    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_space ****/


/**** BEGIN PROCEDURE set_time ****/

errcode g_envOPset_time(e, b)
CLUREF e;
CLUREF b;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(122);

  LINE(123);
    {
    e.vec->data[12]  = b.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_time ****/


/**** BEGIN PROCEDURE get_time ****/

errcode g_envOPget_time(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(126);

  LINE(127);
    {
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[12];
    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_time ****/


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

errcode g_envOPget_err(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(130);

  LINE(131);
    {
    {
    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 get_err ****/


/**** BEGIN PROCEDURE set_lineno ****/

errcode g_envOPset_lineno(e, num)
CLUREF e;
CLUREF num;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(134);

  LINE(135);
    {
    g_envOPlineno.num = num.num;
    }

  LINE(136);
    {
    {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: {signal(ERR_ok);}
    }

/**** END PROCEDURE set_lineno ****/


/**** BEGIN PROCEDURE get_lineno ****/

errcode g_envOPget_lineno(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(139);

  LINE(140);
    {
    {
    ret_1->num = g_envOPlineno.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_lineno ****/


/**** BEGIN PROCEDURE get_errst ****/

errcode g_envOPget_errst(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(143);

  LINE(144);
    {
    {
    CLUREF T_1_1;
    T_1_1.num = g_envOPcurrent_env.vec->data[6];
    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_errst ****/


/**** BEGIN PROCEDURE min_inline ****/

errcode g_envOPmin_inline(ret_1)
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(147);

  LINE(148);
    {
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = g_envOPcurrent_env.vec->data[12];
    T_1_2.num = T_1_1.num ^ 1;
    ret_1->num = T_1_2.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 min_inline ****/

static int g_envOPputl_own_init = 0;

/**** BEGIN PROCEDURE putl ****/

errcode g_envOPputl(e, s)
CLUREF e;
CLUREF s;
    {
    errcode err;
    errcode ecode2;
        if (g_envOPputl_own_init == 0) {
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        g_envOPputl_own_init = 1;
    }
    enter_proc(151);

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

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

  LINE(155);
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[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] = s.num;
        T_1_1.array->ext_size++; T_1_1.array->ext_high++;}
    else {
        err = arrayOPaddh(T_1_1, s);
        if (err != ERR_ok) goto ex_0;}
    }
    }

  LINE(159);
    {
    err = g_envOPoutput_line(e);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(160);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
    T_1_1.num = e.vec->data[4];
    err = stringOPsize(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    T_1_3.num = e.vec->data[8];
    T_1_4.num = (T_1_2.num == T_1_3.num)? true : false;
    T_1_5.num = T_1_4.num ^ 1;
    if (T_1_5.num == true) {

  LINE(161);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        T_2_1.num = e.vec->data[8];
        err = stringOPsubstr(STR__040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040, CLU_1, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        e.vec->data[4]  = T_2_2.num;
        }
        }
        }/* end if */

  LINE(162);
    {
    e.vec->data[5]  = 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 putl ****/


/**** BEGIN PROCEDURE puts ****/

errcode g_envOPputs(e, s)
CLUREF e;
CLUREF s;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(166);

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

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

  LINE(170);
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[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] = s.num;
        T_1_1.array->ext_size++; T_1_1.array->ext_high++;}
    else {
        err = arrayOPaddh(T_1_1, s);
        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 puts ****/

static int g_envOPnewline_own_init = 0;

/**** BEGIN PROCEDURE newline ****/

errcode g_envOPnewline(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
        if (g_envOPnewline_own_init == 0) {
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        g_envOPnewline_own_init = 1;
    }
    enter_proc(173);

  LINE(175);
    {
    err = g_envOPoutput_line(e);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(176);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
    T_1_1.num = e.vec->data[4];
    err = stringOPsize(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    T_1_3.num = e.vec->data[8];
    T_1_4.num = (T_1_2.num == T_1_3.num)? true : false;
    T_1_5.num = T_1_4.num ^ 1;
    if (T_1_5.num == true) {

  LINE(177);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        T_2_1.num = e.vec->data[8];
        err = stringOPsubstr(STR__040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040, CLU_1, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        e.vec->data[4]  = T_2_2.num;
        }
        }
        }/* end if */

  LINE(178);
    {
    e.vec->data[5]  = 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 newline ****/

static int g_envOPblankline_own_init = 0;

/**** BEGIN PROCEDURE blankline ****/

errcode g_envOPblankline(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
        if (g_envOPblankline_own_init == 0) {
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        g_envOPblankline_own_init = 1;
    }
    enter_proc(181);

  LINE(182);
    {
    err = g_envOPoutput_line(e);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(183);
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[9];
    err = streamOPputl(T_1_1, STR_);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(184);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
    T_1_1.num = e.vec->data[4];
    err = stringOPsize(T_1_1, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    T_1_3.num = e.vec->data[8];
    T_1_4.num = (T_1_2.num == T_1_3.num)? true : false;
    T_1_5.num = T_1_4.num ^ 1;
    if (T_1_5.num == true) {

  LINE(185);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        T_2_1.num = e.vec->data[8];
        err = stringOPsubstr(STR__040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040, CLU_1, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        e.vec->data[4]  = T_2_2.num;
        }
        }
        }/* end if */

  LINE(186);
    {
    e.vec->data[5]  = 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 blankline ****/


/**** BEGIN PROCEDURE ensure_newline ****/

errcode g_envOPensure_newline(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(189);

  LINE(191);
    {
    e.vec->data[5]  = true;
    }
    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 ensure_newline ****/

static int g_envOPindent_own_init = 0;

/**** BEGIN PROCEDURE indent ****/

errcode g_envOPindent(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
        if (g_envOPindent_own_init == 0) {
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        g_envOPindent_own_init = 1;
    }
    enter_proc(194);

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

  LINE(198);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = e.vec->data[3];
    T_1_2.num = (T_1_1.array->ext_size == 0)? true : false;
    if (T_1_2.num == true) {

  LINE(199);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        T_2_1.num = e.vec->data[8];
        err = stringOPsubstr(STR__040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040, CLU_1, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        e.vec->data[4]  = T_2_2.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 indent ****/

static int g_envOPoutdent_own_init = 0;

/**** BEGIN PROCEDURE outdent ****/

errcode g_envOPoutdent(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
        if (g_envOPoutdent_own_init == 0) {
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        g_envOPoutdent_own_init = 1;
    }
    enter_proc(203);

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

  LINE(207);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = e.vec->data[3];
    T_1_2.num = (T_1_1.array->ext_size == 0)? true : false;
    if (T_1_2.num == true) {

  LINE(208);
        {
        CLUREF T_2_1;
        CLUREF T_2_2;
        T_2_1.num = e.vec->data[8];
        err = stringOPsubstr(STR__040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040_040, CLU_1, T_2_1, &T_2_2);
        if (err != ERR_ok) goto ex_0;
        e.vec->data[4]  = T_2_2.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 outdent ****/

static int g_envOPnewdefn_own_init = 0;

/**** BEGIN PROCEDURE newdefn ****/

errcode g_envOPnewdefn(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
        if (g_envOPnewdefn_own_init == 0) {
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        g_envOPnewdefn_own_init = 1;
    }
    enter_proc(212);

  LINE(214);
    {
    err = g_envOPoutput_line(e);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(215);
    {
    CLUREF T_2_1;
    T_2_1.num = e.vec->data[9];
    err = streamOPputl(T_2_1, STR_);
    if (err != ERR_ok) goto ex_1;
    }
        goto end_1;
        ex_1:
            if ((err == ERR_not_possible)) {

  LINE(216);
                {
                e.vec->data[7]  = 2;
                }
            }
            else {
                goto ex_0;
            }
        end_1:;

  LINE(217);
    {
    e.vec->data[4]  = STR_.num;
    }

  LINE(218);
    {
    e.vec->data[8]  = 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 newdefn ****/


/**** BEGIN PROCEDURE error ****/

errcode g_envOPerror(e, s)
CLUREF e;
CLUREF s;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(221);

  LINE(222);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = e.vec->data[6];
    err = intOPunparse(g_envOPlineno, &T_1_2);
    if (err != ERR_ok) goto ex_0;
    err = streamOPputs(T_1_1, T_1_2);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(223);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = e.vec->data[6];
    T_1_2.ch = ':';
    err = streamOPputc(T_1_1, T_1_2);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(224);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    T_1_1.num = e.vec->data[6];
    T_1_2.ch = '\t';
    err = streamOPputc(T_1_1, T_1_2);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(225);
    {
    CLUREF T_1_1;
    T_1_1.num = e.vec->data[6];
    err = streamOPputl(T_1_1, s);
    if (err != ERR_ok) goto ex_0;
    }

  LINE(226);
    {
    e.vec->data[7]  = 2;
    }
    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 error ****/


/**** BEGIN PROCEDURE set_convert_type ****/

errcode g_envOPset_convert_type(e, t)
CLUREF e;
CLUREF t;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(230);

  LINE(231);
    {
    CLUREF T_1_1;
    CellAlloc(2, t.num, T_1_1);
    e.vec->data[1]  = T_1_1.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_convert_type ****/


/**** BEGIN PROCEDURE set_convert ****/

errcode g_envOPset_convert(e, flag)
CLUREF e;
CLUREF flag;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(234);

  LINE(235);
    {
    e.vec->data[2]  = flag.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_convert ****/


/**** BEGIN PROCEDURE get_convert ****/

errcode g_envOPget_convert(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF t;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(238);

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

  LINE(240);
        {
        CLUREF T_2_1;
        T_2_1.num = e.vec->data[1];
        switch (T_2_1.cell->tag) {
        case 1: 
             {

  LINE(241);
                {
                {signal (ERR_none);}}
                break;
                }
        case 2: 
             {CLUREF T_2_2;
            T_2_2.num = T_2_1.cell->value;
            t.num = T_2_2.num;

  LINE(242);
                {
                {
                ret_1->num = t.num;
                }
                {signal (ERR_ok);}}
                break;
                }
        }
        }
        }
    else {

  LINE(244);
        {
        {signal (ERR_none);}}
        }}/* 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 get_convert ****/

static int g_envOPoutput_line_own_init = 0;

/**** BEGIN PROCEDURE output_line ****/

errcode g_envOPoutput_line(e)
CLUREF e;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_s;
        if (g_envOPoutput_line_own_init == 0) {
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
        g_envOPoutput_line_own_init = 1;
    }
    enter_proc(253);

  LINE(255);
    {
    CLUREF T_2_1;
    CLUREF T_2_2;
    CLUREF T_2_3;
    T_2_1.num = e.vec->data[3];
    T_2_2.num = (T_2_1.array->ext_size == 0)? true : false;
    T_2_3.num = T_2_2.num ^ 1;
    if (T_2_3.num == true) {

  LINE(257);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        T_3_1.num = (g_envOPlineno.num == g_envOPlast_lineno.num)? true : false;
        T_3_2.num = T_3_1.num ^ 1;
        if (T_3_2.num == true) {

  LINE(258);
            {
            CLUREF T_4_1;
            T_4_1.num = e.vec->data[9];
            err = streamOPputl(T_4_1, STR_);
            if (err != ERR_ok) goto ex_1;
            }

  LINE(259);
            {
            CLUREF T_4_1;
            CLUREF T_4_2;
            T_4_1.num = (g_envOPlineno.num == 0)? true : false;
            T_4_2.num = T_4_1.num ^ 1;
            if (T_4_2.num == true) {

  LINE(261);
                {
                CLUREF T_5_1;
                err = ibOPbodies(&T_5_1);
                if (err != ERR_ok) goto ex_1;
                if (T_5_1.num == true) {

  LINE(263);
                    {
                    CLUREF T_6_1;
                    CLUREF T_6_2;
                    CLUREF T_6_3;
                    CLUREF T_6_4;
                    T_6_1.num = e.vec->data[9];
                    err = intOPunparse(g_envOPlineno, &T_6_2);
                    if (err != ERR_ok) goto ex_1;
                    err = stringOPconcat(STR__040_040FB_137LINE_050, T_6_2, &T_6_3);
                    if (err != ERR_ok) goto ex_1;
                    err = stringOPconcat(T_6_3, STR__051_073, &T_6_4);
                    if (err != ERR_ok) goto ex_1;
                    err = streamOPputl(T_6_1, T_6_4);
                    if (err != ERR_ok) goto ex_1;
                    }
                    }
                else {

  LINE(267);
                    {
                    CLUREF T_6_1;
                    CLUREF T_6_2;
                    CLUREF T_6_3;
                    CLUREF T_6_4;
                    T_6_1.num = e.vec->data[9];
                    err = intOPunparse(g_envOPlineno, &T_6_2);
                    if (err != ERR_ok) goto ex_1;
                    err = stringOPconcat(STR__040_040LINE_050, T_6_2, &T_6_3);
                    if (err != ERR_ok) goto ex_1;
                    err = stringOPconcat(T_6_3, STR__051_073, &T_6_4);
                    if (err != ERR_ok) goto ex_1;
                    err = streamOPputl(T_6_1, T_6_4);
                    if (err != ERR_ok) goto ex_1;
                    }
                    }}/* end if */
                }
                }/* end if */

  LINE(274);
            {
            g_envOPlast_lineno.num = g_envOPlineno.num;
            }
            }
            }/* end if */

  LINE(276);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        T_3_1.num = e.vec->data[9];
        T_3_2.num = e.vec->data[4];
        err = streamOPputs(T_3_1, T_3_2);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(277);
        {
        CLUREF T_3_1;
        CLUREF T_3_2;
        CLUREF T_3_3;
        CLUREF T_3_4;
            T_3_1.num = e.vec->data[3];
            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;}
                each_s.num = T_3_4.array->store->data[T_3_2.num - T_3_4.array->ext_low + T_3_4.array->int_low];

  LINE(278);
                {
                CLUREF T_4_1;
                T_4_1.num = e.vec->data[9];
                err = streamOPputs(T_4_1, each_s);
                if (err != ERR_ok) goto ex_1;
                }
            }
        }
        end_inline_for_1:;

  LINE(280);
        {
        CLUREF T_3_1;
        T_3_1.num = e.vec->data[9];
        err = streamOPputl(T_3_1, STR_);
        if (err != ERR_ok) goto ex_1;
        }

  LINE(281);
        {
        CLUREF T_3_1;
        T_3_1.num = e.vec->data[3];
        err = arrayOPtrim(T_3_1, CLU_1, CLU_0);
        if (err != ERR_ok) goto ex_1;
        }
        }
        }/* end if */
        goto end_1;
        ex_1:
            if ((err == ERR_not_possible)) {

  LINE(283);
                {
                e.vec->data[7]  = 2;
                }
            }
            else {
                goto ex_0;
            }
        end_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 output_line ****/


/**** BEGIN PROCEDURE get_comp ****/

errcode g_envOPget_comp(e, ret_1)
CLUREF e;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(286);

  LINE(287);
    {
    {
    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_comp ****/


/**** BEGIN PROCEDURE add_typedef ****/

errcode g_envOPadd_typedef(id, ret_1)
CLUREF id;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_id;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(290);

  LINE(292);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_2.num = g_envOPtypedef_list.vec->size; 
        T_1_3 = g_envOPtypedef_list;
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            each_id.num = T_1_3.vec->data[T_1_1.num - 1];

  LINE(293);
            {
            CLUREF T_2_1;
            CLUREF T_2_2;
            CLUREF T_2_3;
            err = idnOPget_str(id, &T_2_1);
            if (err != ERR_ok) goto ex_0;
            err = idnOPget_str(each_id, &T_2_2);
            if (err != ERR_ok) goto ex_0;
            T_2_3.num = ((T_2_1.str->size != T_2_2.str->size)? false :
                !(bcmp(T_2_1.str->data, T_2_2.str->data, T_2_1.str->size)));
            if (T_2_3.num == true) {
                {
                {
                ret_1->tf = false;
                }
                {signal (ERR_ok);}}
                }
                }/* end if */
        }
    }
    end_inline_for_1:;

  LINE(295);
    {
    CLUREF T_1_1;
    err = sequenceOPaddh(g_envOPtypedef_list, id, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    g_envOPtypedef_list.num = T_1_1.num;
    }

  LINE(296);
    {
    {
    ret_1->tf = true;
    }
    {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 add_typedef ****/


/**** BEGIN PROCEDURE add_global ****/

errcode g_envOPadd_global(nm, ret_1)
CLUREF nm;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_nm;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(299);

  LINE(301);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_2.num = g_envOPglobal_list.vec->size; 
        T_1_3 = g_envOPglobal_list;
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            each_nm.num = T_1_3.vec->data[T_1_1.num - 1];

  LINE(302);
            {
            CLUREF T_2_1;
            T_2_1.num = ((nm.str->size != each_nm.str->size)? false :
                !(bcmp(nm.str->data, each_nm.str->data, nm.str->size)));
            if (T_2_1.num == true) {
                {
                {
                ret_1->tf = false;
                }
                {signal (ERR_ok);}}
                }
                }/* end if */
        }
    }
    end_inline_for_1:;

  LINE(304);
    {
    CLUREF T_1_1;
    err = sequenceOPaddh(g_envOPglobal_list, nm, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    g_envOPglobal_list.num = T_1_1.num;
    }

  LINE(305);
    {
    {
    ret_1->tf = true;
    }
    {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 add_global ****/


/**** BEGIN PROCEDURE add_str ****/

errcode g_envOPadd_str(nm, ret_1)
CLUREF nm;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_nm;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(308);

  LINE(310);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_2.num = g_envOPstr_list.vec->size; 
        T_1_3 = g_envOPstr_list;
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            each_nm.num = T_1_3.vec->data[T_1_1.num - 1];

  LINE(311);
            {
            CLUREF T_2_1;
            T_2_1.num = ((nm.str->size != each_nm.str->size)? false :
                !(bcmp(nm.str->data, each_nm.str->data, nm.str->size)));
            if (T_2_1.num == true) {
                {
                {
                ret_1->tf = false;
                }
                {signal (ERR_ok);}}
                }
                }/* end if */
        }
    }
    end_inline_for_1:;

  LINE(313);
    {
    CLUREF T_1_1;
    err = sequenceOPaddh(g_envOPstr_list, nm, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    g_envOPstr_list.num = T_1_1.num;
    }

  LINE(314);
    {
    {
    ret_1->tf = true;
    }
    {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 add_str ****/


/**** BEGIN PROCEDURE add_extern ****/

errcode g_envOPadd_extern(nm, ret_1)
CLUREF nm;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_nm;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(317);

  LINE(319);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_2.num = g_envOPextern_list.vec->size; 
        T_1_3 = g_envOPextern_list;
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            each_nm.num = T_1_3.vec->data[T_1_1.num - 1];

  LINE(320);
            {
            CLUREF T_2_1;
            T_2_1.num = ((each_nm.str->size != nm.str->size)? false :
                !(bcmp(each_nm.str->data, nm.str->data, each_nm.str->size)));
            if (T_2_1.num == true) {
                {
                {
                ret_1->tf = false;
                }
                {signal (ERR_ok);}}
                }
                }/* end if */
        }
    }
    end_inline_for_1:;

  LINE(322);
    {
    CLUREF T_1_1;
    err = sequenceOPaddh(g_envOPextern_list, nm, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    g_envOPextern_list.num = T_1_1.num;
    }

  LINE(323);
    {
    {
    ret_1->tf = true;
    }
    {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 add_extern ****/


/**** BEGIN PROCEDURE add_vlist ****/

errcode g_envOPadd_vlist(n, ret_1)
CLUREF n;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_n;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(326);

  LINE(327);
    {
    CLUREF T_1_1;
    T_1_1.num = (n.num < 50)? true : false;
    if (T_1_1.num == true) {
        {
        {
        ret_1->tf = false;
        }
        {signal (ERR_ok);}}
        }
        }/* end if */

  LINE(328);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_2.num = g_envOPvlist.vec->size; 
        T_1_3 = g_envOPvlist;
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            each_n.num = T_1_3.vec->data[T_1_1.num - 1];

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

  LINE(331);
    {
    CLUREF T_1_1;
    err = sequenceOPaddh(g_envOPvlist, n, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    g_envOPvlist.num = T_1_1.num;
    }

  LINE(332);
    {
    {
    ret_1->tf = true;
    }
    {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 add_vlist ****/


/**** BEGIN PROCEDURE add_find_owns ****/

errcode g_envOPadd_find_owns(nm, ret_1)
CLUREF nm;
CLUREF *ret_1;
    {
    errcode err;
    errcode ecode2;
    CLUREF each_nm;
        if (g_env_own_init == 0) {
            err = g_env_own_init_proc();
            if (err != ERR_ok) goto ex_0;
            }
    enter_proc(335);

  LINE(337);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
        T_1_2.num = g_envOPfind_owns_list.vec->size; 
        T_1_3 = g_envOPfind_owns_list;
        for (T_1_1.num = 1; T_1_1.num <= T_1_2.num; T_1_1.num++) {
            each_nm.num = T_1_3.vec->data[T_1_1.num - 1];

  LINE(338);
            {
            CLUREF T_2_1;
            T_2_1.num = ((each_nm.str->size != nm.str->size)? false :
                !(bcmp(each_nm.str->data, nm.str->data, each_nm.str->size)));
            if (T_2_1.num == true) {
                {
                {
                ret_1->tf = false;
                }
                {signal (ERR_ok);}}
                }
                }/* end if */
        }
    }
    end_inline_for_1:;

  LINE(340);
    {
    CLUREF T_1_1;
    err = sequenceOPaddh(g_envOPfind_owns_list, nm, &T_1_1);
    if (err != ERR_ok) goto ex_0;
    g_envOPfind_owns_list.num = T_1_1.num;
    }

  LINE(341);
    {
    {
    ret_1->tf = true;
    }
    {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 add_find_owns ****/

typedef struct{
    int count;
    OWNPTR type_owns;
    OWNPTR op_owns;
    struct OP_ENTRY entry[35];
} g_env_OPS;

CLU_proc g_env_oe_add_extern = {{0,0,0,0}, g_envOPadd_extern, 0};
CLU_proc g_env_oe_add_find_owns = {{0,0,0,0}, g_envOPadd_find_owns, 0};
CLU_proc g_env_oe_add_global = {{0,0,0,0}, g_envOPadd_global, 0};
CLU_proc g_env_oe_add_str = {{0,0,0,0}, g_envOPadd_str, 0};
CLU_proc g_env_oe_add_typedef = {{0,0,0,0}, g_envOPadd_typedef, 0};
CLU_proc g_env_oe_add_vlist = {{0,0,0,0}, g_envOPadd_vlist, 0};
CLU_proc g_env_oe_blankline = {{0,0,0,0}, g_envOPblankline, 0};
CLU_proc g_env_oe_create = {{0,0,0,0}, g_envOPcreate, 0};
CLU_proc g_env_oe_end_all = {{0,0,0,0}, g_envOPend_all, 0};
CLU_proc g_env_oe_ensure_newline = {{0,0,0,0}, g_envOPensure_newline, 0};
CLU_proc g_env_oe_error = {{0,0,0,0}, g_envOPerror, 0};
CLU_proc g_env_oe_force_signal = {{0,0,0,0}, g_envOPforce_signal, 0};
CLU_proc g_env_oe_get_comp = {{0,0,0,0}, g_envOPget_comp, 0};
CLU_proc g_env_oe_get_convert = {{0,0,0,0}, g_envOPget_convert, 0};
CLU_proc g_env_oe_get_err = {{0,0,0,0}, g_envOPget_err, 0};
CLU_proc g_env_oe_get_errst = {{0,0,0,0}, g_envOPget_errst, 0};
CLU_proc g_env_oe_get_file_name = {{0,0,0,0}, g_envOPget_file_name, 0};
CLU_proc g_env_oe_get_lineno = {{0,0,0,0}, g_envOPget_lineno, 0};
CLU_proc g_env_oe_get_space = {{0,0,0,0}, g_envOPget_space, 0};
CLU_proc g_env_oe_get_time = {{0,0,0,0}, g_envOPget_time, 0};
CLU_proc g_env_oe_indent = {{0,0,0,0}, g_envOPindent, 0};
CLU_proc g_env_oe_min_inline = {{0,0,0,0}, g_envOPmin_inline, 0};
CLU_proc g_env_oe_newdefn = {{0,0,0,0}, g_envOPnewdefn, 0};
CLU_proc g_env_oe_newline = {{0,0,0,0}, g_envOPnewline, 0};
CLU_proc g_env_oe_outdent = {{0,0,0,0}, g_envOPoutdent, 0};
CLU_proc g_env_oe_putl = {{0,0,0,0}, g_envOPputl, 0};
CLU_proc g_env_oe_puts = {{0,0,0,0}, g_envOPputs, 0};
CLU_proc g_env_oe_reset = {{0,0,0,0}, g_envOPreset, 0};
CLU_proc g_env_oe_reset_err = {{0,0,0,0}, g_envOPreset_err, 0};
CLU_proc g_env_oe_set_convert = {{0,0,0,0}, g_envOPset_convert, 0};
CLU_proc g_env_oe_set_convert_type = {{0,0,0,0}, g_envOPset_convert_type, 0};
CLU_proc g_env_oe_set_file_name = {{0,0,0,0}, g_envOPset_file_name, 0};
CLU_proc g_env_oe_set_lineno = {{0,0,0,0}, g_envOPset_lineno, 0};
CLU_proc g_env_oe_set_space = {{0,0,0,0}, g_envOPset_space, 0};
CLU_proc g_env_oe_set_time = {{0,0,0,0}, g_envOPset_time, 0};

g_env_OPS g_env_ops_actual = {35, (OWNPTR)&g_env_own_init, (OWNPTR)&g_env_own_init, {
    {&g_env_oe_add_extern, "add_extern"},
    {&g_env_oe_add_find_owns, "add_find_owns"},
    {&g_env_oe_add_global, "add_global"},
    {&g_env_oe_add_str, "add_str"},
    {&g_env_oe_add_typedef, "add_typedef"},
    {&g_env_oe_add_vlist, "add_vlist"},
    {&g_env_oe_blankline, "blankline"},
    {&g_env_oe_create, "create"},
    {&g_env_oe_end_all, "end_all"},
    {&g_env_oe_ensure_newline, "ensure_newline"},
    {&g_env_oe_error, "error"},
    {&g_env_oe_force_signal, "force_signal"},
    {&g_env_oe_get_comp, "get_comp"},
    {&g_env_oe_get_convert, "get_convert"},
    {&g_env_oe_get_err, "get_err"},
    {&g_env_oe_get_errst, "get_errst"},
    {&g_env_oe_get_file_name, "get_file_name"},
    {&g_env_oe_get_lineno, "get_lineno"},
    {&g_env_oe_get_space, "get_space"},
    {&g_env_oe_get_time, "get_time"},
    {&g_env_oe_indent, "indent"},
    {&g_env_oe_min_inline, "min_inline"},
    {&g_env_oe_newdefn, "newdefn"},
    {&g_env_oe_newline, "newline"},
    {&g_env_oe_outdent, "outdent"},
    {&g_env_oe_putl, "putl"},
    {&g_env_oe_puts, "puts"},
    {&g_env_oe_reset, "reset"},
    {&g_env_oe_reset_err, "reset_err"},
    {&g_env_oe_set_convert, "set_convert"},
    {&g_env_oe_set_convert_type, "set_convert_type"},
    {&g_env_oe_set_file_name, "set_file_name"},
    {&g_env_oe_set_lineno, "set_lineno"},
    {&g_env_oe_set_space, "set_space"},
    {&g_env_oe_set_time, "set_time"}}};

struct OPS *g_env_ops = (struct OPS *)&g_env_ops_actual;

/**** END CLUSTER g_env ****/
