#NEWLINE# def _annotate_first_pass( self , tokens ) : #NEWLINE# #INDENT# "\n        Perform the first pass of annotation, which makes decisions\n        based purely based on the word type of each word:\n\n          - '?', '!', and '.' are marked as sentence breaks.\n          - sequences of two or more periods are marked as ellipsis.\n          - any word ending in '.' that's a known abbreviation is\n            marked as an abbreviation.\n          - any other word ending in '.' is marked as a sentence break.\n\n        Return these annotations as a tuple of three sets:\n\n          - sentbreak_toks: The indices of all sentence breaks.\n          - abbrev_toks: The indices of all abbreviations.\n          - ellipsis_toks: The indices of all ellipsis marks.\n        " #NEWLINE# for aug_tok in tokens : #NEWLINE# #INDENT# self . _first_pass_annotation ( tokens ) #NEWLINE# ( yield aug_tok )