示例#1
0
        private DataNode DataExpression()
        {
            var result = DataFactor();

            while (Tokens.Accept(TokenEnum.ConcatData))
            {
                result = new DataConcator(result, DataFactor());
            }
            return(result);
        }
示例#2
0
 private Data Evaluate(DataNode node)
 {
     return(node switch
     {
         DataConcator dataConcator => Evaluate(dataConcator.Left).Concat(Evaluate(dataConcator.Right)),
         DataFactor dataFactor => Evaluate(dataFactor),
         TextDataPrimary dataPrimary => Evaluate(dataPrimary),
         RandDataPrimary randDataPrimary => Evaluate(randDataPrimary),
         PipeDataPrimary pipeDataPrimary => Evaluate(pipeDataPrimary),
         _ => throw new EvaluateException(nameof(DataNode)),
     });