|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
|
The parser for SEQUENCE members. More...
#include <SequenceParser.h>


Classes | |
| struct | Reference |
Public Member Functions | |
| SequenceParser (Sequence *) | |
| Constructor. | |
| virtual | ~SequenceParser () |
| virtual void | parse (Statement &) const |
| Parse sequence member. | |
| virtual Statement * | readStatement (TokenStream *) const |
| Read complete statement from a token stream. | |
| virtual void | run () const |
| Read current stream. | |
| virtual void | run (TokenStream *) const |
| Read given stream. | |
| void | stop () const |
| Set stop flag. | |
Static Public Member Functions | |
| static Token | readToken () |
| Return next input token. | |
Protected Member Functions | |
| void | execute (Object *, const std::string &) const |
| Execute or check the current command. | |
| virtual Object * | find (const std::string &) const |
| Find object by name in the main directory. | |
| virtual void | parseAction (Statement &) const |
| Parse executable command. | |
| virtual void | parseAssign (Statement &) const |
| Parse assignment statement. | |
| virtual void | parseDefine (Statement &) const |
| Parse definition. | |
| virtual void | parseEnd (Statement &) const |
| Check for end of statement. | |
| virtual void | parseMacro (const std::string &name, Statement &) const |
| Parse macro definition or call. | |
| virtual void | printHelp (const std::string &) const |
| Print help on named command. | |
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 |
Static Private Member Functions | |
| static void | parseBracketList (char close, Statement &) |
| static void | parseTokenList (Statement &) |
| static std::string | getHint (const std::string &, const std::string &="attribute") |
Private Attributes | |
| Sequence * | itsSequence |
| bool | okFlag |
| RefList | references |
| TLine | itsLine |
| bool | stopFlag |
Static Private Attributes | |
| static std::vector< std::shared_ptr< TokenStream > > | inputStack |
The parser for SEQUENCE members.
Definition at line 39 of file SequenceParser.h.
|
private |
Definition at line 67 of file SequenceParser.h.
|
private |
Definition at line 70 of file SequenceParser.h.
| SequenceParser::SequenceParser | ( | Sequence * | seq | ) |
Constructor.
Definition at line 36 of file SequenceParser.cpp.
|
virtual |
Definition at line 38 of file SequenceParser.cpp.
|
private |
|
private |
|
protectedinherited |
Execute or check the current command.
Definition at line 118 of file OpalParser.cpp.
References OpalData::getInstance(), gmsg, Options::mtrace, Object::shouldTrace(), Object::shouldUpdate(), and OpalData::update().
Referenced by OpalParser::parseAction(), OpalParser::parseDefine(), and OpalParser::parseMacro().

|
private |
Definition at line 78 of file SequenceParser.cpp.
References SequenceMember::ABSOLUTE, findFromPositions(), findNeighbourPositions(), and references.
Referenced by parse().

|
protectedvirtualinherited |
Find object by name in the main directory.
Reimplemented in TrackParser.
Definition at line 142 of file OpalParser.cpp.
References OpalData::find(), and OpalData::getInstance().
Referenced by OpalParser::parse(), OpalParser::parseAction(), OpalParser::parseAssign(), OpalParser::parseDefine(), OpalParser::parseMacro(), parseMember(), and OpalParser::printHelp().

|
private |
Definition at line 106 of file SequenceParser.cpp.
References Sequence::findNamedPosition(), itsLine, itsSequence, and references.
Referenced by fillPositions().

|
private |
Definition at line 119 of file SequenceParser.cpp.
References SequenceMember::ABSOLUTE, SequenceMember::DRIFT, SequenceMember::END, Element::find(), Object::findAttribute(), SequenceParser::Reference::fromPosition, Element::getLength(), Object::getOpalName(), Attributes::getReal(), Attributes::getString(), SequenceMember::IMMEDIATE, Element::IS_CENTRE, Element::IS_ENTRY, Element::IS_EXIT, SequenceMember::itsFlag, itsLine, itsSequence, SequenceMember::NEXT, SequenceMember::PREVIOUS, and references.
Referenced by fillPositions().

|
staticprivateinherited |
Definition at line 621 of file OpalParser.cpp.
References AttributeHandler::COMMAND, AttributeHandler::ELEMENT, AttributeHandler::getOwner(), AttributeHandler::STATEMENT, and AttributeHandler::SUB_COMMAND.
Referenced by OpalParser::parse(), and OpalParser::parseAction().

|
private |
|
virtual |
Parse sequence member.
Reimplemented from OpalParser.
Definition at line 40 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().

|
protectedvirtualinherited |
Parse executable command.
Definition at line 146 of file OpalParser.cpp.
References Object::clone(), Statement::delimiter(), OpalParser::execute(), OpalParser::find(), OpalParser::getHint(), Object::parse(), OpalParser::parseEnd(), Expressions::parseString(), OpalParser::printHelp(), Statement::start(), and OpalParser::stopFlag.
Referenced by OpalParser::parse().

|
protectedvirtualinherited |
Parse assignment statement.
Definition at line 179 of file OpalParser.cpp.
References Object::clone(), OpalData::define(), Statement::delimiter(), OpalParser::find(), OpalData::find(), Object::findAttribute(), OpalData::getInstance(), Object::isTreeMember(), Statement::keyword(), OpalData::makeDirty(), Expressions::parseDelimiter(), OpalParser::parseEnd(), Expressions::parseRealConst(), Expressions::parseString(), and Statement::start().
Referenced by OpalParser::parse().

