/* Do NOT modify this file */

/*
 * Prints an RL program file.
 *
 * Copyright J. Dean Brock, 2010
 * This file released under terms of the GNU General Public License
 *
 */

#include <stdio.h>

#include "RLparse.h"

void printRLprog(struct RLAssignmentNode * prog, FILE * f) {
    while (prog != (struct RLAssignmentNode *)NULL) {
        printf("%" RLVARF " = ", prog->value.Target) ;
        if (prog->value.op1Type == oprndVar)
            fprintf(f, "%" RLVARF " ", prog->value.arg1.VarName) ;
        else
            fprintf(f, "%" RLCONSTF " ", prog->value.arg1.ConstValue) ;
        if (prog->value.operator == optorSer)
            fputc('+', f) ;
        else
            fputc('|', f) ;
        if (prog->value.op2Type == oprndVar)
            fprintf(f, " %" RLVARF " ", prog->value.arg2.VarName) ;
        else
            fprintf(f, " %" RLCONSTF " ", prog->value.arg2.ConstValue) ;
        fputc('\n', f) ;
        prog = prog->next ;
    }
    fputc('\n', f) ;
}
