This is an LL1 parser developed with python, you can enter your grammar to see if it is LL1 or not (and why, if the grammar wasn't LL1). If it was an LL1 grammar, the code will generate the production rules, first/follow/nullable table, parse table and RHS table for you. Then, you can enter a string and ask the parser to parse it for you step by step.