This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
handy.h: Combine macros that are same in ASCII, EBCDIC
[perl5.git] / overload.c
1 /* -*- buffer-read-only: t -*-
2  *
3  *    overload.c
4  *
5  *    Copyright (C) 1997, 1998, 2000, 2001, 2005, 2006, 2007, 2011
6  *    by Larry Wall and others
7  *
8  *    You may distribute under the terms of either the GNU General Public
9  *    License or the Artistic License, as specified in the README file.
10  *
11  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
12  * This file is built by regen/overload.pl.
13  * Any changes made here will be lost!
14  */
15
16 #define AMG_id2name(id) (PL_AMG_names[id]+1)
17 #define AMG_id2namelen(id) (PL_AMG_namelens[id]-1)
18
19 static const U8 PL_AMG_namelens[NofAMmeth] = {
20     2,
21     4,
22     4,
23     4,
24     4,
25     4,
26     3,
27     3,
28     5,
29     3,
30     3,
31     2,
32     2,
33     4,
34     4,
35     3,
36     4,
37     2,
38     3,
39     2,
40     3,
41     3,
42     3,
43     3,
44     3,
45     3,
46     3,
47     3,
48     3,
49     9,
50     2,
51     3,
52     2,
53     3,
54     2,
55     3,
56     2,
57     3,
58     2,
59     3,
60     3,
61     4,
62     3,
63     4,
64     3,
65     4,
66     2,
67     3,
68     2,
69     3,
70     2,
71     3,
72     4,
73     4,
74     2,
75     6,
76     4,
77     4,
78     4,
79     4,
80     5,
81     2,
82     3,
83     2,
84     3,
85     3,
86     3,
87     3
88 };
89
90 static const char * const PL_AMG_names[NofAMmeth] = {
91   /* Names kept in the symbol table.  fallback => "()", the rest has
92      "(" prepended.  The only other place in perl which knows about
93      this convention is AMG_id2name (used for debugging output and
94      'nomethod' only), the only other place which has it hardwired is
95      overload.pm.  */
96     "()",               /* fallback   */
97     "(${}",             /* to_sv      */
98     "(@{}",             /* to_av      */
99     "(%{}",             /* to_hv      */
100     "(*{}",             /* to_gv      */
101     "(&{}",             /* to_cv      */
102     "(++",              /* inc        */
103     "(--",              /* dec        */
104     "(bool",            /* bool_      */
105     "(0+",              /* numer      */
106     "(\"\"",            /* string     */
107     "(!",               /* not        */
108     "(=",               /* copy       */
109     "(abs",             /* abs        */
110     "(neg",             /* neg        */
111     "(<>",              /* iter       */
112     "(int",             /* int        */
113     "(<",               /* lt         */
114     "(<=",              /* le         */
115     "(>",               /* gt         */
116     "(>=",              /* ge         */
117     "(==",              /* eq         */
118     "(!=",              /* ne         */
119     "(lt",              /* slt        */
120     "(le",              /* sle        */
121     "(gt",              /* sgt        */
122     "(ge",              /* sge        */
123     "(eq",              /* seq        */
124     "(ne",              /* sne        */
125     "(nomethod",        /* nomethod   */
126     "(+",               /* add        */
127     "(+=",              /* add_ass    */
128     "(-",               /* subtr      */
129     "(-=",              /* subtr_ass  */
130     "(*",               /* mult       */
131     "(*=",              /* mult_ass   */
132     "(/",               /* div        */
133     "(/=",              /* div_ass    */
134     "(%",               /* modulo     */
135     "(%=",              /* modulo_ass */
136     "(**",              /* pow        */
137     "(**=",             /* pow_ass    */
138     "(<<",              /* lshift     */
139     "(<<=",             /* lshift_ass */
140     "(>>",              /* rshift     */
141     "(>>=",             /* rshift_ass */
142     "(&",               /* band       */
143     "(&=",              /* band_ass   */
144     "(|",               /* bor        */
145     "(|=",              /* bor_ass    */
146     "(^",               /* bxor       */
147     "(^=",              /* bxor_ass   */
148     "(<=>",             /* ncmp       */
149     "(cmp",             /* scmp       */
150     "(~",               /* compl      */
151     "(atan2",           /* atan2      */
152     "(cos",             /* cos        */
153     "(sin",             /* sin        */
154     "(exp",             /* exp        */
155     "(log",             /* log        */
156     "(sqrt",            /* sqrt       */
157     "(x",               /* repeat     */
158     "(x=",              /* repeat_ass */
159     "(.",               /* concat     */
160     "(.=",              /* concat_ass */
161     "(~~",              /* smart      */
162     "(-X",              /* ftest      */
163     "(qr"
164 };
165
166 /* ex: set ro: */