Revision cfdc7053f2bba3965c665328fc1d014f44cab16b authored by Lonca Emmanuel on 17 March 2021, 12:16:06 UTC, committed by Lonca Emmanuel on 17 March 2021, 12:16:06 UTC
1 parent 76983f8
IParser.h
/**
* \file IParser.h
* \brief Interface used to define the input files parsers
* \author Jean-Marie Lagniez, Emmanuel Lonca, Jean-Guy Mailly
* \version 0.1
* \date 7/11/2014
*
*/
#ifndef __IPARSER_H__
#define __IPARSER_H__
#include "Attacks.h"
#include "VarMap.h"
namespace CoQuiAAS {
/** enumeration of the attacks input formats*/
typedef enum {FORMAT_UNDEFINED, FORMAT_TRIVIAL_GRAPH, FORMAT_ASPARTIX, FORMAT_CNF} InstanceFormat;
/**
* \class IParser
* \brief An interface for parser objects
*/
class IParser {
public:
/**
* \fn parseInstance
* \brief Parses the input file and build the data structures corresponding to the AF
*/
virtual void parseInstance() = 0;
virtual void parseDynamics(std::istream *input) = 0;
/**
* \fn getAttacks()
* \brief Returns the attack relation corresponding to the input file
* \return the attack relation corresponding to the input file
*/
virtual Attacks& getAttacks() = 0;
/**
* \fn getVarMap()
* \brief Returns the mapping between the arguments and the literals
* \return the mapping between the arguments and the literals
*/
virtual VarMap& getVarMap() = 0;
};
}
#endif
Computing file changes ...