carl  24.04
Computer ARithmetic Library
carl::io::parser::FormulaParser< Pol > Struct Template Reference

#include <FormulaParser.h>

Inheritance diagram for carl::io::parser::FormulaParser< Pol >:
Collaboration diagram for carl::io::parser::FormulaParser< Pol >:

Public Member Functions

 FormulaParser ()
 
void addVariable (Variable::Arg v)
 

Private Member Functions

Variable newVariable (const std::string &s)
 
Formula< PolcreateBinary (FormulaType op, const Formula< Pol > &lhs, const Formula< Pol > &rhs)
 
Formula< PolcreateNary (FormulaType op, const Formula< Pol > &first, const std::vector< Formula< Pol >> &ops)
 
Formula< PolmkAnd (const Formula< Pol > &first, const std::vector< Formula< Pol >> &ops)
 
Formula< PolmkOr (const Formula< Pol > &first, const std::vector< Formula< Pol >> &ops)
 

Private Attributes

qi::symbols< char, Variablevarmap
 
qi::symbols< char, FormulaTypebinaryop
 
qi::symbols< char, FormulaTypenaryop
 
qi::rule< Iterator, std::string(), Skippervarname
 
qi::rule< Iterator, Variable(), Skippervariable
 
qi::rule< Iterator, Formula< Pol >), Skipper, qi::locals< Formula< Pol > > > formula_op
 
qi::rule< Iterator, Formula< Pol >), Skipperformula
 
qi::rule< Iterator, Formula< Pol >), Skippermain
 

Detailed Description

template<typename Pol>
struct carl::io::parser::FormulaParser< Pol >

Definition at line 14 of file FormulaParser.h.

Constructor & Destructor Documentation

◆ FormulaParser()

template<typename Pol >
carl::io::parser::FormulaParser< Pol >::FormulaParser ( )
inline

Definition at line 15 of file FormulaParser.h.

Here is the call graph for this function:

Member Function Documentation

◆ addVariable()

template<typename Pol >
void carl::io::parser::FormulaParser< Pol >::addVariable ( Variable::Arg  v)
inline

Definition at line 57 of file FormulaParser.h.

Here is the call graph for this function:

◆ createBinary()

template<typename Pol >
Formula<Pol> carl::io::parser::FormulaParser< Pol >::createBinary ( FormulaType  op,
const Formula< Pol > &  lhs,
const Formula< Pol > &  rhs 
)
inlineprivate

Definition at line 69 of file FormulaParser.h.

Here is the caller graph for this function:

◆ createNary()

template<typename Pol >
Formula<Pol> carl::io::parser::FormulaParser< Pol >::createNary ( FormulaType  op,
const Formula< Pol > &  first,
const std::vector< Formula< Pol >> &  ops 
)
inlineprivate

Definition at line 72 of file FormulaParser.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mkAnd()

template<typename Pol >
Formula<Pol> carl::io::parser::FormulaParser< Pol >::mkAnd ( const Formula< Pol > &  first,
const std::vector< Formula< Pol >> &  ops 
)
inlineprivate

Definition at line 105 of file FormulaParser.h.

Here is the call graph for this function:

◆ mkOr()

template<typename Pol >
Formula<Pol> carl::io::parser::FormulaParser< Pol >::mkOr ( const Formula< Pol > &  first,
const std::vector< Formula< Pol >> &  ops 
)
inlineprivate

Definition at line 121 of file FormulaParser.h.

Here is the call graph for this function:

◆ newVariable()

template<typename Pol >
Variable carl::io::parser::FormulaParser< Pol >::newVariable ( const std::string &  s)
inlineprivate

Definition at line 63 of file FormulaParser.h.

Here is the call graph for this function:

Field Documentation

◆ binaryop

template<typename Pol >
qi::symbols<char, FormulaType> carl::io::parser::FormulaParser< Pol >::binaryop
private

Definition at line 138 of file FormulaParser.h.

◆ formula

template<typename Pol >
qi::rule<Iterator, Formula<Pol>), Skipper> carl::io::parser::FormulaParser< Pol >::formula
private

Definition at line 143 of file FormulaParser.h.

◆ formula_op

template<typename Pol >
qi::rule<Iterator, Formula<Pol>), Skipper, qi::locals<Formula<Pol> > > carl::io::parser::FormulaParser< Pol >::formula_op
private

Definition at line 142 of file FormulaParser.h.

◆ main

template<typename Pol >
qi::rule<Iterator, Formula<Pol>), Skipper> carl::io::parser::FormulaParser< Pol >::main
private

Definition at line 144 of file FormulaParser.h.

◆ naryop

template<typename Pol >
qi::symbols<char, FormulaType> carl::io::parser::FormulaParser< Pol >::naryop
private

Definition at line 139 of file FormulaParser.h.

◆ variable

template<typename Pol >
qi::rule<Iterator, Variable(), Skipper> carl::io::parser::FormulaParser< Pol >::variable
private

Definition at line 141 of file FormulaParser.h.

◆ varmap

template<typename Pol >
qi::symbols<char, Variable> carl::io::parser::FormulaParser< Pol >::varmap
private

Definition at line 137 of file FormulaParser.h.

◆ varname

template<typename Pol >
qi::rule<Iterator, std::string(), Skipper> carl::io::parser::FormulaParser< Pol >::varname
private

Definition at line 140 of file FormulaParser.h.


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