This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
make make_patchnum.sh (more) portable
[perl5.git] / overload.c
1 /* -*- buffer-read-only: t -*-
2  *
3  *    overload.c
4  *
5  *    Copyright (C) 1997, 1998, 2000, 2001, 2005, 2006, 2007 by Larry Wall
6  *    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 overload.pl
13  */
14
15 #define AMG_id2name(id) (PL_AMG_names[id]+1)
16 #define AMG_id2namelen(id) (PL_AMG_namelens[id]-1)
17
18 static const U8 PL_AMG_namelens[NofAMmeth] = {
19     2,
20     4,
21     4,
22     4,
23     4,
24     4,
25     3,
26     3,
27     5,
28     3,
29     3,
30     2,
31     2,
32     4,
33     4,
34     3,
35     4,
36     2,
37     3,
38     2,
39     3,
40     3,
41     3,
42     3,
43     3,
44     3,
45     3,
46     3,
47     3,
48     9,
49     2,
50     3,
51     2,
52     3,
53     2,
54     3,
55     2,
56     3,
57     2,
58     3,
59     3,
60     4,
61     3,
62     4,
63     3,
64     4,
65     2,
66     3,
67     2,
68     3,
69     2,
70     3,
71     4,
72     4,
73     2,
74     6,
75     4,
76     4,
77     4,
78     4,
79     5,
80     2,
81     3,
82     2,
83     3,
84     3,
85     7
86 };
87
88 static const char * const PL_AMG_names[NofAMmeth] = {
89   /* Names kept in the symbol table.  fallback => "()", the rest has
90      "(" prepended.  The only other place in perl which knows about
91      this convention is AMG_id2name (used for debugging output and
92      'nomethod' only), the only other place which has it hardwired is
93      overload.pm.  */
94     "()",
95     "(${}",
96     "(@{}",
97     "(%{}",
98     "(*{}",
99     "(&{}",
100     "(++",
101     "(--",
102     "(bool",
103     "(0+",
104     "(\"\"",
105     "(!",
106     "(=",
107     "(abs",
108     "(neg",
109     "(<>",
110     "(int",
111     "(<",
112     "(<=",
113     "(>",
114     "(>=",
115     "(==",
116     "(!=",
117     "(lt",
118     "(le",
119     "(gt",
120     "(ge",
121     "(eq",
122     "(ne",
123     "(nomethod",
124     "(+",
125     "(+=",
126     "(-",
127     "(-=",
128     "(*",
129     "(*=",
130     "(/",
131     "(/=",
132     "(%",
133     "(%=",
134     "(**",
135     "(**=",
136     "(<<",
137     "(<<=",
138     "(>>",
139     "(>>=",
140     "(&",
141     "(&=",
142     "(|",
143     "(|=",
144     "(^",
145     "(^=",
146     "(<=>",
147     "(cmp",
148     "(~",
149     "(atan2",
150     "(cos",
151     "(sin",
152     "(exp",
153     "(log",
154     "(sqrt",
155     "(x",
156     "(x=",
157     "(.",
158     "(.=",
159     "(~~",
160     "DESTROY"
161 };