Nonterminals useless in grammar trigger Terminals unused in grammar FLOATNUMBER STRING EOL EQUALS CHARACTER COLON COMMA SEMICOLON MINUS TIMESEPERATOR TRUE FALSE FREQ BYDAY BYHOUR BYMINUTE BYMONTH BYMONTHDAY BYSECOND BYSETPOS BYWEEKNO BYYEARDAY DAILY MINUTELY MONTHLY SECONDLY WEEKLY HOURLY YEARLY INTERVAL COUNT UNTIL WKST MO SA SU TU WE TH FR BIT8 ACCEPTED ADD AUDIO BASE64 BINARY BOOLEAN BUSY BUSYTENTATIVE BUSYUNAVAILABLE CALADDRESS CANCEL CANCELLED CHAIR CHILD COMPLETED CONFIDENTIAL CONFIRMED COUNTER DATE DATETIME DECLINECOUNTER DECLINED DELEGATED DISPLAY DRAFT DURATION EMAIL END FINAL FLOAT FREE GREGORIAN GROUP INDIVIDUAL INPROCESS INTEGER NEEDSACTION NONPARTICIPANT OPAQUE OPTPARTICIPANT PARENT PERIOD PRIVATE PROCEDURE PUBLIC PUBLISH RECUR REFRESH REPLY REQPARTICIPANT REQUEST RESOURCE ROOM SIBLING START TENTATIVE TEXT THISANDFUTURE THISANDPRIOR TIME TRANSPAENT UNKNOWN UTCOFFSET XNAME ALTREP CN CUTYPE DAYLIGHT DIR ENCODING EVENT FBTYPE FMTTYPE LANGUAGE MEMBER PARTSTAT RANGE RELATED RELTYPE ROLE RSVP SENTBY STANDARD URI CHARSET Rules useless in grammar 37 trigger: /* empty */ Grammar 0 $accept: value $end 1 value: date_value 2 | datetime_value 3 | duration_value 4 | period_value 5 | utcoffset_value 6 | error 7 date_value: DIGITS 8 utc_char: /* empty */ 9 | UTC_CHAR 10 utc_char_b: /* empty */ 11 | UTC_CHAR 12 datetime_value: DIGITS TIME_CHAR DIGITS utc_char 13 dur_date: dur_day 14 | dur_day dur_time 15 dur_week: DIGITS 'W' 16 dur_time: TIME_CHAR dur_hour 17 | TIME_CHAR dur_minute 18 | TIME_CHAR dur_second 19 dur_hour: DIGITS 'H' 20 | DIGITS 'H' dur_minute 21 dur_minute: DIGITS 'M' 22 | DIGITS 'M' dur_second 23 dur_second: DIGITS 'S' 24 dur_day: DIGITS 'D' 25 dur_prefix: /* empty */ 26 | '+' 27 | '-' 28 duration_value: dur_prefix 'P' dur_date 29 | dur_prefix 'P' dur_time 30 | dur_prefix 'P' dur_week 31 period_value: DIGITS TIME_CHAR DIGITS utc_char '/' DIGITS TIME_CHAR DIGITS utc_char_b 32 | DIGITS TIME_CHAR DIGITS utc_char '/' duration_value 33 plusminus: '+' 34 | '-' 35 utcoffset_value: plusminus INTNUMBER INTNUMBER 36 | plusminus INTNUMBER INTNUMBER INTNUMBER Terminals, with rules where they appear $end (0) 0 '+' (43) 26 33 '-' (45) 27 34 '/' (47) 31 32 'D' (68) 24 'H' (72) 19 20 'M' (77) 21 22 'P' (80) 28 29 30 'S' (83) 23 'W' (87) 15 error (256) 6 DIGITS (258) 7 12 15 19 20 21 22 23 24 31 32 INTNUMBER (259) 35 36 FLOATNUMBER (260) STRING (261) EOL (262) EQUALS (263) CHARACTER (264) COLON (265) COMMA (266) SEMICOLON (267) MINUS (268) TIMESEPERATOR (269) TRUE (270) FALSE (271) FREQ (272) BYDAY (273) BYHOUR (274) BYMINUTE (275) BYMONTH (276) BYMONTHDAY (277) BYSECOND (278) BYSETPOS (279) BYWEEKNO (280) BYYEARDAY (281) DAILY (282) MINUTELY (283) MONTHLY (284) SECONDLY (285) WEEKLY (286) HOURLY (287) YEARLY (288) INTERVAL (289) COUNT (290) UNTIL (291) WKST (292) MO (293) SA (294) SU (295) TU (296) WE (297) TH (298) FR (299) BIT8 (300) ACCEPTED (301) ADD (302) AUDIO (303) BASE64 (304) BINARY (305) BOOLEAN (306) BUSY (307) BUSYTENTATIVE (308) BUSYUNAVAILABLE (309) CALADDRESS (310) CANCEL (311) CANCELLED (312) CHAIR (313) CHILD (314) COMPLETED (315) CONFIDENTIAL (316) CONFIRMED (317) COUNTER (318) DATE (319) DATETIME (320) DECLINECOUNTER (321) DECLINED (322) DELEGATED (323) DISPLAY (324) DRAFT (325) DURATION (326) EMAIL (327) END (328) FINAL (329) FLOAT (330) FREE (331) GREGORIAN (332) GROUP (333) INDIVIDUAL (334) INPROCESS (335) INTEGER (336) NEEDSACTION (337) NONPARTICIPANT (338) OPAQUE (339) OPTPARTICIPANT (340) PARENT (341) PERIOD (342) PRIVATE (343) PROCEDURE (344) PUBLIC (345) PUBLISH (346) RECUR (347) REFRESH (348) REPLY (349) REQPARTICIPANT (350) REQUEST (351) RESOURCE (352) ROOM (353) SIBLING (354) START (355) TENTATIVE (356) TEXT (357) THISANDFUTURE (358) THISANDPRIOR (359) TIME (360) TRANSPAENT (361) UNKNOWN (362) UTCOFFSET (363) XNAME (364) ALTREP (365) CN (366) CUTYPE (367) DAYLIGHT (368) DIR (369) ENCODING (370) EVENT (371) FBTYPE (372) FMTTYPE (373) LANGUAGE (374) MEMBER (375) PARTSTAT (376) RANGE (377) RELATED (378) RELTYPE (379) ROLE (380) RSVP (381) SENTBY (382) STANDARD (383) URI (384) CHARSET (385) TIME_CHAR (386) 12 16 17 18 31 32 UTC_CHAR (387) 9 11 Nonterminals, with rules where they appear $accept (142) on left: 0 value (143) on left: 1 2 3 4 5 6, on right: 0 date_value (144) on left: 7, on right: 1 utc_char (145) on left: 8 9, on right: 12 31 32 utc_char_b (146) on left: 10 11, on right: 31 datetime_value (147) on left: 12, on right: 2 dur_date (148) on left: 13 14, on right: 28 dur_week (149) on left: 15, on right: 30 dur_time (150) on left: 16 17 18, on right: 14 29 dur_hour (151) on left: 19 20, on right: 16 dur_minute (152) on left: 21 22, on right: 17 20 dur_second (153) on left: 23, on right: 18 22 dur_day (154) on left: 24, on right: 13 14 dur_prefix (155) on left: 25 26 27, on right: 28 29 30 duration_value (156) on left: 28 29 30, on right: 3 32 period_value (157) on left: 31 32, on right: 4 plusminus (158) on left: 33 34, on right: 35 36 utcoffset_value (159) on left: 35 36, on right: 5 state 0 0 $accept: . value $end error shift, and go to state 1 DIGITS shift, and go to state 2 '+' shift, and go to state 3 '-' shift, and go to state 4 'P' reduce using rule 25 (dur_prefix) value go to state 5 date_value go to state 6 datetime_value go to state 7 dur_prefix go to state 8 duration_value go to state 9 period_value go to state 10 plusminus go to state 11 utcoffset_value go to state 12 state 1 6 value: error . $default reduce using rule 6 (value) state 2 7 date_value: DIGITS . 12 datetime_value: DIGITS . TIME_CHAR DIGITS utc_char 31 period_value: DIGITS . TIME_CHAR DIGITS utc_char '/' DIGITS TIME_CHAR DIGITS utc_char_b 32 | DIGITS . TIME_CHAR DIGITS utc_char '/' duration_value TIME_CHAR shift, and go to state 13 $default reduce using rule 7 (date_value) state 3 26 dur_prefix: '+' . 33 plusminus: '+' . INTNUMBER reduce using rule 33 (plusminus) $default reduce using rule 26 (dur_prefix) state 4 27 dur_prefix: '-' . 34 plusminus: '-' . INTNUMBER reduce using rule 34 (plusminus) $default reduce using rule 27 (dur_prefix) state 5 0 $accept: value . $end $end shift, and go to state 14 state 6 1 value: date_value . $default reduce using rule 1 (value) state 7 2 value: datetime_value . $default reduce using rule 2 (value) state 8 28 duration_value: dur_prefix . 'P' dur_date 29 | dur_prefix . 'P' dur_time 30 | dur_prefix . 'P' dur_week 'P' shift, and go to state 15 state 9 3 value: duration_value . $default reduce using rule 3 (value) state 10 4 value: period_value . $default reduce using rule 4 (value) state 11 35 utcoffset_value: plusminus . INTNUMBER INTNUMBER 36 | plusminus . INTNUMBER INTNUMBER INTNUMBER INTNUMBER shift, and go to state 16 state 12 5 value: utcoffset_value . $default reduce using rule 5 (value) state 13 12 datetime_value: DIGITS TIME_CHAR . DIGITS utc_char 31 period_value: DIGITS TIME_CHAR . DIGITS utc_char '/' DIGITS TIME_CHAR DIGITS utc_char_b 32 | DIGITS TIME_CHAR . DIGITS utc_char '/' duration_value DIGITS shift, and go to state 17 state 14 0 $accept: value $end . $default accept state 15 28 duration_value: dur_prefix 'P' . dur_date 29 | dur_prefix 'P' . dur_time 30 | dur_prefix 'P' . dur_week DIGITS shift, and go to state 18 TIME_CHAR shift, and go to state 19 dur_date go to state 20 dur_week go to state 21 dur_time go to state 22 dur_day go to state 23 state 16 35 utcoffset_value: plusminus INTNUMBER . INTNUMBER 36 | plusminus INTNUMBER . INTNUMBER INTNUMBER INTNUMBER shift, and go to state 24 state 17 12 datetime_value: DIGITS TIME_CHAR DIGITS . utc_char 31 period_value: DIGITS TIME_CHAR DIGITS . utc_char '/' DIGITS TIME_CHAR DIGITS utc_char_b 32 | DIGITS TIME_CHAR DIGITS . utc_char '/' duration_value UTC_CHAR shift, and go to state 25 $default reduce using rule 8 (utc_char) utc_char go to state 26 state 18 15 dur_week: DIGITS . 'W' 24 dur_day: DIGITS . 'D' 'W' shift, and go to state 27 'D' shift, and go to state 28 state 19 16 dur_time: TIME_CHAR . dur_hour 17 | TIME_CHAR . dur_minute 18 | TIME_CHAR . dur_second DIGITS shift, and go to state 29 dur_hour go to state 30 dur_minute go to state 31 dur_second go to state 32 state 20 28 duration_value: dur_prefix 'P' dur_date . $default reduce using rule 28 (duration_value) state 21 30 duration_value: dur_prefix 'P' dur_week . $default reduce using rule 30 (duration_value) state 22 29 duration_value: dur_prefix 'P' dur_time . $default reduce using rule 29 (duration_value) state 23 13 dur_date: dur_day . 14 | dur_day . dur_time TIME_CHAR shift, and go to state 19 $default reduce using rule 13 (dur_date) dur_time go to state 33 state 24 35 utcoffset_value: plusminus INTNUMBER INTNUMBER . 36 | plusminus INTNUMBER INTNUMBER . INTNUMBER INTNUMBER shift, and go to state 34 $default reduce using rule 35 (utcoffset_value) state 25 9 utc_char: UTC_CHAR . $default reduce using rule 9 (utc_char) state 26 12 datetime_value: DIGITS TIME_CHAR DIGITS utc_char . 31 period_value: DIGITS TIME_CHAR DIGITS utc_char . '/' DIGITS TIME_CHAR DIGITS utc_char_b 32 | DIGITS TIME_CHAR DIGITS utc_char . '/' duration_value '/' shift, and go to state 35 $default reduce using rule 12 (datetime_value) state 27 15 dur_week: DIGITS 'W' . $default reduce using rule 15 (dur_week) state 28 24 dur_day: DIGITS 'D' . $default reduce using rule 24 (dur_day) state 29 19 dur_hour: DIGITS . 'H' 20 | DIGITS . 'H' dur_minute 21 dur_minute: DIGITS . 'M' 22 | DIGITS . 'M' dur_second 23 dur_second: DIGITS . 'S' 'H' shift, and go to state 36 'M' shift, and go to state 37 'S' shift, and go to state 38 state 30 16 dur_time: TIME_CHAR dur_hour . $default reduce using rule 16 (dur_time) state 31 17 dur_time: TIME_CHAR dur_minute . $default reduce using rule 17 (dur_time) state 32 18 dur_time: TIME_CHAR dur_second . $default reduce using rule 18 (dur_time) state 33 14 dur_date: dur_day dur_time . $default reduce using rule 14 (dur_date) state 34 36 utcoffset_value: plusminus INTNUMBER INTNUMBER INTNUMBER . $default reduce using rule 36 (utcoffset_value) state 35 31 period_value: DIGITS TIME_CHAR DIGITS utc_char '/' . DIGITS TIME_CHAR DIGITS utc_char_b 32 | DIGITS TIME_CHAR DIGITS utc_char '/' . duration_value DIGITS shift, and go to state 39 '+' shift, and go to state 40 '-' shift, and go to state 41 $default reduce using rule 25 (dur_prefix) dur_prefix go to state 8 duration_value go to state 42 state 36 19 dur_hour: DIGITS 'H' . 20 | DIGITS 'H' . dur_minute DIGITS shift, and go to state 43 $default reduce using rule 19 (dur_hour) dur_minute go to state 44 state 37 21 dur_minute: DIGITS 'M' . 22 | DIGITS 'M' . dur_second DIGITS shift, and go to state 45 $default reduce using rule 21 (dur_minute) dur_second go to state 46 state 38 23 dur_second: DIGITS 'S' . $default reduce using rule 23 (dur_second) state 39 31 period_value: DIGITS TIME_CHAR DIGITS utc_char '/' DIGITS . TIME_CHAR DIGITS utc_char_b TIME_CHAR shift, and go to state 47 state 40 26 dur_prefix: '+' . $default reduce using rule 26 (dur_prefix) state 41 27 dur_prefix: '-' . $default reduce using rule 27 (dur_prefix) state 42 32 period_value: DIGITS TIME_CHAR DIGITS utc_char '/' duration_value . $default reduce using rule 32 (period_value) state 43 21 dur_minute: DIGITS . 'M' 22 | DIGITS . 'M' dur_second 'M' shift, and go to state 37 state 44 20 dur_hour: DIGITS 'H' dur_minute . $default reduce using rule 20 (dur_hour) state 45 23 dur_second: DIGITS . 'S' 'S' shift, and go to state 38 state 46 22 dur_minute: DIGITS 'M' dur_second . $default reduce using rule 22 (dur_minute) state 47 31 period_value: DIGITS TIME_CHAR DIGITS utc_char '/' DIGITS TIME_CHAR . DIGITS utc_char_b DIGITS shift, and go to state 48 state 48 31 period_value: DIGITS TIME_CHAR DIGITS utc_char '/' DIGITS TIME_CHAR DIGITS . utc_char_b UTC_CHAR shift, and go to state 49 $default reduce using rule 10 (utc_char_b) utc_char_b go to state 50 state 49 11 utc_char_b: UTC_CHAR . $default reduce using rule 11 (utc_char_b) state 50 31 period_value: DIGITS TIME_CHAR DIGITS utc_char '/' DIGITS TIME_CHAR DIGITS utc_char_b . $default reduce using rule 31 (period_value)