dlvhex  2.5.0
FunctionRewriter Class Reference
Inheritance diagram for FunctionRewriter:
Collaboration diagram for FunctionRewriter:

Public Member Functions

 FunctionRewriter (FunctionPlugin::CtxData &ctxdata)
virtual ~FunctionRewriter ()
ID composeTerm (ProgramCtx &ctx, ID composedTerm, Rule &rule)
ID decomposeTerm (ProgramCtx &ctx, ID composedTerm, Rule &rule)
virtual void rewrite (ProgramCtx &ctx)
 Rewriting funcition.

Private Attributes

FunctionPlugin::CtxDatactxdata

Detailed Description

Definition at line 134 of file FunctionPlugin.cpp.


Constructor & Destructor Documentation

Definition at line 140 of file FunctionPlugin.cpp.

virtual FunctionRewriter::~FunctionRewriter ( ) [inline, virtual]

Definition at line 141 of file FunctionPlugin.cpp.


Member Function Documentation

void FunctionRewriter::rewrite ( ProgramCtx ctx) [virtual]

Rewriting funcition.

The rewriting is applied to a ProgramCtx object.

Parameters:
ctxThe current program context

Especially ctx.edb and ctx.idb may be the subject of rewriting.

Implements PluginRewriter.

Definition at line 206 of file FunctionPlugin.cpp.

References ID::ALL_ONES, Rule::body, composeTerm(), decomposeTerm(), Rule::head, ProgramCtx::idb, ExternalAtom::inputs, ID::isExternalAtom(), ID::isNaf(), ID::isOrdinaryAtom(), Rule::kind, Atom::kind, ID::nafLiteralFromAtom(), ID::posLiteralFromAtom(), ExternalAtom::predicate, ProgramCtx::registry(), ID::SUBKIND_ATOM_ORDINARYN, ID::SUBKIND_MASK, and Atom::tuple.


Field Documentation


The documentation for this class was generated from the following file: