don't load element before checking to see if it is valid.
[llvm/stm8.git] / lib / Support / regcname.h
blob3c0bb248ffa78a69ff2a59dd6af8e6a81fc4ef64
1 /*-
2 * This code is derived from OpenBSD's libc/regex, original license follows:
4 * Copyright (c) 1992, 1993, 1994 Henry Spencer.
5 * Copyright (c) 1992, 1993, 1994
6 * The Regents of the University of California. All rights reserved.
8 * This code is derived from software contributed to Berkeley by
9 * Henry Spencer.
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions and the following disclaimer.
16 * 2. Redistributions in binary form must reproduce the above copyright
17 * notice, this list of conditions and the following disclaimer in the
18 * documentation and/or other materials provided with the distribution.
19 * 3. Neither the name of the University nor the names of its contributors
20 * may be used to endorse or promote products derived from this software
21 * without specific prior written permission.
23 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
35 * @(#)cname.h 8.3 (Berkeley) 3/20/94
38 /* character-name table */
39 static struct cname {
40 const char *name;
41 char code;
42 } cnames[] = {
43 { "NUL", '\0' },
44 { "SOH", '\001' },
45 { "STX", '\002' },
46 { "ETX", '\003' },
47 { "EOT", '\004' },
48 { "ENQ", '\005' },
49 { "ACK", '\006' },
50 { "BEL", '\007' },
51 { "alert", '\007' },
52 { "BS", '\010' },
53 { "backspace", '\b' },
54 { "HT", '\011' },
55 { "tab", '\t' },
56 { "LF", '\012' },
57 { "newline", '\n' },
58 { "VT", '\013' },
59 { "vertical-tab", '\v' },
60 { "FF", '\014' },
61 { "form-feed", '\f' },
62 { "CR", '\015' },
63 { "carriage-return", '\r' },
64 { "SO", '\016' },
65 { "SI", '\017' },
66 { "DLE", '\020' },
67 { "DC1", '\021' },
68 { "DC2", '\022' },
69 { "DC3", '\023' },
70 { "DC4", '\024' },
71 { "NAK", '\025' },
72 { "SYN", '\026' },
73 { "ETB", '\027' },
74 { "CAN", '\030' },
75 { "EM", '\031' },
76 { "SUB", '\032' },
77 { "ESC", '\033' },
78 { "IS4", '\034' },
79 { "FS", '\034' },
80 { "IS3", '\035' },
81 { "GS", '\035' },
82 { "IS2", '\036' },
83 { "RS", '\036' },
84 { "IS1", '\037' },
85 { "US", '\037' },
86 { "space", ' ' },
87 { "exclamation-mark", '!' },
88 { "quotation-mark", '"' },
89 { "number-sign", '#' },
90 { "dollar-sign", '$' },
91 { "percent-sign", '%' },
92 { "ampersand", '&' },
93 { "apostrophe", '\'' },
94 { "left-parenthesis", '(' },
95 { "right-parenthesis", ')' },
96 { "asterisk", '*' },
97 { "plus-sign", '+' },
98 { "comma", ',' },
99 { "hyphen", '-' },
100 { "hyphen-minus", '-' },
101 { "period", '.' },
102 { "full-stop", '.' },
103 { "slash", '/' },
104 { "solidus", '/' },
105 { "zero", '0' },
106 { "one", '1' },
107 { "two", '2' },
108 { "three", '3' },
109 { "four", '4' },
110 { "five", '5' },
111 { "six", '6' },
112 { "seven", '7' },
113 { "eight", '8' },
114 { "nine", '9' },
115 { "colon", ':' },
116 { "semicolon", ';' },
117 { "less-than-sign", '<' },
118 { "equals-sign", '=' },
119 { "greater-than-sign", '>' },
120 { "question-mark", '?' },
121 { "commercial-at", '@' },
122 { "left-square-bracket", '[' },
123 { "backslash", '\\' },
124 { "reverse-solidus", '\\' },
125 { "right-square-bracket", ']' },
126 { "circumflex", '^' },
127 { "circumflex-accent", '^' },
128 { "underscore", '_' },
129 { "low-line", '_' },
130 { "grave-accent", '`' },
131 { "left-brace", '{' },
132 { "left-curly-bracket", '{' },
133 { "vertical-line", '|' },
134 { "right-brace", '}' },
135 { "right-curly-bracket", '}' },
136 { "tilde", '~' },
137 { "DEL", '\177' },
138 { NULL, 0 }