MAiNGO
programParser.h
Go to the documentation of this file.
1 /**********************************************************************************
2  * Copyright (c) 2019 Process Systems Engineering (AVT.SVT), RWTH Aachen University
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License 2.0 which is available at
6  * http://www.eclipse.org/legal/epl-2.0.
7  *
8  * SPDX-License-Identifier: EPL-2.0
9  *
10  * @file programParser.h
11  *
12  * @brief File declaring the ProgramParser specialization of the ale::parser.
13  *
14  **********************************************************************************/
15 
16 #pragma once
17 
18 #include "program.h"
19 
20 #include "parser.hpp"
21 
22 namespace maingo {
23 
28 class ProgramParser: private ale::parser {
29  public:
30  ProgramParser(std::istream&, ale::symbol_table&);
32  void parse(Program&);
34  using ale::parser::clear;
35  using ale::parser::fail;
36  using ale::parser::print_errors;
37 
38  private:
39  void parse_definitions();
40  void parse_objective(Program&);
41  void parse_constraints(Program&);
42  void parse_relaxations(Program&);
43  void parse_squashes(Program&);
44  void parse_outputs(Program&);
46  void recover_block();
47 };
48 
49 
50 } // namespace maingo
void parse_constraints(Program &)
Definition: programParser.cpp:139
Parser specialization for parsing a maingo::Program.
Definition: programParser.h:28
Container Class for ALE expressions comprising an optimization problem.
Definition: program.h:29
void parse_outputs(Program &)
Definition: programParser.cpp:184
void parse_definitions()
Definition: programParser.cpp:110
void parse_relaxations(Program &)
Definition: programParser.cpp:154
ProgramParser(std::istream &, ale::symbol_table &)
Definition: programParser.cpp:27
namespace holding all essentials of MAiNGO
Definition: aleModel.h:31
void recover_block()
Definition: programParser.cpp:199
void parse(Program &)
Definition: programParser.cpp:36
void parse_squashes(Program &)
Definition: programParser.cpp:169
void parse_objective(Program &)
Definition: programParser.cpp:125