|
staticprivateinherited |
Definition at line 438 of file OpalParser.cpp.
References Statement::append(), Token::isDel(), Token::isEOF(), OpalParser::parseBracketList(), and OpalParser::readToken().
Referenced by OpalParser::parseBracketList(), OpalParser::parseTokenList(), and OpalParser::readStatement().

|
protectedvirtualinherited |
Parse definition.
Definition at line 312 of file OpalParser.cpp.
References Object::clone(), OpalData::define(), Statement::delimiter(), OpalParser::execute(), OpalParser::find(), OpalData::getInstance(), Statement::keyword(), Object::makeInstance(), Object::parse(), OpalParser::parseEnd(), Expressions::parseString(), Object::setShared(), and Statement::start().
Referenced by OpalParser::parse().

|
protectedvirtualinherited |
Check for end of statement.
Definition at line 360 of file OpalParser.cpp.
References Statement::atEnd(), Statement::delimiter(), Statement::position(), and Statement::print().
Referenced by parse(), OpalParser::parseAction(), OpalParser::parseAssign(), OpalParser::parseDefine(), and parseMember().

|
protectedvirtualinherited |
Parse macro definition or call.
Definition at line 374 of file OpalParser.cpp.
References OpalData::define(), Statement::delimiter(), OpalParser::execute(), OpalParser::find(), Statement::getCurrent(), OpalData::getInstance(), OpalParser::inputStack, Object::makeInstance(), Object::makeTemplate(), Statement::mark(), Expressions::parseString(), and Statement::restore().
Referenced by OpalParser::parse().

|
private |
Definition at line 218 of file SequenceParser.cpp.
References ElementBase::copyStructure(), OpalData::define(), Statement::delimiter(), OpalParser::find(), OpalData::getInstance(), Object::getOpalName(), SequenceMember::GLOBAL, itsLine, itsSequence, SequenceMember::itsType, SequenceMember::LOCAL, SequenceMember::OpalElement, OpalParser::parseEnd(), parsePosition(), Expressions::parseString(), ElmPtr::setElement(), and FlaggedElmPtr::setReflectionFlag().
Referenced by parse().

Definition at line 305 of file SequenceParser.cpp.
References SequenceMember::ABSOLUTE, Statement::delimiter(), SequenceMember::DRIFT, SequenceMember::END, Object::findAttribute(), SequenceMember::FROM, SequenceParser::Reference::fromName, Object::getOpalName(), SequenceMember::IMMEDIATE, SequenceMember::itsFlag, itsLine, SequenceParser::Reference::itsList, SequenceMember::itsPosition, Statement::keyword(), SequenceMember::NEXT, Expressions::parseDelimiter(), Expressions::parseRealConst(), Expressions::parseString(), SequenceMember::PREVIOUS, and references.
Referenced by parseMember().

|
staticprivateinherited |
Definition at line 458 of file OpalParser.cpp.
References Statement::append(), Token::isDel(), Token::isEOF(), OpalParser::parseBracketList(), and OpalParser::readToken().
Referenced by OpalParser::readStatement().

|
protectedvirtualinherited |
Print help on named command.
Definition at line 428 of file OpalParser.cpp.
References OpalParser::find(), and gmsg.
Referenced by OpalParser::parse(), and OpalParser::parseAction().

|
virtualinherited |
Read complete statement from a token stream.
Implements Parser.
Definition at line 486 of file OpalParser.cpp.
References Statement::append(), Token::getFile(), Token::getLine(), gmsg, OpalParser::inputStack, Token::isDel(), Token::isEOF(), Token::isKey(), Token::isString(), Token::isWord(), OpalParser::parseBracketList(), OpalParser::parseTokenList(), OpalParser::readStatement(), TokenStream::readToken(), Statement::start(), and OpalException::what().
Referenced by OpalParser::readStatement(), and OpalParser::run().

|
staticinherited |
Return next input token.
Definition at line 478 of file OpalParser.cpp.
References OpalParser::inputStack, and Token::IS_EOF.
Referenced by OpalParser::parseBracketList(), and OpalParser::parseTokenList().
|
virtualinherited |
Read current stream.
Definition at line 585 of file OpalParser.cpp.
References Statement::execute(), OpalParser::inputStack, OpalParser::readStatement(), OpalParser::stopFlag, OpalException::what(), and OpalException::where().
Referenced by Call::execute(), TrackCmd::execute(), main(), SequenceTemplate::makeInstance(), Sequence::parse(), and OpalParser::run().

|
virtualinherited |
Read given stream.
Implements Parser.
Definition at line 613 of file OpalParser.cpp.
References OpalParser::inputStack, and OpalParser::run().

|
inherited |
Set stop flag.
Definition at line 619 of file OpalParser.cpp.
References OpalParser::stopFlag.
Referenced by TrackEnd::execute(), and parse().
|
staticprivateinherited |
Definition at line 114 of file OpalParser.h.
Referenced by OpalParser::parseMacro(), OpalParser::readStatement(), OpalParser::readToken(), OpalParser::run(), and OpalParser::run().
|
mutableprivate |
Definition at line 102 of file SequenceParser.h.
Referenced by findFromPositions(), findNeighbourPositions(), parse(), parseMember(), and parsePosition().
|
private |
Definition at line 93 of file SequenceParser.h.
Referenced by findFromPositions(), findNeighbourPositions(), parse(), and parseMember().
|
mutableprivate |
Definition at line 96 of file SequenceParser.h.
Referenced by parse().
|
mutableprivate |
Definition at line 99 of file SequenceParser.h.
Referenced by fillPositions(), findFromPositions(), findNeighbourPositions(), and parsePosition().
|
mutableprivateinherited |
Definition at line 111 of file OpalParser.h.
Referenced by OpalParser::parseAction(), OpalParser::run(), and OpalParser::stop().