コード例 #1
0
ファイル: GraphHelper.cs プロジェクト: dfgs/FSMLib
        public static IAutomatonTable <Token> BuildAutomatonTable(IEnumerable <string> Rules)
        {
            IAutomatonTableFactory <Token>     automatonTableFactory;
            IAutomatonTable <Token>            automatonTable;
            SituationCollectionFactory <Token> situationCollectionFactory;
            DistinctInputFactory distinctInputFactory;

            distinctInputFactory       = new DistinctInputFactory(new RangeValueProvider());
            automatonTableFactory      = new AutomatonTableFactory <Token>( );
            situationCollectionFactory = new SituationCollectionFactory <Token>(SituationGraphHelper.BuildSituationGraph(Rules.Select(item => RuleHelper.BuildRule(item)).ToArray()));
            automatonTable             = automatonTableFactory.BuildAutomatonTable(situationCollectionFactory, distinctInputFactory);

            return(automatonTable);
        }
コード例 #2
0
 public static ISituationCollectionFactory <Token> BuildSituationCollectionFactory(IEnumerable <IRule <Token> > Rules)
 {
     return(new SituationCollectionFactory <Token>(SituationGraphHelper.BuildSituationGraph(Rules)));
 }