1/* xgettext C/C++/ObjectiveC backend. 2 Copyright (C) 2001-2003 Free Software Foundation, Inc. 3 Written by Bruno Haible <haible@clisp.cons.org>, 2001. 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2, or (at your option) 8 any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the Free Software Foundation, 17 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ 18 19 20#define EXTENSIONS_C \ 21 { "c", "C" }, \ 22 { "h", "C" }, \ 23 { "C", "C++" }, \ 24 { "c++", "C++" }, \ 25 { "cc", "C++" }, \ 26 { "cxx", "C++" }, \ 27 { "cpp", "C++" }, \ 28 { "hh", "C++" }, \ 29 { "hxx", "C++" }, \ 30 { "hpp", "C++" }, \ 31 { "m", "ObjectiveC" }, \ 32 33#define SCANNERS_C \ 34 { "C", extract_c, \ 35 &flag_table_c, &formatstring_c, NULL }, \ 36 { "C++", extract_c, \ 37 &flag_table_c, &formatstring_c, NULL }, \ 38 { "ObjectiveC", extract_objc, \ 39 &flag_table_objc, &formatstring_c, &formatstring_objc }, \ 40 { "GCC-source", extract_c, \ 41 &flag_table_gcc_internal, &formatstring_gcc_internal, NULL }, \ 42 43/* Scan a C/C++ file and add its translatable strings to mdlp. */ 44extern void extract_c (FILE *fp, const char *real_filename, 45 const char *logical_filename, 46 flag_context_list_table_ty *flag_table, 47 msgdomain_list_ty *mdlp); 48/* Scan an ObjectiveC file and add its translatable strings to mdlp. */ 49extern void extract_objc (FILE *fp, const char *real_filename, 50 const char *logical_filename, 51 flag_context_list_table_ty *flag_table, 52 msgdomain_list_ty *mdlp); 53 54 55/* Handling of options specific to this language. */ 56 57extern void x_c_extract_all (void); 58 59extern void x_c_keyword (const char *name); 60extern void x_objc_keyword (const char *name); 61 62extern void x_c_trigraphs (void); 63 64extern void init_flag_table_c (void); 65extern void init_flag_table_objc (void); 66extern void init_flag_table_gcc_internal (void); 67