MSScanParse.h

Classes

MSScanParse -- Class to hold values from scan grammar parser (full description)

class MSScanParse : public MSParse

Interface

Public Members
MSScanParse ()
MSScanParse (const MeasurementSet* ms)
const TableExprNode *selectScanIds(const Vector<Int> scanids)
static const TableExprNode* node()

Description

Prerequisite

Etymology

MSScanParse is the class used to parse a scan command.

Synopsis

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.

Motivation

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.

Member Description

MSScanParse ()

Default constructor

MSScanParse (const MeasurementSet* ms)

Associate the ms and the shorthand.

const TableExprNode *selectScanIds(const Vector<Int> scanids)

static const TableExprNode* node()

Get table expression node object.