We classify a type of language called a reflectable language. We then develop a generic algorithm that can be used to list all strings of length n for any reflectable language in Gray code order. The algorithm generalizes Gray code algorithms developed independently for k-ary strings, restricted growth strings, and k-ary trees, as each of these objects can be represented by a reflectable language. Finally, we apply the algorithm to open meanderic systems which can also be represented by a reflectable language.