public final String_decl_listContext string_decl_list() throws RecognitionException {
		String_decl_listContext _localctx = new String_decl_listContext(_ctx, getState());
		enterRule(_localctx, 8, RULE_string_decl_list);
		try {
			int _alt;
			enterOuterAlt(_localctx, 1);
			{
			setState(125); 
			_errHandler.sync(this);
			_alt = getInterpreter().adaptivePredict(_input,2,_ctx);
			do {
				switch (_alt) {
				case 1:
					{
					{
					setState(118); match(14);
					setState(119); ((String_decl_listContext)_localctx).id = id();
					setState(120); match(28);
					setState(121); ((String_decl_listContext)_localctx).str = str();
					AddElement((((String_decl_listContext)_localctx).id!=null?_input.getText(((String_decl_listContext)_localctx).id.start,((String_decl_listContext)_localctx).id.stop):null), "STRING",(((String_decl_listContext)_localctx).str!=null?_input.getText(((String_decl_listContext)_localctx).str.start,((String_decl_listContext)_localctx).str.stop):null),current_scope);
					setState(123); match(24);
					}
					}
					break;
				default:
					throw new NoViableAltException(this);
				}
				setState(127); 
				_errHandler.sync(this);
				_alt = getInterpreter().adaptivePredict(_input,2,_ctx);
			} while ( _alt!=2 && _alt!=-1 );
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}