Previous: Step By Step Procedural Program Execution Rationale, Up: Step By Step Procedural Program Execution


5.5.1.2 Step By Step Procedural Program Execution Example
    void *subtext;

    x1f4_rail_shuffle(program);

    status = x1f4_near_shuffle(&subtext, program);
    if (status) {
    } else {
	int excess;

	x1f4_head_shuffle(subtext);
	while (!x1f4_tail_shuffle(subtext)) {
	    status = x1f4_slip_shuffle(subtext, context);
	    if (status) {
		break;
	    }
	}

	excess = x1f4_side_shuffle(&subtext, program);
	if (excess) {
	    if (status) {
	    } else {
		status = excess;
	    }
	}
    }

Same example, extended for temporaries disposal:

    void *subtext;

    x1f4_rail_shuffle(program);

    status = x1f4_near_shuffle(&subtext, program);
    if (status) {
    } else {
	int excess;

	x1f4_head_shuffle(subtext);
	while (!x1f4_tail_shuffle(subtext)) {
	    status = x1f4_slip_shuffle(subtext, context);

	    check for temporaries and dispose if any

	    if (status) {
		break;
	    }
	}

	excess = x1f4_side_shuffle(&subtext, program);
	if (excess) {
	    if (status) {
	    } else {
		status = excess;
	    }
	}
    }

See x1f4_rail_shuffle.

See x1f4_near_shuffle.

See x1f4_head_shuffle.

See x1f4_slip_shuffle.

See x1f4_tail_shuffle.

See x1f4_side_shuffle.