25 #include <agrum/BN/IBayesNet.h> 26 #include <agrum/BN/io/BNReader.h> 27 #include <agrum/agrum.h> 31 #ifndef DOXYGEN_SHOULD_SKIP_THIS 34 # include <agrum/BN/io/DSL/cocoR/Parser.h> 50 template <
typename GUM_SCALAR >
51 class DSLReader:
public BNReader< GUM_SCALAR > {
62 DSLReader(BayesNet< GUM_SCALAR >* bn,
const std::string& filename);
71 DSL::Scanner& scanner();
74 const std::string& streamName()
const;
98 bool errIsError(Idx i);
100 std::string errMsg(Idx i);
103 void showElegantErrors(std::ostream& o = std::cerr);
106 void showElegantErrorsAndWarnings(std::ostream& o = std::cerr);
109 void showErrorsAndWarnings(std::ostream& o = std::cerr);
112 void showErrorCounts(std::ostream& o = std::cerr);
116 BayesNet< GUM_SCALAR >* _bn_;
117 BayesNetFactory< GUM_SCALAR >* _factory_;
118 DSL::Scanner* _scanner_;
119 DSL::Parser* _parser_;
121 std::string _streamName_;
122 bool _traceScanning_;
131 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS 132 extern template class DSLReader<
double >;