Index: src/CodeGen/OperatorTable.cc
===================================================================
--- src/CodeGen/OperatorTable.cc	(revision 3d2b7bc8ab86d81a629447f35c464695613e0057)
+++ src/CodeGen/OperatorTable.cc	(revision 9853828849ae6cfc8816c786dd035e3969334bcb)
@@ -24,46 +24,46 @@
 	namespace {
 		const OperatorInfo tableValues[] = {
-			{	"?[?]",		"",		"_operator_index",				OT_INDEX			},
-			{	"?{}",		"=",	"_constructor",					OT_CTOR				},
-			{	"^?{}",		"",		"_destructor",					OT_DTOR				},
-			{	"?()",		"",		"_operator_call",				OT_CALL				},
-			{	"?++",		"++",	"_operator_postincr",			OT_POSTFIXASSIGN	},
-			{	"?--",		"--",	"_operator_postdecr",			OT_POSTFIXASSIGN	},
-			{	"*?",		"*",	"_operator_deref",				OT_PREFIX			},
-			{	"+?",		"+",	"_operator_unaryplus",			OT_PREFIX			},
-			{	"-?",		"-",	"_operator_unaryminus",			OT_PREFIX			},
-			{	"~?",		"~",	"_operator_bitnot",				OT_PREFIX			},
-			{	"!?",		"!",	"_operator_lognot",				OT_PREFIX			},
-			{	"++?",		"++",	"_operator_preincr",			OT_PREFIXASSIGN		},
-			{	"--?",		"--",	"_operator_predecr",			OT_PREFIXASSIGN		},
-			{	"?\\?",		"\\",	"_operator_exponential",		OT_INFIX			},
-			{	"?*?",		"*",	"_operator_multiply",			OT_INFIX			},
-			{	"?/?",		"/",	"_operator_divide",				OT_INFIX			},
-			{	"?%?",		"%",	"_operator_modulus",			OT_INFIX			},
-			{	"?+?",		"+",	"_operator_add",				OT_INFIX			},
-			{	"?-?",		"-",	"_operator_subtract",			OT_INFIX			},
-			{	"?<<?",		"<<",	"_operator_shiftleft",			OT_INFIX			},
-			{	"?>>?",		">>",	"_operator_shiftright",			OT_INFIX			},
-			{	"?<?",		"<",	"_operator_less",				OT_INFIX			},
-			{	"?>?",		">",	"_operator_greater",			OT_INFIX			},
-			{	"?<=?",		"<=",	"_operator_lessequal",			OT_INFIX			},
-			{	"?>=?",		">=",	"_operator_greaterequal",		OT_INFIX			},
-			{	"?==?",		"==",	"_operator_equal",				OT_INFIX			},
-			{	"?!=?",		"!=",	"_operator_notequal",			OT_INFIX			},
-			{	"?&?",		"&",	"_operator_bitand",				OT_INFIX			},
-			{	"?^?",		"^",	"_operator_bitxor",				OT_INFIX			},
-			{	"?|?",		"|",	"_operator_bitor",				OT_INFIX			},
-			{	"?=?",		"=",	"_operator_assign",				OT_INFIXASSIGN		},
-			{	"?\\=?",	"\\=",	"_operator_expassign",			OT_INFIXASSIGN		},
-			{	"?*=?",		"*=",	"_operator_multassign",			OT_INFIXASSIGN		},
-			{	"?/=?",		"/=",	"_operator_divassign",			OT_INFIXASSIGN		},
-			{	"?%=?",		"%=",	"_operator_modassign",			OT_INFIXASSIGN		},
-			{	"?+=?",		"+=",	"_operator_addassign",			OT_INFIXASSIGN		},
-			{	"?-=?",		"-=",	"_operator_subassign",			OT_INFIXASSIGN		},
-			{	"?<<=?",	"<<=",	"_operator_shiftleftassign",	OT_INFIXASSIGN		},
-			{	"?>>=?",	">>=",	"_operator_shiftrightassign",	OT_INFIXASSIGN		},
-			{	"?&=?",		"&=",	"_operator_bitandassign",		OT_INFIXASSIGN		},
-			{	"?^=?",		"^=",	"_operator_bitxorassign",		OT_INFIXASSIGN		},
-			{	"?|=?",		"|=",	"_operator_bitorassign",		OT_INFIXASSIGN		},
+			{	"?[?]",   "",     "_operator_index",             "Index",                      OT_INDEX          },
+			{	"?{}",    "=",    "_constructor",                "Constructor",                OT_CTOR           },
+			{	"^?{}",   "",     "_destructor",                 "Destructor",                 OT_DTOR           },
+			{	"?()",    "",     "_operator_call",              "Call Operator",              OT_CALL           },
+			{	"?++",    "++",   "_operator_postincr",          "Postfix Increment",          OT_POSTFIXASSIGN  },
+			{	"?--",    "--",   "_operator_postdecr",          "Postfix Decrement",          OT_POSTFIXASSIGN  },
+			{	"*?",     "*",    "_operator_deref",             "Dereference",                OT_PREFIX         },
+			{	"+?",     "+",    "_operator_unaryplus",         "Plus",                       OT_PREFIX         },
+			{	"-?",     "-",    "_operator_unaryminus",        "Minus",                      OT_PREFIX         },
+			{	"~?",     "~",    "_operator_bitnot",            "Bitwise Not",                OT_PREFIX         },
+			{	"!?",     "!",    "_operator_lognot",            "Logical Not",                OT_PREFIX         },
+			{	"++?",    "++",   "_operator_preincr",           "Prefix Increment",           OT_PREFIXASSIGN   },
+			{	"--?",    "--",   "_operator_predecr",           "Prefix Decrement",           OT_PREFIXASSIGN   },
+			{	"?\\?",   "\\",   "_operator_exponential",       "Exponentiation",             OT_INFIX          },
+			{	"?*?",    "*",    "_operator_multiply",          "Multiplication",             OT_INFIX          },
+			{	"?/?",    "/",    "_operator_divide",            "Division",                   OT_INFIX          },
+			{	"?%?",    "%",    "_operator_modulus",           "Modulo",                     OT_INFIX          },
+			{	"?+?",    "+",    "_operator_add",               "Addition",                   OT_INFIX          },
+			{	"?-?",    "-",    "_operator_subtract",          "Substraction",               OT_INFIX          },
+			{	"?<<?",   "<<",   "_operator_shiftleft",         "Shift Left",                 OT_INFIX          },
+			{	"?>>?",   ">>",   "_operator_shiftright",        "Shift Right",                OT_INFIX          },
+			{	"?<?",    "<",    "_operator_less",              "Less-than",                  OT_INFIX          },
+			{	"?>?",    ">",    "_operator_greater",           "Greater-than",               OT_INFIX          },
+			{	"?<=?",   "<=",   "_operator_lessequal",         "Less-than-or-Equal",         OT_INFIX          },
+			{	"?>=?",   ">=",   "_operator_greaterequal",      "Greater-than-or-Equal",      OT_INFIX          },
+			{	"?==?",   "==",   "_operator_equal",             "Equality",                   OT_INFIX          },
+			{	"?!=?",   "!=",   "_operator_notequal",          "Not-Equal",                  OT_INFIX          },
+			{	"?&?",    "&",    "_operator_bitand",            "Bitwise And",                OT_INFIX          },
+			{	"?^?",    "^",    "_operator_bitxor",            "Bitwise Xor",                OT_INFIX          },
+			{	"?|?",    "|",    "_operator_bitor",             "Bitwise Or",                 OT_INFIX          },
+			{	"?=?",    "=",    "_operator_assign",            "Assignment",                 OT_INFIXASSIGN    },
+			{	"?\\=?",  "\\=",  "_operator_expassign",         "Exponentiation Assignment",  OT_INFIXASSIGN    },
+			{	"?*=?",   "*=",   "_operator_multassign",        "Multiplication Assignment",  OT_INFIXASSIGN    },
+			{	"?/=?",   "/=",   "_operator_divassign",         "Division Assignment",        OT_INFIXASSIGN    },
+			{	"?%=?",   "%=",   "_operator_modassign",         "Modulo Assignment",          OT_INFIXASSIGN    },
+			{	"?+=?",   "+=",   "_operator_addassign",         "Addition Assignment",        OT_INFIXASSIGN    },
+			{	"?-=?",   "-=",   "_operator_subassign",         "Substrction Assignment",     OT_INFIXASSIGN    },
+			{	"?<<=?",  "<<=",  "_operator_shiftleftassign",   "Shift Left Assignment",      OT_INFIXASSIGN    },
+			{	"?>>=?",  ">>=",  "_operator_shiftrightassign",  "Shift Right Assignment",     OT_INFIXASSIGN    },
+			{	"?&=?",   "&=",   "_operator_bitandassign",      "Bitwise And Assignment",     OT_INFIXASSIGN    },
+			{	"?^=?",   "^=",   "_operator_bitxorassign",      "Bitwise Xor Assignment",     OT_INFIXASSIGN    },
+			{	"?|=?",   "|=",   "_operator_bitorassign",       "Bitwise Or Assignment",      OT_INFIXASSIGN    },
 		};
 
@@ -105,4 +105,12 @@
 		OperatorInfo info;
 		return operatorLookup( funcName, info );
+	}
+
+	std::string operatorFriendlyName( const std::string & funcName ) {
+		OperatorInfo info;
+		if( operatorLookup( funcName, info ) ) {
+			return info.friendlyName;
+		}
+		return "";
 	}
 
