001/******************************************************************************* 002 * Copyright (c) 2018 Red Hat Inc 003 * All rights reserved. This program and the accompanying materials 004 * are made available under the terms of the Eclipse Public License v1.0 005 * which accompanies this distribution, and is available at 006 * http://www.eclipse.org/legal/epl-v10.html 007 * 008 * Contributors: 009 * Jens Reimann - initial API and implementation 010 *******************************************************************************/ 011package de.dentrassi.varlink.idl.parser.antlr; 012 013import com.google.inject.Inject; 014import de.dentrassi.varlink.idl.parser.antlr.internal.InternalVarlinkIdlParser; 015import de.dentrassi.varlink.idl.services.VarlinkIdlGrammarAccess; 016import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; 017import org.eclipse.xtext.parser.antlr.XtextTokenStream; 018 019public class VarlinkIdlParser extends AbstractAntlrParser { 020 021 @Inject 022 private VarlinkIdlGrammarAccess grammarAccess; 023 024 @Override 025 protected void setInitialHiddenTokens(XtextTokenStream tokenStream) { 026 tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_SL_COMMENT"); 027 } 028 029 030 @Override 031 protected InternalVarlinkIdlParser createParser(XtextTokenStream stream) { 032 return new InternalVarlinkIdlParser(stream, getGrammarAccess()); 033 } 034 035 @Override 036 protected String getDefaultRuleName() { 037 return "Interface"; 038 } 039 040 public VarlinkIdlGrammarAccess getGrammarAccess() { 041 return this.grammarAccess; 042 } 043 044 public void setGrammarAccess(VarlinkIdlGrammarAccess grammarAccess) { 045 this.grammarAccess = grammarAccess; 046 } 047}