# =============================================================================
# File:    special_words.txt
# Author:  Aaron Hosford
# Created: 7/19/2011
#
# Copyright (c) Aaron Hosford 2011
# =============================================================================
#
# Description:
#
#   TODO: Write an explanation & provide examples.
#   TODO: Write a parser for this file.
#
#   Syntax:
#       category(comma,separated,properties): word word word
#
# =============================================================================
#
# Modification History:
#
#   7/18/2011:
#     - Created this file.
#
# =============================================================================


# ------------------------------- PUNCTUATION ---------------------------------

punctuation(period): .
punctuation(exclamation_mark): !
punctuation(question_mark): ?
punctuation(colon): :
punctuation(semicolon): ;
punctuation(comma): ,
punctuation(open,paren): (
punctuation(close,paren): )
punctuation(open,square): [
punctuation(close,square): ]
punctuation(open,angle): <
punctuation(close,angle): >
punctuation(dash,short): -
punctuation(dash,long): --
punctuation(ellipses): .. ... ....
punctuation(open,single,quote): ' `
punctuation(close,single,quote): '
punctuation(open,double,quote): "
punctuation(close,double,quote): "


# -------------------------------- LETTERS ------------------------------------

letter(vowel): a e i o u y
letter(consonant): b c d f g h j k l m n p q r s t v w x y z


# ---------------------------------- OWNERSHIP --------------------------------

ownership: 's '


# ------------------------------ NEGATIVE ADVERBS -----------------------------

#adverb(negative,degree): 
adverb(negative,contrastive,direct): never
adverb(negative,direct): never


# ------------------------------ CONJUNCTIONS ---------------------------------

conjunction(and): & and
conjunction(or): or
conjunction(nor): nor
conjunction(but): but
conjunction(not): not never


# ------------------------------- DETERMINERS ---------------------------------

# TODO: Where to words like "only", "extra", "such", and "other" belong? They are like determiners but not.
determiner(singular): a an another any each every her his its my our some that the their this ye your
determiner(singular,specific): each every her his its my our some that the their this ye your
determiner(singular,negative): no
determiner(mass): all any extra her his its less little more most my our some that the their this ye your
determiner(mass,negative): no
determiner(plural): all any both extra few fewer her his its more most my our several some the their these those ye your
determiner(plural,negative): no

determiner(question): what which
determiner(question,ownership): whose

determiner(conjunction,and): both
determiner(conjunction,or): either
determiner(conjunction,nor): neither


# ---------------------------------- NUMBERS ----------------------------------

number(zero,digit): 0
number(zero): zero

number(zero,digit,ordinal): 0th
number(zero,ordinal): zeroth

number(one,digit): 1
number(one): one

number(one,digit,ordinal): 1st
number(one,ordinal): first

number(a): a an


# -------------------------------- PHRASE INDICATORS---------------------------

# TODO: Should this be a pronoun instead?

# Examples:
#   [I know] that [the dog ate the bone]

phrase_indicator(that): that


# --------------------------------- PRONOUNS ----------------------------------

# TODO: "so" is a pronoun that can only act as a verb cast.

pronoun(personal,first,singular,subject): I
pronoun(personal,first,singular,non_subject): me
pronoun(personal,first,plural,subject): we
pronoun(personal,first,plural,non_subject): us 's
pronoun(personal,second,singular,plural,subject,non_subject): you ya yah ye
pronoun(personal,second,plural,subject,non_subject): yall y'all
pronoun(personal,third,singular,subject,male): he
pronoun(personal,third,singular,non_subject,male): him
pronoun(personal,third,singular,subject,female): she
pronoun(personal,third,singular,non_subject,female): her
pronoun(personal,third,singular,subject): s/he he/she they # You may not like it, but they & them are also frequently used as singular personal when the gender is unknown.
pronoun(personal,third,singular,non_subject): s/him him/her them
pronoun(impersonal,third,singular,subject,non_subject): it
pronoun(personal,impersonal,third,plural,subject): they
pronoun(personal,impersonal,third,plural,non_subject): them

