-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathOpenWith.t
51 lines (45 loc) · 1.04 KB
/
OpenWith.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#charset "us-ascii"
#include <adv3.h>
#include <en_us.h>
/*
* Adds verb "Open/Pry [open] With"
*/
DefineTIAction(PryWith);
// Pry w/o "with" asks for an iobj:
VerbRule(PryWithWhat)
[badness 500]
('pry' | 'pry' 'open') singleDobj
| ('pry') singleDobj 'open'
: PryWithAction
verbPhrase = 'pry/prying open (what) (with what)'
construct()
{
/* set up the empty indirect object phrase */
iobjMatch = new EmptyNounPhraseProd();
iobjMatch.responseProd = withSingleNoun;
}
;
VerbRule(PryWith)
('open' | 'pry' 'open' | 'pry') singleDobj 'with' singleIobj
| ('pry') singleDobj 'open' 'with' singleIobj
: PryWithAction
verbPhrase = 'pry/prying open (what) (with what)'
askDobjResponseProd = singleNoun
askIobjResponseProd = withSingleNoun
;
modify Thing
dobjFor(PryWith)
{
verify()
{
illogical('{That dobj/he} {is}n\'t something {you/he} can pry open. ');
}
}
iobjFor(PryWith)
{
verify()
{
illogical('{The iobj/he} do{es}n\'t appear very useful as a prying tool. ');
}
}
;