Loading...
Searching...
No Matches
GAFFCESParser.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
#ifndef BALL_MOLMEC_AMBER_GAFFCESPARSER_H
#define BALL_MOLMEC_AMBER_GAFFCESPARSER_H
#ifndef BALL_KERNEL_ATOM_H
#include <BALL/KERNEL/atom.h>
#endif
#ifndef BALL_DATATYPE_STRING_H
#include <BALL/DATATYPE/string.h>
#endif
#include <set>
#include <map>
#include <vector>
namespace BALL
{
class GAFFCESParser
{
public:
//atomic property string
class APSMatcher
{
public:
//encode Ringatomtypes
enum APSType
{
IS_RING_ATOM,
IS_NON_RING_ATOM,
IS_PLANAR,
IS_PLANAR_WITH_DB_TO_NR,
IS_PURELY_AROMATIC,
IS_PURELY_ALIPHATIC,
IS_OTHER_RING,
IS_3_RING_ATOM,
IS_4_RING_ATOM,
IS_5_RING_ATOM,
IS_6_RING_ATOM,
IS_7_RING_ATOM,
IS_8_RING_ATOM,
IS_9_RING_ATOM,
PURE_SINGLE_BOND,
PURE_SINGLE_BOND_TO_PARENT,
NO_PURE_SINGLE_BOND_TO_PARENT,
SINGLE_BOND,
SINGLE_BOND_TO_PARENT,
NO_SINGLE_BOND_TO_PARENT,
PURE_DOUBLE_BOND,
PURE_DOUBLE_BOND_TO_PARENT,
NO_PURE_DOUBLE_BOND_TO_PARENT,
DOUBLE_BOND,
DOUBLE_BOND_TO_PARENT,
NO_DOUBLE_BOND_TO_PARENT,
TRIPLE_BOND,
TRIPLE_BOND_TO_PARENT,
NO_TRIPLE_BOND_TO_PARENT,
DELOCALIZED_BOND,
DELOCALIZED_BOND_TO_PARENT,
NO_DELOCALIZED_BOND_TO_PARENT,
AROMATIC_BOND,
AROMATIC_BOND_TO_PARENT,
NO_AROMATIC_BOND_TO_PARENT,
APS_TRUE
};
class APSTerm
{
public:
APSTerm(APSType new_type, int new_feature_number)
: type(new_type),
feature_number(new_feature_number)
{}
APSType type;
//contain the number of occurence of a given feature
int feature_number;
};
//check if current atom is in a ring
bool isRingAtom(Atom& atom);
//check if the current atom is in a ring with size n
//and return the number of occurence
int isNRingAtom(Size size, Atom& atom);
//check if the current atom is not a ringatom or
//in a ten-membered or larger ring
bool isNonRingAtom(Atom& atom);
bool checkGAFFProperties(Atom& atom, Atom& predecessor, APSTerm aps);
APSMatcher();
~APSMatcher();
String printAPS();
// check if atom matches atomic property string
bool operator() (Atom& atom, Atom& predecessor);
//store atomic property string
//external vector: all AND (",") types
//internal vector: all OR (".")types
std::vector < std::vector< APSTerm> > aps_terms;
protected:
bool hasBond_(Atom* atom, Atom* predecessor, int bond_type, int feature_number);
};
struct State
{
//not "thread-safe"
GAFFCESParser* current_parser;
APSMatcher::APSType current_aps_type;
int feature_number;
};
//chemical environment string
class CESPredicate
{
public:
//encode wildcard elements
enum CESwildcards
{
XA, XB, XC, XD, XX
};
CESPredicate(GAFFCESParser* parser)
: parent(0),
atom_to_test(0),
parser_(parser)
{
initStringToWildcard();
};
virtual ~CESPredicate();
//initialize stringToWildcard map
void initStringToWildcard();
std::map<String, CESwildcards> getStringToWildcard();
//add a CESwildcardsConnectionPredicate to "predicate tree"
void addCESwildcardsConnectionPredicate(String wildcard, Size partners);
//add a CESwilddcardsPredicate to "predicate tree"
void addCESwildcardsPredicate(String wildcard);
//add an CESelementPredicate to "predicate tree"
void addCESelementPredicate(String name);
//add an CESelementConnectionPredicate to "predicate tree"
void addCESelementConnectionPredicate(Size partners, String name);
// add a TruePredicate to "predicate tree"
void addTruePredicate() const;
//check if atom and its environment match predicates
virtual bool operator () (Atom& atom);
//check if atom matches "predicates in predicate-tree"
virtual bool match(Atom&){return false;};
//delete children
void clear();
// check whether this atom is contained on a path to the root
bool alreadySeenThisAtom(Atom* atom);
//to expand aps_term in aps_matcher object
void addNewAND();
void addNewOR(APSMatcher::APSType aps, int feature_number);
//store existing atomic property string
APSMatcher aps_matcher;
//all CESPredicates for current_predicate ->children of current_predicate
std::vector<CESPredicate*> children;
//CESPredicate, that has current_predicate in his children vector
CESPredicate* parent;
//The atom we are trying to match to this predicate
Atom* atom_to_test;
protected:
//map to convert String into wildcard-element
std::map<String, CESwildcards > stringToWildcard_;
GAFFCESParser* parser_;
};
//element-name of the partnerAtom and number of its connected atoms
class CESelementConnectionPredicate : public CESPredicate
{
public:
CESelementConnectionPredicate(GAFFCESParser* parser)
: CESPredicate(parser),
numberOfPartners_(0),
elementName_("NoName")
{};
~CESelementConnectionPredicate();
void setNumberOfPartners(Size number);
void setElementName(String name);
Size getNumberOfPartners();
String getElementName();
//check if atom matches predicate
bool match(Atom& atom);
protected:
Size numberOfPartners_;
String elementName_;
};
//element-name of the partnerAtom
class CESelementPredicate : public CESPredicate
{
public:
CESelementPredicate(GAFFCESParser* parser)
: CESPredicate(parser),
elementName_("NoName")
{
};
~CESelementPredicate();
void setElementName(String name);
String getElementName();
//check if atom matches predicate
bool match(Atom& atom);
protected:
String elementName_;
};
//XA,XB,XC,XD,XX
class CESwildcardsPredicate : public CESPredicate
{
public:
CESwildcardsPredicate(GAFFCESParser* parser)
: CESPredicate(parser)
{};
~CESwildcardsPredicate();
void setWildcards(String new_wildcard);
CESwildcards getWildcards();
//checks if atom matches the given wildcard-element (XA, XB, XC, XD, XX)
bool matchWildcards(Atom& atom);
//check if atom matches predicate
bool match(Atom& atom);
protected:
CESwildcards wildcards_;
};
//XA,XB,XC,XD,XX and number of partnerAtoms
class CESwildcardsConnectionPredicate : public CESPredicate
{
public:
CESwildcardsConnectionPredicate(GAFFCESParser* parser)
: CESPredicate(parser),
numberOfPartners_(0)
{};
~CESwildcardsConnectionPredicate();
void setNumberOfPartners(Size number);
void setWildcards(String new_wildcard);
Size getNumberOfPartners();
CESwildcards getWildcards();
//checks if atom matches the given wildcard-element (XA, XB, XC, XD, XX)
bool matchWildcards(Atom& atom);
//check if atom matches predicate
bool match(Atom& atom);
protected:
CESwildcards wildcards_;
Size numberOfPartners_;
};
//string is "*" which means always true
class TruePredicate : public CESPredicate
{
public:
TruePredicate(GAFFCESParser* parser)
: CESPredicate(parser)
{};
~TruePredicate() {};
//check if atom matches predicate (always true!)
bool match(Atom&) { return true; }
};
//Parser-match-Function checking if atom's environment matches the "predicate tree"
bool match(Atom& atom) const;
//initialize Set of Elementsymbols
void initElementSymbols();
const std::set<String>& getElementSymbols();
GAFFCESParser();
GAFFCESParser(const String& cesstring);
~GAFFCESParser();
//for lexer/parser
Size read(char* buf, Size max_size);
static State state;
TruePredicate root;
//fixed root of the "predicate tree"
CESPredicate* root_predicate;
//parent-predicate of current_predicate
CESPredicate* current_root_predicate;
//"predicate-node" in the "predicate tree" we actually considering
CESPredicate* current_predicate;
//parse chemical environment string
bool parse(const String& cesstring);
//check if any atom matches parsed ces_string
bool GAFFCESatomMatcher(Atom& atom, const String& cesstring);
//start filling the children vector for a current predicate
void startChildPredicates();
//end up filling the children vector for a current predicate
void endChildPredicates();
protected:
//current chemical environment string
String cesstring_;
//set with all valid element symbols
std::set<String> element_symbols_;
//for Parser/Lexer function YYINPUT
Position read_start_;
};
}
#endif
atom.h
BALL::Atom
Definition atom.h:90
BALL::GAFFCESParser::APSMatcher::APSTerm
Definition GAFFCESParser.h:72
BALL::GAFFCESParser::APSMatcher::APSTerm::APSTerm
APSTerm(APSType new_type, int new_feature_number)
Definition GAFFCESParser.h:74
BALL::GAFFCESParser::APSMatcher::APSTerm::feature_number
int feature_number
Definition GAFFCESParser.h:81
BALL::GAFFCESParser::APSMatcher::APSTerm::type
APSType type
Definition GAFFCESParser.h:79
BALL::GAFFCESParser::APSMatcher
Definition GAFFCESParser.h:28
BALL::GAFFCESParser::APSMatcher::isRingAtom
bool isRingAtom(Atom &atom)
BALL::GAFFCESParser::APSMatcher::~APSMatcher
~APSMatcher()
BALL::GAFFCESParser::APSMatcher::APSType
APSType
Definition GAFFCESParser.h:32
BALL::GAFFCESParser::APSMatcher::DELOCALIZED_BOND
@ DELOCALIZED_BOND
Definition GAFFCESParser.h:62
BALL::GAFFCESParser::APSMatcher::NO_SINGLE_BOND_TO_PARENT
@ NO_SINGLE_BOND_TO_PARENT
Definition GAFFCESParser.h:52
BALL::GAFFCESParser::APSMatcher::NO_DOUBLE_BOND_TO_PARENT
@ NO_DOUBLE_BOND_TO_PARENT
Definition GAFFCESParser.h:58
BALL::GAFFCESParser::APSMatcher::DOUBLE_BOND
@ DOUBLE_BOND
Definition GAFFCESParser.h:56
BALL::GAFFCESParser::APSMatcher::AROMATIC_BOND
@ AROMATIC_BOND
Definition GAFFCESParser.h:65
BALL::GAFFCESParser::APSMatcher::IS_8_RING_ATOM
@ IS_8_RING_ATOM
Definition GAFFCESParser.h:45
BALL::GAFFCESParser::APSMatcher::TRIPLE_BOND
@ TRIPLE_BOND
Definition GAFFCESParser.h:59
BALL::GAFFCESParser::APSMatcher::DOUBLE_BOND_TO_PARENT
@ DOUBLE_BOND_TO_PARENT
Definition GAFFCESParser.h:57
BALL::GAFFCESParser::APSMatcher::SINGLE_BOND_TO_PARENT
@ SINGLE_BOND_TO_PARENT
Definition GAFFCESParser.h:51
BALL::GAFFCESParser::APSMatcher::NO_TRIPLE_BOND_TO_PARENT
@ NO_TRIPLE_BOND_TO_PARENT
Definition GAFFCESParser.h:61
BALL::GAFFCESParser::APSMatcher::IS_PLANAR
@ IS_PLANAR
Definition GAFFCESParser.h:35
BALL::GAFFCESParser::APSMatcher::IS_PURELY_AROMATIC
@ IS_PURELY_AROMATIC
Definition GAFFCESParser.h:37
BALL::GAFFCESParser::APSMatcher::DELOCALIZED_BOND_TO_PARENT
@ DELOCALIZED_BOND_TO_PARENT
Definition GAFFCESParser.h:63
BALL::GAFFCESParser::APSMatcher::PURE_SINGLE_BOND
@ PURE_SINGLE_BOND
Definition GAFFCESParser.h:47
BALL::GAFFCESParser::APSMatcher::NO_PURE_DOUBLE_BOND_TO_PARENT
@ NO_PURE_DOUBLE_BOND_TO_PARENT
Definition GAFFCESParser.h:55
BALL::GAFFCESParser::APSMatcher::NO_AROMATIC_BOND_TO_PARENT
@ NO_AROMATIC_BOND_TO_PARENT
Definition GAFFCESParser.h:67
BALL::GAFFCESParser::APSMatcher::NO_DELOCALIZED_BOND_TO_PARENT
@ NO_DELOCALIZED_BOND_TO_PARENT
Definition GAFFCESParser.h:64
BALL::GAFFCESParser::APSMatcher::IS_6_RING_ATOM
@ IS_6_RING_ATOM
Definition GAFFCESParser.h:43
BALL::GAFFCESParser::APSMatcher::PURE_DOUBLE_BOND
@ PURE_DOUBLE_BOND
Definition GAFFCESParser.h:53
BALL::GAFFCESParser::APSMatcher::IS_NON_RING_ATOM
@ IS_NON_RING_ATOM
Definition GAFFCESParser.h:34
BALL::GAFFCESParser::APSMatcher::SINGLE_BOND
@ SINGLE_BOND
Definition GAFFCESParser.h:50
BALL::GAFFCESParser::APSMatcher::IS_3_RING_ATOM
@ IS_3_RING_ATOM
Definition GAFFCESParser.h:40
BALL::GAFFCESParser::APSMatcher::IS_7_RING_ATOM
@ IS_7_RING_ATOM
Definition GAFFCESParser.h:44
BALL::GAFFCESParser::APSMatcher::APS_TRUE
@ APS_TRUE
Definition GAFFCESParser.h:68
BALL::GAFFCESParser::APSMatcher::IS_4_RING_ATOM
@ IS_4_RING_ATOM
Definition GAFFCESParser.h:41
BALL::GAFFCESParser::APSMatcher::PURE_SINGLE_BOND_TO_PARENT
@ PURE_SINGLE_BOND_TO_PARENT
Definition GAFFCESParser.h:48
BALL::GAFFCESParser::APSMatcher::AROMATIC_BOND_TO_PARENT
@ AROMATIC_BOND_TO_PARENT
Definition GAFFCESParser.h:66
BALL::GAFFCESParser::APSMatcher::IS_PURELY_ALIPHATIC
@ IS_PURELY_ALIPHATIC
Definition GAFFCESParser.h:38
BALL::GAFFCESParser::APSMatcher::PURE_DOUBLE_BOND_TO_PARENT
@ PURE_DOUBLE_BOND_TO_PARENT
Definition GAFFCESParser.h:54
BALL::GAFFCESParser::APSMatcher::IS_9_RING_ATOM
@ IS_9_RING_ATOM
Definition GAFFCESParser.h:46
BALL::GAFFCESParser::APSMatcher::TRIPLE_BOND_TO_PARENT
@ TRIPLE_BOND_TO_PARENT
Definition GAFFCESParser.h:60
BALL::GAFFCESParser::APSMatcher::IS_PLANAR_WITH_DB_TO_NR
@ IS_PLANAR_WITH_DB_TO_NR
Definition GAFFCESParser.h:36
BALL::GAFFCESParser::APSMatcher::NO_PURE_SINGLE_BOND_TO_PARENT
@ NO_PURE_SINGLE_BOND_TO_PARENT
Definition GAFFCESParser.h:49
BALL::GAFFCESParser::APSMatcher::IS_OTHER_RING
@ IS_OTHER_RING
Definition GAFFCESParser.h:39
BALL::GAFFCESParser::APSMatcher::IS_RING_ATOM
@ IS_RING_ATOM
Definition GAFFCESParser.h:33
BALL::GAFFCESParser::APSMatcher::IS_5_RING_ATOM
@ IS_5_RING_ATOM
Definition GAFFCESParser.h:42
BALL::GAFFCESParser::APSMatcher::aps_terms
std::vector< std::vector< APSTerm > > aps_terms
Definition GAFFCESParser.h:107
BALL::GAFFCESParser::APSMatcher::operator()
bool operator()(Atom &atom, Atom &predecessor)
BALL::GAFFCESParser::APSMatcher::checkGAFFProperties
bool checkGAFFProperties(Atom &atom, Atom &predecessor, APSTerm aps)
BALL::GAFFCESParser::APSMatcher::isNonRingAtom
bool isNonRingAtom(Atom &atom)
BALL::GAFFCESParser::APSMatcher::isNRingAtom
int isNRingAtom(Size size, Atom &atom)
BALL::GAFFCESParser::APSMatcher::APSMatcher
APSMatcher()
BALL::GAFFCESParser::APSMatcher::printAPS
String printAPS()
BALL::GAFFCESParser::APSMatcher::hasBond_
bool hasBond_(Atom *atom, Atom *predecessor, int bond_type, int feature_number)
BALL::GAFFCESParser::CESPredicate
Definition GAFFCESParser.h:126
BALL::GAFFCESParser::CESPredicate::parser_
GAFFCESParser * parser_
Definition GAFFCESParser.h:186
BALL::GAFFCESParser::CESPredicate::CESPredicate
CESPredicate(GAFFCESParser *parser)
Definition GAFFCESParser.h:134
BALL::GAFFCESParser::CESPredicate::children
std::vector< CESPredicate * > children
Definition GAFFCESParser.h:177
BALL::GAFFCESParser::CESPredicate::CESwildcards
CESwildcards
Definition GAFFCESParser.h:130
BALL::GAFFCESParser::CESPredicate::XB
@ XB
Definition GAFFCESParser.h:131
BALL::GAFFCESParser::CESPredicate::XX
@ XX
Definition GAFFCESParser.h:131
BALL::GAFFCESParser::CESPredicate::XC
@ XC
Definition GAFFCESParser.h:131
BALL::GAFFCESParser::CESPredicate::XD
@ XD
Definition GAFFCESParser.h:131
BALL::GAFFCESParser::CESPredicate::XA
@ XA
Definition GAFFCESParser.h:131
BALL::GAFFCESParser::CESPredicate::addNewOR
void addNewOR(APSMatcher::APSType aps, int feature_number)
BALL::GAFFCESParser::CESPredicate::clear
void clear()
BALL::GAFFCESParser::CESPredicate::addCESelementPredicate
void addCESelementPredicate(String name)
BALL::GAFFCESParser::CESPredicate::parent
CESPredicate * parent
Definition GAFFCESParser.h:179
BALL::GAFFCESParser::CESPredicate::operator()
virtual bool operator()(Atom &atom)
BALL::GAFFCESParser::CESPredicate::match
virtual bool match(Atom &)
Definition GAFFCESParser.h:162
BALL::GAFFCESParser::CESPredicate::atom_to_test
Atom * atom_to_test
Definition GAFFCESParser.h:182
BALL::GAFFCESParser::CESPredicate::~CESPredicate
virtual ~CESPredicate()
BALL::GAFFCESParser::CESPredicate::stringToWildcard_
std::map< String, CESwildcards > stringToWildcard_
Definition GAFFCESParser.h:185
BALL::GAFFCESParser::CESPredicate::addNewAND
void addNewAND()
BALL::GAFFCESParser::CESPredicate::addCESwildcardsConnectionPredicate
void addCESwildcardsConnectionPredicate(String wildcard, Size partners)
BALL::GAFFCESParser::CESPredicate::addTruePredicate
void addTruePredicate() const
BALL::GAFFCESParser::CESPredicate::alreadySeenThisAtom
bool alreadySeenThisAtom(Atom *atom)
BALL::GAFFCESParser::CESPredicate::addCESwildcardsPredicate
void addCESwildcardsPredicate(String wildcard)
BALL::GAFFCESParser::CESPredicate::getStringToWildcard
std::map< String, CESwildcards > getStringToWildcard()
BALL::GAFFCESParser::CESPredicate::addCESelementConnectionPredicate
void addCESelementConnectionPredicate(Size partners, String name)
BALL::GAFFCESParser::CESPredicate::aps_matcher
APSMatcher aps_matcher
Definition GAFFCESParser.h:174
BALL::GAFFCESParser::CESPredicate::initStringToWildcard
void initStringToWildcard()
BALL::GAFFCESParser::CESelementConnectionPredicate::setElementName
void setElementName(String name)
BALL::GAFFCESParser::CESelementConnectionPredicate::CESelementConnectionPredicate
CESelementConnectionPredicate(GAFFCESParser *parser)
Definition GAFFCESParser.h:193
BALL::GAFFCESParser::CESelementConnectionPredicate::setNumberOfPartners
void setNumberOfPartners(Size number)
BALL::GAFFCESParser::CESelementConnectionPredicate::elementName_
String elementName_
Definition GAFFCESParser.h:209
BALL::GAFFCESParser::CESelementConnectionPredicate::match
bool match(Atom &atom)
BALL::GAFFCESParser::CESelementConnectionPredicate::getElementName
String getElementName()
BALL::GAFFCESParser::CESelementConnectionPredicate::numberOfPartners_
Size numberOfPartners_
Definition GAFFCESParser.h:208
BALL::GAFFCESParser::CESelementConnectionPredicate::~CESelementConnectionPredicate
~CESelementConnectionPredicate()
BALL::GAFFCESParser::CESelementConnectionPredicate::getNumberOfPartners
Size getNumberOfPartners()
BALL::GAFFCESParser::CESelementPredicate::setElementName
void setElementName(String name)
BALL::GAFFCESParser::CESelementPredicate::CESelementPredicate
CESelementPredicate(GAFFCESParser *parser)
Definition GAFFCESParser.h:216
BALL::GAFFCESParser::CESelementPredicate::~CESelementPredicate
~CESelementPredicate()
BALL::GAFFCESParser::CESelementPredicate::match
bool match(Atom &atom)
BALL::GAFFCESParser::CESelementPredicate::getElementName
String getElementName()
BALL::GAFFCESParser::CESelementPredicate::elementName_
String elementName_
Definition GAFFCESParser.h:229
BALL::GAFFCESParser::CESwildcardsConnectionPredicate::setNumberOfPartners
void setNumberOfPartners(Size number)
BALL::GAFFCESParser::CESwildcardsConnectionPredicate::wildcards_
CESwildcards wildcards_
Definition GAFFCESParser.h:271
BALL::GAFFCESParser::CESwildcardsConnectionPredicate::getWildcards
CESwildcards getWildcards()
BALL::GAFFCESParser::CESwildcardsConnectionPredicate::numberOfPartners_
Size numberOfPartners_
Definition GAFFCESParser.h:272
BALL::GAFFCESParser::CESwildcardsConnectionPredicate::CESwildcardsConnectionPredicate
CESwildcardsConnectionPredicate(GAFFCESParser *parser)
Definition GAFFCESParser.h:256
BALL::GAFFCESParser::CESwildcardsConnectionPredicate::getNumberOfPartners
Size getNumberOfPartners()
BALL::GAFFCESParser::CESwildcardsConnectionPredicate::setWildcards
void setWildcards(String new_wildcard)
BALL::GAFFCESParser::CESwildcardsConnectionPredicate::match
bool match(Atom &atom)
BALL::GAFFCESParser::CESwildcardsConnectionPredicate::matchWildcards
bool matchWildcards(Atom &atom)
BALL::GAFFCESParser::CESwildcardsConnectionPredicate::~CESwildcardsConnectionPredicate
~CESwildcardsConnectionPredicate()
BALL::GAFFCESParser::CESwildcardsPredicate::~CESwildcardsPredicate
~CESwildcardsPredicate()
BALL::GAFFCESParser::CESwildcardsPredicate::matchWildcards
bool matchWildcards(Atom &atom)
BALL::GAFFCESParser::CESwildcardsPredicate::CESwildcardsPredicate
CESwildcardsPredicate(GAFFCESParser *parser)
Definition GAFFCESParser.h:236
BALL::GAFFCESParser::CESwildcardsPredicate::setWildcards
void setWildcards(String new_wildcard)
BALL::GAFFCESParser::CESwildcardsPredicate::wildcards_
CESwildcards wildcards_
Definition GAFFCESParser.h:249
BALL::GAFFCESParser::CESwildcardsPredicate::getWildcards
CESwildcards getWildcards()
BALL::GAFFCESParser::CESwildcardsPredicate::match
bool match(Atom &atom)
BALL::GAFFCESParser::TruePredicate
Definition GAFFCESParser.h:277
BALL::GAFFCESParser::TruePredicate::~TruePredicate
~TruePredicate()
Definition GAFFCESParser.h:282
BALL::GAFFCESParser::TruePredicate::TruePredicate
TruePredicate(GAFFCESParser *parser)
Definition GAFFCESParser.h:279
BALL::GAFFCESParser::TruePredicate::match
bool match(Atom &)
Definition GAFFCESParser.h:284
BALL::GAFFCESParser::root
TruePredicate root
The root atom has no CESPredicate to test, so it's considered always true.
Definition GAFFCESParser.h:304
BALL::GAFFCESParser::match
bool match(Atom &atom) const
BALL::GAFFCESParser::endChildPredicates
void endChildPredicates()
BALL::GAFFCESParser::GAFFCESParser
GAFFCESParser()
BALL::GAFFCESParser::cesstring_
String cesstring_
Definition GAFFCESParser.h:324
BALL::GAFFCESParser::root_predicate
CESPredicate * root_predicate
Definition GAFFCESParser.h:306
BALL::GAFFCESParser::getElementSymbols
const std::set< String > & getElementSymbols()
BALL::GAFFCESParser::current_root_predicate
CESPredicate * current_root_predicate
Definition GAFFCESParser.h:308
BALL::GAFFCESParser::startChildPredicates
void startChildPredicates()
BALL::GAFFCESParser::read
Size read(char *buf, Size max_size)
BALL::GAFFCESParser::initElementSymbols
void initElementSymbols()
BALL::GAFFCESParser::~GAFFCESParser
~GAFFCESParser()
BALL::GAFFCESParser::element_symbols_
std::set< String > element_symbols_
Definition GAFFCESParser.h:326
BALL::GAFFCESParser::read_start_
Position read_start_
Definition GAFFCESParser.h:328
BALL::GAFFCESParser::GAFFCESatomMatcher
bool GAFFCESatomMatcher(Atom &atom, const String &cesstring)
BALL::GAFFCESParser::current_predicate
CESPredicate * current_predicate
Definition GAFFCESParser.h:310
BALL::GAFFCESParser::parse
bool parse(const String &cesstring)
BALL::GAFFCESParser::GAFFCESParser
GAFFCESParser(const String &cesstring)
BALL::GAFFCESParser::state
static State state
Definition GAFFCESParser.h:301
BALL::String
Definition string.h:57
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::Position
BALL_SIZE_TYPE Position
Definition COMMON/global.h:140
string.h
BALL::GAFFCESParser::State
Definition GAFFCESParser.h:114
BALL::GAFFCESParser::State::feature_number
int feature_number
Definition GAFFCESParser.h:119
BALL::GAFFCESParser::State::current_parser
GAFFCESParser * current_parser
Definition GAFFCESParser.h:116
BALL::GAFFCESParser::State::current_aps_type
APSMatcher::APSType current_aps_type
Definition GAFFCESParser.h:118