1 /*
2  * Copyright © 2014-2019 Dynare Team
3  *
4  * This file is part of Dynare.
5  *
6  * Dynare is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * Dynare 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 License
17  * along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef _EXTENDED_PREPROCESSOR_TYPES_HH
21 #define _EXTENDED_PREPROCESSOR_TYPES_HH
22 
23 enum class FileOutputType
24   {
25    none, // outputs files for Matlab/Octave processing
26    dynamic, // outputs <fname>_dynamic.* and related files
27    first, // outputs <fname>_first_derivatives.* and related files
28    second, // outputs <fname>_first_derivatives.*, <fname>_second_derivatives.* and related files
29    third, // outputs <fname>_first_derivatives.*, <fname>_second_derivatives.*, <fname>_third_derivatives.*  and related files
30   };
31 
32 enum class LanguageOutputType
33   {
34    matlab, // outputs files for Matlab/Octave processing
35    julia, // outputs files for Julia
36   };
37 
38 enum class JsonFileOutputType
39   {
40    file, // output JSON files to file
41    standardout, // output JSON files to stdout
42   };
43 
44 enum class JsonOutputPointType
45   {
46    nojson, // don't output JSON
47    parsing, // output JSON after the parsing step
48    checkpass, // output JSON after the check pass
49    transformpass, // output JSON after the transform pass
50    computingpass // output JSON after the computing pass
51   };
52 #endif
53