OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
|
The parser for SEQUENCE members. More...
#include <SequenceParser.h>
Classes | |
struct | Reference |
Public Member Functions | |
SequenceParser (Sequence *) | |
Constructor. More... | |
virtual | ~SequenceParser () |
virtual void | parse (Statement &) const |
Parse sequence member. More... | |
![]() | |
OpalParser () | |
virtual | ~OpalParser () |
virtual void | parse (Statement &) const |
Parse and execute current statement. More... | |
virtual Statement * | readStatement (TokenStream *) const |
Read complete statement from a token stream. More... | |
virtual void | run () const |
Read current stream. More... | |
virtual void | run (TokenStream *) const |
Read given stream. More... | |
void | stop () const |
Set stop flag. More... | |
![]() | |
Parser () | |
virtual | ~Parser () |
virtual void | parse (Statement &stat) const =0 |
Parse and execute the statement. More... | |
virtual Statement * | readStatement (TokenStream *ts) const =0 |
Read complete statement from token stream. More... | |
virtual void | run (TokenStream *ts) const =0 |
Read statements and parse. More... | |
Private Types | |
typedef std::list< Reference > | RefList |
typedef Sequence::TLine | TLine |
Private Member Functions | |
SequenceParser () | |
SequenceParser (const SequenceParser &) | |
void | operator= (const SequenceParser &) |
void | fillPositions () const |
void | findFromPositions () const |
void | findNeighbourPositions () const |
void | parseMember (Statement &) const |
void | parsePosition (Statement &, Object &, bool defined) const |
Private Attributes | |
Sequence * | itsSequence |
bool | okFlag |
RefList | references |
TLine | itsLine |
Additional Inherited Members | |
![]() | |
static Token | readToken () |
Return next input token. More... | |
![]() | |
void | execute (Object *, const std::string &) const |
Execute or check the current command. More... | |
virtual Object * | find (const std::string &) const |
Find object by name in the main directory. More... | |
virtual void | parseAction (Statement &) const |
Parse executable command. More... | |
virtual void | parseAssign (Statement &) const |
Parse assignment statement. More... | |
virtual void | parseDefine (Statement &) const |
Parse definition. More... | |
virtual void | parseEnd (Statement &) const |
Check for end of statement. More... | |
virtual void | parseMacro (const std::string &name, Statement &) const |
Parse macro definition or call. More... | |
virtual void | printHelp (const std::string &) const |
Print help on named command. More... | |
The parser for SEQUENCE members.
Definition at line 40 of file SequenceParser.h.
|
private |
Definition at line 71 of file SequenceParser.h.
|
private |
Definition at line 74 of file SequenceParser.h.
SequenceParser::SequenceParser | ( | Sequence * | seq | ) |
Constructor.
Definition at line 38 of file SequenceParser.cpp.
|
virtual |
Definition at line 43 of file SequenceParser.cpp.
|
private |
|
private |
|
private |
Definition at line 86 of file SequenceParser.cpp.
References SequenceMember::ABSOLUTE, findFromPositions(), findNeighbourPositions(), and references.
Referenced by parse().
|
private |
Definition at line 118 of file SequenceParser.cpp.
References Sequence::findNamedPosition(), itsLine, itsSequence, and references.
Referenced by fillPositions().
|
private |
Definition at line 132 of file SequenceParser.cpp.
References SequenceMember::ABSOLUTE, SequenceMember::DRIFT, SequenceMember::END, Element::find(), Object::findAttribute(), Element::getLength(), Object::getOpalName(), Attributes::getReal(), Attributes::getString(), SequenceMember::IMMEDIATE, Element::IS_CENTRE, Element::IS_ENTRY, Element::IS_EXIT, itsLine, itsSequence, name, SequenceMember::NEXT, SequenceMember::PREVIOUS, Hypervolume::ref, and references.
Referenced by fillPositions().
|
private |
|
virtual |
Parse sequence member.
Reimplemented from OpalParser.
Definition at line 47 of file SequenceParser.cpp.
References Sequence::addEndMarkers(), fillPositions(), OpalData::getInstance(), Sequence::insertDrifts(), itsLine, itsSequence, Statement::keyword(), OpalData::makeDirty(), okFlag, OpalParser::parseEnd(), parseMember(), Statement::start(), OpalParser::stop(), and Sequence::storeLine().
|
private |
Definition at line 235 of file SequenceParser.cpp.
References Object::clone(), ElementBase::copyStructure(), OpalData::define(), Statement::delimiter(), OpalParser::find(), OpalData::getInstance(), Object::getOpalName(), SequenceMember::GLOBAL, itsLine, itsSequence, SequenceMember::itsType, SequenceMember::LOCAL, Object::makeInstance(), SequenceMember::OpalElement, OpalParser::parseEnd(), parsePosition(), Expressions::parseString(), ElmPtr::setElement(), and FlaggedElmPtr::setReflectionFlag().
Referenced by parse().
Definition at line 319 of file SequenceParser.cpp.
References SequenceMember::ABSOLUTE, Statement::delimiter(), SequenceMember::DRIFT, SequenceMember::END, Object::findAttribute(), SequenceMember::FROM, Object::getOpalName(), SequenceMember::IMMEDIATE, SequenceMember::itsFlag, itsLine, SequenceMember::itsPosition, Statement::keyword(), name, SequenceMember::NEXT, Expressions::parseDelimiter(), Expressions::parseRealConst(), Expressions::parseString(), SequenceMember::PREVIOUS, Hypervolume::ref, and references.
Referenced by parseMember().
|
mutableprivate |
Definition at line 106 of file SequenceParser.h.
Referenced by findFromPositions(), findNeighbourPositions(), parse(), parseMember(), and parsePosition().
|
private |
Definition at line 97 of file SequenceParser.h.
Referenced by findFromPositions(), findNeighbourPositions(), parse(), and parseMember().
|
mutableprivate |
Definition at line 100 of file SequenceParser.h.
Referenced by parse().
|
mutableprivate |
Definition at line 103 of file SequenceParser.h.
Referenced by fillPositions(), findFromPositions(), findNeighbourPositions(), and parsePosition().