this large js file should be an entire end-to-end pyret compiler