2:- module(abbreviations,[iAbb/2,tAbb/2]). 3 4/* ---------------------------------------------------------------------------------- 5 Transitive abbreviations (usually not at the end of a sentence) 6---------------------------------------------------------------------------------- */ 7 8tAbb(L,A):- title(L,A). 9tAbb(L,A):- coord(L,A). 10 11 12/* ---------------------------------------------------------------------------------- 13 Intransitive abbreviations 14---------------------------------------------------------------------------------- */ 15 16iAbb(L,A):- abb(L,A). 17 18 19/* ---------------------------------------------------------------------------------- 20 Titles 21---------------------------------------------------------------------------------- */ 22 23title(en, "Mr"). % sg 24title(en, "Messrs"). % pl 25title(en, "Mrs"). % sg 26title(en, "Mmes"). % pl 27title(en, "Ms"). % 28title(en, "Dr"). % sg 29title(en, "Drs"). % pl 30title(en, "Prof"). % 31title(en, "Sen"). % 32title(en, "Gov"). % 33title(en, "St"). % Saint 34title(en, "Rep"). % 35title(en, "Gen"). % 36title(en, "Lt"). % Lieutenant 37title(en, "Lieut"). % Lieutenant 38title(en, "Col"). % Colonel 39title(en, "Adm"). % Admiral 40title(en, "Cpt"). % Captain 41title(en, "Rev"). % Reverend 42title(en, "Hon"). % Honoroble 43title(en, "Capt"). % 44title(en, "Cmdr"). % 45title(en, "Chapln"). % 46title(en, "Mt"). % Mount 47 48 49/* ---------------------------------------------------------------------------------- 50 Coordinators 51---------------------------------------------------------------------------------- */ 52 53coord(en, "v"). % versus 54coord(en, "vs"). % versus 55coord(en, "no"). % number 56coord(en, "No"). % number 57coord(en, "Cie"). % ?? 58coord(en, "a.k.a"). % also known as 59coord(en, "e.g"). % exempli gratia (for example) 60 61 62/* ---------------------------------------------------------------------------------- 63 Abbreviations 64---------------------------------------------------------------------------------- */ 65 66abb(Codes):- member(46,Codes), member(X,Codes), alpha(X), !. 67abb(Abb):- option('--language',Language), abb(Language,Abb), !. 68 69abb(en, "proC"). % Corp 70abb(en, "cnI"). % Inc 71abb(en, "oC"). % Co 72abb(en, "dtL"). % Ltd 73abb(en, "rJ"). % Jr 74abb(en, "rS"). % Sr 75abb(en, "soC"). % Cos 76abb(en, "sorB"). % Bros 77abb(en, "cte"). % etc