You don't really need to use formal languages like BNF when writing GDDs. Normal English (or whatever natural language) is fine. Use flowcharts, tables and diagrams when necessary. Make mock-ups of how you envision UI to be laid out.
An example might be: Section: Tool Use
There are various tools in the game, such as shovels, hoes, rakes, which are all used in the same manner:
1. The user opens the "tool menu" by pressing a specific button or HUD icon.
2. The tool menu displays any tools that the user has available at the moment.
3. The user can click on one of the tools to begin using it (or close the tool menu instead).
4. If the user picks a tool, the tool menu is closed and "tile-selection mode" is entered. The cursor should change in appearance to let the user know which tool is selected. A small overlay appears at the top of the screen which says "Select a tile to use your [tool name] on."
5. In tile-selection mode, the user may either left-click on a tile, or right click to exit tool use and return to the base game-play state.
6. Most tools only work on specific kinds of tiles. When the user left-clicks on an invalid tile, an error popup should appear. The user should remain in tile-selection mode after dismissing the error.
7. When the user left-clicks on a valid tile, tool-specific animations and tile modifications are performed, then the user is returned to the base game-play state. Section: Specific tools
Hoe: Converts "untilled" tiles to "tilled" tiles.
Rake: Removes leaves from tiles.
Shovel: If the tile contains rocks, the rocks are removed. If the tile is packed dirt, the tile is converted to loose dirt.
Used some of your example in this if you don't mind and edited it to fit more what I think I would write in my GDD.
Section: Tool Use
There are various tools in the game, such as watering cans, shovels, hoes, rakes, which are all used in the same manner:
1. The player may use the scroll wheel or specified number on the keyboard to select the tool if that tool is already on their hotbar. If it isn't, the player will open their Inventory using the I button and drag that tool to their desired hotbar slot using the Left Click on the mouse.
2. The hotbar displays any items the player currently has equipped at the moment.
3. When a tool is selected in the hotbar the box around the selected tool/item will have a bright ring around it to alert the player that it has been selected for use, a grid will appear around the PC that indicates the tools usage radius on the tiles. This radius is restricted to tools or tile altering objects.
4. The player only has to scroll to a different item in the hotbar or remove the tool from the hotbar to make the grid radius disappear and return to base game-play status.
5. When attempting to interact with a valid tile a Green glow will appear on that tile to show the player that it can be altered with the current object or tool the player is attempting to use on it.
6. When attempting to interact with an invalid tile a Red glow will appear on that tile to show the player that it cannot be altered with the current object or tool the player is attempting to use on it.
Section: Specific Tools
Hoe: Converts Untilled tiles to Tilled tiles.
Watering Can: Converts Tilled tiles and Seeded tiles into Watered Tiles.