casacore
ms
MSSel
MSArrayGram.h
Go to the documentation of this file.
1
//# MSArrayGram.h: Grammar for ms scan sub-expressions
2
//# Copyright (C) 1998
3
//# Associated Universities, Inc. Washington DC, USA.
4
//#
5
//# This library is free software; you can redistribute it and/or modify it
6
//# under the terms of the GNU Library General Public License as published by
7
//# the Free Software Foundation; either version 2 of the License, or (at your
8
//# option) any later version.
9
//#
10
//# This library is distributed in the hope that it will be useful, but WITHOUT
11
//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12
//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13
//# License for more details.
14
//#
15
//# You should have received a copy of the GNU Library General Public License
16
//# along with this library; if not, write to the Free Software Foundation,
17
//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18
//#
19
//# Correspondence concerning AIPS++ should be addressed as follows:
20
//# Internet email: aips2-request@nrao.edu.
21
//# Postal address: AIPS++ Project Office
22
//# National Radio Astronomy Observatory
23
//# 520 Edgemont Road
24
//# Charlottesville, VA 22903-2475 USA
25
//#
26
//# $Id$
27
28
#ifndef MS_MSARRAYGRAM_H
29
#define MS_MSARRAYGRAM_H
30
31
32
//# Includes
33
#include <casacore/casa/aips.h>
34
#include <casacore/casa/BasicSL/String.h>
35
36
namespace
casacore
{
//# NAMESPACE CASACORE - BEGIN
37
38
//# Forward Declarations
39
class
MeasurementSet;
40
class
TableExprNode;
41
42
// <summary>
43
// Global functions for flex/bison scanner/parser for MSArrayGram
44
// </summary>
45
46
// <use visibility=local>
47
48
// <reviewed reviewer="" date="" tests="">
49
// </reviewed>
50
51
// <prerequisite>
52
//# Classes you should understand before using this one.
53
// <li> MSArrayGram.l and .y (flex and bison grammar)
54
// </prerequisite>
55
56
// <synopsis>
57
// Global functions are needed to define the input of the flex scanner
58
// and to start the bison parser.
59
// The input is taken from a string.
60
// </synopsis>
61
62
// <motivation>
63
// It is necessary to be able to give an image expression in ASCII.
64
// This can be used in glish.
65
// </motivation>
66
// <todo asof="$DATE:$">
67
//# A List of bugs, limitations, extensions or planned refinements.
68
// </todo>
69
70
71
// <group name=MSArrayGramFunctions>
72
73
// Declare the bison parser (is implemented by bison command).
74
TableExprNode
msArrayGramParseCommand
(
const
MeasurementSet
*ms,
const
String
& command,
75
Vector<Int>
& idList,
Int
maxArrays=1000);
76
77
// The yyerror function for the parser.
78
// It throws an exception with the current token.
79
void
MSArrayGramerror
(
const
char
*);
80
81
// Give the table expression node.
82
// const TableExprNode *msArrayGramParseNode();
83
// void msArrayGramParseDeleteNode();
84
85
// Give the current position in the string.
86
// This can be used when parse errors occur.
87
Int
&
msArrayGramPosition
();
88
89
// Declare the input routine for flex/bison.
90
int
msArrayGramInput
(
char
* buf,
int
max_size);
91
92
// A function to remove escaped characters.
93
//String msArrayGramRemoveEscapes (const String& in);
94
95
// A function to remove quotes from a quoted string.
96
//String msArrayGramRemoveQuotes (const String& in);
97
98
// </group>
99
100
}
//# NAMESPACE CASACORE - END
101
102
#endif
casacore::MSArrayGram_global_functions_MSArrayGramFunctions::msArrayGramParseCommand
TableExprNode msArrayGramParseCommand(const MeasurementSet *ms, const String &command, Vector< Int > &idList, Int maxArrays=1000)
Declare the bison parser (is implemented by bison command).
casacore::MSArrayGram_global_functions_MSArrayGramFunctions::MSArrayGramerror
void MSArrayGramerror(const char *)
The yyerror function for the parser.
casacore::MSArrayGram_global_functions_MSArrayGramFunctions::msArrayGramInput
int msArrayGramInput(char *buf, int max_size)
Declare the input routine for flex/bison.
casacore::Int
int Int
Definition:
aipstype.h:50
casacore
this file contains all the compiler specific defines
Definition:
mainpage.dox:28
casacore::MSArrayGram_global_functions_MSArrayGramFunctions::msArrayGramPosition
Int & msArrayGramPosition()
Give the table expression node.
casacore::TableExprNode
Definition:
ExprNode.h:156
casacore::MeasurementSet
Definition:
MeasurementSet.h:243
casacore::MSArrayGram_global_functions_MSArrayGramFunctions
Definition:
MSArrayGram.h:72
casacore::String
String: the storage and methods of handling collections of characters.
Definition:
String.h:223
casacore::Vector< Int >
Generated by
1.8.20