ReflexivePronounclass | parser.t[4830]

Base class for reflexive pronouns. These are pronouns like "himself" that specifically refer to an antecedent in the same sentence, rather than to an earlier sentence: ASK BOB ABOUT HIMSELF is an inquiry about Bob, while ASK BOB ABOUT HIM refers to some male antecedent from an earlier statement.

Note that the first- and second-person reflexives are generally not needed in the parser. (We define them here anyway, because they're useful for message generation.) The third-person reflexive pronouns have distinct meanings in input from the corresponding ordinary pronouns, in that they refer to noun phrases within the same command rather than in earlier exchanges. In contrast, the second-person pronouns have the same meaning in ordinary and reflexive forms, at least within the confines of the IF parser: EXAMINE ME and EXAMINE MYSELF mean the same thing in all typical IF command syntax.

`class ReflexivePronoun : Pronoun`

Superclass Tree (in declaration order)

`ReflexivePronoun`
`Pronoun`
`object`

Subclass Tree

(none)

Global Objects

`Herself Himself Itself Myself Ourselves Themselves Yourself Yourselves`

Summary of Properties

`all person pronoun`

Inherited from `Pronoun` :
`aName ante reflexive theName theObjName`

Summary of Methods

`construct resolve`

Inherited from `Pronoun` :
`matchObj setAntecedents`

Properties

`all` OVERRIDDEN | `parser.t[4863]`

Class property - list of all reflexive pronoun objects. This keeps the reflexive pronouns in a separate list from the base Pronoun list.

`person` OVERRIDDEN | `parser.t[4856]`

my grammatical person is the same as my underlying pronoun's

`pronoun` | `parser.t[4853]`

Get the corresponding ordinary (non-reflexive) form of the pronoun. For example, for HIMSELF we'd return HIM.

Methods

`construct ( )`OVERRIDDEN | `parser.t[4832]`

during construction, set the regular pronoun to point back at me

`resolve ( )`OVERRIDDEN | `parser.t[4847]`

A reflexive pronoun binds to another noun phrase contained in the same command, so we resolve using the parser's "late binding" scheme. We invoke this by returning the ordinary (non-reflexive) pronoun object representing the attributes that we match; upon seeing this, the parser will know to come back to this pronoun after it's finished resolving earlier phrases, and look for the appropriate pronoun binding within those other phrases.

Adv3Lite Library Reference Manual
Generated on 15/03/2023 from adv3Lite version 1.6.1