Here, in no particular order, are the rules I found:
bnf ::= pitfallgame
platform_high ::= "/X\"
platform_low ::= __SPACE __SPACE __SPACE
platform ::= platform_basic | platform_basic | platform_basic | platform_low | platform_high
spikes ::= "^^^"
platform_basic ::= "xxx"
pitfallgame ::= pitfallsegment pitfallsegment pitfallsegment | pitfallsegment pitfallsegment pitfallgame
option ::= spaces = 0
hazard ::= hole | spikes
pitfallsegment ::= platform | platform | hazard
__SPACE ::= "" ""
hole ::= "" ""
This is what I did with them:
Iteration 1: Lookup: bnf ::= pitfallgame
Iteration 2: Iteration 3: Lookup: pitfallgame ::= pitfallsegment pitfallsegment pitfallsegment
Iteration 4: Lookup: pitfallsegment ::= platform
Iteration 5: Lookup: platform ::= platform_basic
Iteration 6: Lookup: platform_basic ::= "xxx"
Iteration 7: Iteration 8: Lookup: pitfallsegment ::= hazard
Iteration 9: Lookup: hazard ::= spikes
Iteration 10: Lookup: spikes ::= "^^^"
Iteration 11: Iteration 12: Lookup: pitfallsegment ::= platform
Iteration 13: Lookup: platform ::= platform_basic
Iteration 14: Lookup: platform_basic ::= "xxx"
Iteration 15: Iteration 16:
..and here's what I got:
xxx^^^xxx
Vitenka/PlatformGenerator