static ParseResult<ACommandArgs>? ParseTocsCommand(string input) { var remaining = input; var commandParser = Parsers.SequenceRight(Parsers.RegexParser("A|a"), Parsers.WhitespaceParser); var commandParserResult = commandParser(remaining); if (commandParserResult == null) { return null; } remaining = commandParserResult.Value.Remaining; var eventIdParser = Parsers.SequenceRight(Parsers.RegexParser(@"\d{2}(T|t)\d{6}|/\d{4,6}"), Parsers.WhitespaceParser); var eventIdParseResult = eventIdParser(remaining); if (eventIdParseResult.HasValue) { remaining = eventIdParseResult.Value.Remaining; } var radioNumberParser = Parsers.SequenceRight(Parsers.RegexParser(@"\w+"), Parsers.WhitespaceParser); var radioNumbersParser = Parsers.ManyTill(radioNumberParser, Parsers.Choice( Parsers.Lookahead(Parsers.RegexParser("(T|T)/")), Parsers.WhitespaceParser, Parsers.EOFParser )); var radioNumbersResult = radioNumbersParser(remaining); if (radioNumbersResult == null) { return null; } remaining = radioNumbersResult.Value.Remaining; var optionalTextParser = Parsers.SequenceLeft(Parsers.RegexParser("(T|t)/"), Parsers.RegexParser(@"[\w\s]+")); var optionalTextResult = optionalTextParser(remaining); if (optionalTextResult.HasValue) { remaining = optionalTextResult.Value.Remaining; } var commandArgs = new ACommandArgs { Command = commandParserResult.Value.Output, EventId = eventIdParseResult?.Output, RadioNumbers = radioNumbersResult.Value.Output, OptionalText = optionalTextResult?.Output }; return new ParseResult<ACommandArgs>(remaining, commandArgs); }
public ICommand Clone(ACommandArgs args) { return(new HalfLifeDegreeCommand((HalfLifeDegreeCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new RemoveModelsCommand((RemoveModelsCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new GraphsUnionCommand((GraphUnionCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new WayNoMoreThenLCommand <TVertex>((WayNoMoreThenLCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new SaveAlgorithmResultCommand((SaveAlgorithmResultCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new RemoveStoredGraphCommand((RemoveStoredGraphCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new DijkstraAlgorithm <TVertex>((DijkstraCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new AddModelCommand((AddModelCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new ConnectedComponentsCommand <TVertex>( (ConnectedComponentsCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new MoveVertexModelCommand((MoveVertexModelCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new OpenGraphInFileCommand((OpenGraphInFileCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new AddCurrentGraphInStoredGraphsCommand( (AddCurrentGraphInStoredGraphsCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new MSTCommand <TVertex>((MSTCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new NPeripheryCommand <TVertex>((NPeripheryCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new EdmondsKarpAlgorithm <TVertex>((EdmondsKarpCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new DFSalgorithmCommand <TVertex>((DFScommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new CreateGraphCommand((CreateGraphCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new SaveGraphToFileCommand((SaveGraphToFileCommandArgs)args, Field)); }
public ICommand Clone(ACommandArgs args) { return(new RemoveGraphCommand(Field)); }
public ICommand Clone(ACommandArgs args) { return(new ShortcutBFSalgorithmCommand <TVertex>((ShortcutBFSCommandArgs)args, Field)); }