Initial parser commit. Currently untested...