Here's a small program.
start_at = room01
locations {
room01 : location "You're in a storeroom";
}
objects {
tongue : object "some hound's tongue" start_at = "room01";
fern : object "some adder's tongue fern" start_at = "room01";
}
on_command {
: match "examine tongue" {
: print "It's the tongue of a dog.";
: done;
}
: match "examine fern" {
: print "It's adder's fork.";
: done;
}
}
If you EXAMINE FERN or GET FERN, it's fine, but if you EXAMINE ADDER'S TONGUE FERN or GET ADDER'S TONGUE FERN, it examines or gets the hound's tongue.