提交 0d97cbc6 编写于 作者: C Cyrus Najmabadi

Simplify parsing loop

上级 250203ed
......@@ -255,16 +255,12 @@ private RegexSequenceNode ParseSequence(bool consumeCloseParen)
{
var list = ArrayBuilder<RegexExpressionNode>.GetInstance();
if (ShouldConsumeSequenceElement(consumeCloseParen))
while (ShouldConsumeSequenceElement(consumeCloseParen))
{
do
{
var last = list.Count == 0 ? null : list.Last();
list.Add(ParsePrimaryExpressionAndQuantifiers(last));
var last = list.Count == 0 ? null : list.Last();
list.Add(ParsePrimaryExpressionAndQuantifiers(last));
TryMergeLastTwoNodes(list);
}
while (ShouldConsumeSequenceElement(consumeCloseParen));
TryMergeLastTwoNodes(list);
}
return new RegexSequenceNode(list.ToImmutableAndFree());
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册