This chapter discusses the source code in more detail. First I will give an overview of the organisation of the code. Then I will discuss each of the files in detail. I'll describe the files in order from the top (main) down to the low-level code but you'll want to jump around from file to file.
I won't be including all of the source code in this chapter. The discussion will concentrate on what I think are the non-trivial and non-obvious features of the code. You should be reading the source code along with the discussions.