30 |
# include <config.h> |
# include <config.h> |
31 |
#endif |
#endif |
32 |
|
|
33 |
|
#include <stddef.h> |
34 |
#include <stdlib.h> |
#include <stdlib.h> |
35 |
#include "gettextP.h" |
#include "plural-exp.h" |
36 |
|
|
37 |
/* Names for the libintl functions are a problem. They must not clash |
/* The main function generated by the parser is called __gettextparse, |
38 |
with existing names and they should follow ANSI C. But this source |
but we want it to be called PLURAL_PARSE. */ |
39 |
code is also used in GNU C Library where the names have a __ |
#ifndef _LIBC |
40 |
prefix. So we have to make a difference here. */ |
# define __gettextparse PLURAL_PARSE |
|
#ifdef _LIBC |
|
|
# define FREE_EXPRESSION __gettext_free_exp |
|
|
#else |
|
|
# define FREE_EXPRESSION gettext_free_exp__ |
|
|
# define __gettextparse gettextparse__ |
|
41 |
#endif |
#endif |
42 |
|
|
43 |
#define YYLEX_PARAM &((struct parse_args *) arg)->cp |
#define YYLEX_PARAM &((struct parse_args *) arg)->cp |
44 |
#define YYPARSE_PARAM arg |
#define YYPARSE_PARAM arg |
45 |
%} |
%} |
46 |
%pure_parser |
%pure_parser |
47 |
%expect 10 |
%expect 7 |
48 |
|
|
49 |
%union { |
%union { |
50 |
unsigned long int num; |
unsigned long int num; |