/*
* Copyright 2004-2019 H2 Group. Multiple-Licensed under the MPL 2.0,
* and the EPL 1.0 (http://h2database.com/html/license.html).
* Initial Developer: H2 Group
*/
package org.h2.bnf;
import java.util.HashMap;
Represents a BNF rule.
/**
* Represents a BNF rule.
*/
public interface Rule {
Update cross references.
Params: - ruleMap – the reference map
/**
* Update cross references.
*
* @param ruleMap the reference map
*/
void setLinks(HashMap<String, RuleHead> ruleMap);
Add the next possible token(s). If there was a match, the query in the
sentence is updated (the matched token is removed).
Params: - sentence – the sentence context
Returns: true if a full match
/**
* Add the next possible token(s). If there was a match, the query in the
* sentence is updated (the matched token is removed).
*
* @param sentence the sentence context
* @return true if a full match
*/
boolean autoComplete(Sentence sentence);
Call the visit method in the given visitor.
Params: - visitor – the visitor
/**
* Call the visit method in the given visitor.
*
* @param visitor the visitor
*/
void accept(BnfVisitor visitor);
}