Kungsgeten Posted April 15, 2012 Report Share Posted April 15, 2012 Hi! I recently discovered the Full disclosure system on BBO. I tried using bidedit for a while, but found it pretty slow to work with. I've created a markup language which I call Bridge Bidding Markup Language (BML for short). BML is intended to be easy to write and easy to read. Right now I also have a program written in Python which can convert BML files to BSS (the format used by BBO), and these files can be used while playing online. All features of the Full Disclosure system isn't implemented yet, but the most useful ones (according to me) are. I would be happy if you tried it out and gave me some thoughts. You can download the manual and the converting program from here Just to give you an example, here's what a BML file can look like (including a basic description of a No Trump structure): SAYC A natural system with 5 card majors and best minor 1C; 3+!c, 11+ hcp 1D; 3+!d, 11+ hcp 1H; 5+!h, 11+ hcp 1S; 5+!s, 11+ hcp 1N; 15-17 bal 2C; ARTIFICIAL. Game-forcing or 22-24 bal 2D; Weak 2H; Weak 2S; Weak 2N; 20-21 bal 1N; 2C ARTIFICIAL. Stayman 2D ARTIFICIAL. No 4 card major 2H NON-FORCING. 4+!h 2S NON-FORCING. 4+!s 2D TRANSFER. 5+!h 2H NON-FORCING. 3H NON-FORCING. Super accept 2H TRANSFER. 5+!s 2S NON-FORCING. 3S NON-FORCING. Super accept 2S ARTIFICIAL. Minor suit Stayman 2N INVITATIONAL. Edit 2012-07-20:BML has been updated to version 0.3. Changes include variables and support for BSS suit lengths and outcomes. The manual has also been updated and now has information on bids depending on seat and/or vulnerability. Edit 2013-04-01:BML has been completly rewritten and can now be found at GitHub. 1 Quote Link to comment Share on other sites More sharing options...
Cthulhu D Posted April 18, 2012 Report Share Posted April 18, 2012 That's really good actually. I will give it a throw. Quote Link to comment Share on other sites More sharing options...
Kungsgeten Posted April 18, 2012 Author Report Share Posted April 18, 2012 Please do! I'll be happy to hear about your comments. Quote Link to comment Share on other sites More sharing options...
mycroft Posted April 18, 2012 Report Share Posted April 18, 2012 One comment (about comments): your manual shows that you can use C++ -style comments (//comment).Your continuation example uses Perl-style comments (#comment). Are both of them legal? Can I also use C-style block comments or Python docstring-style block comments? Quote Link to comment Share on other sites More sharing options...
Kungsgeten Posted April 18, 2012 Author Report Share Posted April 18, 2012 Ah, I'm sorry. The documentation is wrong (I just kind of wanted to "get it out there" and hopefully recieve some feedback). It uses C-style // comments. At first I used # as comments, but I figured that you may want to use # in your description of bids for some reason (like #5!s or something similar). So currently only // as comments, and no block comments (though I guess they could be implemented). Quote Link to comment Share on other sites More sharing options...
Cthulhu D Posted April 24, 2012 Report Share Posted April 24, 2012 I've got this going. Some thoughts A) It's really good, I like it B) Nothing you can do, but the BBO interface for uploading FD cards is 100% made of pure ass. C) Make the headers preceeded by a tag or something - it took me awhile to work out why the 1C bidding description was becoming the system name. D) Number 1 feature request PLEASE OH PLEASE let tabs work for indenting bidding trees!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Or make the converter replace a tab with 8 spaces. I care not. Otherwise it's pretty good, working a system up into it now. Edit: Also, can you validate if the output is a legit BSS file? I guess this is partly FD's fault - it never says 'OH NOES your file is buggered right up' it just fails silently. Which is awesome when you're trying to debug stuff. Not. Edit2: Also, what is the 'symbol' for Pass? Passes have meanings in my system, so I need to be able to define a meaning for that bid. Feature Requests: Allow me to define PASS or if you have tell me how Let it read tabs as white space Can it accept and expand the short hand 4m4M4x to 4C and 4D, 4H/S and 4C/D/H/S respectively? This is partly personal interest. If it can do that, I can paste my system notes directly from excel into the program. However, just the shorthand and pass is a massive leap forward, replacing tabs with whitespace can be done with find/replace. Quote Link to comment Share on other sites More sharing options...
Kungsgeten Posted April 24, 2012 Author Report Share Posted April 24, 2012 I'm glad you're using and liking it! C) One of the purposes of BML was to make the "code" readable and easy to write. That's the reason why there's no tags. But ofcourse it could be implemented.D) Okay, I'll look into this. Should be easy to implement. Quote Link to comment Share on other sites More sharing options...
Cthulhu D Posted April 24, 2012 Report Share Posted April 24, 2012 Got practically an entire system in and working - it's pretty good and quite fast if you doco your system in excel. I am going to change my documenting style to meet your parser haha. 2/1 Game forcing with a short club WBF Red, 5 card majors, 14-16 N and 1C = clubs or balanced 1C; 2+!c, 11-20 HCP - !cs or bal. 1D; 4+!d, 11-20 HCP - unbal. may have longer !cs 1H; 5+!h, 11-20 HCP 1S; 5+!s, 11-20 HCP 1N; 14-16, may include a 5 card major or 6 card minor 2C; Weak 5+!d, 22+ Bal, 21+ Unbal or 9+ Playing tricks 2D; Weak 5+!h or Weak 5+!s 2H; Weak 4+!s and 4+!h 2S; Weak 4+!s and 5+!c or 5+!d 1N; 14-16 Balanced 2C Stayman(extended)....used even wo 4M 2D Stayman answer, No 4cM 2H weak scramble for either major (4+ in both majors, 4-4-1-4) 2S NF 5S 4H invitational 2N game invitation may or may not contain 4 card major 3C natural GF, generally slamish 3H Smolen, showing 5 of unbid major and 4 of the bid major, GF 3N to play 4C RKC Gerber 1430 2B 2G (2 bad 2 good) 4D 5-5+ majors GF and non-slamish 2H 2S 4 card suit invitational values 2N invitational no 4 card major 3C natural GF, generally slamish 3H invite 3S splinter for S or balanced slam try 3N Asks 4H Spade splinter 3N to play 4C splinters 4H to play 4S exclusion blackwood (see SLAM) 4N quantitative balanced with 4S 5C exclusion blackwood (see SLAM) 5H call 6 with 2 of top 4 2S Stayman answer, 4+!s. denies 4 hearts 2N invitational may have 4H, may not 3C natural GF, generally slamish 3H balanced slam try with 4S 3S invite 3N to play 4C splinters 4S to play 4N quantitative balanced with 4H 5C exclusion blackwood (see SLAM) 5S call 6 with 2 of top 4 2D Transfer to Hearts (5+) 2H Transfer to Hearts (5+) 2S 5-5 majors, slamish 2N Invitational with 5 H 3C Second Suit, GF 3H Invitational with 6+ H 3S Splinter (6+!h, slam interest) 3N Pick a game 4C Splinter (6+ H, slam interest) 4S exclusion blackwood (see SLAM) 4N Quantitative 5C exclusion blackwood (see SLAM) 3H Super accept: 4H and a minimum 3C Super accept: 4H, a maximum, and 2 cards in the bid suit 2N A maximum with: Hxx hearts or 3-4-3-3 exactly and stoppers in every other suit 4H 5 Hearts 2H Transfer to Spades (5+) 2S Acceptance 2N Invitational with 5 S 3C Second Suit, GF 3H Balanced slamish (with 5 S) 3S Invitational with 6+!s 3N Pick a game 4C Splinter (6+ S, slam interest) 4N Quantitative 5C exclusion blackwood (see SLAM) 3S Super accept: 4S and a minimum 3C Super accept: 4S, a maximum, and 2 cards in the bid suit 2N A maximum with: Hxx spades, or 4-3-3-3 and stoppers in every other suit 4S 5 Spades 2S Transfer to Clubs (6+) 2N Super Accept of Transfer (max clubs Hxx or 4+) 3C Normal Acceptance 4D RKC 4N Quantitative 2N Transfer to Diamonds (6+) 3C Super Accept of Transfer (max with honor 3rd or 4+) 3D Normal Acceptance 4C RKC 4N Quantitative 3C Muppet Stayman 3D 4-card major/s 3H Responder holds 4 of other M 3N No 4cM 3H No 5 or 4 card major 3S 5 Spades 3S 5 Spades 3N 5 Hearts - Choice of games 3D 5-5 minors GF 3H Exactly 31(54/45) GF 3S Exactly 13(54/45) GF 3N To Play 4C Gerber, asking for Aces 4D Texas Transfers to H (6+) 4H Acceptance 4H Texas Transfers to S (6+) 4S Acceptance 4S Exactly 4-4 minors, slam force - (Possible Change) maybe can be weak quantitative slam invite 4N Balanced Quantitative (no 4cM) 17ish pts 5C To play (preemptive type) 5N Pick a slam (20-21 pts) 1C; 1D 4+ Hearts 1H 11-13 bal with 2-3 card support or a hand with no sensible bid (typically 5-4-3-1 with 3 card support and a minimum 1S Weak or invitational 1N 2-4 clubs or exactly 3235 2C 5+ clubs exactly 3 hearts 1N 4+ Spades NF 2C To Play 2D Undefined (good hand with spade fit? 2H Undefined? 2S To Play 2C To Play 2D Artifical Game force 2H Balanced 3 hearts without 4 spades 2S 4=3=1=5 or 4=3=0=6 2N Balanced with 2 hearts and without 4S 3C 3 Hearts and 6+ clubs 3D 1=3=4=5 or 0=3=4=6 2H Preemptive to play 2S Nat. Game Forcing 2N Game forcing with 6+ Hearts 3C Nat. Game Forcing 3D Nat. Game Forcing 1S 4+, 12-17 points - opener must have 5+ clubs! 1N 17-19 HCP Bal 2C 6+, 12-15 HCP no 4cM 2D Reverse 16+ HCP 2H 11-15 4+ 2S Jump Shift 4+ with 18+ HCP (denies H support) 2N 6+!c and 3!h w/15+ points OR 4+!h any 16+ signoffs in 3!c ir 3!h clubs or 3H. 3C Strong rebid 6+ with 16+ HCP 3D "No Use" 3H Good Raise 16-17 HCP 3S Splinter 17+ HCP 3N "No Use " 1H 4+ Spades 1S 11-13 bal with 2-3 card support or a hand with no sensible bid (typically 5-4-3-1 with 3 card support and a minimum 1N 17-19 HCP Bal 2C 6+, 12-15 HCP no 4cM 2D Reverse 16+ HCP 2H Reverse 16+ HCP 2S 11-15 4+ 2N 6+ clubs and 3 Hearts w/15+ points OR 4+ H any 16+ Signoffs in 3 clubs or 3H. Opener pulling (except 3C->3H) is a strong game try, (probably 17+) 3C Strong rebid 6+ with 16+ HCP 3D "No Use - Splinter? 3H Jump Shift 4+ with 18+ HCP (denies S support) 3S Good Raise 16-18 HCP 3N 20-21 HCP that couldn’t open 2N ... 4C 2-suited hand (5+!c and 4+ H) 4D Splinter 17+ HCP with 4+!s support 4H Splinter 17+ HCP with 4+!s support 4S 18+ points with 4+!s support 1S 5+ Diamonds (denies a 4CM, unsuitable for 1N or 2N) 1N 17-19 HCP balanced 2C 6+, 11-15 HCP no 4cM 2D 11-13 bal with 2-3 card support or a hand with no sensible bid (typically 5-4-3-1 with 3 card support and a minimum 2H Reverse 16+ HCP 2S Reverse 16+ HCP 2N 6+ clubs, 3 Spades, 15+ points, good hand. Signoffs in 3 clubs or 3H. Anything else is game forcing 3C Strong rebid 6+ with 16+ HCP 3D Good Raise 16-17 HCP 3H ". Jump Reverse No Use 3S ". Jump Reverse No Use 3N 20-21 HCP that couldn’t open 2N ... 4C 2-suited hand (5+!c and 4+!s) 4D Splinter 17+ HCP 4H Splinter 17+ HCP 4S Splinter 17+ HCP 1N Balanced, no intrest in game opposite a 11-13 weak N, no 4cM 2C 6+, 12-15 HCP unbalanced 2D Reverse 16+ HCP 2H Reverse 16+ HCP 2S Reverse 16+ HCP 2N 15-16 HCP balanced invite 3C 6+, 16-17 HCP unbalanced 3D - 3N to play 2C 5+!c Limit Raise (Good 10+), no 4cM 2D Values for 3N: 2H Values for 3N: 2S Values for 3N: 2N Weak N 3C unbalanced club hand, NF 3C Splinter 3H Splinter 3N To Play 4C Minorwood (see SLAM for continuations) 2D Soloway Jump Shift - See Tab 2H Soloway Jump Shift - See Tab 2S Soloway Jump Shift - See Tab 2N "12-14 or 18-19 HCP 4333/4432 can have 4cM 3C 5+!c Preemptive 3D I want to bid 3N, do you think I can make it? 3H You play it 3N I will play it 4C Hell no 3D Splinter 11-14 HCP 3H Splinter 11-14 HCP 3N 15-17 HCP no 4cM 4C Minorwood (see SLAM for continuations) 4D Exclusion? 4H Exclusion? 4N - 5C Probably to play, but when is it not worth a slam try for 6? 1D; 1H 4+ Hearts 1S 4+, 12-17 points 1N 12-13 HCP balanced 2C 4+, natural 2D 6+, 12-15 HCP no 4cM 2H 12-15 4+ (sometimes 3 with unbalanced hand) 2S Jump Shift 4+ with 18+ HCP (denies H support) 2N 18-19 HCP Balanced (can have 4 S) 3C "No Use 3D Strong rebid 6+ with 16+ HCP 3H Good Raise 16-17 HCP 3S Splinter 17+ HCP 3N 20-21 HCP that couldn’t open 2N ... 4C Splinter 17+ HCP 4D 2-suited hand (5+!d and 4+ H) 4H 18+ points with 4+!h support 1S 4+ 1N 12-13 HCP balanced 2D 6+, 12-15 HCP no 4cM 2H Reverse 16+ HCP 2S 12-15 4+ (sometimes 3 with unbalanced hand) 2N 3C ". Jump Reverse No Use 3D Strong rebid 6+ with 16+ HCP 3H ". Jump Reverse No Use 3S Good Raise 16-17 HCP 3N 20-21 HCP that couldn’t open 2N ... 4C Splinter 17+ HCP 4D 2-suited hand (5+!d and 4+!s) 4H Splinter 17+ HCP 4S 18+ points with 4+!s support 1N 6-10 HCP no 4cM 2C 4+, natural 2D 6+, 12-15 HCP unbalanced 2H Reverse 16+ HCP 2S Reverse 16+ HCP 2N 15-16 HCP balanced invite 3C - 3D 6+, 16-17 HCP unbalanced 3N to play 2C 5+!c GF, or artificial w/ bal 16+. Can have 4cM 2D 6+!d 2H 4+!h ? 2S Good club raise 2N 11-13 balanced trash 3D 6+, 16-17 HCP unbalanced 3H Splinter 3N 17-19 bal 2D 5+!d Limit Raise (Good 9, bad 10-11), no 4cM 2H Soloway Jump Shift - See Tab 2S Soloway Jump Shift - See Tab 2N "12-14 or 18-19 HCP 4333/4432 can have 4cM, GF 3C 6+!c LR (good 9-11 HCP), no 4cM, no 4 diamonds 3D 5+!d Preemptive 3H I want to bid 3N, do you think I can make it? 3S You play it 3N I will play it 4D Hell no 3H Splinter 11-14 HCP 3N 15-17 HCP no 4cM 4C Splinter 11-14 HCP 4D Minorwood (see SLAM for continuations) 4H Exclusion? 4N Exclusion for C? 5C Maybe bid grand with 2 of top 3, otherwise 6? 1H; 1S F1: Either 0-4 Spades any strength or 5+ spades, Game forcing (reverse into spades again later) 1N Either Balanced 11-13 or Transfer to clubs 16 HCP max (with 14-15 balance OPEN 1N so you don't have this problem) 2C Accepting the transfer - implies desire to play in clubs and an unwillingness to play 1N 2D Good diamonds? 2H To play 2S Game forcing reverse, 13+ HCP 5+ Spades 2N Invitational opposite 11-13 (so a good 12 count?) 3C TBD 3D TBD 3H Invitational with 3 cards? 3S TBD 3N To play 2C Xfer to Diamonds, Max of 16 points, can pass with long clubs and a garbage hand 2D 6+ Hearts, 11-15 2H 5 hearts 4 spades exactly 11-15 2S Reverse 16+ HCP 2N 17-18 HCP Balanced - does not deny 4S 3C Jump Shift 4+ with 18+ HCP, game forcing 3H 6+, 16-17 HCP 3S Not Used 3N Not Used 4C Splinter 17+ HCP 1N 5+ Spades, Weak <-> invitational, NF 2C "4+ Natural non-forcing, 17 HCP max 2D "4+ Always, Natural non-forcing, 17 HCP max, 2H 6+, 12-15 2S 12-15 3+ spades 2N 17-18 HCP balanced, can have 4cOM 3C 4+ Jump Shift 18+ HCP 3H 6+, 16-18 HCP 3S Invitational 16-17 3N Balanced or semi-balanced 18+ HCP 2C 5+ GF or 16+ bal (*comment). Can have 4S or 3H... 2D Natural 4+, doesn't promise extras 2H "Catch-up bid. Either unbalanced or 6+ and Min 2S Natural 4+ 2N Minimum 12-13 balanced 5-3-3-2 shape 3C 3+ good support and extras, not a bare min 3D Splinter 3H Solid Suit 6+ sets trump 3S Splinter, slammish 2D 5+ GF. Can have 4S or 3H. 2H Constructive 3-card support 7-9 total points 2S Soloway Jump Shifts - see tab 2N Limit Raise+ 3C Up to 15 points including distribution. Extras start at 16 (inc distribution). Use judgement here 3D Forcing Relay 3H Any shortness 3S Shortness Ask (bid suit with shortness) 3S 5-4-2-2 shape 3N Whats your 4 card suit? (bid it, be careful, can get too high here) 3N 11-14 bal 4C 5H-5x, no particular controls but not a terrible suit 4H 6+ H, no shortness, bad hand for slam 3H Limit Raise 4H Will play 4H opposite a limit raise 3D Extras, Side suit shortness 3H Shortness Ask (bid suit with shortness) 3H 5-4-2-2 shape, extras 3S Whats your 4 card suit? (bid it, be careful, can get too high here) 3S 6+ Hearts, Extras 3N Big balanced hand (17-19) 4C 5H-5x, no particular controls but not a terrible suit 4H 6+ Hearts, Minimum hand, nice for slam 3C Invitational in clubs (10-11, 6+ good clubs) 3D Invitational in diamonds (10-11, 6+ good diamonds) 3H Mixed raise 7-10 Raise Points?, 4 card support 3S Splinter 11-14 HCP 3N 15-17 HCP Balanced (3Hearts) 4C Splinter 11-14 HCP 4H Two-way raise, 5+ card support, no slam intrest 1S; 1N Bad 12 HCP or less, any shape semi-forcing. 2C "Natural non-forcing, 17 HCP max 2+!c 2D Implies 5 hearts, 2 spades and 6-9, relays partner to 2H 2H Accepting Relay (Implies 3 small hearts or Hx and a minimum) 2S 2S 9-10 points 2N 4C Bal 11-12 points 3C 5C 10-11 3D Long diamonds, not much outside 3H 6 clubs, no heart stopper 3S Good limit raise 3N 6C, heart stopper 3D Super accept of hearts, responder will pass with a bust in diamonds 2H To play (6+ hearts, weak hand) 2S <9 points 2N 10-12 points not 4C 3C 8-9 5C 3D To play (6+ diamonds, weak hand) 3H 6H 10-12 3S bad limit raise 3N (4-3-3-3 with 3 spades, 12-15 HCP and notrump interest) 2D "Natural non-forcing, 17 HCP max 2H "Natural non-forcing, 17 HCP max 2S 6+, 12-15 2N 18-19 HCP balanced, can have 4cOM 3C Jump Shift 18+ HCP 3H Jump Shift 18+ HCP 3S 6+, 16-18 HCP 3N Balanced or semi-balanced 18+ HCP 2C 5+ GF (*comment) or 16+ bal. Can have 4S or 3H... 2D Natural 4+, doesn't promise extras 2H Natural 4+ 2S "Catch-up bid. Either unbalanced or 6+ and Min 2N Minimum 12-13 balanced 5-3-3-2 shape 3C 3+ good support and extras, not a bare min 3D Splinter 3H Splinter, slammish 3S Solid Suit 6+ sets trump 2D 5+ GF 2H 5+ GF 2S 3+!s 6-9 Total Points 2N Limit raise or better 3C Up to 15 points including distribution 3D Forcing Relay 3H Any shortness 3S Shortness Ask (bid suit with shortness) 3S 5-4-2-2 shape 3N Whats your 4 card suit? (bid it, be careful, can get too high here) 3N 11-13 (14) bal 4C 5S-5C, no particular controls but not a terrible suit 4H 6+ S, no shortness, bad hand for slam 3S Limit Raise 4S Will play 4S opposite a limit raise 3D Extras, Side suit shortness 3H Shortness Ask (bid suit with shortness) 3H 5-4-2-2 shape, extras 3S Whats your 4 card suit? (bid it, be careful, can get too high here) 3S 6+ Spades, Extras 3N Big balanced hand (17-19) 4C 5!s-5!c, no particular controls but not a terrible suit 4S 6+ Spades, Minimum hand, nice for slam 3C Invitational in clubs (10-11, 6+ good clubs) 3D Invitational in diamonds (10-11, 6+ good diamonds) 3H Invitational in diamonds (10-11, 6+ good Hearts) 3S Mixed raise 7-10 Raise Points?, 4 card support 3N 15-17 HCP Balanced (3 spades) 4C Splinter 11-14 HCP 4S Two-way raise, 5+ card support, no slam intrest 2D; 2H To play opposite a weak 2H 2S To play opposite weak 2S, invitational opposite weak 2H 2N Asks how many losers you have 3C 8- losers, good hand w/Hearts 3D Asking relay 3H 8 Losers exactly 3S 7 or less 3D 8- losers, good hand w/Spades 3H Asking asking relay 3S 8 Losers exactly 3N 7 or less 3H 9+ Losers w/Hearts 3S 9+ Losers w/Spades 3H Pass or correct 3S Pass or correct 3N To play 4C Transfer to 1 under actual suit 4D No Agreement 4H Pass or Correct 4S To play 2H; 2H: 4/4 - 5/5 in the majors 3-10 2S Simple Preference 2N Suit Quality, distribution & values Inquiry 3C Any Minimum 3D Second Relay 3H 5 hearts 3S 5 spades 3N 4/4 in the majors 3H To Play 3S To Play 3N To Play 3D 5/5 in the majors, max, GF 3H Slam Suggestion - 3N should be good hand for slam, cues should be bad hand 3S Slam Suggestion - 3N should be good hand for slam, cues should be bad hand 4H To Play 4S To Play 3H 4 spades, 5 hearts, max, GF 3S 5 spades, 4 hearts, max, GF 3N 4/4 in the majors, max, GF 3C Natural 3D Invitational with 3/3 in the majors 3H Pre-emptive 3S Pre-emptive 3N To Play 4C Cue-bid 4D Cue-bid 4H Two-way raise, may be blocking or making 4S Two-way raise, may be blocking or making 4N 6-keycard blackwood 2S; 4-5 Spades, a longer minor (5+) 2N Asks how many losers you have 3C Bad hand with clubs 3D Trump quality asking relay 3H Bad Trumps 3S Good Trumps 3D Bad hand with diamonds 3H Good with clubs 3S Good with diamonds 3N 7- losers, good hand 3C Pass or Correct for minor 3D Pass or Correct (ParadoX response) 3S Pre-emptive 3N To Play 4C GF 4D GF 4H To play (Some sort of self sufficent suit) 4S two way raise (Might make, or blocking) 5C To play (Some sort of self sufficent suit) 5D To play (Some sort of self sufficent suit) 2C; 2D Pass or Correct 2H Kokish Relay to 2S 2S Forced Relay 2N 23-24 3H Natural Hearts + a side 4 card side suit 3N 27-28 (Systems on?) 2S Natural 5c suit 2N 21-22, systems on 3C Natural 3D Natural 3H 7+ card suit, sets trumps. 3S 7+ card suit, sets trumps. 3N 25-26 4C 7+ card suit, sets trumps. 4D 7+ card suit, sets trumps. 2H Total Bust (less than a A or K) 2S To Play 3C To Play 3D To Play 2N To Play 3N To Play 3H Natural, good suit, forcing 3S Natural, good suit, forcing 4C Natural, good suit, forcing 4D Natural, good suit, forcing 2N Invite 3C 8 losers, good hand 3D 9+ Losers 3H 7 or less losers, good hand Quote Link to comment Share on other sites More sharing options...
mycroft Posted April 24, 2012 Report Share Posted April 24, 2012 Heh, I understand Herr Kungsgeten, re: spaces only; all his editing software (and mine) has an option to do this automatically (and it does auto-indent, which means I don't have to make tabs "8 spaces", tab means "go to the next indent point", just like Remington designed it). It's SOP for Python editors, for whom tab is anathema. Not that I don't agree with you Cthulhu; but it's a "fault of the environment" - given that for us the tools are automatic. However, don't get me started on Editor Wars...I do Have A Preference. Quote Link to comment Share on other sites More sharing options...
Kungsgeten Posted April 24, 2012 Author Report Share Posted April 24, 2012 I've updated the bml.zip and now a tab character is interpreted as 8 spaces. Wow! Great work Cthulhu :) Have you tested it on BBO or similar? You use some notation which I myself haven't tried (mostly related to spaces). Documenting in Excel, seems pretty cool (I use LaTeX myself). I'm thinking of writing a program which turns BML into HTML, but we'll see about that. I would also like to add some kind of feature to BML which makes it easier to document relay sequences. Yeah mycroft, you're correct. My editor doesn't work with tabs (unless I really want them, which I do not) so I didn't think about implementing support for tab characters. As far as editor wars go; BML is written in Emacs :) Quote Link to comment Share on other sites More sharing options...
Cthulhu D Posted April 25, 2012 Report Share Posted April 25, 2012 Heh, I understand Herr Kungsgeten, re: spaces only; all his editing software (and mine) has an option to do this automatically (and it does auto-indent, which means I don't have to make tabs "8 spaces", tab means "go to the next indent point", just like Remington designed it). It's SOP for Python editors, for whom tab is anathema. Not that I don't agree with you Cthulhu; but it's a "fault of the environment" - given that for us the tools are automatic. However, don't get me started on Editor Wars...I do Have A Preference. I'm working with wordpad here, I probably need to use a more sophisticated editor. I haven't used emacs since I quit programming and I haven't used VI since university. Wow! Great work Cthulhu :) Have you tested it on BBO or similar? You use some notation which I myself haven't tried (mostly related to spaces). Documenting in Excel, seems pretty cool (I use LaTeX myself). I'm thinking of writing a program which turns BML into HTML, but we'll see about that. I would also like to add some kind of feature to BML which makes it easier to document relay sequences. Just tested it then, works fine. Excel is very good at this because - well, check out my notes. https://docs.google.com/spreadsheet/pub?hl=en_US&key=0ApdG9_UbtV3HdF9rYzBsZVNmb2o2QzQ1OFF2OUdIN3c&hl=en_US&gid=9 Turns out if you just select the entire system description for each opening, then paste it into wordpad and do a find replace for tabs and replace them with a single space, the entire system comes across. The only problem is bids where I have used shorthand like 4m4M4x Those obviously don't work. It would be great if the parser did understand them or something similar. I also hate that the parser doesn't understand that 1NT = 1N, but that's easy to find replace again as well. So I'm going to redevelop my notes to expand out the shorthand, but it works very nicely. Edit: Is P the bid for pass? Quote Link to comment Share on other sites More sharing options...
Kungsgeten Posted April 25, 2012 Author Report Share Posted April 25, 2012 Looks like a good way to document stuff! Instead of 4m you could write 4CD (and 4HS instead of 4M), but the continuations may become weird (see manual). P is the notation for pass, that is correct. However, BSS do not accept pass as an opening bid, so if you want to make a bid mean something in third hand (or have a forcing pass system or similar) you have to define the position in which the bids work. By default the bids are applied to all positions, but you can for instance write pos=34 to apply the meaning of the bid when opener (other bid than pass) has opened in third or fourth position. In short: P is for pass, D is for double and R is for redouble. Quote Link to comment Share on other sites More sharing options...
Cthulhu D Posted April 26, 2012 Report Share Posted April 26, 2012 Looks like a good way to document stuff! Instead of 4m you could write 4CD (and 4HS instead of 4M), but the continuations may become weird (see manual). That's beautiful - I'd read the manual but hadn't put 2 and 2 together. All my 4x etc are at the tail end of sequences so I can definitely do this. P is the notation for pass, that is correct. However, BSS do not accept pass as an opening bid, so if you want to make a bid mean something in third hand (or have a forcing pass system or similar) you have to define the position in which the bids work. By default the bids are applied to all positions, but you can for instance write pos=34 to apply the meaning of the bid when opener (other bid than pass) has opened in third or fourth position. In short: P is for pass, D is for double and R is for redouble. Oh it's mostly to handle stuff like garbage stayman sequences so 1NT-2C-2H pass tells you stuff about responders hand. But sweet that works. Fantastic, will produce a new iteration this weekend. Quote Link to comment Share on other sites More sharing options...
jkljkl Posted May 6, 2012 Report Share Posted May 6, 2012 My first 30 min I'll be happy to hear about your comments. Cannot comment yet, I just can say that this python thing is not so simple to master for a non-programmer. Maybe my stumbling can be of help for future user with my knowledge level. OS Win7 64Bit Home Premium Tried to start bml2bss.exeResult: A Pop-Up window flashed up an disappeared within ms, no idea of what was written in it. Ok, so maybe that is that dll thing. So I went to the MS Homepage and installed Microsoft Visual Studio C++ 2010 Express Tried to start bml2bss.exeResult: As before, no improvement Well, the Pop-Up window has a black background as the DOS-Prompt, so lets try to start it there manually to see if I can discover something else. Started the DOS-prompt, cd till I was in the right folder, started the bml2bss.exe an got: What's the name of the file you want to convert? Traceback <most recent call last>: File "bmlsbss.py", line 293, in <module> IOError: [Errno 2] No such file or directory: 'test.txt' c:\Users\stefan\Desktop\bml\bml2bss_exe> Then I created an empty dummy file test.txt. Now I do not longer get the error, just the questionWhat's the name of the file you want to convert? c:\Users\stefan\Desktop\bml\bml2bss_exe> If now I point for instance to sayc.bml I get a message that windows does not know which program should handle a *.bml file. Linking the bml-file-format to the bml2bss.exe didn't help. Again a Pop-Up window coming and disappearing within ms. ciaostefan Quote Link to comment Share on other sites More sharing options...
jkljkl Posted May 6, 2012 Report Share Posted May 6, 2012 Sorry for continuing OT about python: After the above mentioned failure, I started plan B. Went to python.org, and installed python on my machine (will maybe post later the process). Now I want to start with python the bml2bss.py But this file seems not to be included in the zipfile that I downloaded. Where can I find the bml2bss.py? ciaostefan Quote Link to comment Share on other sites More sharing options...
Cthulhu D Posted May 6, 2012 Report Share Posted May 6, 2012 Yeah you need to run everything from the dos prompt (not really the dos prompt any more, but you know, close enough). There is no GUI on the thing. Also the files need to be called test.bml (or randomname.bml etc) otherwise it doesn't work. Not sure if that will fix all your problems though. Quote Link to comment Share on other sites More sharing options...
jkljkl Posted May 7, 2012 Report Share Posted May 7, 2012 Yeah you need to run everything from the dos prompt (not really the dos prompt any more, but you know, close enough). There is no GUI on the thing. Also the files need to be called test.bml (or randomname.bml etc) otherwise it doesn't work. Not sure if that will fix all your problems though. Well it didn't fix all my problems, but at least it solved my problems with this program. Thank youstefan Quote Link to comment Share on other sites More sharing options...
antonylee Posted May 8, 2012 Report Share Posted May 8, 2012 Hi, any chance you could provide a .pyc version? Not everybody runs on windows :-) Of course I would be very excited it it was open-sourced but I perfectly understand if you don't want to. Quote Link to comment Share on other sites More sharing options...
Kungsgeten Posted May 12, 2012 Author Report Share Posted May 12, 2012 Hi! I'm sorry that I haven't replied earlier. I'm even more sorry that I managed to upload a version which was wrong. The problems should be fixed now if you download the .zip-file again. antonylee: I forgot to include the .py-file in the last version of the zip-file. It is there now. Download bml2bss from here Quote Link to comment Share on other sites More sharing options...
nige1 Posted May 12, 2012 Report Share Posted May 12, 2012 I recently discovered the Full disclosure system on BBO. I tried using bidedit for a while, but found it pretty slow to work with. I've created a markup language which I call Bridge Bidding Markup Language (BML for short). BML is intended to be easy to write and easy to read. Right now I also have a program written in Python which can convert BML files to BSS (the format used by BBO), and these files can be used while playing online. All features of the Full Disclosure system isn't implemented yet, but the most useful ones (according to me) are. I would be happy if you tried it out and gave me some thoughts. You can download the manual and the converting program from www.snortingmaradonas.se/erik/bml.zipJust to give you an example, here's what a BML file can look like (including a basic description of a No Trump structure): SAYC A natural system with 5 card majors and best minor 1C; 3+!c, 11+ hcp 1D; 3+!d, 11+ hcp 1H; 5+!h, 11+ hcp 1S; 5+!s, 11+ hcp 1N; 15-17 bal 2C; ARTIFICIAL. Game-forcing or 22-24 bal 2D; Weak 2H; Weak 2S; Weak 2N; 20-21 bal 1N; 2C ARTIFICIAL. Stayman 2D ARTIFICIAL. No 4 card major 2H NON-FORCING. 4+!h 2S NON-FORCING. 4+!s 2D TRANSFER. 5+!h 2H NON-FORCING. 3H NON-FORCING. Super accept 2H TRANSFER. 5+!s 2S NON-FORCING. 3S NON-FORCING. Super accept 2S ARTIFICIAL. Minor suit Stayman 2N INVITATIONAL. Kungsgeten, your BML seems great. SuggestionsAs well as a BML->BSS it would be useful to have a BSS -> BML programThen you could offer BML to BBO as an alternative to BSS. With automatic interconversion, BBO could allow members to use either formatLater you could write conversion programs to HTML and WBF system-card formatAllow WBF abbreviations (e.g. ART for Artificial, INV for invitational) with automatic expansion on display.Allow generic descriptions (e.g. for raises, splinters) so a program could use BML to automatically bid hands (c.f. COBRA).OK OK yes I know: If you put a broom up your arse, you could also sweep the floor :) Quote Link to comment Share on other sites More sharing options...
mycroft Posted May 14, 2012 Report Share Posted May 14, 2012 There's already a bug reported for that one, Nigel. (note, check the links!) Quote Link to comment Share on other sites More sharing options...
Kungsgeten Posted May 14, 2012 Author Report Share Posted May 14, 2012 Kungsgeten, your BML seems great. SuggestionsAs well as a BML->BSS it would be useful to have a BSS -> BML programThen you could offer BML to BBO as an alternative to BSS. With automatic interconversion, BBO could allow members to use either formatLater you could write conversion programs to HTML and WBF system-card formatAllow WBF abbreviations (e.g. ART for Artificial, INV for invitational) with automatic expansion on display.Allow generic descriptions (e.g. for raises, splinters) so a program could use BML to automatically bid hands (c.f. COBRA).OK OK yes I know: If you put a broom up your arse, you could also sweep the floor :) Glad you like it! BSS->BML might be possible. However BML does not currently use some of the features of BSS when converting, so this would need to be fixed in that case. I have actually thought about doing a HTML converter, but I'm not quite sure how such a page would look. I wont write a converter to the WBF system-card format since I do not use these cards. But if anyone else wants to do it, feel free! The abbreviations which you suggest are included and should show up on screen on BBO since they're a part of the BSS file format. Check the manual for a full list of abbreviations. I don't know how these generic descriptions would work, and they would probably not work on conversion to BSS (which is the main purpose for BML as of now). I had an idea of a feature where you could define a sequence which would be used at all times except when defined elsewhere. Like 4NT as RKCB for instance. This is not supported by BSS, so these sequences would be copied into all other sequences in the BSS-file (making the file quite big). Quote Link to comment Share on other sites More sharing options...
Cthulhu D Posted May 28, 2012 Report Share Posted May 28, 2012 I think I found a bug. (1C); D 15+ 1D ART. 0-4 Bust 1D 7-15 3-4 !d w/5-6 !h or !s 1STEP ART. Pass or Correct 1S F1 Own Suit 1N 7-10 with a stopper 2C ART. Game Try 2D Non Constructive Raise 2H Own Suit NF 2N Balanced Invite (13-14) 3C Good raise to 3D 3D Non Constructive Raise 1H 7-15 3-4 !h w/5-6 !s or !d 1STEP ART. Pass or Correct 1N 7-10 with a stopper 2C ART. Game Try 2D F1 Own Suit 2H Non Constructive Raise 2N Balanced Invite (13-14) 3C Good raise 3H Non Constructive Raise 1S 7-15 3-4 !s w/5-6 !h or !d 1N 7-10 with a stopper 2C ART. Game Try 2D ART. Pass or Correct 2H Own Suit NF 2S Non Constructive Raise 2N Balanced Invite (13-14) 3C Good raise to 3S 3S Non Constructive Raise 1N 8-14 3 Suited takeout 2C 10-14 5 Diamonds & A 5 card Major 2D 6+!s or 6+!h weak 1STEP ART. Pass or Correct 2STEP Paradox Response -> !h values 2N ART. Inquiry 3C Max with !hs 3D Max with !ss 3H Min with !hs 3S Min with !ss 2H 5-9 4+/4+ Majors 2S Good Preempt in any suit 2N Good Intermediate Jump in D with a stop 3C 10-14 5+/5+ Both Majors 3D Good Intermediate Jump in D with no stop 3HS Poor preempt Works fine, but if I change D 15+ 1D ART. 0-4 Bust to D 15+ 1STEP ART. 0-4 Bust It won't compile d:\PlaceIHavethings\>bml2bss.exeWhat's the name of the file you want to convert?SCM.bmlTraceback (most recent call last): File "bml2bss.py", line 302, in <module> parse(i[:-1]) # skip the \n File "bml2bss.py", line 182, in parse include(row, _indentation) File "bml2bss.py", line 140, in include parse(' ' * indentation + i) File "bml2bss.py", line 189, in parse bid = stepBid(_lastbid, bid) File "bml2bss.py", line 96, in stepBid denomination = int(bid[0])ValueError: invalid literal for int() with base 10: 'C' I can email you a copy of all the files involved. Note for reproducing: It only seems to happen if I use the step command after a double - as seen in the file above, the step is fine after a bid of a suit! This took me some time to figure out - what a bug! I think it's simply that STEP looks for the root bid, gets double and breaks. Thanks again for all your workAlso, if anyone wants it, I've developed a bunch of modules for this Canape Overcalls - Mark Abraham's Catomult overcalls Overcall Structure - Fout's overcall structureMyxos - Myxomitis twos1416NT - 14-16 NT response structureMajorsShortClubUnbalancedDiamondInquiry's Equality Transfer Advances The 1CDHS openings are based on stuff from the forums And one included Ekrens 2H, Multi 2D, Dutch 2C and a random 2S. Nothing is of course perfect, but if anyone wants them email me :) Edit: Tip for authors, if you write a COPY/END copy block, then import it into your main BML file, your other bml files can refer to it - so I have my variation of XYZ in a copy block and then my 1C and 1D structures just have INSERT TransferXYZ so I only need to update one place despite having it mentioned in lots of modules. Quote Link to comment Share on other sites More sharing options...
Kungsgeten Posted May 30, 2012 Author Report Share Posted May 30, 2012 Yeah, the step feature nor the disturbed/defensive bidding features aren't tested very much. You are correct in that the step won't work after a double because I haven't defined what a step after a double actually is. Is the step a pass, is it a redouble (if the double is made by an opponent), is it the nearest suit/NT? Also, have you tested running your code example? I haven't used the disturbed/defensive features very much as I said, but I think something like (1C); D 15+ 1D ART. 0-4 Bust would be defined as the OPPONENTS showing 0-4 and a bust after they bid 1♦ after your double of their 1♣ opening. I may be wrong about this, but I think the correct code would be: (1C); D 15+ P1D ART. 0-4 Bust Its great to hear that you've written BML modules! Right now the interest for BML seems to be pretty limited, but it would be fun to do a website where people could post their modules and stuff :) Quote Link to comment Share on other sites More sharing options...
Cthulhu D Posted May 30, 2012 Report Share Posted May 30, 2012 Yeah, the step feature nor the disturbed/defensive bidding features aren't tested very much. You are correct in that the step won't work after a double because I haven't defined what a step after a double actually is. Is the step a pass, is it a redouble (if the double is made by an opponent), is it the nearest suit/NT? Also, have you tested running your code example? I haven't used the disturbed/defensive features very much as I said, but I think something like would be defined as the OPPONENTS showing 0-4 and a bust after they bid 1♦ after your double of their 1♣ opening. I may be wrong about this, but I think the correct code would be: I literally logged in to post about this, but I see you are ahead of me. Your solution doesn't quote work, either this: 1N 8-14 3 Suited takeout (P)-2C ART. Game Try (P)-2D To Play (P)-2H To Play (P)-2S To Play (P)-3D To Play (P)-3H To Play (P)-3S To Play (P)-2N Asking for 5 card suit (P)-3C Asking for 4 card major, Invitational+ or this 1N 8-14 3 Suited takeout (P) 2S ART. Game Try 2CDH To Play 3CDH To Play 2N Asking for 5 card suit 3S Asking for 4 card major, Invitational+ Work - the second option is better because (P)-2CDH doesn;t work. Quote Link to comment Share on other sites More sharing options...
Recommended Posts