analyser and lexical returns a generator