#include <iostream>
#include <osl/osl.h>

int main(int argc, char *argv[]) {
    if(argc != 2) {
        std::cerr << "usage: <SCOP>\n";
        return -1;
    }

    auto *fp = fopen(argv[1], "r");
    if(!fp) {
        std::cerr << "openscop read failed\n";
        return -1;
    }
    auto scop = osl_scop_read(fp);
    fclose(fp);

    int i = 0;
    for(auto s = scop->statement; s; s = s->next, i++) {
        for(int j = 0; j < s->domain->nb_output_dims; j++) {
            std::cout << i << " " << j << "\n";
        }
    }

    return 0;
}