random context array grammar