# deduce-others - DEDUZ SIGLAS E NOMES PROPRIOS BEGIN { # CONSTANTES DE VALORES cjminus = "abcdefghijklmnopqrstuvwxyzàáâãçéêíóôõúü" cjmaius = "ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÇÉÊÍÓÔÕÚÜ" # CONSTANTES DE FORMATO PADRAO capit = "[" cjmaius "][" cjminus "]*" sigla1 = "(" capit ")+([-](" capit ")+)*" # ex. Detran, CPqD, CNPq, PFL-ES, EUA sigla2 = "(" cjmaius "[.])+" # ex. J.C., D.O.E sigla = "(" sigla1 "|" sigla2 ")" nomeproprio = capit "(['][" cjminus "]+)?" # ex. Maria, José, Sana'a } ($0 ~ "^" nomeproprio "$") { # nome proprio printf("%s %s %s\n", $0, "npmsn", $0) # masculino singular normal printf("%s %s %s\n", $0, "npfsn", $0) # feminino singular normal printf("%s %s %s\n", $0, "npmpn", $0) # masculino plural normal printf("%s %s %s\n", $0, "npfpn", $0) # feminino plural normal next } ($0 ~ "^" sigla "$") { # sigla propria que nao e' nome proprio printf("%s %s %s\n", $0, "sgpms", $0) # masculina singular printf("%s %s %s\n", $0, "sgpfs", $0) # feminina singular printf("%s %s %s\n", $0, "sgpmp", $0) # masculina plural printf("%s %s %s\n", $0, "sgpfp", $0) # feminina plural next } // { printf("%s\n", $0) } # palavras desconhecidas