def constituents(self, pnp=False):
a = []<EOL>for word in self.words:<EOL><INDENT>if pnp and word.pnp is not None:<EOL><INDENT>if len(a) == <NUM_LIT:0> or a[-<NUM_LIT:1>] != word.pnp:<EOL><INDENT>a.append(word.pnp)<EOL><DEDENT><DEDENT>elif word.chunk is not None:<EOL><INDENT>if len(a) == <NUM_LIT:0> or a[-<NUM_LIT:1>] != word.chunk:<EOL><INDENT>a.append(word.chunk)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>a.append(word)<EOL><DEDENT><DEDENT>return a<EOL>
Returns an in-order list of mixed Chunk and Word objects.
            With pnp=True, also contains PNPChunk objects whenever possible.