All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.cognifide.apm.antlr.ApmLangParser Maven / Gradle / Ivy

Go to download

AEM Permission Management is an AEM based tool focused on streamlining the permission configuration

There is a newer version: 4.3.1
Show newest version
// Generated from ApmLang.g4 by ANTLR 4.7.2
package com.cognifide.apm.antlr;
import org.antlr.v4.runtime.atn.*;
import org.antlr.v4.runtime.dfa.DFA;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.misc.*;
import org.antlr.v4.runtime.tree.*;
import java.util.List;
import java.util.Iterator;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
public class ApmLangParser extends Parser {
	static { RuntimeMetaData.checkVersion("4.7.2", RuntimeMetaData.VERSION); }

	protected static final DFA[] _decisionToDFA;
	protected static final PredictionContextCache _sharedContextCache =
		new PredictionContextCache();
	public static final int
		T__0=1, T__1=2, T__2=3, T__3=4, ARRAY_BEGIN=5, ARRAY_END=6, BLOCK_BEGIN=7, 
		BLOCK_END=8, IMPORT_SCRIPT=9, RUN_SCRIPT=10, FOR_EACH=11, IN=12, DEFINE=13, 
		NUMBER_LITERAL=14, STRING_LITERAL=15, VARIABLE_PREFIX=16, IDENTIFIER=17, 
		FLAG=18, COMMENT=19, WHITESPACE=20, EOL=21;
	public static final int
		RULE_apm = 0, RULE_line = 1, RULE_name = 2, RULE_path = 3, RULE_array = 4, 
		RULE_variable = 5, RULE_numberValue = 6, RULE_stringValue = 7, RULE_value = 8, 
		RULE_plus = 9, RULE_expression = 10, RULE_argument = 11, RULE_command = 12, 
		RULE_arguments = 13, RULE_complexArgument = 14, RULE_body = 15, RULE_importScript = 16;
	private static String[] makeRuleNames() {
		return new String[] {
			"apm", "line", "name", "path", "array", "variable", "numberValue", "stringValue", 
			"value", "plus", "expression", "argument", "command", "arguments", "complexArgument", 
			"body", "importScript"
		};
	}
	public static final String[] ruleNames = makeRuleNames();

