created the recursive-descent parser and updated the grammar definition