MSFieldParse.h

Classes

MSFieldParse -- Class to hold values from field grammar parser (full description)

class MSFieldParse : public MSParse

Interface

Public Members
MSFieldParse ()
MSFieldParse (const MeasurementSet* ms)
const TableExprNode *selectFieldIds(const Vector<Int>& fieldIds)
static const TableExprNode* node()

Description

Prerequisite

Etymology

MSFieldParse is the class used to parse a field command.

Synopsis

MSFieldParse is used by the parser of field sub-expression statements. The parser is written in Bison and Flex in files MSFieldGram.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 MSFieldParse only contains information about a table used in the table command. Global variables (like a list and a vector) are used in MSFieldParse.cc to hold further information.

Global functions are used to operate on the information. The main function is the global function msFieldCommand. 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

MSFieldParse ()

Default constructor

MSFieldParse (const MeasurementSet* ms)

Associate the ms and the shorthand.

const TableExprNode *selectFieldIds(const Vector<Int>& fieldIds)

static const TableExprNode* node()

const TableExprNode *selectFieldOrSource(const String& fieldName);

Get table expression node object.