libFirm
ident.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
3  *
4  * This file is part of libFirm.
5  *
6  * This file may be distributed and/or modified under the terms of the
7  * GNU General Public License version 2 as published by the Free Software
8  * Foundation and appearing in the file LICENSE.GPL included in the
9  * packaging of this file.
10  *
11  * Licensees holding valid libFirm Professional Edition licenses may use
12  * this file in accordance with the libFirm Commercial License.
13  * Agreement provided with the Software.
14  *
15  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17  * PURPOSE.
18  */
19 
26 #ifndef FIRM_IDENT_H
27 #define FIRM_IDENT_H
28 
29 #include <stddef.h>
30 #include "firm_types.h"
31 #include "begin.h"
32 
48 FIRM_API ident *new_id_from_str(const char *str);
49 
59 FIRM_API ident *new_id_from_chars(const char *str, size_t len);
60 
70 FIRM_API const char *get_id_str(ident *id);
71 
78 FIRM_API size_t get_id_strlen(ident *id);
79 
87 FIRM_API int id_is_prefix(ident *prefix, ident *id);
88 
96 FIRM_API int id_is_suffix(ident *suffix, ident *id);
97 
105 FIRM_API int id_contains_char(ident *id, char c);
106 
111 FIRM_API ident *id_unique(const char *tag);
112 
114 FIRM_API ident *id_mangle_u(ident *first, ident* scnd);
115 
117 FIRM_API ident *id_mangle_dot(ident *first, ident* scnd);
118 
120 FIRM_API ident *id_mangle(ident *first, ident* scnd);
121 
123 FIRM_API ident *id_mangle3(const char *prefix, ident *middle,
124  const char *suffix);
125 
128 #include "end.h"
129 
130 #endif