Connect++ 0.7.0
A fast, readable connection prover for first-order logic.
Loading...
Searching...
No Matches
tptp_parser::literal_grammar< It > Struct Template Reference
Inheritance diagram for tptp_parser::literal_grammar< It >:
Collaboration diagram for tptp_parser::literal_grammar< It >:

Public Attributes

fof_defined_infix_formula_grammar< It > fof_defined_infix_formula
 
fof_infix_unary_grammar< It > fof_infix_unary
 
fof_atomic_formula_grammar< It > fof_atomic_formula
 
qi::rule< It, fof_atomic_formula_type(), ascii::space_type > literal
 

Detailed Description

template<typename It>
struct tptp_parser::literal_grammar< It >

Definition at line 725 of file TPTPParser.cpp.

Constructor & Destructor Documentation

◆ literal_grammar()

template<typename It >
tptp_parser::literal_grammar< It >::literal_grammar ( )
inline

Definition at line 728 of file TPTPParser.cpp.

729 : literal_grammar::base_type(literal) {
730 /*
731 * NOTE: the line for fof_defined_infix_formula should not be here
732 * according to the syntax. However for reasons that are not clear
733 * f(X) = ... does not get parsed if it's left out. (X = ... is just
734 * fine.) The syntax treats ... = ... differently from ... != ...
735 * with the former being handled by fof_atomic_formula.
736 *
737 * NOTE 2: I wonder what the intended behaviour is for
738 * - X = Y .
739 *
740 * NOTE 3: In the TPTP definition fof_infix_unary comes last,
741 * however that causes problems with f(X) != ...
742 * I think all that is happening here is that the f(X) gets
743 * parsed as an atomic formula if you use the definition
744 * exactly.
745 */
746 // Types are slightly out of line here, but seems
747 // fine.
748 literal %=
749 fof_defined_infix_formula [to_lit()]
750 | fof_infix_unary [to_lit()]
751 | (eps[unset_neg_lit()] >> fof_atomic_formula) [to_lit()]
752 | (lit('~') >> eps[set_neg_lit()] >> fof_atomic_formula) [to_lit()];
753 }
Collection of more complex semantic actions.
Collection of more complex semantic actions.
Collection of more complex semantic actions.

Member Data Documentation

◆ fof_atomic_formula

template<typename It >
fof_atomic_formula_grammar<It> tptp_parser::literal_grammar< It >::fof_atomic_formula

Definition at line 756 of file TPTPParser.cpp.

◆ fof_defined_infix_formula

template<typename It >
fof_defined_infix_formula_grammar<It> tptp_parser::literal_grammar< It >::fof_defined_infix_formula

Definition at line 754 of file TPTPParser.cpp.

◆ fof_infix_unary

template<typename It >
fof_infix_unary_grammar<It> tptp_parser::literal_grammar< It >::fof_infix_unary

Definition at line 755 of file TPTPParser.cpp.

◆ literal

template<typename It >
qi::rule<It, fof_atomic_formula_type(), ascii::space_type> tptp_parser::literal_grammar< It >::literal

Definition at line 759 of file TPTPParser.cpp.


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