blob: 3bf6fa32f7bb0b7760f58bd5c231a89596dbdf6f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004-2008 Peter Pasztor, Akos Horvath, Gergely Varro, Istvan Rath and Daniel Varro
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Peter Pasztor, Akos Horvath, Gergely Varro, Istvan Rath - initial API and implementation
*******************************************************************************/
package org.eclipse.viatra2.gtasm.patternmatcher.extension;
import org.eclipse.viatra2.gtasm.interpreter.exception.ViatraTransformationException;
import org.eclipse.viatra2.gtasm.interpreter.executionEnvironment.IExecutionEnvironment;
import org.eclipse.viatra2.gtasm.patternmatcher.patterns.IPatternMatcher;
import org.eclipse.viatra2.gtasmmodel.gtasm.metamodel.gt.GTPattern;
/**
* Extension point for the pattern matcher
*
* @author Akos Horvath
*
*/
public interface IPatternMatcherFactory {
/**
* Returns a pattern matcher for the input GTPattern
*
* @param env
* the execution environment representing the context
* @param pattern
* The patter for which the matcher is created
* @return IPatternMatcher
* @throws ViatraTransformationException
*/
public IPatternMatcher getPatternMatcher(IExecutionEnvironment env,
GTPattern pattern) throws ViatraTransformationException;
}