summaryrefslogtreecommitdiff
path: root/overload.inc
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2015-07-18 17:22:13 +0300
committerJarkko Hietaniemi <jhi@iki.fi>2015-07-22 08:33:22 -0400
commit6ffcffbd7dc3d42844ba051086599e4f70bfdb1f (patch)
tree89657656460806cc31d2c67ad62a210a20c4a073 /overload.inc
parent5478a2b983aa7a04b93cfaf83bb9805713bf2d3f (diff)
downloadperl-6ffcffbd7dc3d42844ba051086599e4f70bfdb1f.tar.gz
overload.c -> overload.inc
Diffstat (limited to 'overload.inc')
-rw-r--r--overload.inc180
1 files changed, 180 insertions, 0 deletions
diff --git a/overload.inc b/overload.inc
new file mode 100644
index 0000000000..2383ef241e
--- /dev/null
+++ b/overload.inc
@@ -0,0 +1,180 @@
+/* -*- buffer-read-only: t -*-
+ *
+ * overload.inc
+ *
+ * Copyright (C) 1997, 1998, 2000, 2001, 2005, 2006, 2007, 2011
+ * by Larry Wall and others
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by regen/overload.pl.
+ * Any changes made here will be lost!
+ */
+
+#define AMG_id2name(id) (PL_AMG_names[id]+1)
+#define AMG_id2namelen(id) (PL_AMG_namelens[id]-1)
+
+static const U8 PL_AMG_namelens[NofAMmeth] = {
+ 2,
+ 4,
+ 4,
+ 4,
+ 4,
+ 4,
+ 3,
+ 3,
+ 5,
+ 3,
+ 3,
+ 2,
+ 2,
+ 4,
+ 4,
+ 3,
+ 4,
+ 2,
+ 3,
+ 2,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 3,
+ 9,
+ 2,
+ 3,
+ 2,
+ 3,
+ 2,
+ 3,
+ 2,
+ 3,
+ 2,
+ 3,
+ 3,
+ 4,
+ 3,
+ 4,
+ 3,
+ 4,
+ 2,
+ 3,
+ 3,
+ 4,
+ 2,
+ 3,
+ 3,
+ 4,
+ 2,
+ 3,
+ 3,
+ 4,
+ 4,
+ 4,
+ 2,
+ 3,
+ 6,
+ 4,
+ 4,
+ 4,
+ 4,
+ 5,
+ 2,
+ 3,
+ 2,
+ 3,
+ 3,
+ 3,
+ 3
+};
+
+static const char * const PL_AMG_names[NofAMmeth] = {
+ /* Names kept in the symbol table. fallback => "()", the rest has
+ "(" prepended. The only other place in perl which knows about
+ this convention is AMG_id2name (used for debugging output and
+ 'nomethod' only), the only other place which has it hardwired is
+ overload.pm. */
+ "()", /* fallback */
+ "(${}", /* to_sv */
+ "(@{}", /* to_av */
+ "(%{}", /* to_hv */
+ "(*{}", /* to_gv */
+ "(&{}", /* to_cv */
+ "(++", /* inc */
+ "(--", /* dec */
+ "(bool", /* bool_ */
+ "(0+", /* numer */
+ "(\"\"", /* string */
+ "(!", /* not */
+ "(=", /* copy */
+ "(abs", /* abs */
+ "(neg", /* neg */
+ "(<>", /* iter */
+ "(int", /* int */
+ "(<", /* lt */
+ "(<=", /* le */
+ "(>", /* gt */
+ "(>=", /* ge */
+ "(==", /* eq */
+ "(!=", /* ne */
+ "(lt", /* slt */
+ "(le", /* sle */
+ "(gt", /* sgt */
+ "(ge", /* sge */
+ "(eq", /* seq */
+ "(ne", /* sne */
+ "(nomethod", /* nomethod */
+ "(+", /* add */
+ "(+=", /* add_ass */
+ "(-", /* subtr */
+ "(-=", /* subtr_ass */
+ "(*", /* mult */
+ "(*=", /* mult_ass */
+ "(/", /* div */
+ "(/=", /* div_ass */
+ "(%", /* modulo */
+ "(%=", /* modulo_ass */
+ "(**", /* pow */
+ "(**=", /* pow_ass */
+ "(<<", /* lshift */
+ "(<<=", /* lshift_ass */
+ "(>>", /* rshift */
+ "(>>=", /* rshift_ass */
+ "(&", /* band */
+ "(&=", /* band_ass */
+ "(&.", /* sband */
+ "(&.=", /* sband_ass */
+ "(|", /* bor */
+ "(|=", /* bor_ass */
+ "(|.", /* sbor */
+ "(|.=", /* sbor_ass */
+ "(^", /* bxor */
+ "(^=", /* bxor_ass */
+ "(^.", /* sbxor */
+ "(^.=", /* sbxor_ass */
+ "(<=>", /* ncmp */
+ "(cmp", /* scmp */
+ "(~", /* compl */
+ "(~.", /* scompl */
+ "(atan2", /* atan2 */
+ "(cos", /* cos */
+ "(sin", /* sin */
+ "(exp", /* exp */
+ "(log", /* log */
+ "(sqrt", /* sqrt */
+ "(x", /* repeat */
+ "(x=", /* repeat_ass */
+ "(.", /* concat */
+ "(.=", /* concat_ass */
+ "(~~", /* smart */
+ "(-X", /* ftest */
+ "(qr"
+};
+
+/* ex: set ro: */