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}