next up previous
Next: UV-distance Selection Expression Up: Formal Grammar Specifications Previous: Scan/Sub-Array Selection Expression

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



Joe McMullin 2007-06-24