This is just the main class defined and then, i've just done the skeletons of the other non-terminals which we have to define