PandA-2024.02
parse_discrepancy.cpp
Go to the documentation of this file.
1 /*
2  *
3  * _/_/_/ _/_/ _/ _/ _/_/_/ _/_/
4  * _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/
5  * _/_/_/ _/_/_/_/ _/ _/_/ _/ _/ _/_/_/_/
6  * _/ _/ _/ _/ _/ _/ _/ _/ _/
7  * _/ _/ _/ _/ _/ _/_/_/ _/ _/
8  *
9  * ***********************************************
10  * PandA Project
11  * URL: http://panda.dei.polimi.it
12  * Politecnico di Milano - DEIB
13  * System Architectures Group
14  * ***********************************************
15  * Copyright (C) 2004-2024 Politecnico di Milano
16  *
17  * This file is part of the PandA framework.
18  *
19  * The PandA framework is free software; you can redistribute it and/or modify
20  * it under the terms of the GNU General Public License as published by
21  * the Free Software Foundation; either version 3 of the License, or
22  * (at your option) any later version.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License
30  * along with this program. If not, see <http://www.gnu.org/licenses/>.
31  *
32  */
37 // include for autoheader
38 #include "config_HAVE_BISON_2_7_OR_GREATER.hpp"
39 
40 #include "parse_discrepancy.hpp"
41 #include <iostream>
42 #if HAVE_BISON_2_7_OR_GREATER
43 #include "discrepancyParser.hpp"
44 #else
45 #include "discrepancyParser.h"
46 #endif
47 
48 // include from /utility
49 #include "exceptions.hpp"
50 
52 
53 extern void discrepancy_parseY(const std::string& fname, DiscrepancyRef Discrepancy);
54 
55 void parse_discrepancy(const std::string& c_trace_filename, DiscrepancyRef Discrepancy)
56 {
57  try
58  {
59  discrepancy_parseY(c_trace_filename, Discrepancy);
60  return;
61  }
62  catch(const char* msg)
63  {
64  std::cerr << msg << std::endl;
65  }
66  catch(const std::string& msg)
67  {
68  std::cerr << msg << std::endl;
69  }
70  catch(...)
71  {
72  std::cerr << "unknown exception" << std::endl;
73  }
74  THROW_ERROR("Error in parsing discrepancy data file: " + c_trace_filename);
75 }
void parse_discrepancy(const std::string &c_trace_filename, DiscrepancyRef Discrepancy)
exceptions managed by PandA
REF_FORWARD_DECL(Discrepancy)
#define THROW_ERROR(str_expr)
helper function used to throw an error in a standard way
Definition: exceptions.hpp:263
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
Definition: refcount.hpp:94
void discrepancy_parseY(const std::string &fname, DiscrepancyRef Discrepancy)

Generated on Mon Feb 12 2024 13:02:55 for PandA-2024.02 by doxygen 1.8.13