1 /********************************************************************/
2 /*                                                                  */
3 /*  s7   Seed7 interpreter                                          */
4 /*  Copyright (C) 1990 - 2000, 2015  Thomas Mertes                  */
5 /*                                                                  */
6 /*  This program is free software; you can redistribute it and/or   */
7 /*  modify it under the terms of the GNU General Public License as  */
8 /*  published by the Free Software Foundation; either version 2 of  */
9 /*  the License, or (at your option) any later version.             */
10 /*                                                                  */
11 /*  This program is distributed in the hope that it will be useful, */
12 /*  but WITHOUT ANY WARRANTY; without even the implied warranty of  */
13 /*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   */
14 /*  GNU General Public License for more details.                    */
15 /*                                                                  */
16 /*  You should have received a copy of the GNU General Public       */
17 /*  License along with this program; if not, write to the           */
18 /*  Free Software Foundation, Inc., 51 Franklin Street,             */
19 /*  Fifth Floor, Boston, MA  02110-1301, USA.                       */
20 /*                                                                  */
21 /*  Module: Main                                                    */
22 /*  File: seed7/src/option.h                                        */
23 /*  Changes: 1994, 2015  Thomas Mertes                              */
24 /*  Content: Reads and interprets the command line options.         */
25 /*                                                                  */
26 /********************************************************************/
27 
28 #define TRACE_ACTIONS            1
29 #define TRACE_DO_ACTION_CHECK    2
30 #define TRACE_DYNAMIC_CALLS      4
31 #define TRACE_EXCEPTIONS         8
32 #define TRACE_HEAP_SIZE         16
33 #define TRACE_MATCH             32
34 #define TRACE_EXECUTIL          64
35 #define TRACE_SIGNALS          128
36 #define HANDLE_SIGNALS         256
37 #define WRITE_LIBRARY_NAMES    512
38 #define WRITE_LINE_NUMBERS    1024
39 #define SHOW_IDENT_TABLE      2048
40 #define SHOW_STATISTICS       4096
41 
42 typedef struct optionStruct {
43     striType          sourceFileArgument;
44     const_striType    protFileName;
45     boolType          writeHelp;
46     boolType          analyzeOnly;
47     boolType          executeAlways;
48     uintType          parserOptions;
49     uintType          execOptions;
50     rtlArrayType      libraryDirs;
51     rtlArrayType      argv;
52     memSizeType       argvStart;
53   } optionRecord, *optionType;
54