Here, in no particular order, are the rules I found:
spikes ::= "^^^"
hole ::= "" ""
hazard ::= hole | spikes
pitfallgame ::= pitfallsegment pitfallsegment pitfallsegment | pitfallsegment pitfallsegment pitfallgame
platform_basic ::= "xxx"
platform ::= platform_basic | platform_basic | platform_basic | platform_low | platform_high
option ::= spaces = 0
bnf ::=
 pitfallgame 

platform_high ::= "/X\"
__SPACE ::= "" ""
platform_low ::= __SPACE __SPACE __SPACE
pitfallsegment ::= platform | platform | hazard



This is what I did with them:
Iteration 1: Lookup: bnf ::=
 pitfallgame 

Iteration 2: Iteration 3: Lookup: pitfallgame ::= pitfallsegment pitfallsegment pitfallgame
Iteration 4: Lookup: pitfallsegment ::= platform
Iteration 5: Lookup: platform ::= platform_low
Iteration 6: Lookup: platform_low ::= __SPACE __SPACE __SPACE
Iteration 7: Lookup: __SPACE ::= " "
Iteration 8: Iteration 9: Lookup: __SPACE ::= " "
Iteration 10: Iteration 11: Lookup: __SPACE ::= " "
Iteration 12: Iteration 13: Lookup: pitfallsegment ::= hazard
Iteration 14: Lookup: hazard ::= hole
Iteration 15: Lookup: hole ::= " "
Iteration 16: Iteration 17: Lookup: pitfallgame ::= pitfallsegment pitfallsegment pitfallsegment
Iteration 18: Lookup: pitfallsegment ::= platform
Iteration 19: Lookup: platform ::= platform_basic
Iteration 20: Lookup: platform_basic ::= "xxx"
Iteration 21: Iteration 22: Lookup: pitfallsegment ::= platform
Iteration 23: Lookup: platform ::= platform_basic
Iteration 24: Lookup: platform_basic ::= "xxx"
Iteration 25: Iteration 26: Lookup: pitfallsegment ::= platform
Iteration 27: Lookup: platform ::= platform_basic
Iteration 28: Lookup: platform_basic ::= "xxx"
Iteration 29: Iteration 30:

..and here's what I got:
      xxxxxxxxx


Vitenka/PlatformGenerator