Esempio n. 1
0
        public HandTypeBuilder()
        {
            _initial = new InitialHandType();
            FindHandType sevenPairs      = new SevenPairs();
            FindHandType thirteenOrphans = new ThirteenOrphans();
            FindHandType legitSet        = new LegitSet();
            FindHandType oneSuit         = new OneSuit();
            FindHandType dragon          = new Dragon();
            FindHandType fourWind        = new FourWind();
            FindHandType hiddenTreasure  = new HiddenTreasure();
            FindHandType allTerminals    = new AllTerminals();
            FindHandType allKongs        = new AllKongs();
            FindHandType allHonors       = new AllHonors();

            _initial.SetSuccessor(sevenPairs);
            sevenPairs.SetSuccessor(thirteenOrphans);
            thirteenOrphans.SetSuccessor(legitSet);
            legitSet.SetSuccessor(oneSuit);
            oneSuit.SetSuccessor(dragon);
            dragon.SetSuccessor(fourWind);
            fourWind.SetSuccessor(hiddenTreasure);
            hiddenTreasure.SetSuccessor(allTerminals);
            allTerminals.SetSuccessor(allKongs);
            allKongs.SetSuccessor(allHonors);
        }
Esempio n. 2
0
 private IEnumerable <IGrouping <string, StatementGrammarNode> > BuildBindVariableIdentifierTerminalLookup()
 {
     return(AllTerminals.Where(t => t.Id == Terminals.BindVariableIdentifier)
            .ToLookup(t => t.Token.Value.ToNormalizedBindVariableIdentifier()));
 }