You should start with a good course on automata, such as "Automata and computability" by Kozen. That will cover parsing and a bit more, but this is all "old stuff", or basics, as you see things.
Then you would need a good course on type theory, but unfortunately I have no pointer for this.
You may also read that http://lambda-the-ultimate.org/node/5569