docs: public final void primitiveType() throws RecognitionException {
  		try {
  			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:549:5: ( boolean_key | char_key | byte_key | short_key | int_key | long_key | float_key | double_key )
  			int alt57=8;
  			int LA57_0 = input.LA(1);
  			if ( (LA57_0==ID) && ((((helper.validateIdentifierKey(DroolsSoftKeywords.SHORT)))||((helper.validateIdentifierKey(DroolsSoftKeywords.LONG)))||((helper.validateIdentifierKey(DroolsSoftKeywords.CHAR)))||((helper.validateIdentifierKey(DroolsSoftKeywords.INT)))||((helper.validateIdentifierKey(DroolsSoftKeywords.FLOAT)))||((helper.validateIdentifierKey(DroolsSoftKeywords.BOOLEAN)))||((helper.validateIdentifierKey(DroolsSoftKeywords.DOUBLE)))||((helper.validateIdentifierKey(DroolsSoftKeywords.BYTE)))))) {
  				int LA57_1 = input.LA(2);
  				if ( (((helper.validateIdentifierKey(DroolsSoftKeywords.BOOLEAN)))) ) {
  					alt57=1;
  				}
  				else if ( (((helper.validateIdentifierKey(DroolsSoftKeywords.CHAR)))) ) {
  					alt57=2;
  				}
  				else if ( (((helper.validateIdentifierKey(DroolsSoftKeywords.BYTE)))) ) {
  					alt57=3;
  				}
  				else if ( (((helper.validateIdentifierKey(DroolsSoftKeywords.SHORT)))) ) {
  					alt57=4;
  				}
  				else if ( (((helper.validateIdentifierKey(DroolsSoftKeywords.INT)))) ) {
  					alt57=5;
  				}
  				else if ( (((helper.validateIdentifierKey(DroolsSoftKeywords.LONG)))) ) {
  					alt57=6;
  				}
  				else if ( (((helper.validateIdentifierKey(DroolsSoftKeywords.FLOAT)))) ) {
  					alt57=7;
  				}
  				else if ( (((helper.validateIdentifierKey(DroolsSoftKeywords.DOUBLE)))) ) {
  					alt57=8;
  				}
  
  				else {
  					if (state.backtracking>0) {state.failed=true; return;}
  					int nvaeMark = input.mark();
  					try {
  						input.consume();
  						NoViableAltException nvae =
  							new NoViableAltException("", 57, 1, input);
  						throw nvae;
  					} finally {
  						input.rewind(nvaeMark);
  					}
  				}
  
  			}
  
  			switch (alt57) {
  				case 1 :
  					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:549:9: boolean_key
  					{
  					pushFollow(FOLLOW_boolean_key_in_primitiveType2814);
  					boolean_key();
  					state._fsp--;
  					if (state.failed) return;
  					}
  					break;
  				case 2 :
  					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:550:7: char_key
  					{
  					pushFollow(FOLLOW_char_key_in_primitiveType2822);
  					char_key();
  					state._fsp--;
  					if (state.failed) return;
  					}
  					break;
  				case 3 :
  					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:551:7: byte_key
  					{
  					pushFollow(FOLLOW_byte_key_in_primitiveType2830);
  					byte_key();
  					state._fsp--;
  					if (state.failed) return;
  					}
  					break;
  				case 4 :
  					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:552:7: short_key
  					{
  					pushFollow(FOLLOW_short_key_in_primitiveType2838);
  					short_key();
  					state._fsp--;
  					if (state.failed) return;
  					}
  					break;
  				case 5 :
  					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:553:7: int_key
  					{
  					pushFollow(FOLLOW_int_key_in_primitiveType2846);
  					int_key();
  					state._fsp--;
  					if (state.failed) return;
  					}
  					break;
  				case 6 :
  					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:554:7: long_key
  					{
  					pushFollow(FOLLOW_long_key_in_primitiveType2854);
  					long_key();
  					state._fsp--;
  					if (state.failed) return;
  					}
  					break;
  				case 7 :
  					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:555:7: float_key
  					{
  					pushFollow(FOLLOW_float_key_in_primitiveType2862);
  					float_key();
  					state._fsp--;
  					if (state.failed) return;
  					}
  					break;
  				case 8 :
  					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:556:7: double_key
  					{
  					pushFollow(FOLLOW_double_key_in_primitiveType2870);
  					double_key();
  					state._fsp--;
  					if (state.failed) return;
  					}
  					break;
  
  			}
  		}
  
  		catch (RecognitionException re) {
  		    throw re;
  		}
  
  		finally {
  			// do for sure before leaving
  		}
  	}