adding lexers and parsers