1994-06-24 11:31:16 +00:00
|
|
|
/* $Id$ */
|
1990-08-31 18:22:53 +00:00
|
|
|
|
|
|
|
/* language-dependent routines and formats, together in one structure: */
|
|
|
|
|
|
|
|
struct langdep {
|
1990-09-12 16:13:59 +00:00
|
|
|
/* language info: */
|
|
|
|
int has_bool_type; /* set if language has a boolean type */
|
|
|
|
|
1990-08-31 18:22:53 +00:00
|
|
|
/* formats (for fprintf): */
|
|
|
|
char *decint_fmt; /* decimal ints (format for long) */
|
|
|
|
char *octint_fmt; /* octal ints (format for long) */
|
|
|
|
char *hexint_fmt; /* hexadecimal ints (format for long) */
|
|
|
|
char *uns_fmt; /* unsigneds (format for long) */
|
|
|
|
char *addr_fmt; /* address (format for long) */
|
|
|
|
char *real_fmt; /* real (format for double) */
|
|
|
|
|
|
|
|
/* display openers and closers: */
|
|
|
|
char *open_array_display;
|
|
|
|
char *close_array_display;
|
|
|
|
char *open_struct_display;
|
|
|
|
char *close_struct_display;
|
|
|
|
char *open_set_display;
|
|
|
|
char *close_set_display;
|
|
|
|
|
|
|
|
/* language dependant routines: */
|
|
|
|
int (*printstring)();
|
1990-09-19 14:31:12 +00:00
|
|
|
int (*printchar)();
|
1990-08-31 18:22:53 +00:00
|
|
|
long (*arrayelsize)();
|
1990-09-19 14:31:12 +00:00
|
|
|
int (*binop_prio)();
|
|
|
|
int (*unop_prio)();
|
1990-09-07 14:56:24 +00:00
|
|
|
int (*get_string)();
|
|
|
|
int (*get_name)();
|
|
|
|
int (*get_number)();
|
|
|
|
int (*get_token)();
|
1990-09-12 16:13:59 +00:00
|
|
|
int (*printop)();
|
1990-09-20 17:51:14 +00:00
|
|
|
int (*fix_bin_to_pref)();
|
1990-08-31 18:22:53 +00:00
|
|
|
};
|
|
|
|
|
1990-12-11 13:53:01 +00:00
|
|
|
extern struct langdep *m2_dep, *c_dep, *pascal_dep, *currlang;
|
1990-08-31 18:22:53 +00:00
|
|
|
|
|
|
|
extern int find_language();
|
|
|
|
|
|
|
|
extern int init_languages();
|