This is a question from the Dragon book (I apologize for translation mistakes, I don´t have the English version on hand): > What language is generated by this grammar? > $S \rightarrow a S b S |b S a S | \epsilon$ I don´t know what I´m supposed to do here. The definition in the book about languages says this (and that´s pretty much it in the chapter): > a language is the set of all words that can be produced by any parse > tree. So, if I want to make "any" parse tree out of this grammar, I can recursively keep building it, using just the first two rules. I searched a bit and got the impression that every rule has to be used once, but I´m not sure. It would be very helpful if someone were able to provide some tips on solving these sorts of problems.