|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
|
Representation objects and parsers for attribute expressions. More...
Classes | |
| class | AAutomatic |
| Object attribute with an `‘automatic’' array value. More... | |
| class | ABinary |
| An array expression with two array operands. More... | |
| class | AColumn |
| An array expression defined as a table column. More... | |
| class | ADeferred |
| Object attribute with a `‘deferred’' array value. More... | |
| class | AList |
| An array expression defined by a list of scalar expressions. More... | |
| class | ARefExpr |
| An expression defined as a reference to an array. More... | |
| class | ARow |
| An array expression defined as a table row. More... | |
| class | ArrayOfPtrs |
| An array of pointers to scalar expressions. More... | |
| class | ASUnary |
| A scalar expression with one array operand. More... | |
| class | ATable |
| An array expression generated from a TABLE() function. More... | |
| class | AUnary |
| An array expression with one array operand. More... | |
| class | AValue |
| Object attribute with a constant array value. More... | |
| class | Indexer |
| A scalar expression to retrieve an indexed component from an array. More... | |
| class | OArray |
| An array expression. More... | |
| class | PtrToArray |
| A pointer to an array expression. More... | |
| class | PtrToScalar |
| A pointer to a scalar expression. More... | |
| class | SAutomatic |
| Object attribute with an `‘automatic’' scalar value. More... | |
| class | SBinary |
| A scalar expression with two scalar operands. More... | |
| class | Scalar |
| A scalar expression. More... | |
| class | SCell |
| A scalar expression referring to a table cell. More... | |
| class | SConstant |
| A scalar constant expression. More... | |
| class | SDeferred |
| Object attribute with a `‘deferred’' scalar value. More... | |
| class | SHash |
| A scalar expression. More... | |
| class | SNull |
| A scalar expression without operands. More... | |
| class | SRefAttr |
| An attribute defined as a reference to a scalar. More... | |
| class | SRefExpr |
| An expression defined as a reference to a scalar. More... | |
| class | SUnary |
| A scalar expression with one scalar operand. More... | |
| class | SValue |
| Object attribute with a constant scalar value. More... | |
| struct | TFunction0 |
| An operand-less function returning a T. More... | |
| struct | TFunction1 |
| A function of one U, returning a T. More... | |
| struct | TFunction2 |
| A function of two U's returning a T. More... | |
Typedefs | |
| typedef TFunction1< double, const std::vector< double > & > | ArrayFun |
Functions | |
| PtrToScalar< bool > | parseBool (Statement &) |
| Parse boolean expression. | |
| PtrToScalar< double > | parseReal (Statement &) |
| Parse real expression. | |
| double | parseRealConst (Statement &) |
| Parse real constant. | |
| std::string | parseString (Statement &, const char msg[]) |
| Parse string value. | |
| std::string | parseStringValue (Statement &, const char msg[]) |
| PtrToArray< bool > | parseBoolArray (Statement &) |
| Parse boolean array expression. | |
| PtrToArray< double > | parseRealArray (Statement &) |
| Parse real array expression. | |
| PtrToArray< double > | parseRealConstArray (Statement &) |
| Parse real array constant. | |
| std::vector< std::string > | parseStringArray (Statement &) |
| Parse string array. | |
| void | parseDelimiter (Statement &stat, char delim) |
| Test for one-character delimiter. | |
| void | parseDelimiter (Statement &stat, const char delim[2]) |
| Test for two-character delimiter. | |
| PlaceRep | parsePlace (Statement &) |
| Parse place specification. | |
| RangeRep | parseRange (Statement &) |
| Parse range specification. | |
| SRefAttr< double > * | parseReference (Statement &) |
| Parse variable reference. | |
| TableRowRep | parseTableRow (Statement &) |
| Parse a token list (for macro argument and the like). | |
| std::list< Token > | parseTokenList (Statement &) |
| Parse a token list (for macro argument and the like). | |
| std::vector< std::list< Token > > | parseTokenListArray (Statement &) |
| Parse a token list array (for LIST commands). | |
| PtrToScalar< double > | parseTableExpression (Statement &, const Table *) |
| Parse table expression (depends on a table's rows). | |
| bool | Or (bool a, bool b) |
| bool | And (bool a, bool b) |
| bool | Le (double a, double b) |
| bool | Lt (double a, double b) |
| bool | Ge (double a, double b) |
| bool | Gt (double a, double b) |
| bool | Eq (double a, double b) |
| bool | Ne (double a, double b) |
| double | Neg (double a) |
| double | Sign (double a) |
| double | Tgauss (double a) |
| double | Add (double a, double b) |
| double | Sub (double a, double b) |
| double | Mpy (double a, double b) |
| double | Div (double a, double b) |
| double | getEkin () |
| double | ranf () |
| double | gauss () |
| double | Max (double a, double b) |
| double | Min (double a, double b) |
| double | Mod (double a, double b) |
| double | Mina (const std::vector< double > &array) |
| double | Maxa (const std::vector< double > &array) |
| double | Rmsa (const std::vector< double > &array) |
| double | AbsMax (const std::vector< double > &array) |
| PtrToScalar< bool > | parseAnd (Statement &stat) |
| PtrToArray< double > | parseArrayFactor (Statement &stat) |
| PtrToArray< double > | parseArrayPrimary (Statement &stat) |
| PtrToArray< double > | parseArrayTerm (Statement &stat) |
| void | parseBracketList (Statement &stat, char close, std::list< Token > &result) |
| PtrToScalar< double > | parseFactor (Statement &stat) |
| PtrToScalar< double > | parsePrimary (Statement &stat) |
| PtrToScalar< bool > | parseRelation (Statement &stat) |
| PtrToScalar< double > | parseTerm (Statement &stat) |
| PtrToArray< double > | parseColumnGenerator (Statement &stat) |
| PtrToArray< double > | parseRowGenerator (Statement &stat) |
| PtrToArray< double > | parseTableGenerator (Statement &stat) |
| template<class T > | |
| std::ostream & | operator<< (std::ostream &os, const SRefAttr< T > &a) |
| template<class T > | |
| const T * | find (const T table[], const std::string &name) |
| Look up name. | |
Variables | |
| const Table * | currentTable = 0 |
| std::unique_ptr< ATable > | currentArray |
Representation objects and parsers for attribute expressions.
| typedef TFunction1<double, const std::vector<double>&> Expressions::ArrayFun |
Definition at line 254 of file Expressions.cpp.
| double Expressions::AbsMax | ( | const std::vector< double > & | array | ) |
Definition at line 241 of file Expressions.cpp.
References Options::warn.
| double Expressions::Add | ( | double | a, |
| double | b | ||
| ) |
Definition at line 113 of file Expressions.cpp.
| bool Expressions::And | ( | bool | a, |
| bool | b | ||
| ) |
Definition at line 75 of file Expressions.cpp.
| double Expressions::Div | ( | double | a, |
| double | b | ||
| ) |
Definition at line 125 of file Expressions.cpp.
| bool Expressions::Eq | ( | double | a, |
| double | b | ||
| ) |
Definition at line 90 of file Expressions.cpp.
Look up name.
Definition at line 33 of file TFind.h.
Referenced by parseArrayPrimary(), and parsePrimary().
| double Expressions::gauss | ( | ) |
Definition at line 155 of file Expressions.cpp.
References Random::gauss(), and Options::rangen.

| bool Expressions::Ge | ( | double | a, |
| double | b | ||
| ) |
Definition at line 84 of file Expressions.cpp.
| double Expressions::getEkin | ( | ) |
Definition at line 139 of file Expressions.cpp.
References OpalData::getInstance(), and OpalData::getPartBunch().

| bool Expressions::Gt | ( | double | a, |
| double | b | ||
| ) |
Definition at line 87 of file Expressions.cpp.
| bool Expressions::Le | ( | double | a, |
| double | b | ||
| ) |
Definition at line 78 of file Expressions.cpp.
| bool Expressions::Lt | ( | double | a, |
| double | b | ||
| ) |
Definition at line 81 of file Expressions.cpp.
| double Expressions::Max | ( | double | a, |
| double | b | ||
| ) |
Definition at line 184 of file Expressions.cpp.
| double Expressions::Maxa | ( | const std::vector< double > & | array | ) |
Definition at line 215 of file Expressions.cpp.
References Options::warn.
| double Expressions::Min | ( | double | a, |
| double | b | ||
| ) |
Definition at line 186 of file Expressions.cpp.
Referenced by Mina().
| double Expressions::Mina | ( | const std::vector< double > & | array | ) |
Definition at line 202 of file Expressions.cpp.
References Min(), and Options::warn.

| double Expressions::Mod | ( | double | a, |
| double | b | ||
| ) |
Definition at line 188 of file Expressions.cpp.
| double Expressions::Mpy | ( | double | a, |
| double | b | ||
| ) |
Definition at line 121 of file Expressions.cpp.
| bool Expressions::Ne | ( | double | a, |
| double | b | ||
| ) |
Definition at line 93 of file Expressions.cpp.
| double Expressions::Neg | ( | double | a | ) |
Definition at line 99 of file Expressions.cpp.
|
inline |
Definition at line 101 of file SRefAttr.h.
References Expressions::SRefAttr< T >::print().

| bool Expressions::Or | ( | bool | a, |
| bool | b | ||
| ) |
Definition at line 72 of file Expressions.cpp.
| PtrToScalar< bool > Expressions::parseAnd | ( | Statement & | stat | ) |
Definition at line 671 of file Expressions.cpp.
References Statement::delimiter(), Expressions::SBinary< T, U >::make(), and parseRelation().
Referenced by parseBool().

| PtrToArray< double > Expressions::parseArrayFactor | ( | Statement & | stat | ) |
Definition at line 683 of file Expressions.cpp.
References Statement::delimiter(), and parseArrayPrimary().
Referenced by parseArrayTerm().

| PtrToArray< double > Expressions::parseArrayPrimary | ( | Statement & | stat | ) |
Definition at line 695 of file Expressions.cpp.
References Statement::delimiter(), find(), Statement::keyword(), parseColumnGenerator(), parseDelimiter(), parsePlace(), parseReal(), parseRealArray(), parseRealConstArray(), parseRowGenerator(), parseString(), parseStringArray(), parseTableGenerator(), and Statement::real().
Referenced by parseArrayFactor().

| PtrToArray< double > Expressions::parseArrayTerm | ( | Statement & | stat | ) |
Definition at line 770 of file Expressions.cpp.
References Statement::delimiter(), and parseArrayFactor().
Referenced by parseRealArray().

|
extern |
Parse boolean expression.
Definition at line 309 of file Expressions.cpp.
References Statement::delimiter(), Expressions::SBinary< T, U >::make(), and parseAnd().
Referenced by Attributes::Bool::parse(), parseBoolArray(), Attributes::BoolArray::parseComponent(), and parseRelation().

|
extern |
Parse boolean array expression.
Definition at line 436 of file Expressions.cpp.
References Statement::delimiter(), parseBool(), and parseDelimiter().
Referenced by Attributes::BoolArray::parse().

Definition at line 789 of file Expressions.cpp.
References Statement::atEnd(), Statement::delimiter(), Statement::getCurrent(), Token::isDel(), and parseBracketList().
Referenced by parseBracketList(), and parseTokenList().

| PtrToArray< double > Expressions::parseColumnGenerator | ( | Statement & | stat | ) |
Definition at line 976 of file Expressions.cpp.
References Statement::delimiter(), parseDelimiter(), parseRange(), and parseString().
Referenced by parseArrayPrimary().

|
extern |
Test for one-character delimiter.
Definition at line 514 of file Expressions.cpp.
References Statement::delimiter().
Referenced by Object::parse(), OpalElement::parse(), EmissionSourceList::parse(), Line::parse(), parseArrayPrimary(), OpalParser::parseAssign(), parseBoolArray(), parseColumnGenerator(), Macro::parseFormals(), Line::parseList(), parsePlace(), SequenceParser::parsePosition(), parsePrimary(), parseReference(), parseRelation(), parseRowGenerator(), parseString(), parseStringArray(), parseStringValue(), parseTableGenerator(), parseTableRow(), and parseTokenListArray().

|
extern |
Test for two-character delimiter.
Definition at line 522 of file Expressions.cpp.
References Statement::delimiter().

| PtrToScalar< double > Expressions::parseFactor | ( | Statement & | stat | ) |
Definition at line 812 of file Expressions.cpp.
References Statement::delimiter(), Expressions::SBinary< T, U >::make(), and parsePrimary().
Referenced by parseTerm().

Parse place specification.
Definition at line 530 of file Expressions.cpp.
References PlaceRep::append(), Statement::delimiter(), Statement::keyword(), parseDelimiter(), parseRealConst(), and parseString().
Referenced by Attributes::Place::parse(), parseArrayPrimary(), parsePrimary(), parseRange(), parseRowGenerator(), and parseTableRow().

| PtrToScalar< double > Expressions::parsePrimary | ( | Statement & | stat | ) |
Definition at line 824 of file Expressions.cpp.
References currentArray, currentTable, Statement::delimiter(), find(), Expressions::PtrToScalar< T >::isValid(), Expressions::SNull< T >::make(), Expressions::SUnary< T, U >::make(), Expressions::SBinary< T, U >::make(), Table::makeColumnExpression(), parseDelimiter(), parsePlace(), parseReal(), parseRealArray(), parseRealConst(), parseString(), and Statement::real().
Referenced by parseFactor().

Parse range specification.
Definition at line 568 of file Expressions.cpp.
References Statement::delimiter(), Statement::keyword(), and parsePlace().
Referenced by Attributes::Range::parse(), and parseColumnGenerator().

|
extern |
Parse real expression.
Definition at line 321 of file Expressions.cpp.
References Statement::delimiter(), Expressions::SUnary< T, U >::make(), Expressions::SBinary< T, U >::make(), and parseTerm().
Referenced by Attributes::Real::parse(), parseArrayPrimary(), Attributes::RealArray::parseComponent(), parsePrimary(), parseRealConst(), parseRelation(), parseTableExpression(), and parseTableGenerator().

|
extern |
Parse real array expression.
Definition at line 454 of file Expressions.cpp.
References Statement::delimiter(), and parseArrayTerm().
Referenced by Attributes::RealArray::parse(), parseArrayPrimary(), parsePrimary(), and parseRealConstArray().

|
extern |
Parse real constant.
Definition at line 351 of file Expressions.cpp.
References parseReal().
Referenced by Object::parse(), OpalElement::parse(), OpalParser::parseAssign(), parsePlace(), SequenceParser::parsePosition(), parsePrimary(), parseReference(), parseString(), parseStringValue(), and parseTableGenerator().

|
extern |
Parse real array constant.
Definition at line 484 of file Expressions.cpp.
References parseRealArray().
Referenced by parseArrayPrimary().

Parse variable reference.
Definition at line 579 of file Expressions.cpp.
References Statement::delimiter(), parseDelimiter(), parseRealConst(), and parseString().
Referenced by Attributes::Reference::parse().

| PtrToScalar< bool > Expressions::parseRelation | ( | Statement & | stat | ) |
Definition at line 912 of file Expressions.cpp.
References Statement::boolean(), Statement::delimiter(), OpalData::find(), BoolConstant::getBool(), OpalData::getInstance(), Expressions::SBinary< T, U >::make(), Statement::mark(), parseBool(), parseDelimiter(), parseReal(), Statement::restore(), and Statement::word().
Referenced by parseAnd().

| PtrToArray< double > Expressions::parseRowGenerator | ( | Statement & | stat | ) |
Definition at line 998 of file Expressions.cpp.
References Statement::delimiter(), parseDelimiter(), parsePlace(), parseString(), and parseStringArray().
Referenced by parseArrayPrimary().

|
extern |
Parse string value.
Definition at line 356 of file Expressions.cpp.
References Statement::delimiter(), parseDelimiter(), parseRealConst(), Statement::str(), and Statement::word().
Referenced by Object::parse(), OpalElement::parse(), OpalParser::parse(), Line::parse(), OpalParser::parseAction(), parseArrayPrimary(), OpalParser::parseAssign(), parseColumnGenerator(), OpalParser::parseDefine(), Macro::parseFormals(), Line::parseList(), EmissionSourceList::parseList(), OpalParser::parseMacro(), SequenceParser::parseMember(), parsePlace(), SequenceParser::parsePosition(), parsePrimary(), parseReference(), parseRowGenerator(), and parseTableRow().

|
extern |
Parse string array.
Definition at line 496 of file Expressions.cpp.
References Statement::delimiter(), parseDelimiter(), and parseStringValue().
Referenced by Attributes::StringArray::parse(), Attributes::UpperCaseStringArray::parse(), parseArrayPrimary(), and parseRowGenerator().

|
extern |
Definition at line 386 of file Expressions.cpp.
References Statement::delimiter(), OpalData::find(), OpalData::getInstance(), StringConstant::getString(), parseDelimiter(), parseRealConst(), Statement::str(), and Statement::word().
Referenced by Attributes::String::parse(), Attributes::PredefinedString::parse(), Attributes::UpperCaseString::parse(), Attributes::StringArray::parseComponent(), Attributes::UpperCaseStringArray::parseComponent(), and parseStringArray().

|
extern |
Parse table expression (depends on a table's rows).
Definition at line 615 of file Expressions.cpp.
References currentTable, and parseReal().

| PtrToArray< double > Expressions::parseTableGenerator | ( | Statement & | stat | ) |
Definition at line 1020 of file Expressions.cpp.
References currentArray, Statement::delimiter(), parseDelimiter(), parseReal(), and parseRealConst().
Referenced by parseArrayPrimary().

|
extern |
Parse a token list (for macro argument and the like).
Definition at line 606 of file Expressions.cpp.
References parseDelimiter(), parsePlace(), and parseString().
Referenced by Attributes::TableRow::parse().

| PtrToScalar< double > Expressions::parseTerm | ( | Statement & | stat | ) |
Definition at line 957 of file Expressions.cpp.
References Statement::delimiter(), Expressions::SBinary< T, U >::make(), and parseFactor().
Referenced by parseReal().

Parse a token list (for macro argument and the like).
Definition at line 622 of file Expressions.cpp.
References Statement::atEnd(), Statement::getCurrent(), Token::isDel(), Statement::mark(), parseBracketList(), and Statement::restore().
Referenced by Attributes::TokenList::parse(), Attributes::TokenListArray::parseComponent(), and parseTokenListArray().

Parse a token list array (for LIST commands).
Definition at line 652 of file Expressions.cpp.
References Statement::delimiter(), parseDelimiter(), and parseTokenList().
Referenced by Attributes::TokenListArray::parse().

| double Expressions::ranf | ( | ) |
Definition at line 153 of file Expressions.cpp.
References Options::rangen, and Random::uniform().

| double Expressions::Rmsa | ( | const std::vector< double > & | array | ) |
Definition at line 228 of file Expressions.cpp.
References Options::warn.
| double Expressions::Sign | ( | double | a | ) |
Definition at line 103 of file Expressions.cpp.
| double Expressions::Sub | ( | double | a, |
| double | b | ||
| ) |
Definition at line 117 of file Expressions.cpp.
| double Expressions::Tgauss | ( | double | a | ) |
Definition at line 105 of file Expressions.cpp.
References Random::gauss(), and Options::rangen.

| std::unique_ptr<ATable> Expressions::currentArray |
Definition at line 264 of file Expressions.cpp.
Referenced by parsePrimary(), and parseTableGenerator().
| const Table* Expressions::currentTable = 0 |
Definition at line 263 of file Expressions.cpp.
Referenced by parsePrimary(), and parseTableExpression().