Applications Of Context Free Grammars