Minimal C parser for learning purposes