コード例 #1
0
        private ConditionGroupAST parseConditionGroup()
        {
            ConditionGroupAST group = new ConditionGroupAST();

            // Parse first condition
            var firstCondition = parseCondition();

            if (firstCondition != null)
            {
                group.Conditions.Add(firstCondition);
            }

            while (!IsEOF && peekToken() == '_')
            {
                // Eat _
                _ = eatToken();

                var condition = parseCondition();
                if (condition != null)
                {
                    group.Conditions.Add(condition);
                }
            }

            return(group);
        }
コード例 #2
0
        private static ConditionGroupInstruction enterConditionGroupAST(ConditionGroupAST conditionGroupAst)
        {
            ConditionGroupInstruction conditionGroup = new ConditionGroupInstruction();

            foreach (var condition in conditionGroupAst.Conditions)
            {
                conditionGroup.Conditions.Add(enterConditionAST(condition));
            }

            return(conditionGroup);
        }