summaryrefslogtreecommitdiff
path: root/gettext-tools/src/x-c.h
diff options
context:
space:
mode:
Diffstat (limited to 'gettext-tools/src/x-c.h')
-rw-r--r--gettext-tools/src/x-c.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/gettext-tools/src/x-c.h b/gettext-tools/src/x-c.h
new file mode 100644
index 0000000..64e4953
--- /dev/null
+++ b/gettext-tools/src/x-c.h
@@ -0,0 +1,92 @@
+/* xgettext C/C++/ObjectiveC backend.
+ Copyright (C) 2001-2003, 2006, 2009 Free Software Foundation, Inc.
+ Written by Bruno Haible <haible@clisp.cons.org>, 2001.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+
+#include <stdio.h>
+
+#include "message.h"
+#include "xgettext.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define EXTENSIONS_C \
+ { "c", "C" }, \
+ { "h", "C" }, \
+ { "C", "C++" }, \
+ { "c++", "C++" }, \
+ { "cc", "C++" }, \
+ { "cxx", "C++" }, \
+ { "cpp", "C++" }, \
+ { "hh", "C++" }, \
+ { "hxx", "C++" }, \
+ { "hpp", "C++" }, \
+ { "m", "ObjectiveC" }, \
+
+#define SCANNERS_C \
+ { "C", extract_c, \
+ &flag_table_c, \
+ &formatstring_c, NULL, \
+ &literalstring_c }, \
+ { "C++", extract_c, \
+ &flag_table_c, \
+ &formatstring_c, NULL, \
+ &literalstring_c }, \
+ { "ObjectiveC", extract_objc, \
+ &flag_table_objc, \
+ &formatstring_c, &formatstring_objc, \
+ &literalstring_c }, \
+ { "GCC-source", extract_c, \
+ &flag_table_gcc_internal, \
+ &formatstring_gcc_internal, &formatstring_gfc_internal, \
+ &literalstring_c }, \
+
+/* Scan a C/C++ file and add its translatable strings to mdlp. */
+extern void extract_c (FILE *fp, const char *real_filename,
+ const char *logical_filename,
+ flag_context_list_table_ty *flag_table,
+ msgdomain_list_ty *mdlp);
+/* Scan an ObjectiveC file and add its translatable strings to mdlp. */
+extern void extract_objc (FILE *fp, const char *real_filename,
+ const char *logical_filename,
+ flag_context_list_table_ty *flag_table,
+ msgdomain_list_ty *mdlp);
+
+
+/* Handling of options specific to this language. */
+
+extern void x_c_extract_all (void);
+
+extern void x_c_keyword (const char *name);
+extern void x_objc_keyword (const char *name);
+
+extern void x_c_trigraphs (void);
+
+extern void init_flag_table_c (void);
+extern void init_flag_table_objc (void);
+extern void init_flag_table_gcc_internal (void);
+
+
+extern struct literalstring_parser literalstring_c;
+
+
+#ifdef __cplusplus
+}
+#endif