Introduction to syntactic analysis, context-free grammars