private static void ActMethod(ActionNode node, ILexicalToken token, IParsingResult parsingResult) { var cliResult = (CliParsingResult)parsingResult; var thisNode = (TermNode)node; cliResult.SetCommand(thisNode.Term); }
public bool AcceptsToken(ILexicalToken token, IParsingResult parsingResult) { // todo checks var result = this.AcceptsTokenImpl(token, parsingResult); return(result); }
private static void ActMethod(ActionNode node, ILexicalToken token, IParsingResult parsingResult) { var thisNode = (KeyValueNode)node; var cliParsingResult = (CliParsingResult)parsingResult; cliParsingResult.AddKeyValue(thisNode.Alias, token.ToString()); }
private static void ActMethod(ActionNode node, ILexicalToken token, IParsingResult parsingResult) { var thisNode = (KeyNode)node; var cliKeyToken = (CliKeyToken)token; var cliParsingResult = (CliParsingResult)parsingResult; // todo: obey 'IsUnique' // do nothing, KeyValueNode will do its job }
private static bool AcceptsMethod(ActionNode node, ILexicalToken token, IParsingResult parsingResult) { var thisNode = (KeyNode)node; if (token is CliKeyToken cliKeyToken) { return(thisNode.KeyValues.Contains(cliKeyToken.Text)); } return(false); }
private static bool AcceptsMethod(ActionNode node, ILexicalToken token, IParsingResult parsingResult) { var thisNode = (TermNode)node; if (token is CliWordToken cliWordToken) { return(cliWordToken.Text == thisNode.Term); } return(false); }
private static bool AcceptsMethod(ActionNode node, ILexicalToken token, IParsingResult parsingResult) { var thisNode = (KeyValueNode)node; if (token is TextToken textToken) { return(thisNode.AdditionalCheck?.Invoke(node, textToken, parsingResult) ?? true); } return(false); }
protected override void ActImpl(ILexicalToken token, IParsingResult parsingResult) { throw new NotImplementedException(); }
protected override bool AcceptsTokenImpl(ILexicalToken token, IParsingResult parsingResult) => true;
protected override void ActImpl(ILexicalToken token, IParsingResult parsingResult) { // idle }
public void Act(ILexicalToken token, IParsingResult parsingResult) { // todo checks this.ActImpl(token, parsingResult); }
protected abstract void ActImpl(ILexicalToken token, IParsingResult parsingResult);
protected abstract bool AcceptsTokenImpl(ILexicalToken token, IParsingResult parsingResult);
protected override void ActImpl(ILexicalToken token, IParsingResult parsingResult) { this.ActCallback(this, token, parsingResult); }
protected override bool AcceptsTokenImpl(ILexicalToken token, IParsingResult parsingResult) { return(AcceptPredicate(this, token, parsingResult)); }