Esempio n. 1
0
        public PushSubpatternTask(
            PushAndPopSubpatternTaskTypes type,
            string subpatternName,
            string subpatternElementName,
            string[] connectionName,
            string[] argumentExpressions,
            string negativeIndependentNamePrefix,
            string searchPatternpath,
            string matchOfNestingPattern,
            string lastMatchAtPreviousNestingLevel,
            bool parallel)
        {
            Debug.Assert(connectionName.Length == argumentExpressions.Length);
            Debug.Assert(type == PushAndPopSubpatternTaskTypes.Subpattern);
            Type                  = type;
            SubpatternName        = subpatternName;
            SubpatternElementName = subpatternElementName;

            ConnectionName      = connectionName;
            ArgumentExpressions = argumentExpressions;

            NegativeIndependentNamePrefix = negativeIndependentNamePrefix;

            SearchPatternpath               = searchPatternpath;
            MatchOfNestingPattern           = matchOfNestingPattern;
            LastMatchAtPreviousNestingLevel = lastMatchAtPreviousNestingLevel;

            Parallel = parallel;
        }
Esempio n. 2
0
 public PopSubpatternTask(string negativeIndependentNamePrefix,
                          PushAndPopSubpatternTaskTypes type,
                          string subpatternOrAlternativeOrIteratedName,
                          string subpatternElementNameOrPathPrefix,
                          bool parallel)
 {
     NegativeIndependentNamePrefix = negativeIndependentNamePrefix;
     Type = type;
     if (type == PushAndPopSubpatternTaskTypes.Subpattern)
     {
         SubpatternName        = subpatternOrAlternativeOrIteratedName;
         SubpatternElementName = subpatternElementNameOrPathPrefix;
     }
     else if (type == PushAndPopSubpatternTaskTypes.Alternative)
     {
         AlternativeOrIteratedName = subpatternOrAlternativeOrIteratedName;
         PathPrefix = subpatternElementNameOrPathPrefix;
     }
     else // if(type == PushAndPopSubpatternTaskTypes.Iterated)
     {
         AlternativeOrIteratedName = subpatternOrAlternativeOrIteratedName;
         PathPrefix = subpatternElementNameOrPathPrefix;
     }
     Parallel = parallel;
 }
Esempio n. 3
0
        public PushSubpatternTask(
            PushAndPopSubpatternTaskTypes type,
            string pathPrefix,
            string alternativeOrIteratedName,
            string rulePatternClassName,
            string pathPrefixInRulePatternClass,
            string alternativeNameInRulePatternClass,
            string[] connectionName,
            string[] argumentExpressions,
            string negativeIndependentNamePrefix,
            string searchPatternpath,
            string matchOfNestingPattern,
            string lastMatchAtPreviousNestingLevel,
            bool parallel)
        {
            Debug.Assert(connectionName.Length == argumentExpressions.Length);
            Debug.Assert(type == PushAndPopSubpatternTaskTypes.Alternative ||
                         type == PushAndPopSubpatternTaskTypes.Iterated);
            Type       = type;
            PathPrefix = pathPrefix;
            AlternativeOrIteratedName         = alternativeOrIteratedName;
            RulePatternClassName              = rulePatternClassName;
            PathPrefixInRulePatternClass      = pathPrefixInRulePatternClass;
            AlternativeNameInRulePatternClass = alternativeNameInRulePatternClass;

            ConnectionName      = connectionName;
            ArgumentExpressions = argumentExpressions;

            NegativeIndependentNamePrefix = negativeIndependentNamePrefix;

            SearchPatternpath               = searchPatternpath;
            MatchOfNestingPattern           = matchOfNestingPattern;
            LastMatchAtPreviousNestingLevel = lastMatchAtPreviousNestingLevel;

            Parallel = parallel;
        }
Esempio n. 4
0
 public PopSubpatternTask(string negativeIndependentNamePrefix,
     PushAndPopSubpatternTaskTypes type,
     string subpatternOrAlternativeOrIteratedName, 
     string subpatternElementNameOrPathPrefix,
     bool parallel)
 {
     NegativeIndependentNamePrefix = negativeIndependentNamePrefix;
     Type = type;
     if (type == PushAndPopSubpatternTaskTypes.Subpattern) {
         SubpatternName = subpatternOrAlternativeOrIteratedName;
         SubpatternElementName = subpatternElementNameOrPathPrefix;
     } else if (type == PushAndPopSubpatternTaskTypes.Alternative) {
         AlternativeOrIteratedName = subpatternOrAlternativeOrIteratedName;
         PathPrefix = subpatternElementNameOrPathPrefix;
     } else { // if (type == PushAndPopSubpatternTaskTypes.Iterated)
         AlternativeOrIteratedName = subpatternOrAlternativeOrIteratedName;
         PathPrefix = subpatternElementNameOrPathPrefix;
     }
     Parallel = parallel;
 }
Esempio n. 5
0
        public PushSubpatternTask(
            PushAndPopSubpatternTaskTypes type,
            string pathPrefix,
            string alternativeOrIteratedName,
            string rulePatternClassName,
            string pathPrefixInRulePatternClass,
            string alternativeNameInRulePatternClass,
            string[] connectionName,
            string[] argumentExpressions,
            string negativeIndependentNamePrefix,
            string searchPatternpath,
            string matchOfNestingPattern,
            string lastMatchAtPreviousNestingLevel,
            bool parallel)
        {
            Debug.Assert(connectionName.Length == argumentExpressions.Length);
            Debug.Assert(type == PushAndPopSubpatternTaskTypes.Alternative
                || type == PushAndPopSubpatternTaskTypes.Iterated);
            Type = type;
            PathPrefix = pathPrefix;
            AlternativeOrIteratedName = alternativeOrIteratedName;
            RulePatternClassName = rulePatternClassName;
            PathPrefixInRulePatternClass = pathPrefixInRulePatternClass;
            AlternativeNameInRulePatternClass = alternativeNameInRulePatternClass;

            ConnectionName = connectionName;
            ArgumentExpressions = argumentExpressions;

            NegativeIndependentNamePrefix = negativeIndependentNamePrefix;

            SearchPatternpath = searchPatternpath;
            MatchOfNestingPattern = matchOfNestingPattern;
            LastMatchAtPreviousNestingLevel = lastMatchAtPreviousNestingLevel;

            Parallel = parallel;
        }
Esempio n. 6
0
        public PushSubpatternTask(
            PushAndPopSubpatternTaskTypes type,
            string subpatternName,
            string subpatternElementName,
            string[] connectionName,
            string[] argumentExpressions,
            string negativeIndependentNamePrefix,
            string searchPatternpath,
            string matchOfNestingPattern,
            string lastMatchAtPreviousNestingLevel,
            bool parallel)
        {
            Debug.Assert(connectionName.Length == argumentExpressions.Length);
            Debug.Assert(type == PushAndPopSubpatternTaskTypes.Subpattern);
            Type = type;
            SubpatternName = subpatternName;
            SubpatternElementName = subpatternElementName;

            ConnectionName = connectionName;
            ArgumentExpressions = argumentExpressions;

            NegativeIndependentNamePrefix = negativeIndependentNamePrefix;

            SearchPatternpath = searchPatternpath;
            MatchOfNestingPattern = matchOfNestingPattern;
            LastMatchAtPreviousNestingLevel = lastMatchAtPreviousNestingLevel;

            Parallel = parallel;
        }