PASSBY YAML source

code: PASSBY
xiao_number: B29
bohmann_number: 41
name: BY-passives
definition: >-
  Passive voice constructions with BE auxiliary where the agent is expressed with "by".
normalization: finite_verbs
parent: PASS_ALL
detection:
- requires:
  - lemma
  - pos
  - dep
  semgrex: '{pos:/VB.*/}=verb >auxpass {lemma:be}'
  description: >-
    Verb with auxpass dependent. BY-passive if "by" + NP agent phrase follows.
    Requires post-filter to confirm presence of "by" agent.
- source: pybiber
  requires:
  - word
  - pos
  - dep
  parts:
    at_2:
      cql: '[dep="auxpass"] [pos!="."] [word="by"]'
      anchor: first
    at_3:
      cql: '[dep="auxpass"] [] [pos!="."] [word="by"]'
      anchor: first
  combine: "at_2 | at_3"
  description: >-
    Auxpass token with "by" at position +2 or +3. Both patterns require
    the token immediately before "by" NOT to be a period (pos="."),
    avoiding false positives where sentence-initial "By" appears after
    "was gone." or similar. pybiber's case-sensitive comparison achieves
    the same effect accidentally.
sources:
- biber_1988
- pybiber
- xiao_2009
- bohmann_2019
notes: >-
  D5 loading .41. Distinguished from agentless passives ([[PASS]]) by the overt
  agent. BY-passives retain the agent but shift topic/focus.
examples:
- text: The letter was _written_ by Gandalf.
- text: The ring was _found_ by Bilbo.
- text: He was _praised_ by the king.