Range concatenation grammars