Pristine Ack-5.5
[Ack-5.5.git] / lang / fortran / comp / parse.h
1 #ifndef PARSE_INCLUDE
2 #define PARSE_INCLUDE
3
4 /* macros for the   parse_args   routine */
5
6 #define P_STRING 1              /* Macros for the result_type attribute */
7 #define P_CHAR 2
8 #define P_SHORT 3
9 #define P_INT 4
10 #define P_LONG 5
11 #define P_FILE 6
12 #define P_OLD_FILE 7
13 #define P_NEW_FILE 8
14 #define P_FLOAT 9
15 #define P_DOUBLE 10
16
17 #define P_CASE_INSENSITIVE 01   /* Macros for the   flags   attribute */
18 #define P_REQUIRED_PREFIX 02
19
20 #define P_NO_ARGS 0             /* Macros for the   arg_count   attribute */
21 #define P_ONE_ARG 1
22 #define P_INFINITE_ARGS 2
23
24 #define p_entry(pref,swit,flag,count,type,store,size) \
25     { (pref), (swit), (flag), (count), (type), (int *) (store), (size) }
26
27 typedef struct {
28     char *prefix;
29     char *string;
30     int flags;
31     int count;
32     int result_type;
33     int *result_ptr;
34     int table_size;
35 } arg_info;
36
37 extern int parse_args ();
38
39 #endif