#JSGF v1.0;

grammar cards;

public <cards> = <cards_3> | <cards_2> | <card> | <cards_same_suit> | <cards_no_suit>;

<cards_3> = <card> <card> <card>;

<cards_2> = <card> <card>;
  
<cards_same_suit> = <rank> <card>;  
 
<cards_no_suit> = <rank> <rank>;
 
<card> = <rank> [ of ] <suits>;
  
<suits> = clubs | hearts | diamonds | spades;

<rank> = ace | two | three | four | five | six | seven | eight | nine | ten | jack | queen | king | lady;
