Automata theory plays a key role in computational theory as many computational problems can be solved with its help. Formal grammar is a special type of automata designed for linguistic purposes. Formal grammar generates formal languages. Rough grammar and rough languages were introduced to incorporate the imprecision of real languages in formal languages. These languages have limitations on uncertainty. The authors have considered both uncertainty and approximations to define rough fuzzy grammar and rough fuzzy languages. Under certain restrictions, their grammar reduces to formal grammar. Furthermore, the authors have proposed definition of rough fuzzy automata that accepts rough fuzzy regular language.