diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2015-07-18 17:22:13 +0300 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2015-07-22 08:33:22 -0400 |
commit | 6ffcffbd7dc3d42844ba051086599e4f70bfdb1f (patch) | |
tree | 89657656460806cc31d2c67ad62a210a20c4a073 /overload.inc | |
parent | 5478a2b983aa7a04b93cfaf83bb9805713bf2d3f (diff) | |
download | perl-6ffcffbd7dc3d42844ba051086599e4f70bfdb1f.tar.gz |
overload.c -> overload.inc
Diffstat (limited to 'overload.inc')
-rw-r--r-- | overload.inc | 180 |
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: */ |