| 1 | /* -*- buffer-read-only: t -*- |
| 2 | * |
| 3 | * overload.h |
| 4 | * |
| 5 | * Copyright (C) 1997, 1998, 2000, 2001, 2005 and 2006 by Larry Wall and |
| 6 | * 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 | enum { |
| 16 | fallback_amg, |
| 17 | to_sv_amg, |
| 18 | to_av_amg, |
| 19 | to_hv_amg, |
| 20 | to_gv_amg, |
| 21 | to_cv_amg, |
| 22 | inc_amg, |
| 23 | dec_amg, |
| 24 | bool__amg, |
| 25 | numer_amg, |
| 26 | string_amg, |
| 27 | not_amg, |
| 28 | copy_amg, |
| 29 | abs_amg, |
| 30 | neg_amg, |
| 31 | iter_amg, |
| 32 | int_amg, |
| 33 | lt_amg, |
| 34 | le_amg, |
| 35 | gt_amg, |
| 36 | ge_amg, |
| 37 | eq_amg, |
| 38 | ne_amg, |
| 39 | slt_amg, |
| 40 | sle_amg, |
| 41 | sgt_amg, |
| 42 | sge_amg, |
| 43 | seq_amg, |
| 44 | sne_amg, |
| 45 | nomethod_amg, |
| 46 | add_amg, |
| 47 | add_ass_amg, |
| 48 | subtr_amg, |
| 49 | subtr_ass_amg, |
| 50 | mult_amg, |
| 51 | mult_ass_amg, |
| 52 | div_amg, |
| 53 | div_ass_amg, |
| 54 | modulo_amg, |
| 55 | modulo_ass_amg, |
| 56 | pow_amg, |
| 57 | pow_ass_amg, |
| 58 | lshift_amg, |
| 59 | lshift_ass_amg, |
| 60 | rshift_amg, |
| 61 | rshift_ass_amg, |
| 62 | band_amg, |
| 63 | band_ass_amg, |
| 64 | bor_amg, |
| 65 | bor_ass_amg, |
| 66 | bxor_amg, |
| 67 | bxor_ass_amg, |
| 68 | ncmp_amg, |
| 69 | scmp_amg, |
| 70 | compl_amg, |
| 71 | atan2_amg, |
| 72 | cos_amg, |
| 73 | sin_amg, |
| 74 | exp_amg, |
| 75 | log_amg, |
| 76 | sqrt_amg, |
| 77 | repeat_amg, |
| 78 | repeat_ass_amg, |
| 79 | concat_amg, |
| 80 | concat_ass_amg, |
| 81 | smart_amg, |
| 82 | DESTROY_amg, |
| 83 | max_amg_code |
| 84 | /* Do not leave a trailing comma here. C9X allows it, C89 doesn't. */ |
| 85 | }; |
| 86 | |
| 87 | |
| 88 | #define NofAMmeth max_amg_code |
| 89 | #define AMG_id2name(id) (PL_AMG_names[id]+1) |
| 90 | |
| 91 | #ifdef DOINIT |
| 92 | EXTCONST char * const PL_AMG_names[NofAMmeth] = { |
| 93 | /* Names kept in the symbol table. fallback => "()", the rest has |
| 94 | "(" prepended. The only other place in perl which knows about |
| 95 | this convention is AMG_id2name (used for debugging output and |
| 96 | 'nomethod' only), the only other place which has it hardwired is |
| 97 | overload.pm. */ |
| 98 | "()", |
| 99 | "(${}", |
| 100 | "(@{}", |
| 101 | "(%{}", |
| 102 | "(*{}", |
| 103 | "(&{}", |
| 104 | "(++", |
| 105 | "(--", |
| 106 | "(bool", |
| 107 | "(0+", |
| 108 | "(\"\"", |
| 109 | "(!", |
| 110 | "(=", |
| 111 | "(abs", |
| 112 | "(neg", |
| 113 | "(<>", |
| 114 | "(int", |
| 115 | "(<", |
| 116 | "(<=", |
| 117 | "(>", |
| 118 | "(>=", |
| 119 | "(==", |
| 120 | "(!=", |
| 121 | "(lt", |
| 122 | "(le", |
| 123 | "(gt", |
| 124 | "(ge", |
| 125 | "(eq", |
| 126 | "(ne", |
| 127 | "(nomethod", |
| 128 | "(+", |
| 129 | "(+=", |
| 130 | "(-", |
| 131 | "(-=", |
| 132 | "(*", |
| 133 | "(*=", |
| 134 | "(/", |
| 135 | "(/=", |
| 136 | "(%", |
| 137 | "(%=", |
| 138 | "(**", |
| 139 | "(**=", |
| 140 | "(<<", |
| 141 | "(<<=", |
| 142 | "(>>", |
| 143 | "(>>=", |
| 144 | "(&", |
| 145 | "(&=", |
| 146 | "(|", |
| 147 | "(|=", |
| 148 | "(^", |
| 149 | "(^=", |
| 150 | "(<=>", |
| 151 | "(cmp", |
| 152 | "(~", |
| 153 | "(atan2", |
| 154 | "(cos", |
| 155 | "(sin", |
| 156 | "(exp", |
| 157 | "(log", |
| 158 | "(sqrt", |
| 159 | "(x", |
| 160 | "(x=", |
| 161 | "(.", |
| 162 | "(.=", |
| 163 | "(~~", |
| 164 | "DESTROY" |
| 165 | }; |
| 166 | #else |
| 167 | EXTCONST char * PL_AMG_names[NofAMmeth]; |
| 168 | #endif /* def INITAMAGIC */ |