//participant A //participant Long Name as A public override IEnumerable <Statement> Parse(Scanner scanner) { Token keywordToken = scanner.ReadWord(); scanner.SkipWhiteSpaces(); Token nameToken = scanner.ReadTo(AsKeyword); if (nameToken.IsEmpty()) { yield return(new MissingArgumentStatement(keywordToken, nameToken)); yield break; } if (scanner.Eol) { yield return(new SimpleParticipantStatement(keywordToken, nameToken)); yield break; } scanner.ReadWord(); scanner.SkipWhiteSpaces(); Token idToken = scanner.ReadToEnd(); if (idToken.Length == 0) { yield return(new MissingArgumentStatement(keywordToken, idToken)); yield break; } yield return(new ParticipantStatement(keywordToken, idToken, nameToken)); }
public override IEnumerable <Statement> Parse(Scanner scanner) { Token keyword = scanner.ReadWord(); scanner.SkipWhiteSpaces(); Token argument = scanner.ReadToEnd(); yield return (!argument.IsEmpty() ? (Statement) new UnexpectedArgumentStatement(keyword, argument) : new EndStatement(keyword)); }
public override IEnumerable <Statement> Parse(Scanner scanner) { Token keyword = scanner.ReadWord(); scanner.SkipWhiteSpaces(); Token argument = scanner.ReadToEnd(); yield return (argument.IsEmpty() ? CreateEmptyStatement(keyword, argument) : CreateStatement(keyword, argument)); }
public IEnumerable <StatementParser> Parsers() { while (m_Scanner.MoveNext()) { m_Scanner.SkipWhiteSpaces(); if (m_Scanner.Eol) { continue; } string keyWordCandidate = m_Scanner.GetKeyWord(); StatementParser statementParser = m_StatementParserFactory.GetStatementParser(keyWordCandidate); yield return(statementParser); } }