	private static String[] makeLiteralNames() {
		return new String[] {
			null, "','", "'+'", "'='", "'--'", "'['", "']'", null, null, null, null, 
			null, null, null, null, null, "'$'"
		};
	}
	private static final String[] _LITERAL_NAMES = makeLiteralNames();
	private static String[] makeSymbolicNames() {
		return new String[] {
			null, null, null, null, null, "ARRAY_BEGIN", "ARRAY_END", "BLOCK_BEGIN", 
			"BLOCK_END", "IMPORT_SCRIPT", "RUN_SCRIPT", "FOR_EACH", "IN", "DEFINE", 
			"NUMBER_LITERAL", "STRING_LITERAL", "VARIABLE_PREFIX", "IDENTIFIER", 
			"FLAG", "COMMENT", "WHITESPACE", "EOL"
		};
	}
	private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
	public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);

	/**
	 * @deprecated Use {@link #VOCABULARY} instead.
	 */
	@Deprecated
	public static final String[] tokenNames;
	static {
		tokenNames = new String[_SYMBOLIC_NAMES.length];
		for (int i = 0; i < tokenNames.length; i++) {
			tokenNames[i] = VOCABULARY.getLiteralName(i);
			if (tokenNames[i] == null) {
				tokenNames[i] = VOCABULARY.getSymbolicName(i);
			}

			if (tokenNames[i] == null) {
				tokenNames[i] = "";
			}
		}
	}

	@Override
	@Deprecated
	public String[] getTokenNames() {
		return tokenNames;
	}

	@Override

	public Vocabulary getVocabulary() {
		return VOCABULARY;
	}

	@Override
	public String getGrammarFileName() { return "ApmLang.g4"; }

	@Override
	public String[] getRuleNames() { return ruleNames; }

	@Override
	public String getSerializedATN() { return _serializedATN; }

	@Override
	public ATN getATN() { return _ATN; }

	public ApmLangParser(TokenStream input) {
		super(input);
		_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
	}

	public static class ApmContext extends ParserRuleContext {
		public List EOL() { return getTokens(ApmLangParser.EOL); }
		public TerminalNode EOL(int i) {
			return getToken(ApmLangParser.EOL, i);
		}
		public List line() {
			return getRuleContexts(LineContext.class);
		}
		public LineContext line(int i) {
			return getRuleContext(LineContext.class,i);
		}
		public ApmContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_apm; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterApm(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitApm(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitApm(this);
			else return visitor.visitChildren(this);
		}
	}

	public final ApmContext apm() throws RecognitionException {
		ApmContext _localctx = new ApmContext(_ctx, getState());
		enterRule(_localctx, 0, RULE_apm);
		int _la;
		try {
			int _alt;
			enterOuterAlt(_localctx, 1);
			{
			setState(38); 
			_errHandler.sync(this);
			_alt = 1;
			do {
				switch (_alt) {
				case 1:
					{
					{
					setState(35);
					_errHandler.sync(this);
					_la = _input.LA(1);
					if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << IMPORT_SCRIPT) | (1L << RUN_SCRIPT) | (1L << FOR_EACH) | (1L << DEFINE) | (1L << IDENTIFIER))) != 0)) {
						{
						setState(34);
						line();
						}
					}

					setState(37);
					match(EOL);
					}
					}
					break;
				default:
					throw new NoViableAltException(this);
				}
				setState(40); 
				_errHandler.sync(this);
				_alt = getInterpreter().adaptivePredict(_input,1,_ctx);
			} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
			setState(43);
			_errHandler.sync(this);
			_la = _input.LA(1);
			if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << IMPORT_SCRIPT) | (1L << RUN_SCRIPT) | (1L << FOR_EACH) | (1L << DEFINE) | (1L << IDENTIFIER))) != 0)) {
				{
				setState(42);
				line();
				}
			}

			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class LineContext extends ParserRuleContext {
		public CommandContext command() {
			return getRuleContext(CommandContext.class,0);
		}
		public ImportScriptContext importScript() {
			return getRuleContext(ImportScriptContext.class,0);
		}
		public LineContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_line; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterLine(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitLine(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitLine(this);
			else return visitor.visitChildren(this);
		}
	}

	public final LineContext line() throws RecognitionException {
		LineContext _localctx = new LineContext(_ctx, getState());
		enterRule(_localctx, 2, RULE_line);
		try {
			enterOuterAlt(_localctx, 1);
			{
			setState(47);
			_errHandler.sync(this);
			switch (_input.LA(1)) {
			case RUN_SCRIPT:
			case FOR_EACH:
			case DEFINE:
			case IDENTIFIER:
				{
				setState(45);
				command();
				}
				break;
			case IMPORT_SCRIPT:
				{
				setState(46);
				importScript();
				}
				break;
			default:
				throw new NoViableAltException(this);
			}
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class NameContext extends ParserRuleContext {
		public TerminalNode IDENTIFIER() { return getToken(ApmLangParser.IDENTIFIER, 0); }
		public NameContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_name; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterName(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitName(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitName(this);
			else return visitor.visitChildren(this);
		}
	}

	public final NameContext name() throws RecognitionException {
		NameContext _localctx = new NameContext(_ctx, getState());
		enterRule(_localctx, 4, RULE_name);
		try {
			enterOuterAlt(_localctx, 1);
			{
			setState(49);
			match(IDENTIFIER);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class PathContext extends ParserRuleContext {
		public TerminalNode STRING_LITERAL() { return getToken(ApmLangParser.STRING_LITERAL, 0); }
		public PathContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_path; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterPath(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitPath(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitPath(this);
			else return visitor.visitChildren(this);
		}
	}

	public final PathContext path() throws RecognitionException {
		PathContext _localctx = new PathContext(_ctx, getState());
		enterRule(_localctx, 6, RULE_path);
		try {
			enterOuterAlt(_localctx, 1);
			{
			setState(51);
			match(STRING_LITERAL);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class ArrayContext extends ParserRuleContext {
		public TerminalNode ARRAY_BEGIN() { return getToken(ApmLangParser.ARRAY_BEGIN, 0); }
		public List value() {
			return getRuleContexts(ValueContext.class);
		}
		public ValueContext value(int i) {
			return getRuleContext(ValueContext.class,i);
		}
		public TerminalNode ARRAY_END() { return getToken(ApmLangParser.ARRAY_END, 0); }
		public List EOL() { return getTokens(ApmLangParser.EOL); }
		public TerminalNode EOL(int i) {
			return getToken(ApmLangParser.EOL, i);
		}
		public ArrayContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_array; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterArray(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitArray(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitArray(this);
			else return visitor.visitChildren(this);
		}
	}

	public final ArrayContext array() throws RecognitionException {
		ArrayContext _localctx = new ArrayContext(_ctx, getState());
		enterRule(_localctx, 8, RULE_array);
		int _la;
		try {
			enterOuterAlt(_localctx, 1);
			{
			setState(53);
			match(ARRAY_BEGIN);
			setState(55);
			_errHandler.sync(this);
			_la = _input.LA(1);
			if (_la==EOL) {
				{
				setState(54);
				match(EOL);
				}
			}

			setState(57);
			value();
			setState(65);
			_errHandler.sync(this);
			_la = _input.LA(1);
			while (_la==T__0) {
				{
				{
				setState(58);
				match(T__0);
				setState(60);
				_errHandler.sync(this);
				_la = _input.LA(1);
				if (_la==EOL) {
					{
					setState(59);
					match(EOL);
					}
				}

				setState(62);
				value();
				}
				}
				setState(67);
				_errHandler.sync(this);
				_la = _input.LA(1);
			}
			setState(69);
			_errHandler.sync(this);
			_la = _input.LA(1);
			if (_la==EOL) {
				{
				setState(68);
				match(EOL);
				}
			}

			setState(71);
			match(ARRAY_END);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class VariableContext extends ParserRuleContext {
		public TerminalNode VARIABLE_PREFIX() { return getToken(ApmLangParser.VARIABLE_PREFIX, 0); }
		public TerminalNode IDENTIFIER() { return getToken(ApmLangParser.IDENTIFIER, 0); }
		public VariableContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_variable; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterVariable(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitVariable(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitVariable(this);
			else return visitor.visitChildren(this);
		}
	}

	public final VariableContext variable() throws RecognitionException {
		VariableContext _localctx = new VariableContext(_ctx, getState());
		enterRule(_localctx, 10, RULE_variable);
		try {
			enterOuterAlt(_localctx, 1);
			{
			setState(73);
			match(VARIABLE_PREFIX);
			setState(74);
			match(IDENTIFIER);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class NumberValueContext extends ParserRuleContext {
		public TerminalNode NUMBER_LITERAL() { return getToken(ApmLangParser.NUMBER_LITERAL, 0); }
		public NumberValueContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_numberValue; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterNumberValue(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitNumberValue(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitNumberValue(this);
			else return visitor.visitChildren(this);
		}
	}

	public final NumberValueContext numberValue() throws RecognitionException {
		NumberValueContext _localctx = new NumberValueContext(_ctx, getState());
		enterRule(_localctx, 12, RULE_numberValue);
		try {
			enterOuterAlt(_localctx, 1);
			{
			setState(76);
			match(NUMBER_LITERAL);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class StringValueContext extends ParserRuleContext {
		public TerminalNode STRING_LITERAL() { return getToken(ApmLangParser.STRING_LITERAL, 0); }
		public TerminalNode IDENTIFIER() { return getToken(ApmLangParser.IDENTIFIER, 0); }
		public StringValueContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_stringValue; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterStringValue(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitStringValue(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitStringValue(this);
			else return visitor.visitChildren(this);
		}
	}

	public final StringValueContext stringValue() throws RecognitionException {
		StringValueContext _localctx = new StringValueContext(_ctx, getState());
		enterRule(_localctx, 14, RULE_stringValue);
		int _la;
		try {
			enterOuterAlt(_localctx, 1);
			{
			setState(78);
			_la = _input.LA(1);
			if ( !(_la==STRING_LITERAL || _la==IDENTIFIER) ) {
			_errHandler.recoverInline(this);
			}
			else {
				if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
				_errHandler.reportMatch(this);
				consume();
			}
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class ValueContext extends ParserRuleContext {
		public VariableContext variable() {
			return getRuleContext(VariableContext.class,0);
		}
		public NumberValueContext numberValue() {
			return getRuleContext(NumberValueContext.class,0);
		}
		public StringValueContext stringValue() {
			return getRuleContext(StringValueContext.class,0);
		}
		public ValueContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_value; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterValue(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitValue(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitValue(this);
			else return visitor.visitChildren(this);
		}
	}

	public final ValueContext value() throws RecognitionException {
		ValueContext _localctx = new ValueContext(_ctx, getState());
		enterRule(_localctx, 16, RULE_value);
		try {
			setState(83);
			_errHandler.sync(this);
			switch (_input.LA(1)) {
			case VARIABLE_PREFIX:
				enterOuterAlt(_localctx, 1);
				{
				setState(80);
				variable();
				}
				break;
			case NUMBER_LITERAL:
				enterOuterAlt(_localctx, 2);
				{
				setState(81);
				numberValue();
				}
				break;
			case STRING_LITERAL:
			case IDENTIFIER:
				enterOuterAlt(_localctx, 3);
				{
				setState(82);
				stringValue();
				}
				break;
			default:
				throw new NoViableAltException(this);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class PlusContext extends ParserRuleContext {
		public PlusContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_plus; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterPlus(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitPlus(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitPlus(this);
			else return visitor.visitChildren(this);
		}
	}

	public final PlusContext plus() throws RecognitionException {
		PlusContext _localctx = new PlusContext(_ctx, getState());
		enterRule(_localctx, 18, RULE_plus);
		try {
			enterOuterAlt(_localctx, 1);
			{
			setState(85);
			match(T__1);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class ExpressionContext extends ParserRuleContext {
		public ArrayContext array() {
			return getRuleContext(ArrayContext.class,0);
		}
		public ValueContext value() {
			return getRuleContext(ValueContext.class,0);
		}
		public List expression() {
			return getRuleContexts(ExpressionContext.class);
		}
		public ExpressionContext expression(int i) {
			return getRuleContext(ExpressionContext.class,i);
		}
		public PlusContext plus() {
			return getRuleContext(PlusContext.class,0);
		}
		public ExpressionContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_expression; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterExpression(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitExpression(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitExpression(this);
			else return visitor.visitChildren(this);
		}
	}

	public final ExpressionContext expression() throws RecognitionException {
		return expression(0);
	}

	private ExpressionContext expression(int _p) throws RecognitionException {
		ParserRuleContext _parentctx = _ctx;
		int _parentState = getState();
		ExpressionContext _localctx = new ExpressionContext(_ctx, _parentState);
		ExpressionContext _prevctx = _localctx;
		int _startState = 20;
		enterRecursionRule(_localctx, 20, RULE_expression, _p);
		try {
			int _alt;
			enterOuterAlt(_localctx, 1);
			{
			setState(90);
			_errHandler.sync(this);
			switch (_input.LA(1)) {
			case ARRAY_BEGIN:
				{
				setState(88);
				array();
				}
				break;
			case NUMBER_LITERAL:
			case STRING_LITERAL:
			case VARIABLE_PREFIX:
			case IDENTIFIER:
				{
				setState(89);
				value();
				}
				break;
			default:
				throw new NoViableAltException(this);
			}
			_ctx.stop = _input.LT(-1);
			setState(98);
			_errHandler.sync(this);
			_alt = getInterpreter().adaptivePredict(_input,10,_ctx);
			while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
				if ( _alt==1 ) {
					if ( _parseListeners!=null ) triggerExitRuleEvent();
					_prevctx = _localctx;
					{
					{
					_localctx = new ExpressionContext(_parentctx, _parentState);
					pushNewRecursionContext(_localctx, _startState, RULE_expression);
					setState(92);
					if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
					setState(93);
					plus();
					setState(94);
					expression(4);
					}
					} 
				}
				setState(100);
				_errHandler.sync(this);
				_alt = getInterpreter().adaptivePredict(_input,10,_ctx);
			}
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			unrollRecursionContexts(_parentctx);
		}
		return _localctx;
	}

	public static class ArgumentContext extends ParserRuleContext {
		public ExpressionContext expression() {
			return getRuleContext(ExpressionContext.class,0);
		}
		public ArgumentContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_argument; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterArgument(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitArgument(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitArgument(this);
			else return visitor.visitChildren(this);
		}
	}

	public final ArgumentContext argument() throws RecognitionException {
		ArgumentContext _localctx = new ArgumentContext(_ctx, getState());
		enterRule(_localctx, 22, RULE_argument);
		try {
			enterOuterAlt(_localctx, 1);
			{
			setState(101);
			expression(0);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class CommandContext extends ParserRuleContext {
		public CommandContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_command; }
	 
		public CommandContext() { }
		public void copyFrom(CommandContext ctx) {
			super.copyFrom(ctx);
		}
	}
	public static class GenericCommandContext extends CommandContext {
		public TerminalNode IDENTIFIER() { return getToken(ApmLangParser.IDENTIFIER, 0); }
		public ArgumentsContext arguments() {
			return getRuleContext(ArgumentsContext.class,0);
		}
		public GenericCommandContext(CommandContext ctx) { copyFrom(ctx); }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterGenericCommand(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitGenericCommand(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitGenericCommand(this);
			else return visitor.visitChildren(this);
		}
	}
	public static class DefineVariableContext extends CommandContext {
		public TerminalNode DEFINE() { return getToken(ApmLangParser.DEFINE, 0); }
		public TerminalNode IDENTIFIER() { return getToken(ApmLangParser.IDENTIFIER, 0); }
		public ArgumentContext argument() {
			return getRuleContext(ArgumentContext.class,0);
		}
		public DefineVariableContext(CommandContext ctx) { copyFrom(ctx); }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterDefineVariable(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitDefineVariable(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitDefineVariable(this);
			else return visitor.visitChildren(this);
		}
	}
	public static class RunScriptContext extends CommandContext {
		public TerminalNode RUN_SCRIPT() { return getToken(ApmLangParser.RUN_SCRIPT, 0); }
		public PathContext path() {
			return getRuleContext(PathContext.class,0);
		}
		public RunScriptContext(CommandContext ctx) { copyFrom(ctx); }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterRunScript(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitRunScript(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitRunScript(this);
			else return visitor.visitChildren(this);
		}
	}
	public static class ForEachContext extends CommandContext {
		public TerminalNode FOR_EACH() { return getToken(ApmLangParser.FOR_EACH, 0); }
		public TerminalNode IDENTIFIER() { return getToken(ApmLangParser.IDENTIFIER, 0); }
		public TerminalNode IN() { return getToken(ApmLangParser.IN, 0); }
		public ArgumentContext argument() {
			return getRuleContext(ArgumentContext.class,0);
		}
		public BodyContext body() {
			return getRuleContext(BodyContext.class,0);
		}
		public TerminalNode EOL() { return getToken(ApmLangParser.EOL, 0); }
		public ForEachContext(CommandContext ctx) { copyFrom(ctx); }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterForEach(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitForEach(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitForEach(this);
			else return visitor.visitChildren(this);
		}
	}

	public final CommandContext command() throws RecognitionException {
		CommandContext _localctx = new CommandContext(_ctx, getState());
		enterRule(_localctx, 24, RULE_command);
		int _la;
		try {
			setState(121);
			_errHandler.sync(this);
			switch (_input.LA(1)) {
			case RUN_SCRIPT:
				_localctx = new RunScriptContext(_localctx);
				enterOuterAlt(_localctx, 1);
				{
				setState(103);
				match(RUN_SCRIPT);
				setState(104);
				path();
				}
				break;
			case FOR_EACH:
				_localctx = new ForEachContext(_localctx);
				enterOuterAlt(_localctx, 2);
				{
				setState(105);
				match(FOR_EACH);
				setState(106);
				match(IDENTIFIER);
				setState(107);
				match(IN);
				setState(108);
				argument();
				setState(110);
				_errHandler.sync(this);
				_la = _input.LA(1);
				if (_la==EOL) {
					{
					setState(109);
					match(EOL);
					}
				}

				setState(112);
				body();
				}
				break;
			case DEFINE:
				_localctx = new DefineVariableContext(_localctx);
				enterOuterAlt(_localctx, 3);
				{
				setState(114);
				match(DEFINE);
				setState(115);
				match(IDENTIFIER);
				setState(116);
				argument();
				}
				break;
			case IDENTIFIER:
				_localctx = new GenericCommandContext(_localctx);
				enterOuterAlt(_localctx, 4);
				{
				setState(117);
				match(IDENTIFIER);
				setState(119);
				_errHandler.sync(this);
				_la = _input.LA(1);
				if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__3) | (1L << ARRAY_BEGIN) | (1L << NUMBER_LITERAL) | (1L << STRING_LITERAL) | (1L << VARIABLE_PREFIX) | (1L << IDENTIFIER))) != 0)) {
					{
					setState(118);
					arguments();
					}
				}

				}
				break;
			default:
				throw new NoViableAltException(this);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class ArgumentsContext extends ParserRuleContext {
		public List complexArgument() {
			return getRuleContexts(ComplexArgumentContext.class);
		}
		public ComplexArgumentContext complexArgument(int i) {
			return getRuleContext(ComplexArgumentContext.class,i);
		}
		public ArgumentsContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_arguments; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterArguments(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitArguments(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitArguments(this);
			else return visitor.visitChildren(this);
		}
	}

	public final ArgumentsContext arguments() throws RecognitionException {
		ArgumentsContext _localctx = new ArgumentsContext(_ctx, getState());
		enterRule(_localctx, 26, RULE_arguments);
		int _la;
		try {
			enterOuterAlt(_localctx, 1);
			{
			setState(124); 
			_errHandler.sync(this);
			_la = _input.LA(1);
			do {
				{
				{
				setState(123);
				complexArgument();
				}
				}
				setState(126); 
				_errHandler.sync(this);
				_la = _input.LA(1);
			} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__3) | (1L << ARRAY_BEGIN) | (1L << NUMBER_LITERAL) | (1L << STRING_LITERAL) | (1L << VARIABLE_PREFIX) | (1L << IDENTIFIER))) != 0) );
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class ComplexArgumentContext extends ParserRuleContext {
		public ComplexArgumentContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_complexArgument; }
	 
		public ComplexArgumentContext() { }
		public void copyFrom(ComplexArgumentContext ctx) {
			super.copyFrom(ctx);
		}
	}
	public static class RequiredArgumentContext extends ComplexArgumentContext {
		public ArgumentContext argument() {
			return getRuleContext(ArgumentContext.class,0);
		}
		public RequiredArgumentContext(ComplexArgumentContext ctx) { copyFrom(ctx); }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterRequiredArgument(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitRequiredArgument(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitRequiredArgument(this);
			else return visitor.visitChildren(this);
		}
	}
	public static class SimpleFlagContext extends ComplexArgumentContext {
		public TerminalNode IDENTIFIER() { return getToken(ApmLangParser.IDENTIFIER, 0); }
		public SimpleFlagContext(ComplexArgumentContext ctx) { copyFrom(ctx); }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterSimpleFlag(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitSimpleFlag(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitSimpleFlag(this);
			else return visitor.visitChildren(this);
		}
	}
	public static class NamedArgumentContext extends ComplexArgumentContext {
		public TerminalNode IDENTIFIER() { return getToken(ApmLangParser.IDENTIFIER, 0); }
		public ArgumentContext argument() {
			return getRuleContext(ArgumentContext.class,0);
		}
		public NamedArgumentContext(ComplexArgumentContext ctx) { copyFrom(ctx); }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterNamedArgument(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitNamedArgument(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitNamedArgument(this);
			else return visitor.visitChildren(this);
		}
	}
	public static class ComplexFlagContext extends ComplexArgumentContext {
		public TerminalNode FLAG() { return getToken(ApmLangParser.FLAG, 0); }
		public ComplexFlagContext(ComplexArgumentContext ctx) { copyFrom(ctx); }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterComplexFlag(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitComplexFlag(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitComplexFlag(this);
			else return visitor.visitChildren(this);
		}
	}

	public final ComplexArgumentContext complexArgument() throws RecognitionException {
		ComplexArgumentContext _localctx = new ComplexArgumentContext(_ctx, getState());
		enterRule(_localctx, 28, RULE_complexArgument);
		try {
			setState(136);
			_errHandler.sync(this);
			switch ( getInterpreter().adaptivePredict(_input,15,_ctx) ) {
			case 1:
				_localctx = new RequiredArgumentContext(_localctx);
				enterOuterAlt(_localctx, 1);
				{
				setState(128);
				argument();
				}
				break;
			case 2:
				_localctx = new NamedArgumentContext(_localctx);
				enterOuterAlt(_localctx, 2);
				{
				setState(129);
				match(IDENTIFIER);
				setState(130);
				match(T__2);
				setState(131);
				argument();
				}
				break;
			case 3:
				_localctx = new SimpleFlagContext(_localctx);
				enterOuterAlt(_localctx, 3);
				{
				setState(132);
				match(T__3);
				setState(133);
				match(IDENTIFIER);
				}
				break;
			case 4:
				_localctx = new ComplexFlagContext(_localctx);
				enterOuterAlt(_localctx, 4);
				{
				setState(134);
				match(T__3);
				setState(135);
				match(FLAG);
				}
				break;
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class BodyContext extends ParserRuleContext {
		public TerminalNode BLOCK_BEGIN() { return getToken(ApmLangParser.BLOCK_BEGIN, 0); }
		public TerminalNode BLOCK_END() { return getToken(ApmLangParser.BLOCK_END, 0); }
		public List EOL() { return getTokens(ApmLangParser.EOL); }
		public TerminalNode EOL(int i) {
			return getToken(ApmLangParser.EOL, i);
		}
		public List command() {
			return getRuleContexts(CommandContext.class);
		}
		public CommandContext command(int i) {
			return getRuleContext(CommandContext.class,i);
		}
		public BodyContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_body; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterBody(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitBody(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitBody(this);
			else return visitor.visitChildren(this);
		}
	}

	public final BodyContext body() throws RecognitionException {
		BodyContext _localctx = new BodyContext(_ctx, getState());
		enterRule(_localctx, 30, RULE_body);
		int _la;
		try {
			enterOuterAlt(_localctx, 1);
			{
			setState(138);
			match(BLOCK_BEGIN);
			setState(140);
			_errHandler.sync(this);
			switch ( getInterpreter().adaptivePredict(_input,16,_ctx) ) {
			case 1:
				{
				setState(139);
				match(EOL);
				}
				break;
			}
			setState(146); 
			_errHandler.sync(this);
			_la = _input.LA(1);
			do {
				{
				{
				setState(143);
				_errHandler.sync(this);
				_la = _input.LA(1);
				if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << RUN_SCRIPT) | (1L << FOR_EACH) | (1L << DEFINE) | (1L << IDENTIFIER))) != 0)) {
					{
					setState(142);
					command();
					}
				}

				setState(145);
				match(EOL);
				}
				}
				setState(148); 
				_errHandler.sync(this);
				_la = _input.LA(1);
			} while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << RUN_SCRIPT) | (1L << FOR_EACH) | (1L << DEFINE) | (1L << IDENTIFIER) | (1L << EOL))) != 0) );
			setState(150);
			match(BLOCK_END);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public static class ImportScriptContext extends ParserRuleContext {
		public TerminalNode IMPORT_SCRIPT() { return getToken(ApmLangParser.IMPORT_SCRIPT, 0); }
		public PathContext path() {
			return getRuleContext(PathContext.class,0);
		}
		public ImportScriptContext(ParserRuleContext parent, int invokingState) {
			super(parent, invokingState);
		}
		@Override public int getRuleIndex() { return RULE_importScript; }
		@Override
		public void enterRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).enterImportScript(this);
		}
		@Override
		public void exitRule(ParseTreeListener listener) {
			if ( listener instanceof ApmLangListener ) ((ApmLangListener)listener).exitImportScript(this);
		}
		@Override
		public  T accept(ParseTreeVisitor visitor) {
			if ( visitor instanceof ApmLangVisitor ) return ((ApmLangVisitor)visitor).visitImportScript(this);
			else return visitor.visitChildren(this);
		}
	}

	public final ImportScriptContext importScript() throws RecognitionException {
		ImportScriptContext _localctx = new ImportScriptContext(_ctx, getState());
		enterRule(_localctx, 32, RULE_importScript);
		try {
			enterOuterAlt(_localctx, 1);
			{
			setState(152);
			match(IMPORT_SCRIPT);
			setState(153);
			path();
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}

	public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
		switch (ruleIndex) {
		case 10:
			return expression_sempred((ExpressionContext)_localctx, predIndex);
		}
		return true;
	}
	private boolean expression_sempred(ExpressionContext _localctx, int predIndex) {
		switch (predIndex) {
		case 0:
			return precpred(_ctx, 3);
		}
		return true;
	}

	public static final String _serializedATN =
		"\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3\27\u009e\4\2\t\2"+
		"\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+
		"\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+
		"\3\2\5\2&\n\2\3\2\6\2)\n\2\r\2\16\2*\3\2\5\2.\n\2\3\3\3\3\5\3\62\n\3\3"+
		"\4\3\4\3\5\3\5\3\6\3\6\5\6:\n\6\3\6\3\6\3\6\5\6?\n\6\3\6\7\6B\n\6\f\6"+
		"\16\6E\13\6\3\6\5\6H\n\6\3\6\3\6\3\7\3\7\3\7\3\b\3\b\3\t\3\t\3\n\3\n\3"+
		"\n\5\nV\n\n\3\13\3\13\3\f\3\f\3\f\5\f]\n\f\3\f\3\f\3\f\3\f\7\fc\n\f\f"+
		"\f\16\ff\13\f\3\r\3\r\3\16\3\16\3\16\3\16\3\16\3\16\3\16\5\16q\n\16\3"+
		"\16\3\16\3\16\3\16\3\16\3\16\3\16\5\16z\n\16\5\16|\n\16\3\17\6\17\177"+
		"\n\17\r\17\16\17\u0080\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\5\20\u008b"+
		"\n\20\3\21\3\21\5\21\u008f\n\21\3\21\5\21\u0092\n\21\3\21\6\21\u0095\n"+
		"\21\r\21\16\21\u0096\3\21\3\21\3\22\3\22\3\22\3\22\2\3\26\23\2\4\6\b\n"+
		"\f\16\20\22\24\26\30\32\34\36 \"\2\3\4\2\21\21\23\23\2\u00a4\2(\3\2\2"+
		"\2\4\61\3\2\2\2\6\63\3\2\2\2\b\65\3\2\2\2\n\67\3\2\2\2\fK\3\2\2\2\16N"+
		"\3\2\2\2\20P\3\2\2\2\22U\3\2\2\2\24W\3\2\2\2\26\\\3\2\2\2\30g\3\2\2\2"+
		"\32{\3\2\2\2\34~\3\2\2\2\36\u008a\3\2\2\2 \u008c\3\2\2\2\"\u009a\3\2\2"+
		"\2$&\5\4\3\2%$\3\2\2\2%&\3\2\2\2&\'\3\2\2\2\')\7\27\2\2(%\3\2\2\2)*\3"+
		"\2\2\2*(\3\2\2\2*+\3\2\2\2+-\3\2\2\2,.\5\4\3\2-,\3\2\2\2-.\3\2\2\2.\3"+
		"\3\2\2\2/\62\5\32\16\2\60\62\5\"\22\2\61/\3\2\2\2\61\60\3\2\2\2\62\5\3"+
		"\2\2\2\63\64\7\23\2\2\64\7\3\2\2\2\65\66\7\21\2\2\66\t\3\2\2\2\679\7\7"+
		"\2\28:\7\27\2\298\3\2\2\29:\3\2\2\2:;\3\2\2\2;C\5\22\n\2<>\7\3\2\2=?\7"+
		"\27\2\2>=\3\2\2\2>?\3\2\2\2?@\3\2\2\2@B\5\22\n\2A<\3\2\2\2BE\3\2\2\2C"+
		"A\3\2\2\2CD\3\2\2\2DG\3\2\2\2EC\3\2\2\2FH\7\27\2\2GF\3\2\2\2GH\3\2\2\2"+
		"HI\3\2\2\2IJ\7\b\2\2J\13\3\2\2\2KL\7\22\2\2LM\7\23\2\2M\r\3\2\2\2NO\7"+
		"\20\2\2O\17\3\2\2\2PQ\t\2\2\2Q\21\3\2\2\2RV\5\f\7\2SV\5\16\b\2TV\5\20"+
		"\t\2UR\3\2\2\2US\3\2\2\2UT\3\2\2\2V\23\3\2\2\2WX\7\4\2\2X\25\3\2\2\2Y"+
		"Z\b\f\1\2Z]\5\n\6\2[]\5\22\n\2\\Y\3\2\2\2\\[\3\2\2\2]d\3\2\2\2^_\f\5\2"+
		"\2_`\5\24\13\2`a\5\26\f\6ac\3\2\2\2b^\3\2\2\2cf\3\2\2\2db\3\2\2\2de\3"+
		"\2\2\2e\27\3\2\2\2fd\3\2\2\2gh\5\26\f\2h\31\3\2\2\2ij\7\f\2\2j|\5\b\5"+
		"\2kl\7\r\2\2lm\7\23\2\2mn\7\16\2\2np\5\30\r\2oq\7\27\2\2po\3\2\2\2pq\3"+
		"\2\2\2qr\3\2\2\2rs\5 \21\2s|\3\2\2\2tu\7\17\2\2uv\7\23\2\2v|\5\30\r\2"+
		"wy\7\23\2\2xz\5\34\17\2yx\3\2\2\2yz\3\2\2\2z|\3\2\2\2{i\3\2\2\2{k\3\2"+
		"\2\2{t\3\2\2\2{w\3\2\2\2|\33\3\2\2\2}\177\5\36\20\2~}\3\2\2\2\177\u0080"+
		"\3\2\2\2\u0080~\3\2\2\2\u0080\u0081\3\2\2\2\u0081\35\3\2\2\2\u0082\u008b"+
		"\5\30\r\2\u0083\u0084\7\23\2\2\u0084\u0085\7\5\2\2\u0085\u008b\5\30\r"+
		"\2\u0086\u0087\7\6\2\2\u0087\u008b\7\23\2\2\u0088\u0089\7\6\2\2\u0089"+
		"\u008b\7\24\2\2\u008a\u0082\3\2\2\2\u008a\u0083\3\2\2\2\u008a\u0086\3"+
		"\2\2\2\u008a\u0088\3\2\2\2\u008b\37\3\2\2\2\u008c\u008e\7\t\2\2\u008d"+
		"\u008f\7\27\2\2\u008e\u008d\3\2\2\2\u008e\u008f\3\2\2\2\u008f\u0094\3"+
		"\2\2\2\u0090\u0092\5\32\16\2\u0091\u0090\3\2\2\2\u0091\u0092\3\2\2\2\u0092"+
		"\u0093\3\2\2\2\u0093\u0095\7\27\2\2\u0094\u0091\3\2\2\2\u0095\u0096\3"+
		"\2\2\2\u0096\u0094\3\2\2\2\u0096\u0097\3\2\2\2\u0097\u0098\3\2\2\2\u0098"+
		"\u0099\7\n\2\2\u0099!\3\2\2\2\u009a\u009b\7\13\2\2\u009b\u009c\5\b\5\2"+
		"\u009c#\3\2\2\2\25%*-\619>CGU\\dpy{\u0080\u008a\u008e\u0091\u0096";
	public static final ATN _ATN =
		new ATNDeserializer().deserialize(_serializedATN.toCharArray());
	static {
		_decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
		for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
			_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
		}
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy