@property<EOL><INDENT>def anchor_id(self):<DEDENT>
id = "<STR_LIT>"<EOL>f = lambda ch: filter(lambda k: self.sentence._anchors[k] == ch, self.sentence._anchors)<EOL>if self.pnp and self.pnp.anchor:<EOL><INDENT>id += "<STR_LIT:->" + "<STR_LIT:->".join(f(self.pnp))<EOL><DEDENT>if self.anchor:<EOL><INDENT>id += "<STR_LIT:->" + "<STR_LIT:->".join(f(self))<EOL><DEDENT>if self.attachments:<EOL><INDENT>id += "<STR_LIT:->" + "<STR_LIT:->".join(f(self))<EOL><DEDENT>return id.strip("<STR_LIT:->") or None<EOL>
Yields the anchor tag as parsed from the original token.
            Chunks that are anchors have a tag with an "A" prefix (e.g., "A1").
            Chunks that are PNP attachmens (or chunks inside a PNP) have "P" (e.g., "P1").
            Chunks inside a PNP can be both anchor and attachment (e.g., "P1-A2"),
            as in: "clawed/A1 at/P1 mice/P1-A2 in/P2 the/P2 wall/P2"