production rules

recursion left to be corrected