// @copyright@ // This file is part of nzdis-kif package. See the file LICENSE for copyright information and ` // the terms and conditions for copying, distribution and modification of nzdis-kif package. package nzdis.lang.kif.tool; /**/ import nzdis.lang.kif.node.*; import nzdis.lang.kif.lexer.*; import nzdis.lang.kif.parser.*; import nzdis.lang.kif.pattern.*; import java.util.Hashtable; import java.io.*; /** * Utility class for KIF pattern matcher. * *@author Mariusz Nowostawski *@version @version@ $Revision: 1.1 $ */ public class PatternMatcher { public synchronized static Hashtable[] match(final Node astKIF, final String pattern){ PatternMatcherWalker interpreter = new PatternMatcherWalker(); return interpreter.match(pattern, astKIF); } public synchronized static Hashtable[] match(final StringBuffer kif, final String pattern){ return match(kif.toString(), pattern); } public synchronized static Hashtable[] match(final String kif, final String pattern){ Node astKIF = null; try { astKIF = TreeBuilder.getNode( new PushbackReader( new BufferedReader( new StringReader(kif)))); } catch(Exception e){ e.printStackTrace(); return null; } return match(astKIF, pattern); } }