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