/*******************************************************************************
 * Copyright (c) 2004-2008 Akos Horvath, Gergely Varro 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:
 *    Akos Horvath, Gergely Varro - initial API and implementation
 *******************************************************************************/

 package org.eclipse.viatra2.gtasm.patternmatcher;

/**
 * The enumeration of execution modes of a pattern variable.
 */
public enum ExecutionMode {
	/**
     * Only a single value for a given variable has to be found.
	 */
	SINGLE_RESULT,
	/**
     * All possible values for a given variable must be found.
	 */
	MULTIPLE_RESULTS
}
