#!/usr/bin/perl

# The following format means typing
# <thisfilename> afla
# will output the expansion of the specified afla

$src = <<ENDIN;
I would suggest communications go via a suitable IMCA.
IMCA Independent-Mental-Capacity-Advocate

I will introduce personal four letter abbreviations (PFLA) thus:
PFLA Personal-Four-Letter-Abbreviation

In this document I shall capitalise. Later, where no ambiguity
with pre-existing common English words exists, I will use lowercase,
Title Case, camelCase with leading lowercase and CamelCase with leading
uppercase as appropriate to communicate my meaning. YALC ad YALT
YALC You-are-Advised-to-Learn-Carefully
YALC You-are-Advised-to-Learn-Thoroughly

If necessary, I will state CCOP.
CCOP Character-based-Communications-Only-Please
and you are expected to be able to use an appropriate means to communicate.

Please note that IMIC is no excuse, that is, ICNX.
IMIC Ignorance-of-Modern-Internet-Conventions
ICNX Ignorance-of-modern-Conventions-is-No-Excuse

Furthermore, INNX.
INNX Ignorance-of-proper-Netiquette-is-No-Excuse

From now on, I will communicate according to a policy of NMCC
NMCC Near-Minimal-Computational-Complexity

You are advised that four ASCII characters may fit uncompressed
into a single 32bit integer register, and that if written big endian
(google: big endian) then lexicographic ordering is equivalent
to unsigned integer ordering, which is implemented in hardware
on any standard 32bit processor such as ARM, ia32 or amd64.

I use a system I call Mental Computation internally, and my body's
nervous system has been systematically trained to apply Neurological
Computation methods and to follow instructions. If my ability to 
instruct my body is disrupted, for example by medication, my body
will follow the last authenticated instructions until contact is resumed.
If a mortal threat is perceived, a state of high alert will be entered.
In such a state, only I can order my body not to defend itself.
If I do not give such an order, and I perceive myself to be attacked,
my body has been instructed to defend itself using any avaible means,
without consideration for the safety of others save for those I consider
friends. If you make yourself an enemy, you make yourself an enemy.
If you attack, I will consider a state of war to exist. You make take
this notification as a CDOW between myself and those who are deemed
to be attacking me and thus causing the state of war.
CDOW Conditional-Declaration-Of-War

Now, 

Where standard abbreviations or conventions exist, I may use them, 
and I may briefly refer to them. You are advised to use google.

Where my claims are supported by mathematics, logic, or science
I trust, I will reference the literature. If I am certain to my
satisfaction that I am correct on a point of logic, I may either
indicate that I am certain, suggest brief justification, or if
appropriate, leave justification to be worked out by the recipient
as an exercise. This is standard practice in mathematics and logic.

Your inability to communicate with me is YPNM.
YPNM Your-Problem-Not-Mine
Your inability to reason logically is YPNM.
Your organisations deficiencies in its management structure are YPNM.
In general, excessive complexity which is NMFP is YPNM.

The following are standard AFLA's
IMHO In-My-Humble-Opinion (std)
TLDR Too-Long-Didnt-Read (std)
RTFM Read-The-F'ing-Manual (std)
AFLA A*-Four-Letter-Acronym

The following are acronyms I may use, and you are advised to learn them.
I will not expand the following in full, save for the brief expansion
given below. The exact meaning is to be inferred by context. If others
use the same AFLA's, it is not certain that the same meaning is intended.
RTFW Read-The-Following-Webpage (expect https?://a.domain.com/page.html)
YPNM Your-Problem-Not-Mine
NMFP Not-My-F*-Problem
RPWT Refusing-due-to-Policy-is-a-Waste-of-my-Time
IMWT Inefficient-Management-is-a-Waste-of-my-Time
MFYP Management-Failures-are-Your-Problem (not mine)
CNAR Communications-Not-As-Requested
ICFX Invalid-Communication-Format-Exception
ELAX Employee-Lacks-Authority-Exception
SSNT Simple-Solution-Not-Taken
NIMI Not-In-My-Interests
ANXX ANXiety-Exception
XCPX Excessive-Complexity-Exception
YLMC You-Lack-Mental-Capacity (IMHO)
ILMC I-Lack-Mental-Capacity (IMHO)
LQNA Last-Query-Not-Answered
LANS Last-Answer-Not-Satisfactory
LALX Last-Answer-caused-Logic-Exception (failed logical sanity check)
YDNK You-Dont-Need-to-Know
YHIE You-Have-Insufficient-Evidence
YLCD You-Lack-mental-Capacity-to-Decide
YDIE Your-Decision-was-In-Error
YHNO You-Have-No-logical-Option
YNSO You-have-No-Sensible-Option
YAIE You-Are-In-Error
IWUT I-Was-Unavailable-at-the-Time
ICNC I-Could-Not-Communicate (my intent)
MCBF Medication-Caused-Brain-Failure (transient logical errors caused)
MCBD Medication-Caused-Brain-Damage (permanent source of logical errors)
IHNT I-Have-No-Time (or insufficient time to service your request)
TIBO There-Is-a-Better-Option
YFRB You-Failed-to-Recognise-Better-option
YFTB You-Failed-to-Take-Better-option
DNFW Does-Not-F*-Work
YDNU You-Do-Not-Understand
IDNU I-Do-Not-Understand
YCNU You-Can-Not-Understand
YFTU You-Fail-To-Understand
ENDIN

$r = "[A-Z]{4}";
%a = ();
for (split "\n", $src) {
if(/^($r) (.*)$/) { $a{$1}=$2 };
}
for $a (@ARGV) {
$a=uc($a);
if($a{$a}) { print "$a $a{$a}\n"; }
else { print("Error: $a not recognised.\n"); }
}