

%
%  Type specification for IDENTIFIER-NUMEX-TIMEX grammar
%  author: Jakub Piskorski
%  last modification: September 2016
%

%
% Types for basic processing components
%

%
% scanner
%

letter := [TYPE,SUBTYPE,SURFACE]
digit := [TYPE,SUBTYPE,SURFACE] 
sym := [TYPE,SUBTYPE,SURFACE]
separator := [TYPE,SUBTYPE,SURFACE]
other := [TYPE,SUBTYPE,SURFACE]



%
% tokenizers
%

basic-token := [SURFACE]
 
token := [TYPE,SURFACE]

% 
% gazetteer 
%

% new types for the gazetteeer 
 
gaz_month := [GSUBTYPE,SURFACE,G_LEMMA,G_NUM_BASE,G_LANG]
gaz_currency := [GSUBTYPE,SURFACE,G_LEMMA,G_LANG]
gaz_numberword := [SURFACE,G_LEMMA,G_VAL,G_LANG]
gaz_measurement := [SURFACE,G_LEMMA,G_M_TYPE,G_M_UNIT,G_LANG]
gaz_ordinal	:= [SURFACE,G_VAL,G_LANG]
gaz_period	:= [G_YEAR_START,G_YEAR_END,SURFACE,G_LANG]
gaz_time := [G_TIME_NORM,SURFACE]
gaz_age := [G_VAL,SURFACE,G_LANG]
gaz_age_trigger := [SURFACE,G_LANG] 


%
% types for IDENTIFIERS
%

ip_address := [SURFACE,TYPE]
email_address := [SURFACE,TYPE,USER_NAME,DOMAIN]
credit_card_number := [SURFACE,TYPE,ISSUER]
coordinate := [SURFACE,TYPE,SUBTYPE,DEGREE,MINUTE,SECOND,DIRECTION]
phone-number := [SURFACE,TYPE,PREFIX,NUMBER]
url := [SURFACE,TYPE,PROTOCOL,DOMAIN]
date := [TYPE,DAY,MONTH,YEAR]
vat-number := [TYPE,SURFACE,COUNTRY,NUMBER]
banking-identity := [TYPE,SURFACE,SUBTYPE,COUNTRY,CHECK_DIGITS,BBAN]
social-media-identity := [SURFACE,TYPE,SUBTYPE,NAME]

facility := [TYPE,SURFACE]


%
% types for NUMEX
%

currency-expression := [TYPE,AMOUNT,MAGNITUDE,CURRENCY]
measurement-expression := [TYPE,AMOUNT,MAGNITUDE,UNIT]
numerical-expression := [TYPE,AMOUNT,MAGNITUDE]

%
% types for NUMEX
%

numex := [TYPE,SUBTYPE,UNIT,VALUE]
numex_span := [TYPE,SUBTYPE,UNIT,VALUE,VALUE_MAX]
timex := [TYPE,YEAR,MONTH,DAY,HOUR,MINUTE,SECOND]
timex_span := [TYPE,YEAR,MONTH,DAY,HOUR,MINUTE,SECOND,YEAR_END,MONTH_END,DAY_END,HOUR_END,MINUTE_END,SECOND_END]


%
% shared task specific
%                   

gazetteer := [GTYPE,ID,NORM]     
shared_out := [TYPE,SURFACE,BASE,ID,ORIGIN]						