if (ratematch || circular) { print("(" + recvBuffer + "[" + recvBufferIndex + " + ("); num.accept(this); print(") + 1 & " + RECVBITS + "])"); } else { print("(" + BUFFER + "[" + TAPE_INDEX + " + ("); num.accept(this); print(") + 1");   print("])"); }
Utils.fail("FlatIRToC should see no peek expressions");
    public void visitPeekExpression(SIRPeekExpression self,                                    CType tapeType,                                    JExpression num)    {        if (ratematch || circular) {	    print("(" + recvBuffer + "[" + recvBufferIndex + " + (");	    num.accept(this);	    print(") + 1 & " + RECVBITS + "])");	}	else {	    print("(" + BUFFER + "[" + TAPE_INDEX + " + (");	    num.accept(this);	    print(") + 1");	    //	    if (circular)	    //	print(" & " + BITS + "");	    print("])");	}    }