Class to hold values from scan grammar parser. More...
#include <MSScanParse.h>
Public Member Functions | |
MSScanParse () | |
Default constructor. | |
MSScanParse (const MeasurementSet *ms) | |
Associate the ms and the shorthand. | |
MSScanParse (const MeasurementSet *ms, const TableExprNode &colAsTEN) | |
~MSScanParse () | |
const TableExprNode * | selectRangeGTAndLT (const Int &n0, const Int &n1) |
const TableExprNode * | selectRangeGEAndLE (const Int &n0, const Int &n1) |
const TableExprNode * | selectScanIds (const Vector< Int > &scanids) |
const TableExprNode * | selectScanIds () |
const TableExprNode * | selectScanIdsGT (const Vector< Int > &scanids) |
const TableExprNode * | selectScanIdsLT (const Vector< Int > &scanids) |
const TableExprNode * | selectScanIdsGTEQ (const Vector< Int > &scanids) |
const TableExprNode * | selectScanIdsLTEQ (const Vector< Int > &scanids) |
std::vector< Int > & | accumulateIDs (const Int id0, const Int id1=-1) |
const TableExprNode | node () |
Get table expression node object. | |
Vector< Int > | selectedIDs () |
void | reset () |
void | cleanup () |
void | setMaxScan (const Int &n) |
Static Public Attributes | |
static MSScanParse * | thisMSSParser |
Private Member Functions | |
void | appendToIDList (const Vector< Int > &v) |
Private Attributes | |
TableExprNode | node_p |
Vector< Int > | idList |
std::vector< Int > | parsedIDList_p |
const String | colName |
Int | maxScans_p |
Static Private Attributes | |
static TableExprNode | columnAsTEN_p |
Class to hold values from scan grammar parser.
Internal
MSScanParse is the class used to parse a scan command.
MSScanParse is used by the parser of scan sub-expression statements. The parser is written in Bison and Flex in files MSScanGram.y and .l. The statements in there use the routines in this file to act upon a reduced rule. Since multiple tables can be given (with a shorthand), the table names are stored in a list. The variable names can be qualified by the table name and will be looked up in the appropriate table.
The class MSScanParse only contains information about a table used in the table command. Global variables (like a list and a vector) are used in MSScanParse.cc to hold further information.
Global functions are used to operate on the information. The main function is the global function msScanCommand. It executes the given STaQL command and returns the resulting ms. This is, in fact, the only function to be used by a user.
It is necessary to be able to give a ms command in ASCII. This can be used in a CLI or in the table browser to get a subset of a table or to sort a table.
Definition at line 87 of file MSScanParse.h.
casacore::MSScanParse::MSScanParse | ( | ) |
Default constructor.
casacore::MSScanParse::MSScanParse | ( | const MeasurementSet * | ms | ) |
Associate the ms and the shorthand.
casacore::MSScanParse::MSScanParse | ( | const MeasurementSet * | ms, | |
const TableExprNode & | colAsTEN | |||
) |
casacore::MSScanParse::~MSScanParse | ( | ) | [inline] |
Definition at line 97 of file MSScanParse.h.
References columnAsTEN_p.
void casacore::MSScanParse::cleanup | ( | ) | [inline] |
Definition at line 114 of file MSScanParse.h.
const TableExprNode casacore::MSScanParse::node | ( | ) |
Get table expression node object.
void casacore::MSScanParse::reset | ( | ) | [inline] |
Definition at line 113 of file MSScanParse.h.
References idList, parsedIDList_p, and casacore::Vector< T >::resize().
Definition at line 112 of file MSScanParse.h.
References idList.
const TableExprNode* casacore::MSScanParse::selectRangeGEAndLE | ( | const Int & | n0, | |
const Int & | n1 | |||
) |
const TableExprNode* casacore::MSScanParse::selectRangeGTAndLT | ( | const Int & | n0, | |
const Int & | n1 | |||
) |
const TableExprNode* casacore::MSScanParse::selectScanIds | ( | ) | [inline] |
Definition at line 102 of file MSScanParse.h.
References parsedIDList_p, and selectScanIds().
Referenced by selectScanIds().
const TableExprNode* casacore::MSScanParse::selectScanIds | ( | const Vector< Int > & | scanids | ) |
const TableExprNode* casacore::MSScanParse::selectScanIdsGT | ( | const Vector< Int > & | scanids | ) |
const TableExprNode* casacore::MSScanParse::selectScanIdsGTEQ | ( | const Vector< Int > & | scanids | ) |
const TableExprNode* casacore::MSScanParse::selectScanIdsLT | ( | const Vector< Int > & | scanids | ) |
const TableExprNode* casacore::MSScanParse::selectScanIdsLTEQ | ( | const Vector< Int > & | scanids | ) |
void casacore::MSScanParse::setMaxScan | ( | const Int & | n | ) | [inline] |
Definition at line 116 of file MSScanParse.h.
References maxScans_p.
const String casacore::MSScanParse::colName [private] |
Definition at line 124 of file MSScanParse.h.
TableExprNode casacore::MSScanParse::columnAsTEN_p [static, private] |
Definition at line 127 of file MSScanParse.h.
Referenced by ~MSScanParse().
Vector<Int> casacore::MSScanParse::idList [private] |
Definition at line 122 of file MSScanParse.h.
Referenced by reset(), and selectedIDs().
Int casacore::MSScanParse::maxScans_p [private] |
Definition at line 126 of file MSScanParse.h.
Referenced by setMaxScan().
TableExprNode casacore::MSScanParse::node_p [private] |
Definition at line 121 of file MSScanParse.h.
std::vector<Int> casacore::MSScanParse::parsedIDList_p [private] |
Definition at line 123 of file MSScanParse.h.
Referenced by reset(), and selectScanIds().
Definition at line 118 of file MSScanParse.h.