Hacker News new | comments | show | ask | jobs | submit login
Understanding Python Bytecode (coverity.com)
84 points by neuroo on Nov 4, 2014 | hide | past | web | favorite | 6 comments



Nice overview of Python bytecode. Reminded me of the 'No Frills Introduction to Lua 5.1 VM Instructions'[1]. I have not seen a similar document for Python yet, is there one?

[1] http://luaforge.net/docman/83/98/ANoFrillsIntroToLua51VMInst...


I don't think so; https://docs.python.org/3/library/dis.html#python-bytecode-i... was the closest I found when I was writing a compiler for a subset of Python, and that doc was a little sketchy and out of date. I ended up consulting the CPython source a lot and reading some helpful blog series:

http://docs.python.org/devguide/compiler.html http://akaptur.github.io/blog/categories/python-internals/ http://eli.thegreenplace.net/category/programming/python/pyt... http://tech.blog.aknin.name/category/my-projects/pythons-inn... http://www.matusiak.eu/numerodix/blog/category/python-intern...

Also Python 2 comes with a 'compiler' module which reimplements the built-in compiler in Python. (The real one is in C. The Python one was dropped from Python 3.)


What is this used for? This went right over my head.


The byte code here is an implementation detail of an interpreter for the Python programming language. Wikipedia seems to have decent coverage:

http://en.wikipedia.org/wiki/Bytecode

Someone at Coverity would likely be interested in understanding it to use in analyzing source code. They use automatic analysis to find defects.


an example that comes to mind, Pony ORM uses it to convert a generator expression to SQL, https://stackoverflow.com/questions/16115713/how-pony-orm-do...


"I came here to HAVE_ARGUMENT!"

"Oh! I'm sorry. This is abuse."




Applications are open for YC Winter 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: