aboutsummaryrefslogtreecommitdiff
path: root/gfsm/gfsm/src/programs/gfsmarith_cmdparser.h
blob: 0f8b5c4592dd7a03def63a33c40e43559786f726 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/* -*- Mode: C -*-
 *
 * File: gfsmarith_cmdparser.h
 * Description: Headers for command-line parser struct gengetopt_args_info.
 *
 * File autogenerated by optgen.perl version 0.05.
 *
 */

#ifndef gfsmarith_cmdparser_h
#define gfsmarith_cmdparser_h

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/*
 * moocow: Never set PACKAGE and VERSION here.
 */

struct gengetopt_args_info {
  int compress_arg;	 /* Specify compression level of output file. (default=-1). */
  char * output_arg;	 /* Specifiy output file (default=stdout). (default=-). */
  int exp_flag;	 /* Real exponentiation (default=0). */
  int log_flag;	 /* Real logarithm (default=0). */
  float multiply_arg;	 /* Real multiplication by WEIGHT (default=0). */
  float add_arg;	 /* Real addition of WEIGHT (default=0). */
  int positive_flag;	 /* Set real negative weights to zero (default=0). */
  float times_arg;	 /* Semiring multiplication by WEIGHT (default=0). */
  float plus_arg;	 /* Semiring addition of WEIGHT (default=0). */
  int sr_positive_flag;	 /* Set semiring-negative weights to semiring-zero (default=0). */
  int no_arcs_flag;	 /* Exclude arc weights (default: include) (default=0). */
  int no_finals_flag;	 /* Exclude final weights (default: include) (default=0). */
  int zero_flag;	 /* Include semiring-zero weights (default: exclude) (default=0). */
  int initial_flag;	 /* Select only initial state and its arcs/finality (default=0). */
  int state_arg;	 /* Select only state ID and its arcs/finality (default=all) (default=-1). */
  int lower_arg;	 /* Select only arcs with lower-label LO (default=any) (default=-1). */
  int upper_arg;	 /* Select only arcs with upper-label HI (defualt=any) (default=-1). */

  int help_given;	 /* Whether help was given */
  int version_given;	 /* Whether version was given */
  int compress_given;	 /* Whether compress was given */
  int output_given;	 /* Whether output was given */
  int exp_given;	 /* Whether exp was given */
  int log_given;	 /* Whether log was given */
  int multiply_given;	 /* Whether multiply was given */
  int add_given;	 /* Whether add was given */
  int positive_given;	 /* Whether positive was given */
  int times_given;	 /* Whether times was given */
  int plus_given;	 /* Whether plus was given */
  int sr_positive_given;	 /* Whether sr-positive was given */
  int no_arcs_given;	 /* Whether no-arcs was given */
  int no_finals_given;	 /* Whether no-finals was given */
  int zero_given;	 /* Whether zero was given */
  int initial_given;	 /* Whether initial was given */
  int state_given;	 /* Whether state was given */
  int lower_given;	 /* Whether lower was given */
  int upper_given;	 /* Whether upper was given */
  
  char **inputs;         /* unnamed arguments */
  unsigned inputs_num;   /* number of unnamed arguments */
};

/* read rc files (if any) and parse all command-line options in one swell foop */
int  cmdline_parser (int argc, char *const *argv, struct gengetopt_args_info *args_info);

/* instantiate defaults from environment variables: you must call this yourself! */
void cmdline_parser_envdefaults (struct gengetopt_args_info *args_info);

/* read a single rc-file */
void cmdline_parser_read_rcfile (const char *filename,
				    struct gengetopt_args_info *args_info,
				    int user_specified);

/* read a single rc-file (stream) */
void cmdline_parser_read_rc_stream (FILE *rcfile,
				       const char *filename,
				       struct gengetopt_args_info *args_info);

/* parse a single option */
int cmdline_parser_parse_option (char oshort, const char *olong, const char *val,
				    struct gengetopt_args_info *args_info);

/* print help message */
void cmdline_parser_print_help(void);

/* print version */
void cmdline_parser_print_version(void);

#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* gfsmarith_cmdparser_h */