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