Clingo
Loading...
Searching...
No Matches
check_syntax.hh
1#pragma once
2
3#include <clingo/input/statement.hh>
4
5#include <clingo/core/logger.hh>
6
7namespace CppClingo::Input {
8
11
13auto check_term(Logger &log, Term const &term) -> bool;
15auto check_literal(Logger &log, Lit const &lit) -> bool;
17auto check_head_literal(Logger &log, HdLit const &lit) -> bool;
19auto check_body_literal(Logger &log, BdLit const &lit) -> bool;
21auto check_statement(Logger &log, Stm const &stm) -> bool;
22
24
25} // namespace CppClingo::Input
Simple logger to report message to stderr or via a callback.
Definition logger.hh:63
std::variant< BdLitSimple, BdLitConjunction, BdLitAggregate, BdLitSetAggregate, BdLitTheoryAtom > BdLit
A body literal.
Definition body_literal.hh:116
auto check_body_literal(Logger &log, BdLit const &lit) -> bool
Check a body literal.
auto check_literal(Logger &log, Lit const &lit) -> bool
Check a literal.
auto check_head_literal(Logger &log, HdLit const &lit) -> bool
Check a head literal.
auto check_statement(Logger &log, Stm const &stm) -> bool
Check a statement.
auto check_term(Logger &log, Term const &term) -> bool
Check a term.
std::variant< HdLitSimple, HdLitDisjunction, HdLitAggregate, HdLitSetAggregate, HdLitTheoryAtom > HdLit
A head literal.
Definition head_literal.hh:130
std::variant< LitBool, LitComparison, LitSymbolic > Lit
Variant holding the different literal types.
Definition literal.hh:129
std::variant< StmRule, StmTheory, StmOptimize, StmWeakConstraint, StmShow, StmShowNothing, StmShowSig, StmProject, StmProjectSig, StmDefined, StmExternal, StmEdge, StmHeuristic, StmScript, StmInclude, StmProgram, StmConst, StmParts, StmComment > Stm
Variant of available statements.
Definition statement.hh:828
std::variant< TermVariable, TermSymbol, TermTuple, TermFunction, TermAbs, TermUnary, TermBinary > Term
Variant holding the different term types.
Definition term.hh:45