code: STPR
biber_number: N61
xiao_number: F78
name: Stranded prepositions
definition: >-
Prepositions occurring at the end of a clause, separated from their complement
(e.g., "the ring he spoke of", "what are you looking at").
normalization: finite_verbs
detection:
- requires:
- pos
cql: '[pos="IN"] [pos="[.,:;!?]"]'
description: Preposition immediately followed by punctuation (clause-final position).
- source: pybiber
requires:
- pos
- dep
cql: '[pos="IN" & dep="prep"] [pos="."]'
description: >-
pybiber requires `dep_rel == "prep"` AND next token's tag matches
`^[[:punct:]]$` (a single punctuation character). In spaCy, only
punctuation tokens have single-character POS tags (`.`, `,`, `:`,
etc.), so CQL regex `pos="."` (any single char) is equivalent.
This excludes multi-char POS tags like -LRB-, HYPH, ``, '' which
have upos=PUNCT but are not single-character tags.
examples:
- text: We've got more than can be accounted _for_.
source: le_foll_2024
- text: Where is it _from_?
source: le_foll_2024
- text: Open the door and let them _in_.
source: le_foll_2024
sources:
- biber_1988
- mfte
- pybiber
- xiao_2009