#include <stdio.h>
#include "parc.h"

using namespace parc;

module top {
public:
  char i;
  top() {
    i = 1;
  }

  c_signal<logic> clk;

  process p1 {
  start:
    for (; i < 7 ; i++) {
      printf("\np1: %d,%d -> %d\n",i,value(clk),1 & i);
      wait(1);
      clk = 1 & i;
    }
  } a;

  process p2 {
  start:
    for (;;) { @(clk) printf("@:  %d,%d\n",i,value(clk)); }
  } b;

  process p3 {
  start:
    for (;;) { @?(clk) printf("@?: %d,%d\n",i,value(clk)); }
  } c;
};

void test()
{
  top t;

  root()->StartAll();
}

int main(int argc,char **argv)
{
  test();
}