Recursive descent compiler implementation.