Here, in no particular order, are the rules I found:
bnf ::= pitfallgame
spikes ::= "^^^"
__SPACE ::= "" ""
option ::= spaces = 0
hole ::= "" ""
pitfallsegment ::= platform | platform | hazard
platform ::= platform_basic | platform_basic | platform_basic | platform_low | platform_high
hazard ::= hole | spikes
platform_high ::= "/X\"
pitfallgame ::= pitfallsegment pitfallsegment pitfallsegment | pitfallsegment pitfallsegment pitfallgame
platform_low ::= __SPACE __SPACE __SPACE
platform_basic ::= "xxx"
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 ::= hazard
Iteration 9: Lookup: hazard ::= spikes
Iteration 10: Lookup: spikes ::= "^^^"
Iteration 11: Iteration 12: Lookup: pitfallgame ::= pitfallsegment pitfallsegment pitfallgame
Iteration 13: Lookup: pitfallsegment ::= hazard
Iteration 14: Lookup: hazard ::= spikes
Iteration 15: Lookup: spikes ::= "^^^"
Iteration 16: Iteration 17: Lookup: pitfallsegment ::= platform
Iteration 18: Lookup: platform ::= platform_basic
Iteration 19: Lookup: platform_basic ::= "xxx"
Iteration 20: Iteration 21: Lookup: pitfallgame ::= pitfallsegment pitfallsegment pitfallgame
Iteration 22: Lookup: pitfallsegment ::= hazard
Iteration 23: Lookup: hazard ::= hole
Iteration 24: Lookup: hole ::= " "
Iteration 25: Iteration 26: Lookup: pitfallsegment ::= hazard
Iteration 27: Lookup: hazard ::= spikes
Iteration 28: Lookup: spikes ::= "^^^"
Iteration 29: Iteration 30: Lookup: pitfallgame ::= pitfallsegment pitfallsegment pitfallsegment
Iteration 31: Lookup: pitfallsegment ::= platform
Iteration 32: Lookup: platform ::= platform_high
Iteration 33: Lookup: platform_high ::= "/X\"
Iteration 34: Iteration 35: Lookup: pitfallsegment ::= platform
Iteration 36: Lookup: platform ::= platform_basic
Iteration 37: Lookup: platform_basic ::= "xxx"
Iteration 38: Iteration 39: Lookup: pitfallsegment ::= platform
Iteration 40: Lookup: platform ::= platform_basic
Iteration 41: Lookup: platform_basic ::= "xxx"
Iteration 42: Iteration 43:
..and here's what I got:
/X\^^^^^^xxx ^^^/X\xxxxxx
Vitenka/PlatformGenerator