Could anyone give a brief description of how the solc compiler works? I can't find much documentation on the subject... https://github.com/ethereum/solidity
describes the language more than the compiler.
As far as parsers/compilers are concerned, I'm mostly familiar with how ANTRL processes DSLs. I was curious to know how similar (or not) this compiler was. Does it use c++ libraries (for tokenizing for instance), or is it an entirely custom effort? And if so, what was the motivation? Why not have used something like ANTLR, or even a c++ equivalent?
If someone could point me to the most relevant files in the solidity repo, that would be awesome!