예제 #1
0
        private static bool TryTakeParensExp(TokenKeeper pos, out ExpressionNode node)
        {
            var work = new TokenKeeper(pos);

            if (TryTakeOpenParens(work) &&
                TryTakeCalcExp(work, out var calc) &&
                TryTakeCloseParens(work))
            {
                node = new ParensExpressionNode(calc);
                pos.Swap(work);
                return(true);
            }

            node = null;
            return(false);
        }
예제 #2
0
 private static ComputationNode ConvertParensNode(ParensExpressionNode parensNode)
 {
     return(Convert(parensNode.Calculation));
 }