parser almost done, will change tokens to reduce size of cfg terminals