This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Run overload.pl.
[perl5.git] / overload.c
... / ...
CommitLineData
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
18static 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 3,
86 7
87};
88
89static const char * const PL_AMG_names[NofAMmeth] = {
90 /* Names kept in the symbol table. fallback => "()", the rest has
91 "(" prepended. The only other place in perl which knows about
92 this convention is AMG_id2name (used for debugging output and
93 'nomethod' only), the only other place which has it hardwired is
94 overload.pm. */
95 "()",
96 "(${}",
97 "(@{}",
98 "(%{}",
99 "(*{}",
100 "(&{}",
101 "(++",
102 "(--",
103 "(bool",
104 "(0+",
105 "(\"\"",
106 "(!",
107 "(=",
108 "(abs",
109 "(neg",
110 "(<>",
111 "(int",
112 "(<",
113 "(<=",
114 "(>",
115 "(>=",
116 "(==",
117 "(!=",
118 "(lt",
119 "(le",
120 "(gt",
121 "(ge",
122 "(eq",
123 "(ne",
124 "(nomethod",
125 "(+",
126 "(+=",
127 "(-",
128 "(-=",
129 "(*",
130 "(*=",
131 "(/",
132 "(/=",
133 "(%",
134 "(%=",
135 "(**",
136 "(**=",
137 "(<<",
138 "(<<=",
139 "(>>",
140 "(>>=",
141 "(&",
142 "(&=",
143 "(|",
144 "(|=",
145 "(^",
146 "(^=",
147 "(<=>",
148 "(cmp",
149 "(~",
150 "(atan2",
151 "(cos",
152 "(sin",
153 "(exp",
154 "(log",
155 "(sqrt",
156 "(x",
157 "(x=",
158 "(.",
159 "(.=",
160 "(~~",
161 "(-X",
162 "DESTROY"
163};