[Gramática usada para criar o PAPEL 3.2 [Hugo Gonçalo Oliveira, CISUC/Linguateca 2012 [Regras para a detecção de relações de Parte em definições de nomes [Permite ainda detectar também algumas relações de Hiperonímia > ../terminais.txt > ../uteis.txt > ../padroes_parte.txt > ../cabecas_vazias.txt [------------------------- Regras de alto nível -------------------------] RAIZ ::= PADRAO_INICIO RAIZ ::= PADRAO_INICIO <&> QUALQUERCOISA RAIZ ::= QUALQUERCOISA <&> PADRAO RAIZ ::= QUALQUERCOISA <&> PADRAO <&> QUALQUERCOISA [------------------------- Padrões PARTE -------------------------] [se ocorrerem dois padrões: PADRAO_INICIO ::= PADRAO_INICIO <&> PADRAO PADRAO_INICIO ::= PADRAO_INICIO <&> QUALQUERCOISA <&> PADRAO PADRAO_INICIO ::= PADRAO PADRAO_INICIO ::= HIPERONIMO_MODIFICADO <&> PADRAO_PARTE PADRAO_INICIO ::= HIPERONIMO_MODIFICADO <&> VIRG <&> PADRAO_PARTE [2011.08.24 -- passou para MATERIAL_DE [PADRAO_INICIO ::= estrutura <&> de <&> SN_PARTE PADRAO ::= PADRAO_PARTE [se ocorrerem dois padrões: PADRAO ::= PADRAO <&> PADRAO PADRAO ::= PADRAO <&> QUALQUERCOISA <&> PADRAO PADRAO_PARTE ::= PADRAO_CONSTITUIDO <&> ENUM_PARTE [estes indicam a inversa: estão aqui porque sao muito parecidos e só pode ocorrer um! PADRAO_PARTE ::= PADRAO_DQ_SER_CONSTITUIDO <&> ENUM_TEM_PARTES [------------------------- Padrões TEM_PARTE -------------------------] 100 # PADRAO_INICIO ::= PADRAO_TEM_PARTE <&> ENUM_TEM_PARTES [PADRAO ::= QUALQUERCOISA <&> PADRAO_TEM_PARTE <&> ENUM_TEM_PARTES PADRAO_INICIO ::= HIPERONIMO_MODIFICADO <&> PADRAO_TEM_PARTE <&> ENUM_TEM_PARTES PADRAO_TEM_PARTE ::= PARTE <&> DE PADRAO_TEM_PARTE ::= PARTE <&> DE <&> LADO <&> DE [uma das cem partes de X PADRAO_TEM_PARTE ::= QUANT <&> DE <&> QUANT <&> partes <&> DE [adicionada 2011.08.25 PADRAO_TEM_PARTE ::= PECA <&> DE_O PADRAO_TEM_PARTE ::= PECA <&> DE_A PADRAO_TEM_PARTE ::= ADJ_GENERICO <&> PECA <&> DE_O PADRAO_TEM_PARTE ::= ADJ_GENERICO <&> PECA <&> DE_A [------------------------- Regras -------------------------] ENUM_PARTE ::= SN_PARTE <&> VIRG <&> ENUM_PARTE ENUM_PARTE ::= SN_PARTE <&> CONJ <&> SN_PARTE ENUM_PARTE ::= SN_PARTE SN_PARTE ::= PARTE_DE SN_PARTE ::= PRE_RELACIONADO <&> PARTE_DE SN_PARTE ::= DET <&> SN_PARTE SN_PARTE ::= DE <&> SN_PARTE SN_PARTE ::= TUDO <&> SN_PARTE SN_PARTE ::= PRON_POSS <&> SN_PARTE SN_PARTE ::= ADJ_GENERICO <&> SN_PARTE SN_PARTE ::= percentagem <&> SN_PARTE SN_PARTE ::= MESMO <&> SN_PARTE ENUM_TEM_PARTES ::= SN_TEM_PARTE <&> VIRG <&> ENUM_TEM_PARTES ENUM_TEM_PARTES ::= SN_TEM_PARTE <&> CONJ <&> SN_TEM_PARTE ENUM_TEM_PARTES ::= SN_TEM_PARTE SN_TEM_PARTE ::= TEM_PARTE SN_TEM_PARTE ::= ADJ_GENERICO <&> TEM_PARTE 100 # SN_TEM_PARTE ::= CONJUNTO <&> DE <&> TEM_PARTE 100 # SN_TEM_PARTE ::= GRUPO <&> DE <&> TEM_PARTE 100 # SN_TEM_PARTE ::= FAMILIA <&> DE <&> TEM_PARTE 100 # SN_TEM_PARTE ::= CLASSE <&> DE <&> TEM_PARTE 100 # SN_TEM_PARTE ::= membros <&> DE <&> TEM_PARTE SN_TEM_PARTE ::= DET <&> SN_TEM_PARTE SN_TEM_PARTE ::= DE <&> SN_TEM_PARTE SN_TEM_PARTE ::= MESMO <&> SN_TEM_PARTE ENUM_NAO ::= SN_NAO_TEM_PARTE <&> VIRG <&> ENUM_NAO ENUM_NAO ::= SN_NAO_TEM_PARTE <&> CONJ <&> SN_NAO_TEM_PARTE ENUM_NAO ::= SN_NAO_TEM_PARTE SN_NAO_TEM_PARTE ::= NAO_TEM_PARTE SN_NAO_TEM_PARTE ::= ADJ_GENERICO <&> NAO_TEM_PARTE SN_NAO_TEM_PARTE ::= DET <&> SN_NAO_TEM_PARTE SN_NAO_TEM_PARTE ::= CONJUNTO <&> DE <&> SN_NAO_TEM_PARTE SN_NAO_TEM_PARTE ::= GRUPO <&> DE <&> SN_NAO_TEM_PARTE SN_NAO_TEM_PARTE ::= CLASSE <&> DE <&> SN_NAO_TEM_PARTE SN_NAO_TEM_PARTE ::= DE <&> SN_NAO_TEM_PARTE SN_NAO_TEM_PARTE ::= MESMO <&> SN_NAO_TEM_PARTE [este S_PREP fica aqui porque tem depende do SN_PARTE desta gramática S_PREP ::= PREP <&> DET <&> ASSOC <&> de <&> SN_PARTE <&> com <&> SN_PARTE [--------------- Terminais --------------------] PARTE_DE ::= ENTIDADE_COMPLEXA TEM_PARTE ::= ENTIDADE_COMPLEXA NAO_TEM_PARTE ::= ENTIDADE_COMPLEXA