예제 #1
0
        public PipeCommandable(TokenPlainStream stream)
        {
            Commandables = new List <CallCommandable>();

            var excs = stream.PlainTokens.Skip(1);

            foreach (var items in excs.Chunk(t => t.IsPipeSymbol))
            {
                Commandables.Add(new CallCommandable(items));
            }
        }
예제 #2
0
        public SeqComandable(TokenPlainStream stream)
        {
            PipeCommandables = new List <PipeCommandable>();

            var excs = stream.PlainTokens.Skip(1); // 'seq' call

            foreach (var items in excs.Chunk(t => t.IsSeqSymbol))
            {
                PipeCommandables.Add(new PipeCommandable(items));
            }
        }
예제 #3
0
        public CallCommandable(TokenPlainStream stream, int?skip = 1)
        {
            if (!skip.HasValue)
            {
                skip = 0;
            }

            LookUpName = stream.PlainTokens.Skip(skip.Value).First().Value;

            Arguments = stream.PlainTokens.Skip(skip.Value + 1).Select(t => t.Value).ToArray();

            ArgsTokens = stream.PlainTokens.Skip(skip.Value + 1);
        }