pronoun(personal,third,singular,subject,object,target,agent): anybody anyone everybody everyone somebody someone
pronoun(personal,third,singular,subject,object,target,agent,negative): nobody
pronoun(personal,impersonal,third,singular,subject,object,target,agent): hers his its mine ours theirs yours
pronoun(personal,impersonal,third,plural,subject,object,target,agent): hers his its mine ours theirs these yours
pronoun(impersonal,third,singular,subject,object,target,agent): anything everything something this
pronoun(impersonal,third,singular,subject,object,target,agent,negative): nothing
pronoun(impersonal,third,singular,subject,that_subject): that # This is special because we don't allow 'that' to be the subject of a restriction
pronoun(impersonal,third,singular,object,target,agent): that
pronoun(impersonal,third,plural,mass,subject,object,target,agent): hers his its mine ours theirs yours

# TODO: Integrate these. The fewer redundancies we have, the faster the parsing is, so avoid duplications.
pronoun(personal,impersonal,third,singular,subject,object,target,agent,quantifier): another any each either one
pronoun(personal,impersonal,third,singular,subject,object,target,agent,quantifier,negative): none
pronoun(personal,impersonal,third,singular,subject,object,target,agent,negative): neither
pronoun(impersonal,third,mass,subject,object,target,agent,quantifier): all any extra less little more most much plenty some
pronoun(impersonal,third,mass,subject,object,target,agent,quantifier,negative): none
pronoun(personal,impersonal,third,plural,subject,object,target,agent,quantifier): all any both either few less many more most much others plenty several some those
pronoun(personal,impersonal,third,plural,subject,object,target,agent,quantifier,negative): none

pronoun(personal,first,singular,non_subject): myself
pronoun(personal,first,plural,non_subject): ourselves
pronoun(personal,second,singular,non_subject): yourself
pronoun(personal,second,plural,non_subject): yourselves
pronoun(personal,third,singular,non_subject,male): himself
pronoun(personal,third,singular,non_subject,female): herself
pronoun(personal,third,singular,non_subject): him/herself
pronoun(personal,third,singular,non_subject): themself
pronoun(impersonal,third,singular,non_subject): itself
pronoun(personal,impersonal,third,plural,non_subject): themselves

pronoun(impersonal,third,singular,time): now later then today tomorrow tonight once sometime again
pronoun(impersonal,third,plural,time): twice thrice nowadays sometimes

pronoun(impersonal,third,singular,place): anywhere away everywhere here someplace somewhere somewheres there
pronoun(impersonal,third,singular,place,negative): nowhere nowheres

pronoun(personal,third,singular,plural,subject,question,restriction): who
pronoun(personal,third,singular,plural,non_subject,question,restriction): who whom
pronoun(personal,impersonal,third,singular,plural,subject,object,target,agent,question): whose
pronoun(impersonal,third,mass,subject,object,target,agent,question): whose
pronoun(impersonal,third,singular,subject,non_subject,question): what which
pronoun(impersonal,third,singular,subject,non_subject,restriction): which
pronoun(impersonal,third,singular,subject,restriction,that_subject): that # This is special because we don't allow 'that' to be the subject of a restriction
pronoun(impersonal,third,singular,object,target,agent,restriction): that so  # so acts as a placeholder for a clause, as in "I told you so"
pronoun(impersonal,time,question,restriction): when
pronoun(impersonal,place,question,restriction): where
pronoun(impersonal,possession,question,restriction): whose
pronoun(impersonal,causal,cause,question,restriction): why
pronoun(impersonal,causal,effect,question,restriction): what
pronoun(impersonal,style,question): how
pronoun(impersonal,degree,question): how
pronoun(impersonal,truth,question): whether if


# ----------------------------- PREPOSITIONS ----------------------------------

preposition(agent,needs_complement): by

preposition(selection,needs_complement): of besides like

preposition(possession,needs_complement): with

preposition(purpose,needs_complement): for

preposition(target,needs_complement): to

preposition(intention,takes_complement): to

# TODO: What to do with "despite"??
preposition(causal,cause,unconditional,needs_complement): because since from
preposition(causal,cause,conditional,needs_complement): if
preposition(causal,effect,unconditional,takes_complement): so
preposition(causal,effect,unconditional,needs_complement): therefore whence

preposition(time,needs_complement): after by for
preposition(time,takes_complement): over since whenever
preposition(time,outer,needs_complement): as up
preposition(time,outer,takes_complement): back ago
preposition(time,inner,needs_complement): of until about around at before in while
preposition(time,inner,takes_complement): before during when

preposition(place,needs_complement): about after against at before beside into onto under
preposition(place,takes_complement): aboard above around behind beneath beyond throughout
preposition(place,outer,takes_complement): abreast across away down in inside near off over out outside underneath through up
preposition(place,outer,needs_complement): on
preposition(place,inner,needs_complement): to from of by

preposition(state): down in on off out over through up
preposition(state,needs_complement): at

preposition(style,needs_complement): as like by

preposition(preference,needs_complement): than


# ---------------------------- COMMAND FORM ------------------------------------

verb(aux,command_form,future_potential): go


# ------------------------------ GET FORMS -------------------------------------

verb(aux,cop,get_form,future_potential): get
verb(aux,cop,get_form,present_potential): got

verb(aux,cop,get_form,present,singular,first): get
verb(aux,cop,get_form,present,singular,second): get
verb(aux,cop,get_form,present,singular,third): gets
verb(aux,cop,get_form,present,plural,first,second,third): get

verb(aux,cop,get_form,past,singular,first,third): got
verb(aux,cop,get_form,past,singular,second): got
verb(aux,cop,get_form,past,plural,first,second,third): got

verb(aux,cop,get_form,ongoing): getting

verb(aux,cop,get_form,accomplished): got gotten


# ------------------------------ KEEP FORMS ------------------------------------

verb(aux,cop,get_form,future_potential): keep
verb(aux,cop,get_form,present_potential): kept

verb(aux,cop,get_form,present,singular,first): keep
verb(aux,cop,get_form,present,singular,second): keep
verb(aux,cop,get_form,present,singular,third): keeps
verb(aux,cop,get_form,present,plural,first,second,third): keep

verb(aux,cop,get_form,past,singular,first,third): kept
verb(aux,cop,get_form,past,singular,second): kept
verb(aux,cop,get_form,past,plural,first,second,third): kept

verb(aux,cop,get_form,ongoing): keeping

verb(aux,cop,get_form,accomplished): kept


# ------------------------------ BE FORMS -------------------------------------

verb(aux,cop,be_form,future_potential): be
verb(aux,cop,be_form,present_potential): were
verb(aux,cop,be_form,negative,present_potential): weren't

verb(aux,cop,be_form,present,singular,first): am
verb(aux,cop,be_form,present,singular,second): are
verb(aux,cop,be_form,present,singular,third): is
verb(aux,cop,be_form,present,plural,first,second,third): are

verb(aux,cop,be_form,negative,not,present,singular,first): ain't
verb(aux,cop,be_form,negative,not,present,singular,second): aren't
verb(aux,cop,be_form,negative,not,present,singular,third): isn't
verb(aux,cop,be_form,negative,not,present,plural,first,second,third): aren't

verb(aux,cop,be_form,contraction,present,singular,first): 'm
verb(aux,cop,be_form,contraction,present,singular,second): 're
verb(aux,cop,be_form,contraction,present,singular,third): 's
verb(aux,cop,be_form,contraction,present,plural,first,second,third): 're

verb(aux,cop,be_form,past,singular,first,third): was
verb(aux,cop,be_form,past,singular,second): were
verb(aux,cop,be_form,past,plural,first,second,third): were

verb(aux,cop,be_form,negative,not,past,singular,first,third): wasn't
verb(aux,cop,be_form,negative,not,past,singular,second): weren't
verb(aux,cop,be_form,negative,not,past,plural,first,second,third): weren't

verb(aux,cop,be_form,ongoing): being

verb(aux,cop,be_form,accomplished): been


# ------------------------------- HAVE FORMS ----------------------------------

verb(aux,have_form,future_potential): have
verb(aux,have_form,present_potential): had

verb(aux,have_form,present,singular,first,second): have
verb(aux,have_form,present,singular,third): has
verb(aux,have_form,present,plural,first,second,third): have

verb(aux,have_form,negative,not,present,singular,first,second): haven't
verb(aux,have_form,negative,not,present,singular,third): hasn't
verb(aux,have_form,negative,not,present,plural,first,second,third): haven't

verb(aux,have_form,contraction,present,singular,first,second): 've
verb(aux,have_form,contraction,present,singular,third): 's
verb(aux,have_form,contraction,present,plural,first,second,third): 've

verb(aux,have_form,past,singular,plural,first,second,third): had

verb(aux,have_form,negative,not,past,singular,plural,first,second,third): hadn't

verb(aux,have_form,ongoing): having

verb(aux,have_form,accomplished): # No accomplished form for the accomplishment have; only for the ownership have


# ------------------------------- DO FORMS -----------------------------------

# do_form: Emphasis and negation of verbs. Examples: "do eat it", "do come down", the first 'do' in "don't do that"
# verb_cast: Casting of pronouns to verbs. Examples: "do it", "do that", the second 'do' in "don't do that"

verb(aux,do_form,future_potential): do
verb(aux,do_form,present_potential): did

verb(aux,verb_cast,future_potential): do
verb(aux,verb_cast,present_potential): did

verb(aux,do_form,present,singular,first,second): do
verb(aux,do_form,present,singular,third): does
verb(aux,do_form,present,plural,first,second,third): do

verb(aux,verb_cast,present,singular,first,second): do
verb(aux,verb_cast,present,singular,third): does
verb(aux,verb_cast,present,plural,first,second,third): do

verb(aux,do_form,negative,not,present,singular,first,second): don't
verb(aux,do_form,negative,not,present,singular,third): doesn't
verb(aux,do_form,negative,not,present,plural,first,second,third): don't

verb(aux,do_form,past,singular,plural,first,second,third): did

verb(aux,verb_cast,past,singular,plural,first,second,third): did

verb(aux,do_form,negative,not,past,singular,plural,first,second,third): didn't

verb(aux,verb_cast,ongoing): doing # No ongoing form for do_form

verb(aux,verb_cast,accomplished): done # No accomplished form for do_form


# ------------------------------- MODAL FORMS ---------------------------------

verb(aux,modal_form,future_potential): # No future_potential form for modals; potentiality is built in
verb(aux,modal_form,present_potential): # No present_potential form for modals; potentiality is built in

verb(aux,modal_form,present,singular,plural,first,second,third): will shall may must can

verb(aux,modal_form,negative,not,present,singular,plural,first,second,third): won't shan't mustn't can't cannot

verb(aux,modal_form,contraction,present,singular,plural,first,second,third): 'll

verb(aux,modal_form,past,singular,plural,first,second,third): would should might must could

verb(aux,modal_form,negative,not,past,singular,plural,first,second,third): wouldn't shouldn't mightn't mustn't couldn't

verb(aux,modal_form,contraction,past,singular,plural,first,second,third): 'd

verb(aux,modal_form,ongoing): # No ongoing form for modals

verb(aux,modal_form,accomplished): # No accomplished form for modals


# ------------------------------ MENTION WORDS ---------------------------------

noun(mention,object): letter word phrase sentence abbreviation paragraph name expression
noun(mention,object,s_ending): letters words phrases sentences abbreviations paragraphs names expressions singles


