【发布时间】:2010-07-13 21:41:09
【问题描述】:
我想构建一个扑克手牌范围解析器,借此我可以提供如下字符串(假设标准的 52 张牌,等级 2-A,s = 同花,o = 非同花):
"22+,A2s+,AKo-ATo,7d6d"
解析器应该能够产生以下组合:
6 combinations for each of 22, 33, 44, 55, 66, 77, 88, 99, TT, JJ, KK, QQ, AA
4 combinations for each of A2s, A3s, A4s, A5s, A6s, A7s, A8s, A9s, ATs, AJs, AQs, AKs
12 combinations for each of ATo, AJo, AQo, AKo
1 combination of 7(diamonds)6(diamonds)
我想我知道部分语法,但不是全部:
NM+ --> NM, N[M+1], ... ,N[N-1]
NN+ --> NN, [N+1][N+1], ... ,TT where T is the top rank of the deck (e.g. Ace)
NP - NM --> NM, N[M+1], ... ,NP
MM - NN --> NN, [N+1][N+1], ..., MM
我不知道处理适合性的语法表达式。
我是一个编程新手,所以请原谅这个基本问题:这是语法归纳问题还是解析问题?
谢谢,
迈克
【问题讨论】: