docs: public final DSLMappingEntry entry() throws RecognitionException {
  		entry_stack.push(new entry_scope());
  		DSLMappingEntry mappingEntry = null;
  
  
  
  		    entry_stack.peek().retval = new AntlrDSLMappingEntry() ;
  		    entry_stack.peek().variables = new HashMap<String,Integer>();
  		    entry_stack.peek().keybuffer = new StringBuilder();
  		    entry_stack.peek().valuebuffer = new StringBuilder();
  		    entry_stack.peek().sentenceKeyBuffer = new StringBuilder();
  		    entry_stack.peek().sentenceValueBuffer = new StringBuilder();
  
  		try {
  			// src/main/resources/org/drools/compiler/lang/dsl/DSLMapWalker.g:51:5: ( ^( VT_ENTRY scope_section ( meta_section )? key_section ( value_section )? ) )
  			// src/main/resources/org/drools/compiler/lang/dsl/DSLMapWalker.g:51:7: ^( VT_ENTRY scope_section ( meta_section )? key_section ( value_section )? )
  			{
  			match(input,VT_ENTRY,FOLLOW_VT_ENTRY_in_entry130); 
  			match(input, Token.DOWN, null); 
  			pushFollow(FOLLOW_scope_section_in_entry132);
  			scope_section();
  			state._fsp--;
  
  			// src/main/resources/org/drools/compiler/lang/dsl/DSLMapWalker.g:51:32: ( meta_section )?
  			int alt2=2;
  			int LA2_0 = input.LA(1);
  			if ( (LA2_0==VT_META) ) {
  				alt2=1;
  			}
  			switch (alt2) {
  				case 1 :
  					// src/main/resources/org/drools/compiler/lang/dsl/DSLMapWalker.g:51:32: meta_section
  					{
  					pushFollow(FOLLOW_meta_section_in_entry134);
  					meta_section();
  					state._fsp--;
  
  					}
  					break;
  
  			}
  
  			pushFollow(FOLLOW_key_section_in_entry137);
  			key_section();
  			state._fsp--;
  
  			    entry_stack.peek().retval.setVariables( entry_stack.peek().variables );
  			                 entry_stack.peek().retval.setMappingKey(entry_stack.peek().sentenceKeyBuffer.toString());
  			                 entry_stack.peek().retval.setKeyPattern(entry_stack.peek().keybuffer.toString());
  			            
  			// src/main/resources/org/drools/compiler/lang/dsl/DSLMapWalker.g:56:9: ( value_section )?
  			int alt3=2;
  			int LA3_0 = input.LA(1);
  			if ( (LA3_0==VT_ENTRY_VAL) ) {
  				alt3=1;
  			}
  			switch (alt3) {
  				case 1 :
  					// src/main/resources/org/drools/compiler/lang/dsl/DSLMapWalker.g:56:9: value_section
  					{
  					pushFollow(FOLLOW_value_section_in_entry161);
  					value_section();
  					state._fsp--;
  
  					}
  					break;
  
  			}
  
  			match(input, Token.UP, null); 
  
  
  			        entry_stack.peek().retval.setMappingValue(entry_stack.peek().sentenceValueBuffer.toString());
  			        entry_stack.peek().retval.setValuePattern(entry_stack.peek().valuebuffer.toString());
  			        mappingEntry = entry_stack.peek().retval;
  			        mapping_file_stack.peek().retval.addEntry(mappingEntry);
  			    
  			}
  
  		}
  		catch (RecognitionException re) {
  			reportError(re);
  			recover(input,re);
  		}
  		finally {
  			// do for sure before leaving
  			entry_stack.pop();
  		}
  		return mappingEntry;
  	}