next up previous
Next: About this document ... Up: MeasurementSet Selection Syntax Previous: Appendix: Examples

Subsections

Appendix: Formal Grammar Specifications

TEN in the following refers to the TableExprNode object of the Tables module of CASA.

Baseline Selection Expression

token IDENTIFIER of type String
token COMMA

token LPAREN
token RPAREN
token WHITE

token INT      of type String
token QSTRING  of type String
token REGEX    of type String

token COLON
token SEMICOLON

type TEN antennastatement
type TEN indexcombexpr
type Vector<int> indexlist
type Vector<int> antidrange
type Vector<int> antidlist
type Vector<int> antid

antennastatement: indexcombexpr 
                | LPAREN indexcombexpr RPAREN

indexcombexpr: indexcombexpr SEMICOLON indexcombexpr
             | indexlist AMPERSAND indexlist 
             | indexlist AMPERSAND 
             | indexlist 

antid: IDENTIFIER 
     | QSTRING 
     | REGEX

antidrange: INT 
          | INT TILDA INT 
 
antidlist: antid 
         | antidrange
 
indexlist: antidlist
         | indexlist COMMA antidlist
         | LPAREN indexlist RPAREN

Frequency Selection Expression

token UNIT       of type String
token INT        of type String
token FNUMBER    of type String
token QSTRING    of type String
token REGEX      of type String
token IDENTIFIER of type String

type TEN SpwStatement
type TEN FullSpec
type TEN FullExpr
type Float[2] OneFreq
type Float[2] FreqRange
type Float[2] Physical
type Float[4] IndexRange
type Float[4] PhyRange
type Vector<int>    Spw
type Float[2] FListElements
type Vector<Float>   FreqList
type Float PhyVal


SpwStatement: FullExpr | LPAREN FullExpr RPAREN

PhyVal: FNUMBER

Physical: PhyVal UNIT

PhyRange: Physical TILDA Physical
        | PhyVal TILDA PhyVal UNIT
        | PhyRange CARET Physical 

IndexRange: PhyVal TILDA PhyVal
          | IndexRange CARET PhyVal

FreqRange: IndexRange
         | PhyRange

OneFreq:  PhyVal
        | Physical

FListElements: FreqRange
             | OneFreq

FreqList: FListElements
        | FreqList SEMICOLON FListElements

Spw: IDENTIFIER
   | QSTRING
   | REGEX
   | OneFreq
   | GT OneFreq
   | LT OneFreq
   | TILDA OneFreq
   | FreqRange
   
FullSpec: Spw 
        | Spw COLON FreqList

FullExpr: FullSpec
        | FullExpr COMMA FullSpec

Field Selection Expression

token SQUOTE
token IDENTIFIER  of type String
token COMMA

token LPAREN
token RPAREN
token WHITE

token INT      of type String
token QSTRING  of type String
token REGEX    of type String

token COLON
token SEMICOLON

type TEN fieldstatement
type TEN indexcombexpr
type Vector<int> indexlist
type Vector<int> fieldidrange
type Vector<int> fieldidlist
type Vector<int> fieldid
type Vector<int> fieldidbounds

fieldstatement: indexcombexpr 
              | LPAREN indexcombexpr RPAREN

indexcombexpr: indexlist 

fieldid: IDENTIFIER   
       | QSTRING 
       | REGEX

fieldidrange: INT                     
            | INT TILDA INT           

fieldidbounds: LT INT                  
             | GT INT                  
             | GT INT AMPERSAND LT INT 

fieldidlist: fieldid                   
           | fieldidrange              
           | fieldidbounds             

indexlist : fieldidlist
          | indexlist COMMA fieldidlist  
          | LPAREN indexlist RPAREN

Scan/Sub-Array Selection Expression

token IDENTIFIER  of type String
token COMMA

token LPAREN
token RPAREN
token WHITE

token INT      of type String
token QSTRING  of type String
token REGEX    of type String

token COLON
token SEMICOLON

type TEN scanstatement
type TEN indexcombexpr
type TEN scanidrange
type TEN scanidbounds

scanstatement: indexcombexpr 
             | LPAREN indexcombexpr RPAREN

indexcombexpr: scanidrange
             | scanidbounds
             | scanidrange COMMA indexcombexpr
             | scanidbounds COMMA indexcombexpr

scanidbounds: LT INT
            | GT INT
            | LE INT
            | GE INT
            | GE INT AMPERSAND LE INT
            | GT INT AMPERSAND LT INT

scanidrange: INT
           | INT TILDA INT

Time Selection Expression

token NUMBER  of type Integer
token FNUMBER of type Double

token TILDA
token LT
token GT
token COLON
token COMMA
token SLASH
token DOT
token STAR

type TEN timestatement
type TEN timeexpr
type TEN singletimeexpr
type TEN rangetimeexpr
type TEN upboundtimeexpr
type TEN lowboundtimeexpr
type Struct TimeFields yeartimeexpr
type Double FLOAT
type Vector<int> WNUMBER

timestatement: timeexpr 

timeexpr: singletimeexpr
        | rangetimeexpr
        | lowboundtimeexpr
        | upboundtimeexpr
        | timeexpr COMMA timeexpr 

WNUMBER: STAR 
       | NUMBER

FLOAT: WNUMBER 
     | FNUMBER {$$ = $1;}

singletimeexpr: yeartimeexpr 

rangetimeexpr: yeartimeexpr TILDA yeartimeexpr 
             | yeartimeexpr PLUS yeartimeexpr

lowboundtimeexpr: GT yeartimeexpr 

upboundtimeexpr: LT yeartimeexpr 

yeartimeexpr: WNUMBER SLASH WNUMBER SLASH WNUMBER SLASH WNUMBER
                COLON WNUMBER COLON FLOAT
            | WNUMBER SLASH WNUMBER SLASH WNUMBER SLASH WNUMBER
                COLON WNUMBER 
            | WNUMBER SLASH WNUMBER SLASH WNUMBER SLASH WNUMBER 
            | WNUMBER SLASH WNUMBER SLASH WNUMBER 
            | WNUMBER SLASH WNUMBER SLASH WNUMBER 
                COLON WNUMBER COLON FLOAT
            | WNUMBER COLON WNUMBER COLON FLOAT
            | WNUMBER COLON FLOAT
            | FLOAT
            | WNUMBER SLASH WNUMBER COLON WNUMBER COLON FLOAT 
            | WNUMBER SLASH WNUMBER COLON WNUMBER 
            | WNUMBER SLASH WNUMBER

UV-distance Selection Expression

token UNIT     of type String
token FNUMBER of type Double
token COLON  
token COMMA
token PERCENT

type Double fnumwithunits
type TEN uvwdiststatement
type TEN uvwdistexprlist
type TEN uvwdistexpr

uvwdiststatement:uvwdistexprlist

uvwdistexprlist: uvwdistexpr 
               | uvwdistexprlist COMMA uvwdistexpr 

fnumwithunits: FNUMBER
             | FNUMBER UNIT

uvwdistexpr: fnumwithunits
           | FNUMBER TILDA fnumwithunits
           | LT fnumwithunits
           | GT fnumwithunits
           | fnumwithunits COLON FNUMBER PERCENT


Sanjay Bhatnagar 2011-02-23