Currently, whenever we use pycparser (either directly or indirectly via cffi), lextab.py and yacctab.py files are generated in the working directory. Instead, we should generate them in a temp directory.
Unfortunately, cffi doesn't currently support setting this directory, though pycparser does. As a hacky workaround, you can instantiate your own CParser which will use a temp directory, then set it as the global parser instance in pycparser.
See the pco driver in Instrumental for a working example of this.