1 /* xgettext Perl backend.
2 Copyright (C) 2002-2003, 2006, 2010, 2014, 2018, 2020 Free Software Foundation, Inc.
3 Written by Guido Flohr <guido@imperia.net>, 2002-2003
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 3 of the License, or
8 (at your option) 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, see <https://www.gnu.org/licenses/>. */
17
18
19 #include <stdio.h>
20
21 #include "message.h"
22 #include "xg-arglist-context.h"
23
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29
30 #define EXTENSIONS_PERL \
31 { "pl", "perl" }, \
32 { "PL", "perl" }, \
33 { "pm", "perl" }, \
34 { "perl", "perl" }, \
35 { "cgi", "perl" }, \
36
37 #define SCANNERS_PERL \
38 { "perl", extract_perl, NULL, \
39 &flag_table_perl, &formatstring_perl, &formatstring_perl_brace }, \
40
41 /* Scan a Perl file and add its translatable strings to mdlp. */
42 extern void extract_perl (FILE *fp, const char *real_filename,
43 const char *logical_filename,
44 flag_context_list_table_ty *flag_table,
45 msgdomain_list_ty *mdlp);
46
47 extern void x_perl_keyword (const char *keyword);
48 extern void x_perl_extract_all (void);
49
50 extern void init_flag_table_perl (void);
51
52
53 #ifdef __cplusplus
54 }
55 #endif