/**
 * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
 * 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:
 *         Florian Pirchner - Initial implementation
 */
package org.eclipse.osbp.ecview.dsl;

/**
 * Initialization support for running Xtext languages without equinox extension
 * registry
 */
public class UIGrammarStandaloneSetup extends UIGrammarStandaloneSetupGenerated {

	public static void doSetup() {
		new UIGrammarStandaloneSetup().createInjectorAndDoEMFRegistration();
	}
}
