context free language (assignment)