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.