Just a couple of things:
Code:
void processinput(char therules[][])
You can't pass a two dimensional array to a function without declaring its size like so..
If it was initially declared as :
char therules[2][4]
the you would call processinput like such:
void processinput(char therules[][4])
You could do this:
void processinput(char therules[2][4])
which is clearer but the 2 is ignored anyway.
Code:
while(therules[x][y]!='>' & y< strlen(therules[x]))
I am assuming you are trying to evaluate while (leftstatement and rightstatement)..
You should have:
Code:
while( therules[x][y] != '>' && y < strlen(therules[x]) )
&& = logical and
& = address operator or bitwise and