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  **********************************************************************************/
11 
12 #pragma once
13 
14 #include "program.h"
15 
16 #include "parser.hpp"
17 
18 namespace maingo {
19 
24 class ProgramParser: private ale::parser {
25  public:
26  ProgramParser(std::istream&, ale::symbol_table&);
28  void parse(Program&);
30  using ale::parser::clear;
31  using ale::parser::fail;
32  using ale::parser::print_errors;
33 
34  private:
35  void parse_definitions();
36  void parse_objective(Program&);
37  void parse_constraints(Program&);
38  void parse_relaxations(Program&);
39  void parse_squashes(Program&);
40  void parse_outputs(Program&);
42  void recover_block();
43 };
44 
45 
46 } // namespace maingo
void parse_constraints(Program &)
Definition: programParser.cpp:134
Parser specialization for parsing a maingo::Program.
Definition: programParser.h:24
Container Class for ALE expressions comprising an optimization problem.
Definition: program.h:24
void parse_outputs(Program &)
Definition: programParser.cpp:179
void parse_definitions()
Definition: programParser.cpp:106
void parse_relaxations(Program &)
Definition: programParser.cpp:149
ProgramParser(std::istream &, ale::symbol_table &)
Definition: programParser.cpp:23
namespace holding all essentials of MAiNGO
Definition: aleModel.h:25
void recover_block()
Definition: programParser.cpp:194
void parse(Program &)
Definition: programParser.cpp:32
void parse_squashes(Program &)
Definition: programParser.cpp:164
void parse_objective(Program &)
Definition: programParser.cpp:121