add part of a recursive decent parser in scheme