Application Of Finite Automata In Compiler Design