Context Free Grammer Algorithm