Pristine Ack-5.5
[Ack-5.5.git] / util / grind / langdep.h
1 /* $Id: langdep.h,v 1.8 1994/06/24 11:00:12 ceriel Exp $ */
2
3 /* language-dependent routines and formats, together in one structure: */
4
5 struct langdep {
6   /* language info: */
7   int   has_bool_type;          /* set if language has a boolean type */
8
9   /* formats (for fprintf): */
10   char  *decint_fmt;            /* decimal ints (format for long) */
11   char  *octint_fmt;            /* octal ints (format for long) */
12   char  *hexint_fmt;            /* hexadecimal ints (format for long) */
13   char  *uns_fmt;               /* unsigneds (format for long) */
14   char  *addr_fmt;              /* address (format for long) */
15   char  *real_fmt;              /* real (format for double) */
16
17   /* display openers and closers: */
18   char  *open_array_display;
19   char  *close_array_display;
20   char  *open_struct_display;
21   char  *close_struct_display;
22   char  *open_set_display;
23   char  *close_set_display;
24
25   /* language dependant routines: */
26   int   (*printstring)();
27   int   (*printchar)();
28   long  (*arrayelsize)();
29   int   (*binop_prio)();
30   int   (*unop_prio)();
31   int   (*get_string)();
32   int   (*get_name)();
33   int   (*get_number)();
34   int   (*get_token)();
35   int   (*printop)();
36   int   (*fix_bin_to_pref)();
37 };
38
39 extern struct langdep   *m2_dep, *c_dep, *pascal_dep, *currlang;
40
41 extern int find_language();
42
43 extern int init_languages();