Is there a way to get Inform to react in both its ways to the same nounless action?

How about something like the following?

Attacking Rules
"Attacking Rules"

Dojo is a room.

The block attacking rule does nothing.

Understand "attack" as attacking.

A target is here.

Before doing anything:
	now implicit action is the waiting action.

Carry out attacking something:
	now the noun is off-stage.

Report attacking something:
	say "You break [the noun] apart with your bare hands."

An apple is here.

After attacking the apple:
	say "You mash [the noun] to pulp."

A boulder is here.

Instead of attacking the boulder:
	say "You'd rather keep your hands intact."

Instead of attacking yourself:
	say "Um, no."

Targeting is a rulebook producing an object.

First targeting:
	now implicit action is the waiting action.

Targeting when the player can see the target:
	rule succeeds with result target.

Targeting when the player can see the apple:
	rule succeeds with result apple.

Last Targeting:
	say "What do you want to attack?";
	now implicit action is the attacking action.

Rule for supplying a missing noun while attacking:
	let target be the object produced by the targeting rules;
	now the noun is target.

Implicit action is initially the waiting action.

Noun naming is an action applying to one thing. Understand "[thing]" as noun naming when implicit action is not the waiting action.

Before noun naming:
	convert to implicit action on the noun.

Rule for printing a parser error when the latest parser error is the not a verb I recognise error and implicit action is the attacking action:
	say "I don't see any such target. Try again."

Test attacks with "attack / attack / attack / boulder / me / attack boulder / attack / darkness / me / attack / jump".

which yields:

>[1] attack
You break the target apart with your bare hands.

>[2] attack
You mash the apple to pulp.

>[3] attack
What do you want to attack?

>[4] boulder
You'd rather keep your hands intact.

>[5] me
I didn't understand that sentence.

>[6] attack boulder
You'd rather keep your hands intact.

>[7] attack
What do you want to attack?

>[8] darkness
I don't see any such target. Try again.

>[9] me
Um, no.

>[10] attack
What do you want to attack?

>[11] jump
You jump on the spot.