dlvhex  2.5.0
include/dlvhex2/HexGrammar.tcc File Reference

Implementation of HexGrammar.h. More...

#include "dlvhex2/PlatformDefinitions.h"
#include "dlvhex2/ProgramCtx.h"
#include "dlvhex2/Registry.h"
#include "dlvhex2/Printer.h"
#include "dlvhex2/ExtSourceProperties.h"
#include <algorithm>
#include <boost/spirit/include/qi.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/lexical_cast.hpp>
Include dependency graph for HexGrammar.tcc:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  sem< HexGrammarSemantics::termId >
struct  sem< HexGrammarSemantics::termFromCIdent >
struct  sem< HexGrammarSemantics::termFromFunctionTerm >
struct  sem< HexGrammarSemantics::termFromRange >
struct  sem< HexGrammarSemantics::termFromInteger >
struct  sem< HexGrammarSemantics::termFromString >
struct  sem< HexGrammarSemantics::termFromVariable >
struct  sem< HexGrammarSemantics::predFromPredDecl >
struct  sem< HexGrammarSemantics::predFromNameOnly >
struct  sem< HexGrammarSemantics::predFromString >
struct  sem< HexGrammarSemantics::classicalAtomFromPrefix >
struct  sem< HexGrammarSemantics::classicalAtomFromTuple >
struct  sem< HexGrammarSemantics::builtinTernaryInfix >
struct  sem< HexGrammarSemantics::builtinBinaryInfix >
struct  sem< HexGrammarSemantics::builtinUnaryPrefix >
struct  sem< HexGrammarSemantics::builtinBinaryPrefix >
struct  sem< HexGrammarSemantics::builtinTernaryPrefix >
struct  sem< HexGrammarSemantics::aggregateAtom >
struct  sem< HexGrammarSemantics::externalAtom >
struct  sem< HexGrammarSemantics::extSourceProperty >
struct  sem< HexGrammarSemantics::mlpModuleAtom >
struct  sem< HexGrammarSemantics::bodyLiteral >
struct  sem< HexGrammarSemantics::rule >
struct  sem< HexGrammarSemantics::ruleVariableDisjunction >
struct  sem< HexGrammarSemantics::constraint >
struct  sem< HexGrammarSemantics::weakconstraint >
struct  sem< HexGrammarSemantics::weakconstraintaspcore2 >
struct  sem< HexGrammarSemantics::addMLPModuleName >
struct  sem< HexGrammarSemantics::addMLPModuleHeader >
struct  sem< HexGrammarSemantics::add >
struct  sem< HexGrammarSemantics::ignoreAndWarnIfNotFail >
struct  sem< HexGrammarSemantics::maxint >

Defines

#define DLVHEX_HEX_GRAMMAR_TCC_INCLUDED

Functions

void storePredicate (const std::string &oriPredName, int predArity, HexGrammarSemantics &mgr, ID &target)
 WARNING ("TODO more efficient than "rule=rule.copy()|*module" could be something else (see comments below)") template< typename Iterator
 register module for parsing top level elements of input file (use this to parse queries or other meta or control flow information)

Detailed Description

Implementation of HexGrammar.h.

Grammar for parsing HEX using boost::spirit.

Author:
Peter Schller
Date:
Wed Jul 8 14:00:48 CEST 2009
Author:
Peter Schller

Definition in file HexGrammar.tcc.


Define Documentation

Definition at line 43 of file HexGrammar.tcc.


Function Documentation

WARNING ( "TODO more efficient than "  rule = rule.copy() | *module " could be something else (see comments below)")

register module for parsing top level elements of input file (use this to parse queries or other meta or control flow information)

Referenced by BaseModelGeneratorFactory::addDomainPredicatesAndCreateDomainExplorationProgram(), ProgramCtx::addPluginAtom(), ProgramCtx::addPluginAtomsFromPluginContainer(), BOOST_AUTO_TEST_CASE(), EvalHeuristicASP::build(), EvalHeuristicFromFile::build(), ComponentGraph::calculateComponents(), ComponentGraph::calculateFixedDomain(), SafetyChecker::checkSafety(), ComponentGraph::computeCollapsedComponentInfos(), EncodingBasedUnfoundedSetChecker::constructUFSDetectionProblemNecessaryPart(), AssumptionBasedUnfoundedSetChecker::constructUFSDetectionProblemRule(), ConvertState::convert(), CreateEvalGraphState::createEvalGraph(), FLPModelGeneratorFactoryBase::createFLPRules(), GenuineWellfoundedModelGenerator::generateNextModel(), WellfoundedModelGenerator::generateNextModel(), GenuineGuessAndCheckModelGenerator::GenuineGuessAndCheckModelGenerator(), PredicateTable::getByString(), GuessAndCheckModelGenerator::GuessAndCheckModelGenerator(), main(), ProcessBuf::open(), AnswerSetPrinterCallback::operator()(), StrongSafetyChecker::operator()(), sem< QueryParserModuleSemantics::queryBody >::operator()(), handle_fact::operator()(), sem< HexGrammarSemantics::aggregateAtom >::operator()(), sem< HexGrammarSemantics::ignoreAndWarnIfNotFail >::operator()(), PredicateMask::operator=(), ModuleHexParser::parse(), ParseState::parse(), parseCommandFile(), PredicateMask::PredicateMask(), ChoicePlugin::processOptions(), ConditionalLiteralPlugin::processOptions(), WeakConstraintPlugin::processOptions(), FunctionPlugin::processOptions(), AggregatePlugin::processOptions(), StrongNegationPlugin::processOptions(), HigherOrderPlugin::processOptions(), ManualEvalHeuristicsPlugin::processOptions(), QueryPlugin::processOptions(), TestPlugin::processOptions(), processOptionsPrePlugin(), ProgramCtx::ProgramCtx(), FunctionInterprete::retrieve(), OnlineModelBuilder< EvalGraphT >::EvalUnitModelBuildingProperties::setIModel(), ProgramCtx::setupPluginContainer(), QueryPlugin::setupProgramCtx(), TestDisjAtom::TestDisjAtom(), TestPlugin::TestGen2Atom::TestGen2Atom(), TestIdAtom::TestIdAtom(), TestIdcAtom::TestIdcAtom(), TestIdpAtom::TestIdpAtom(), TestPlugin::TestIsEmpty::TestIsEmpty(), TestNegAtom::TestNegAtom(), TestNonmon2Atom::TestNonmon2Atom(), TestNonmonAtom::TestNonmonAtom(), TestPlugin::TestNumberOfBalls::TestNumberOfBalls(), TestPlugin::TestNumberOfBallsGE::TestNumberOfBallsGE(), TestPlugin::TestNumberOfBallsSE::TestNumberOfBallsSE(), TestSetMinusNogoodBasedLearningAtom::TestSetMinusNogoodBasedLearningAtom(), TestSetMinusNonComfortAtom::TestSetMinusNonComfortAtom(), TestSetMinusNongroundNogoodBasedLearningAtom::TestSetMinusNongroundNogoodBasedLearningAtom(), TestSetMinusPartialAtom::TestSetMinusPartialAtom(), TestSetMinusRuleBasedLearningAtom::TestSetMinusRuleBasedLearningAtom(), TestPlugin::TestSetUnionAtom::TestSetUnionAtom(), GenuineGuessAndCheckModelGenerator::unfoundedSetCheck(), and PluginContainer::~PluginContainer().