Example #1
0
        /// <summary>
        /// Loads a SAS+ mutexes section.
        /// </summary>
        private void LoadMutexGroups()
        {
            int mutexGroupsCount = ParseAndCheckNumber(GetNextLine());

            for (int i = 0; i < mutexGroupsCount; ++i)
            {
                CheckExpected(GetNextLine(), "begin_mutex_group");

                MutexGroup mutexGroup = new MutexGroup();

                int mutexGroupSize = ParseAndCheckNumber(GetNextLine());
                for (int j = 0; j < mutexGroupSize; ++j)
                {
                    var numberPair = ParseAndCheckNumberPair(GetNextLine());
                    mutexGroup.Add(new Assignment(numberPair.Item1, numberPair.Item2));
                }

                if (mutexGroup.Count > 0)
                {
                    Problem.MutexGroups.Add(mutexGroup);
                }

                CheckExpected(GetNextLine(), "end_mutex_group");
            }
        }