Xmipp  v3.23.11-Nereus
Public Member Functions | List of all members
cif::TLSSelectionParserImplPhenix Class Reference
Inheritance diagram for cif::TLSSelectionParserImplPhenix:
Inheritance graph
[legend]
Collaboration diagram for cif::TLSSelectionParserImplPhenix:
Collaboration graph
[legend]

Public Member Functions

 TLSSelectionParserImplPhenix (const std::string &selection)
 
virtual std::unique_ptr< tls_selection > Parse ()
 
- Public Member Functions inherited from cif::tls_selection_parser_impl
 tls_selection_parser_impl (const std::string &selection)
 

Additional Inherited Members

- Protected Member Functions inherited from cif::tls_selection_parser_impl
virtual void match (int token)
 
- Protected Attributes inherited from cif::tls_selection_parser_impl
std::string m_selection
 
std::string::iterator m_p
 
std::string::iterator m_end
 
int m_lookahead
 
std::string m_token
 

Detailed Description

Definition at line 657 of file tls.cpp.

Constructor & Destructor Documentation

◆ TLSSelectionParserImplPhenix()

cif::TLSSelectionParserImplPhenix::TLSSelectionParserImplPhenix ( const std::string &  selection)
inline

Definition at line 660 of file tls.cpp.

661  : tls_selection_parser_impl(selection)
662  {
663  m_lookahead = get_next_token();
664  }
tls_selection_parser_impl(const std::string &selection)
Definition: tls.cpp:613

Member Function Documentation

◆ Parse()

std::unique_ptr< tls_selection > cif::TLSSelectionParserImplPhenix::Parse ( )
virtual

Implements cif::tls_selection_parser_impl.

Definition at line 981 of file tls.cpp.

982 {
983  if (m_lookahead == pt_KW_PDB)
984  {
985  match(pt_KW_PDB);
986  // Match(pt_KW_ENTRY);
987 
988  throw std::runtime_error("Unimplemented PDB ENTRY specification");
989  }
990 
991  std::unique_ptr<tls_selection> result = ParseAtomSelection();
992 
993  bool extraParenthesis = false;
994 
995  if (m_lookahead == ')')
996  {
997  extraParenthesis = true;
998  m_lookahead = get_next_token();
999  }
1000 
1001  match(pt_EOLN);
1002 
1003  if (extraParenthesis)
1004  std::cerr << "WARNING: too many closing parenthesis in TLS selection statement" << std::endl;
1005 
1006  return result;
1007 }
virtual void match(int token)
Definition: tls.cpp:633

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