static void create() {
    parse_init();
    parse_add_rule("smile", "at LIV");
}

mixed can_smile_at_liv(object target) { 
    return 1;
}

mixed do_smile_at_liv(object target) {
    previous_object()->eventPrint("You smile at " +
      (string)target->GetName() + ".");
    target->eventPrint((string)previous_object()->GetName() +
      " smiles at you.");
    return 1;
}