name = "description"
bids = regExp: space separated bids // potential initial passes will be added implicitly
bidProcess = "u" | "c" // undisturbed or competitive bidding process
minHP / maxHP = { role: {suit:nr,..},..} // high card points per role and suit (t=total)
minHLP / maxHLP = { role: {suit:nr,..},..} // high card and length points
minCS / maxCS = { role: {suit:nr}} // number of cards per suit
minC = { role: [nr,..],..} // min. # of cards in the n-th longest suit (nr > 0)
minC = { role: [-nr,..],..} // max. # of cards in the n-th shortest suit (nr < 0)
maxC = { role: [nr,..],..} // max. # of cards in the n-th longest suit (nr > 0)
maxC = { role: [-nr,..],..} // max. # of cards in the n-th shortest suit (nr < 0)
dealer = "N" | "S" | "E" | "W" | "*" // the dealer seat
contract = regExp // O=opening party, D=defending party
contractType = "n" | "x" | "xx" // n=normal , x=doubled, xx=redoubled
contractLevel = "-" | "p" | "g" | "s" | "gs" // -=none, p=partial, g=game, s=slam, gs=grand slam
declarer = "O" | "D" // who won the contract? O=opener, D=defense
result = regExp // tricks points
----------------------------------------------------------------------------------------------------
suits : s / h / d / c / nt / maj / min / any / t (total)
bids : [1-7][s|h|d|c|nt] / - (pass) / x (double) / xx (redouble) / bid (any non passing bid)
roles : O (opener)/ F (first defender) / P (partner) / S (second defender)
players : N / E / S / W / O (opening party) / D (defending party) / * (any player)
_Diese Liste enthält bekannte Fehler, Defizite und Verbesserungsvorschläge_