public CreateIronyToken ( ) : Irony.Parsing.NonTerminal | ||
return | Irony.Parsing.NonTerminal |
public NonTerminal CreateIronyToken()
{
var result = new NonTerminal(Term.ToString());
foreach (var keyTerm in CreateKeyTerms())
{
if (result.Rule == null)
result.Rule = keyTerm;
else
result.Rule |= keyTerm;
}
return result;
}
private BnfTerm CreateTerm(GherkinTerm term, string tokens, string postFix) { var tokenizer = new LanguageTokenizer { Term = term, Tokens = tokens, PostFix = postFix }; var token = tokenizer.CreateIronyToken(); KeyTerms.AddRange(tokenizer.KeyTerms); if (term == GherkinTerm.Step) StepTerms.AddRange(tokenizer.KeyTerms); return token; }