
basic-token := [SURFACE]

token := [TYPE,SURFACE]

gazetteer := [GTYPE,SURFACE,GNUMBER,AMOUNT,SLOTTYPE,NONUM,CONTEXT,CTX-DEPENDENT,GRAN,OP,REF_TYPE,QUANT,NORMALIZED,SEM]

person := [NAME,TYPE,FIRST_NAME,LAST_NAME,INITIAL1,INITIAL2,SEX,POSITION,TITLE,RELIABLE,RULE]

person_group := [NAME,TYPE,QUANTIFIER, AMOUNT,RULE, NUMBER]

quantity := [NAME,QUANTIFIER,TYPE,AMOUNT,RULE]

position := [STRING]

pattern :=  [PTYPE,SLOTTYPE,NUMBER,GENDER,NUMBER_AGR,GENDER_AGR,MEANS,NONUM,CONTEXT,RULE] 
%cpattern :=  [PTYPE,SLOTTYPE,NUMBER,GENDER,MEANS,NONUM,CONTEXT] 



%added by Vanni Zavarella on September, 2008
% these are the types used for intermediate annotation of temporal expressions, they are fed to a timex normalizer to return resolved timex values
time_span:= [MOD, GRAN, QUANT, RULE]
fuzzy_time_span:= [GRAN, RULE]
period := [DIR, REF_TYPE, MOD, GRAN, QUANT, RULE]
duration := [MOD, GRAN, QUANT, RULE]
date := [YEAR, MONTH, DAY_OF_WEEK, DAY_OF_MONTH, HOUR, MINUTE, SECOND, DAY_PERIOD, TIME_ZONE_CODE,TIME_ZONE_OFFSET, GRAN, RULE]
numerical_date := [YEAR, MONTH, DAY_OF_WEEK, DAY_OF_MONTH, HOUR, MINUTE, SECOND, DAY_PERIOD, TIME_ZONE_CODE, TIME_ZONE_OFFSET, FULL_DATE, FORMAT, GRAN, RULE]
offset := [MOD, GRAN, QUANT, OP, REF_TYPE, TIME_OF_DAY, RULE]
hour := [HOUR, MINUTE, SECOND, DAY_PERIOD, TIME_ZONE_CODE, TIME_ZONE_OFFSET, MOD, RULE]
relative_offset := [MOD, MIS_GRAN, GRAN, VALUE, TIME_OF_DAY, OP, REF_TYPE, RULE]
absolute_time := [DECADE, YEAR, SEASON, MONTH, DAY_OF_WEEK, DAY_OF_MONTH, TIME_OF_DAY, HOUR, MINUTE, SECOND, DAY_PERIOD, TIME_ZONE_CODE,TIME_ZONE_OFFSET, GRAN, MOD, RULE]
relative_time := [SEASON, MONTH, DAY_OF_WEEK, DAY_OF_MONTH, TIME_OF_DAY, HOUR, MINUTE, SECOND, DAY_PERIOD, TIME_ZONE_CODE,TIME_ZONE_OFFSET, GRAN, MIS_GRAN, MOD, RULE]
time := [DECADE, YEAR, SEASON, MONTH, DAY_OF_WEEK, DAY_OF_MONTH, HOUR, MINUTE, SECOND, DAY_PERIOD, TIME_ZONE_CODE,TIME_ZONE_OFFSET, MOD, RULE]
time_set := [FREQ, QUANT, MOD, GRAN, RULE, VALUE]
fuzzy_timex := [GRAN,DIR,REF_TYPE,RULE]
compound_timex := [ GRAN, MIS_GRAN, RULE]
range := [YEAR, SEASON, MONTH, DAY_OF_WEEK, DAY_OF_MONTH, TIME_OF_DAY, HOUR, MINUTE, SECOND, DAY_PERIOD, TIME_ZONE_CODE,TIME_ZONE_OFFSET, GRAN,RULE]

	     
% this generic type is meant to wrap all the time related types above so it features the union of all of the attributes
timex := [SUBTYPE, MOD, GRAN, MIS_GRAN, QUANT, OP, RULE, DIR, REF_TYPE, DECADE, YEAR, SEASON, MONTH, DAY_OF_WEEK, DAY_OF_MONTH, HOUR, MINUTE, SECOND, DAY_PERIOD, TIME_ZONE_CODE,TIME_ZONE_OFFSET, FULL_DATE, TIME_OF_DAY, FORMAT, FREQ, VALUE]		 
	
		
% *************
entity := [SURFACE]


%CONTEXT added by Hristo Tanev on 1 Feb. 2008, it is about the destination of the pattern with which the entity was extracted
actor := [TYPE, ID, NAME, AMOUNT, QUANTIFIER,RULE, CONTEXT, MEANS]
wounded := [TYPE, ID, NAME, AMOUNT, QUANTIFIER,RULE, CONTEXT, MEANS]
dead := [TYPE, ID, NAME, AMOUNT, QUANTIFIER,RULE, CONTEXT, MEANS]
%released added by Hristo Tanev on 26/11/2007
released := [TYPE, ID, NAME, AMOUNT, QUANTIFIER,RULE, CONTEXT, MEANS]
kidnapped := [TYPE, ID, NAME, AMOUNT, QUANTIFIER,RULE, CONTEXT, MEANS]
arrested := [TYPE, ID, NAME, AMOUNT, QUANTIFIER,RULE, CONTEXT, MEANS]
video :=[TYPE, RULE]
fakepattern := [PTYPE]
%meeting := [F_FIRST_NAME,S_FIRST_NAME,F_LAST_NAME,S_LAST_NAME] 


noun:=[BASE,SURFACE,TYPE,GENDER,NUMBER,SEM_1,SEM_2, CASE]
verb:=[BASE,SURFACE,TYPE,VFORM,TENSE,PERSON,NUMBER,GENDER,SEM_1,SEM_2,ASPECT]
adjective:=[BASE,SURFACE,TYPE,DEGREE,GENDER,NUMBER,CASE]
pronoun:=[BASE,SURFACE,TYPE,PERSON,GENDER,NUMBER,CASE]
determiner:=[BASE,SURFACE,TYPE,PERSON,NUMBER,GENDER,CASE]
article:=[BASE,SURFACE,TYPE,GENDER,NUMBER,CASE]
adverb:=[BASE,SURFACE,TYPE,DEGREE]
adposition:=[BASE,SURFACE,TYPE,CASE,GENDER,NUMBER]
conjunction:=[BASE,SURFACE,TYPE,COORD_TYPE]
numeral:=[BASE,SURFACE,TYPE,GENDER,NUMBER, CASE]
interjection:=[BASE,SURFACE,TYPE]
residual:=[BASE,SURFACE,TYPE]
abbreviation:=[BASE,SURFACE,SYNTACTIC_TYPE]
particle:=[BASE,SURFACE,TYPE]
unknown:=[BASE,SURFACE]