Here, in no particular order, are the rules I found:
hole ::= "" ""
platform_low ::= __SPACE __SPACE __SPACE
option ::= spaces = 0
pitfallsegment ::= platform | platform | hazard
spikes ::= "^^^"
pitfallgame ::= pitfallsegment pitfallsegment pitfallsegment | pitfallsegment pitfallsegment pitfallgame
hazard ::= hole | spikes
platform_basic ::= "xxx"
platform_high ::= "/X\"
bnf ::= pitfallgame
platform ::= platform_basic | platform_basic | platform_basic | platform_low | platform_high
__SPACE ::= "" ""
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_high
Iteration 6: Lookup: platform_high ::= "/X\"
Iteration 7: Iteration 8: Lookup: pitfallsegment ::= platform
Iteration 9: Lookup: platform ::= platform_low
Iteration 10: Lookup: platform_low ::= __SPACE __SPACE __SPACE
Iteration 11: Lookup: __SPACE ::= " "
Iteration 12: Iteration 13: Lookup: __SPACE ::= " "
Iteration 14: Iteration 15: Lookup: __SPACE ::= " "
Iteration 16: Iteration 17: Lookup: pitfallgame ::= pitfallsegment pitfallsegment pitfallsegment
Iteration 18: Lookup: pitfallsegment ::= platform
Iteration 19: Lookup: platform ::= platform_high
Iteration 20: Lookup: platform_high ::= "/X\"
Iteration 21: Iteration 22: Lookup: pitfallsegment ::= hazard
Iteration 23: Lookup: hazard ::= spikes
Iteration 24: Lookup: spikes ::= "^^^"
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:
/X\ /X\^^^xxx
Vitenka/PlatformGenerator