Home | History | Annotate | Line # | Download | only in src
      1 /* xgettext C/C++/ObjectiveC backend.
      2    Copyright (C) 2001-2003 Free Software Foundation, Inc.
      3    Written by Bruno Haible <haible (at) 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.  */
     44 extern 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.  */
     49 extern 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 
     57 extern void x_c_extract_all (void);
     58 
     59 extern void x_c_keyword (const char *name);
     60 extern void x_objc_keyword (const char *name);
     61 
     62 extern void x_c_trigraphs (void);
     63 
     64 extern void init_flag_table_c (void);
     65 extern void init_flag_table_objc (void);
     66 extern void init_flag_table_gcc_internal (void);
     67