1: lot ->Size(50, 100 * rand(0.8,1.2), 50) {new_lot} 2: new_lot ->Subdiv(X, 1^, 1^, 2^, 1^, 1^) {branchb | brancha | branch_s | brancha | branchb} : 0.2 ->Subdiv(X, 1^, 1^, 2^, 1^, 1^) {brancha | brancha | branch_s | brancha | brancha} : 0.2 ->Subdiv(X, 1^, 1^, 2^, 1^, 1^) {branchb | branchb | branch_s | branchb | branchb} : 0.2 ->Subdiv(X, 1^, 1^, 2^, 1^, 1^) {e | brancha | branch_s | brancha | e} : 0.2 ->Subdiv(X, 1^, 1^, 2^, 1^, 1^) {e | e | branch_s | e | e} : 0.2 3: brancha ->Size(1^, Scope.sy * rand(0.7,0.9), 1^) {branch_s} 4: branchb ->Size(1^, Scope.sy * rand(0.3,0.5), 1^) {branch_s} 5: branch_s ->Repeat(Y, rand(20,25)) {branch_floors} 6: branch_floors ->Comp("sidefaces") {floors_a} 7: floors_a ->Subdiv(X, 1^, 1^, 1^, 1^, 1^) {win | win | win | win | win} 8: win ->Subdiv(Y, 1^, 1^, 1^, 1^, 1^) {win_b | win_b | win_b | win_b} 9: win_b ->Subdiv(X, 1^, 5^, 1^) {terminal | win_t | terminal} 10: win_t ->Subdiv(Y, 1^, 5^, 1^) {terminal | win_f | terminal} 99: e ->Replace(empty) end