I've tried looking at the source code, but I'm unfamiliar with the structure. I can't seem to find a parser module or source code. I'm attempting to understand the parser and perhaps write one from scratch (personal project). It would really help if there was source code for either of the parsers for Serpent or Solidity that could be found.
You can find the parser's source code in the ethereum/solidity project, it's written in C++.
Here's the main implementation file: Parser.cpp
You can find the main repo where solidity is linked and which contains the required dependencies to build it in the webthree-umbrella project repo.