LL(1) parser implementation with panic mode error recovery. The parser has been written for SPL (a Special Python Language defined by grammar mentioned in the pdf in the attached repo). Changing the grammar.txt file to have a grammar for any other language, the program will be able to parse a code given in that language. This implementation requires tokens of the code (output of the lexer) as its input.