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); }
private IEnumerable <IGrouping <string, StatementGrammarNode> > BuildBindVariableIdentifierTerminalLookup() { return(AllTerminals.Where(t => t.Id == Terminals.BindVariableIdentifier) .ToLookup(t => t.Token.Value.ToNormalizedBindVariableIdentifier())); }