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)); } }
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)); } }
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); }