Terminals which are not used: kw_period kw_event kw_eof State 121 contains 1 shift/reduce conflict. State 126 contains 1 shift/reduce conflict. State 139 contains 1 shift/reduce conflict. Grammar rule 1 spi -> declaration_list rule 2 term -> identifier rule 3 term -> identifier kw_open_paren term_list kw_close_paren rule 4 term -> kw_open_paren term_sequence kw_close_paren rule 5 term -> kw_open_curly term_sequence kw_close_curly term rule 6 term -> kw_open_bracket term_sequence kw_close_bracket term rule 7 term -> VAR rule 8 term_sequence -> term_list rule 9 term_list -> term rule 10 term_list -> term_list kw_comma term rule 11 bang -> kw_bang rule 12 bang -> kw_bang kw_open_bracket VAR kw_close_bracket rule 13 optional_semicolon -> optional_semicolon kw_semicolon rule 14 optional_semicolon -> /* empty */ rule 15 fact -> term kw_equal term rule 16 fact -> term kw_different term rule 17 pattern -> identifier rule 18 pattern -> identifier kw_open_paren pattern_list kw_close_paren rule 19 pattern -> kw_equal term rule 20 pattern -> kw_any rule 21 pattern -> kw_open_paren pattern_sequence kw_close_paren rule 22 pattern -> kw_open_curly pattern_sequence kw_close_curly term rule 23 pattern -> kw_open_bracket pattern_sequence kw_close_bracket term rule 24 pattern -> VAR rule 25 pattern_sequence -> pattern_list rule 26 pattern_list -> pattern rule 27 pattern_list -> pattern_list kw_comma pattern rule 28 continuation -> /* empty */ rule 29 continuation -> atomic_process rule 30 continuation -> kw_semicolon optional_semicolon atomic_process rule 31 continuation -> kw_semicolon optional_semicolon rule 32 atomic_process -> kw_open_paren process kw_close_paren optional_semicolon rule 33 atomic_process -> id_or_var optional_semicolon rule 34 atomic_process -> id_or_var kw_open_paren term_list kw_close_paren optional_semicolon rule 35 atomic_process -> bang atomic_process rule 36 atomic_process -> kw_zero optional_semicolon rule 37 atomic_process -> kw_new VAR continuation rule 38 atomic_process -> kw_if fact kw_then atomic_process rule 39 atomic_process -> kw_if fact kw_then atomic_process kw_else atomic_process rule 40 atomic_process -> kw_in kw_open_paren term kw_comma pattern_sequence kw_close_paren continuation rule 41 atomic_process -> kw_out kw_open_paren term kw_comma term_sequence kw_close_paren continuation rule 42 atomic_process -> kw_let pattern_list kw_equal term_list kw_in atomic_process rule 43 atomic_process -> kw_let pattern_list kw_equal term_list kw_in atomic_process kw_else atomic_process rule 44 atomic_process -> kw_case term_sequence kw_of matches rule 45 matches -> pattern_sequence kw_implies atomic_process rule 46 matches -> matches kw_else pattern_sequence kw_implies atomic_process rule 47 process -> process_list rule 48 process_list -> atomic_process rule 49 process_list -> process_list kw_par atomic_process rule 50 proc -> kw_proc rule 51 single_proc_declaration -> id_or_var optional_args kw_equal process rule 52 proc_declaration -> single_proc_declaration rule 53 proc_declaration -> proc_declaration kw_and single_proc_declaration rule 54 declaration -> proc proc_declaration rule 55 declaration -> data id_or_var kw_slash optional_semicolon rule 56 declaration -> fun id_or_var kw_slash optional_semicolon rule 57 fun -> kw_fun rule 58 fun -> kw_private kw_fun rule 59 data -> kw_data rule 60 data -> kw_private kw_data rule 61 id_or_var -> identifier rule 62 id_or_var -> VAR rule 63 declaration_list -> /* empty */ rule 64 declaration_list -> declaration_list declaration rule 65 optional_args -> /* empty */ rule 66 optional_args -> kw_open_paren pattern_list kw_close_paren Terminals, with rules where they appear $ (-1) error (256) identifier (258) 2 3 17 18 61 VAR (259) 7 12 24 37 62 kw_slash (260) 55 56 kw_open_paren (261) 3 4 18 21 32 34 40 41 66 kw_close_paren (262) 3 4 18 21 32 34 40 41 66 kw_open_bracket (263) 6 12 23 kw_close_bracket (264) 6 12 23 kw_open_curly (265) 5 22 kw_close_curly (266) 5 22 kw_comma (267) 10 27 40 41 kw_semicolon (268) 13 30 31 kw_period (269) kw_equal (270) 15 19 42 43 51 kw_different (271) 16 kw_bang (272) 11 12 kw_zero (273) 36 kw_new (274) 37 kw_if (275) 38 39 kw_of (276) 44 kw_then (277) 38 39 kw_else (278) 39 43 46 kw_in (279) 40 42 43 kw_out (280) 41 kw_let (281) 42 43 kw_case (282) 44 kw_par (283) 49 kw_event (284) kw_proc (285) 50 kw_implies (286) 45 46 kw_any (287) 20 kw_data (288) 59 60 kw_fun (289) 57 58 kw_private (290) 58 60 kw_and (291) 53 kw_eof (292) Nonterminals, with rules where they appear spi (38) on left: 1 term (39) on left: 2 3 4 5 6 7, on right: 5 6 9 10 15 16 19 22 23 40 41 term_sequence (40) on left: 8, on right: 4 5 6 41 44 term_list (41) on left: 9 10, on right: 3 8 10 34 42 43 bang (42) on left: 11 12, on right: 35 optional_semicolon (43) on left: 13 14, on right: 13 30 31 32 33 34 36 55 56 fact (44) on left: 15 16, on right: 38 39 pattern (45) on left: 17 18 19 20 21 22 23 24, on right: 26 27 pattern_sequence (46) on left: 25, on right: 21 22 23 40 45 46 pattern_list (47) on left: 26 27, on right: 18 25 27 42 43 66 continuation (48) on left: 28 29 30 31, on right: 37 40 41 atomic_process (49) on left: 32 33 34 35 36 37 38 39 40 41 42 43 44, on right: 29 30 35 38 39 42 43 45 46 48 49 matches (50) on left: 45 46, on right: 44 46 process (51) on left: 47, on right: 32 51 process_list (52) on left: 48 49, on right: 47 49 proc (53) on left: 50, on right: 54 single_proc_declaration (54) on left: 51, on right: 52 53 proc_declaration (55) on left: 52 53, on right: 53 54 declaration (56) on left: 54 55 56, on right: 64 fun (57) on left: 57 58, on right: 56 data (58) on left: 59 60, on right: 55 id_or_var (59) on left: 61 62, on right: 33 34 51 55 56 declaration_list (60) on left: 63 64, on right: 1 64 optional_args (61) on left: 65 66, on right: 51 state 0 $default reduce using rule 63 (declaration_list) spi go to state 148 declaration_list go to state 1 state 1 spi -> declaration_list . (rule 1) declaration_list -> declaration_list . declaration (rule 64) kw_proc shift, and go to state 2 kw_data shift, and go to state 3 kw_fun shift, and go to state 4 kw_private shift, and go to state 5 $default reduce using rule 1 (spi) proc go to state 6 declaration go to state 7 fun go to state 8 data go to state 9 state 2 proc -> kw_proc . (rule 50) $default reduce using rule 50 (proc) state 3 data -> kw_data . (rule 59) $default reduce using rule 59 (data) state 4 fun -> kw_fun . (rule 57) $default reduce using rule 57 (fun) state 5 fun -> kw_private . kw_fun (rule 58) data -> kw_private . kw_data (rule 60) kw_data shift, and go to state 10 kw_fun shift, and go to state 11 state 6 declaration -> proc . proc_declaration (rule 54) identifier shift, and go to state 12 VAR shift, and go to state 13 single_proc_declaration go to state 14 proc_declaration go to state 15 id_or_var go to state 16 state 7 declaration_list -> declaration_list declaration . (rule 64) $default reduce using rule 64 (declaration_list) state 8 declaration -> fun . id_or_var kw_slash optional_semicolon (rule 56) identifier shift, and go to state 12 VAR shift, and go to state 13 id_or_var go to state 17 state 9 declaration -> data . id_or_var kw_slash optional_semicolon (rule 55) identifier shift, and go to state 12 VAR shift, and go to state 13 id_or_var go to state 18 state 10 data -> kw_private kw_data . (rule 60) $default reduce using rule 60 (data) state 11 fun -> kw_private kw_fun . (rule 58) $default reduce using rule 58 (fun) state 12 id_or_var -> identifier . (rule 61) $default reduce using rule 61 (id_or_var) state 13 id_or_var -> VAR . (rule 62) $default reduce using rule 62 (id_or_var) state 14 proc_declaration -> single_proc_declaration . (rule 52) $default reduce using rule 52 (proc_declaration) state 15 proc_declaration -> proc_declaration . kw_and single_proc_declaration (rule 53) declaration -> proc proc_declaration . (rule 54) kw_and shift, and go to state 19 $default reduce using rule 54 (declaration) state 16 single_proc_declaration -> id_or_var . optional_args kw_equal process (rule 51) kw_open_paren shift, and go to state 20 $default reduce using rule 65 (optional_args) optional_args go to state 21 state 17 declaration -> fun id_or_var . kw_slash optional_semicolon (rule 56) kw_slash shift, and go to state 22 state 18 declaration -> data id_or_var . kw_slash optional_semicolon (rule 55) kw_slash shift, and go to state 23 state 19 proc_declaration -> proc_declaration kw_and . single_proc_declaration (rule 53) identifier shift, and go to state 12 VAR shift, and go to state 13 single_proc_declaration go to state 24 id_or_var go to state 16 state 20 optional_args -> kw_open_paren . pattern_list kw_close_paren (rule 66) identifier shift, and go to state 25 VAR shift, and go to state 26 kw_open_paren shift, and go to state 27 kw_open_bracket shift, and go to state 28 kw_open_curly shift, and go to state 29 kw_equal shift, and go to state 30 kw_any shift, and go to state 31 pattern go to state 32 pattern_list go to state 33 state 21 single_proc_declaration -> id_or_var optional_args . kw_equal process (rule 51) kw_equal shift, and go to state 34 state 22 declaration -> fun id_or_var kw_slash . optional_semicolon (rule 56) $default reduce using rule 14 (optional_semicolon) optional_semicolon go to state 35 state 23 declaration -> data id_or_var kw_slash . optional_semicolon (rule 55) $default reduce using rule 14 (optional_semicolon) optional_semicolon go to state 36 state 24 proc_declaration -> proc_declaration kw_and single_proc_declaration . (rule 53) $default reduce using rule 53 (proc_declaration) state 25 pattern -> identifier . (rule 17) pattern -> identifier . kw_open_paren pattern_list kw_close_paren (rule 18) kw_open_paren shift, and go to state 37 $default reduce using rule 17 (pattern) state 26 pattern -> VAR . (rule 24) $default reduce using rule 24 (pattern) state 27 pattern -> kw_open_paren . pattern_sequence kw_close_paren (rule 21) identifier shift, and go to state 25 VAR shift, and go to state 26 kw_open_paren shift, and go to state 27 kw_open_bracket shift, and go to state 28 kw_open_curly shift, and go to state 29 kw_equal shift, and go to state 30 kw_any shift, and go to state 31 pattern go to state 32 pattern_sequence go to state 38 pattern_list go to state 39 state 28 pattern -> kw_open_bracket . pattern_sequence kw_close_bracket term (rule 23) identifier shift, and go to state 25 VAR shift, and go to state 26 kw_open_paren shift, and go to state 27 kw_open_bracket shift, and go to state 28 kw_open_curly shift, and go to state 29 kw_equal shift, and go to state 30 kw_any shift, and go to state 31 pattern go to state 32 pattern_sequence go to state 40 pattern_list go to state 39 state 29 pattern -> kw_open_curly . pattern_sequence kw_close_curly term (rule 22) identifier shift, and go to state 25 VAR shift, and go to state 26 kw_open_paren shift, and go to state 27 kw_open_bracket shift, and go to state 28 kw_open_curly shift, and go to state 29 kw_equal shift, and go to state 30 kw_any shift, and go to state 31 pattern go to state 32 pattern_sequence go to state 41 pattern_list go to state 39 state 30 pattern -> kw_equal . term (rule 19) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 47 state 31 pattern -> kw_any . (rule 20) $default reduce using rule 20 (pattern) state 32 pattern_list -> pattern . (rule 26) $default reduce using rule 26 (pattern_list) state 33 pattern_list -> pattern_list . kw_comma pattern (rule 27) optional_args -> kw_open_paren pattern_list . kw_close_paren (rule 66) kw_close_paren shift, and go to state 48 kw_comma shift, and go to state 49 state 34 single_proc_declaration -> id_or_var optional_args kw_equal . process (rule 51) identifier shift, and go to state 12 VAR shift, and go to state 13 kw_open_paren shift, and go to state 50 kw_bang shift, and go to state 51 kw_zero shift, and go to state 52 kw_new shift, and go to state 53 kw_if shift, and go to state 54 kw_in shift, and go to state 55 kw_out shift, and go to state 56 kw_let shift, and go to state 57 kw_case shift, and go to state 58 bang go to state 59 atomic_process go to state 60 process go to state 61 process_list go to state 62 id_or_var go to state 63 state 35 optional_semicolon -> optional_semicolon . kw_semicolon (rule 13) declaration -> fun id_or_var kw_slash optional_semicolon . (rule 56) kw_semicolon shift, and go to state 64 $default reduce using rule 56 (declaration) state 36 optional_semicolon -> optional_semicolon . kw_semicolon (rule 13) declaration -> data id_or_var kw_slash optional_semicolon . (rule 55) kw_semicolon shift, and go to state 64 $default reduce using rule 55 (declaration) state 37 pattern -> identifier kw_open_paren . pattern_list kw_close_paren (rule 18) identifier shift, and go to state 25 VAR shift, and go to state 26 kw_open_paren shift, and go to state 27 kw_open_bracket shift, and go to state 28 kw_open_curly shift, and go to state 29 kw_equal shift, and go to state 30 kw_any shift, and go to state 31 pattern go to state 32 pattern_list go to state 65 state 38 pattern -> kw_open_paren pattern_sequence . kw_close_paren (rule 21) kw_close_paren shift, and go to state 66 state 39 pattern_sequence -> pattern_list . (rule 25) pattern_list -> pattern_list . kw_comma pattern (rule 27) kw_comma shift, and go to state 49 $default reduce using rule 25 (pattern_sequence) state 40 pattern -> kw_open_bracket pattern_sequence . kw_close_bracket term (rule 23) kw_close_bracket shift, and go to state 67 state 41 pattern -> kw_open_curly pattern_sequence . kw_close_curly term (rule 22) kw_close_curly shift, and go to state 68 state 42 term -> identifier . (rule 2) term -> identifier . kw_open_paren term_list kw_close_paren (rule 3) kw_open_paren shift, and go to state 69 $default reduce using rule 2 (term) state 43 term -> VAR . (rule 7) $default reduce using rule 7 (term) state 44 term -> kw_open_paren . term_sequence kw_close_paren (rule 4) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 70 term_sequence go to state 71 term_list go to state 72 state 45 term -> kw_open_bracket . term_sequence kw_close_bracket term (rule 6) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 70 term_sequence go to state 73 term_list go to state 72 state 46 term -> kw_open_curly . term_sequence kw_close_curly term (rule 5) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 70 term_sequence go to state 74 term_list go to state 72 state 47 pattern -> kw_equal term . (rule 19) $default reduce using rule 19 (pattern) state 48 optional_args -> kw_open_paren pattern_list kw_close_paren . (rule 66) $default reduce using rule 66 (optional_args) state 49 pattern_list -> pattern_list kw_comma . pattern (rule 27) identifier shift, and go to state 25 VAR shift, and go to state 26 kw_open_paren shift, and go to state 27 kw_open_bracket shift, and go to state 28 kw_open_curly shift, and go to state 29 kw_equal shift, and go to state 30 kw_any shift, and go to state 31 pattern go to state 75 state 50 atomic_process -> kw_open_paren . process kw_close_paren optional_semicolon (rule 32) identifier shift, and go to state 12 VAR shift, and go to state 13 kw_open_paren shift, and go to state 50 kw_bang shift, and go to state 51 kw_zero shift, and go to state 52 kw_new shift, and go to state 53 kw_if shift, and go to state 54 kw_in shift, and go to state 55 kw_out shift, and go to state 56 kw_let shift, and go to state 57 kw_case shift, and go to state 58 bang go to state 59 atomic_process go to state 60 process go to state 76 process_list go to state 62 id_or_var go to state 63 state 51 bang -> kw_bang . (rule 11) bang -> kw_bang . kw_open_bracket VAR kw_close_bracket (rule 12) kw_open_bracket shift, and go to state 77 $default reduce using rule 11 (bang) state 52 atomic_process -> kw_zero . optional_semicolon (rule 36) $default reduce using rule 14 (optional_semicolon) optional_semicolon go to state 78 state 53 atomic_process -> kw_new . VAR continuation (rule 37) VAR shift, and go to state 79 state 54 atomic_process -> kw_if . fact kw_then atomic_process (rule 38) atomic_process -> kw_if . fact kw_then atomic_process kw_else atomic_process (rule 39) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 80 fact go to state 81 state 55 atomic_process -> kw_in . kw_open_paren term kw_comma pattern_sequence kw_close_paren continuation (rule 40) kw_open_paren shift, and go to state 82 state 56 atomic_process -> kw_out . kw_open_paren term kw_comma term_sequence kw_close_paren continuation (rule 41) kw_open_paren shift, and go to state 83 state 57 atomic_process -> kw_let . pattern_list kw_equal term_list kw_in atomic_process (rule 42) atomic_process -> kw_let . pattern_list kw_equal term_list kw_in atomic_process kw_else atomic_process (rule 43) identifier shift, and go to state 25 VAR shift, and go to state 26 kw_open_paren shift, and go to state 27 kw_open_bracket shift, and go to state 28 kw_open_curly shift, and go to state 29 kw_equal shift, and go to state 30 kw_any shift, and go to state 31 pattern go to state 32 pattern_list go to state 84 state 58 atomic_process -> kw_case . term_sequence kw_of matches (rule 44) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 70 term_sequence go to state 85 term_list go to state 72 state 59 atomic_process -> bang . atomic_process (rule 35) identifier shift, and go to state 12 VAR shift, and go to state 13 kw_open_paren shift, and go to state 50 kw_bang shift, and go to state 51 kw_zero shift, and go to state 52 kw_new shift, and go to state 53 kw_if shift, and go to state 54 kw_in shift, and go to state 55 kw_out shift, and go to state 56 kw_let shift, and go to state 57 kw_case shift, and go to state 58 bang go to state 59 atomic_process go to state 86 id_or_var go to state 63 state 60 process_list -> atomic_process . (rule 48) $default reduce using rule 48 (process_list) state 61 single_proc_declaration -> id_or_var optional_args kw_equal process . (rule 51) $default reduce using rule 51 (single_proc_declaration) state 62 process -> process_list . (rule 47) process_list -> process_list . kw_par atomic_process (rule 49) kw_par shift, and go to state 87 $default reduce using rule 47 (process) state 63 atomic_process -> id_or_var . optional_semicolon (rule 33) atomic_process -> id_or_var . kw_open_paren term_list kw_close_paren optional_semicolon (rule 34) kw_open_paren shift, and go to state 88 $default reduce using rule 14 (optional_semicolon) optional_semicolon go to state 89 state 64 optional_semicolon -> optional_semicolon kw_semicolon . (rule 13) $default reduce using rule 13 (optional_semicolon) state 65 pattern -> identifier kw_open_paren pattern_list . kw_close_paren (rule 18) pattern_list -> pattern_list . kw_comma pattern (rule 27) kw_close_paren shift, and go to state 90 kw_comma shift, and go to state 49 state 66 pattern -> kw_open_paren pattern_sequence kw_close_paren . (rule 21) $default reduce using rule 21 (pattern) state 67 pattern -> kw_open_bracket pattern_sequence kw_close_bracket . term (rule 23) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 91 state 68 pattern -> kw_open_curly pattern_sequence kw_close_curly . term (rule 22) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 92 state 69 term -> identifier kw_open_paren . term_list kw_close_paren (rule 3) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 70 term_list go to state 93 state 70 term_list -> term . (rule 9) $default reduce using rule 9 (term_list) state 71 term -> kw_open_paren term_sequence . kw_close_paren (rule 4) kw_close_paren shift, and go to state 94 state 72 term_sequence -> term_list . (rule 8) term_list -> term_list . kw_comma term (rule 10) kw_comma shift, and go to state 95 $default reduce using rule 8 (term_sequence) state 73 term -> kw_open_bracket term_sequence . kw_close_bracket term (rule 6) kw_close_bracket shift, and go to state 96 state 74 term -> kw_open_curly term_sequence . kw_close_curly term (rule 5) kw_close_curly shift, and go to state 97 state 75 pattern_list -> pattern_list kw_comma pattern . (rule 27) $default reduce using rule 27 (pattern_list) state 76 atomic_process -> kw_open_paren process . kw_close_paren optional_semicolon (rule 32) kw_close_paren shift, and go to state 98 state 77 bang -> kw_bang kw_open_bracket . VAR kw_close_bracket (rule 12) VAR shift, and go to state 99 state 78 optional_semicolon -> optional_semicolon . kw_semicolon (rule 13) atomic_process -> kw_zero optional_semicolon . (rule 36) kw_semicolon shift, and go to state 64 $default reduce using rule 36 (atomic_process) state 79 atomic_process -> kw_new VAR . continuation (rule 37) identifier shift, and go to state 12 VAR shift, and go to state 13 kw_open_paren shift, and go to state 50 kw_semicolon shift, and go to state 100 kw_bang shift, and go to state 51 kw_zero shift, and go to state 52 kw_new shift, and go to state 53 kw_if shift, and go to state 54 kw_in shift, and go to state 55 kw_out shift, and go to state 56 kw_let shift, and go to state 57 kw_case shift, and go to state 58 $default reduce using rule 28 (continuation) bang go to state 59 continuation go to state 101 atomic_process go to state 102 id_or_var go to state 63 state 80 fact -> term . kw_equal term (rule 15) fact -> term . kw_different term (rule 16) kw_equal shift, and go to state 103 kw_different shift, and go to state 104 state 81 atomic_process -> kw_if fact . kw_then atomic_process (rule 38) atomic_process -> kw_if fact . kw_then atomic_process kw_else atomic_process (rule 39) kw_then shift, and go to state 105 state 82 atomic_process -> kw_in kw_open_paren . term kw_comma pattern_sequence kw_close_paren continuation (rule 40) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 106 state 83 atomic_process -> kw_out kw_open_paren . term kw_comma term_sequence kw_close_paren continuation (rule 41) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 107 state 84 pattern_list -> pattern_list . kw_comma pattern (rule 27) atomic_process -> kw_let pattern_list . kw_equal term_list kw_in atomic_process (rule 42) atomic_process -> kw_let pattern_list . kw_equal term_list kw_in atomic_process kw_else atomic_process (rule 43) kw_comma shift, and go to state 49 kw_equal shift, and go to state 108 state 85 atomic_process -> kw_case term_sequence . kw_of matches (rule 44) kw_of shift, and go to state 109 state 86 atomic_process -> bang atomic_process . (rule 35) $default reduce using rule 35 (atomic_process) state 87 process_list -> process_list kw_par . atomic_process (rule 49) identifier shift, and go to state 12 VAR shift, and go to state 13 kw_open_paren shift, and go to state 50 kw_bang shift, and go to state 51 kw_zero shift, and go to state 52 kw_new shift, and go to state 53 kw_if shift, and go to state 54 kw_in shift, and go to state 55 kw_out shift, and go to state 56 kw_let shift, and go to state 57 kw_case shift, and go to state 58 bang go to state 59 atomic_process go to state 110 id_or_var go to state 63 state 88 atomic_process -> id_or_var kw_open_paren . term_list kw_close_paren optional_semicolon (rule 34) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 70 term_list go to state 111 state 89 optional_semicolon -> optional_semicolon . kw_semicolon (rule 13) atomic_process -> id_or_var optional_semicolon . (rule 33) kw_semicolon shift, and go to state 64 $default reduce using rule 33 (atomic_process) state 90 pattern -> identifier kw_open_paren pattern_list kw_close_paren . (rule 18) $default reduce using rule 18 (pattern) state 91 pattern -> kw_open_bracket pattern_sequence kw_close_bracket term . (rule 23) $default reduce using rule 23 (pattern) state 92 pattern -> kw_open_curly pattern_sequence kw_close_curly term . (rule 22) $default reduce using rule 22 (pattern) state 93 term -> identifier kw_open_paren term_list . kw_close_paren (rule 3) term_list -> term_list . kw_comma term (rule 10) kw_close_paren shift, and go to state 112 kw_comma shift, and go to state 95 state 94 term -> kw_open_paren term_sequence kw_close_paren . (rule 4) $default reduce using rule 4 (term) state 95 term_list -> term_list kw_comma . term (rule 10) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 113 state 96 term -> kw_open_bracket term_sequence kw_close_bracket . term (rule 6) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 114 state 97 term -> kw_open_curly term_sequence kw_close_curly . term (rule 5) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 115 state 98 atomic_process -> kw_open_paren process kw_close_paren . optional_semicolon (rule 32) $default reduce using rule 14 (optional_semicolon) optional_semicolon go to state 116 state 99 bang -> kw_bang kw_open_bracket VAR . kw_close_bracket (rule 12) kw_close_bracket shift, and go to state 117 state 100 continuation -> kw_semicolon . optional_semicolon atomic_process (rule 30) continuation -> kw_semicolon . optional_semicolon (rule 31) $default reduce using rule 14 (optional_semicolon) optional_semicolon go to state 118 state 101 atomic_process -> kw_new VAR continuation . (rule 37) $default reduce using rule 37 (atomic_process) state 102 continuation -> atomic_process . (rule 29) $default reduce using rule 29 (continuation) state 103 fact -> term kw_equal . term (rule 15) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 119 state 104 fact -> term kw_different . term (rule 16) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 120 state 105 atomic_process -> kw_if fact kw_then . atomic_process (rule 38) atomic_process -> kw_if fact kw_then . atomic_process kw_else atomic_process (rule 39) identifier shift, and go to state 12 VAR shift, and go to state 13 kw_open_paren shift, and go to state 50 kw_bang shift, and go to state 51 kw_zero shift, and go to state 52 kw_new shift, and go to state 53 kw_if shift, and go to state 54 kw_in shift, and go to state 55 kw_out shift, and go to state 56 kw_let shift, and go to state 57 kw_case shift, and go to state 58 bang go to state 59 atomic_process go to state 121 id_or_var go to state 63 state 106 atomic_process -> kw_in kw_open_paren term . kw_comma pattern_sequence kw_close_paren continuation (rule 40) kw_comma shift, and go to state 122 state 107 atomic_process -> kw_out kw_open_paren term . kw_comma term_sequence kw_close_paren continuation (rule 41) kw_comma shift, and go to state 123 state 108 atomic_process -> kw_let pattern_list kw_equal . term_list kw_in atomic_process (rule 42) atomic_process -> kw_let pattern_list kw_equal . term_list kw_in atomic_process kw_else atomic_process (rule 43) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 70 term_list go to state 124 state 109 atomic_process -> kw_case term_sequence kw_of . matches (rule 44) identifier shift, and go to state 25 VAR shift, and go to state 26 kw_open_paren shift, and go to state 27 kw_open_bracket shift, and go to state 28 kw_open_curly shift, and go to state 29 kw_equal shift, and go to state 30 kw_any shift, and go to state 31 pattern go to state 32 pattern_sequence go to state 125 pattern_list go to state 39 matches go to state 126 state 110 process_list -> process_list kw_par atomic_process . (rule 49) $default reduce using rule 49 (process_list) state 111 term_list -> term_list . kw_comma term (rule 10) atomic_process -> id_or_var kw_open_paren term_list . kw_close_paren optional_semicolon (rule 34) kw_close_paren shift, and go to state 127 kw_comma shift, and go to state 95 state 112 term -> identifier kw_open_paren term_list kw_close_paren . (rule 3) $default reduce using rule 3 (term) state 113 term_list -> term_list kw_comma term . (rule 10) $default reduce using rule 10 (term_list) state 114 term -> kw_open_bracket term_sequence kw_close_bracket term . (rule 6) $default reduce using rule 6 (term) state 115 term -> kw_open_curly term_sequence kw_close_curly term . (rule 5) $default reduce using rule 5 (term) state 116 optional_semicolon -> optional_semicolon . kw_semicolon (rule 13) atomic_process -> kw_open_paren process kw_close_paren optional_semicolon . (rule 32) kw_semicolon shift, and go to state 64 $default reduce using rule 32 (atomic_process) state 117 bang -> kw_bang kw_open_bracket VAR kw_close_bracket . (rule 12) $default reduce using rule 12 (bang) state 118 optional_semicolon -> optional_semicolon . kw_semicolon (rule 13) continuation -> kw_semicolon optional_semicolon . atomic_process (rule 30) continuation -> kw_semicolon optional_semicolon . (rule 31) identifier shift, and go to state 12 VAR shift, and go to state 13 kw_open_paren shift, and go to state 50 kw_semicolon shift, and go to state 64 kw_bang shift, and go to state 51 kw_zero shift, and go to state 52 kw_new shift, and go to state 53 kw_if shift, and go to state 54 kw_in shift, and go to state 55 kw_out shift, and go to state 56 kw_let shift, and go to state 57 kw_case shift, and go to state 58 $default reduce using rule 31 (continuation) bang go to state 59 atomic_process go to state 128 id_or_var go to state 63 state 119 fact -> term kw_equal term . (rule 15) $default reduce using rule 15 (fact) state 120 fact -> term kw_different term . (rule 16) $default reduce using rule 16 (fact) state 121 atomic_process -> kw_if fact kw_then atomic_process . (rule 38) atomic_process -> kw_if fact kw_then atomic_process . kw_else atomic_process (rule 39) kw_else shift, and go to state 129 kw_else [reduce using rule 38 (atomic_process)] $default reduce using rule 38 (atomic_process) state 122 atomic_process -> kw_in kw_open_paren term kw_comma . pattern_sequence kw_close_paren continuation (rule 40) identifier shift, and go to state 25 VAR shift, and go to state 26 kw_open_paren shift, and go to state 27 kw_open_bracket shift, and go to state 28 kw_open_curly shift, and go to state 29 kw_equal shift, and go to state 30 kw_any shift, and go to state 31 pattern go to state 32 pattern_sequence go to state 130 pattern_list go to state 39 state 123 atomic_process -> kw_out kw_open_paren term kw_comma . term_sequence kw_close_paren continuation (rule 41) identifier shift, and go to state 42 VAR shift, and go to state 43 kw_open_paren shift, and go to state 44 kw_open_bracket shift, and go to state 45 kw_open_curly shift, and go to state 46 term go to state 70 term_sequence go to state 131 term_list go to state 72 state 124 term_list -> term_list . kw_comma term (rule 10) atomic_process -> kw_let pattern_list kw_equal term_list . kw_in atomic_process (rule 42) atomic_process -> kw_let pattern_list kw_equal term_list . kw_in atomic_process kw_else atomic_process (rule 43) kw_comma shift, and go to state 95 kw_in shift, and go to state 132 state 125 matches -> pattern_sequence . kw_implies atomic_process (rule 45) kw_implies shift, and go to state 133 state 126 atomic_process -> kw_case term_sequence kw_of matches . (rule 44) matches -> matches . kw_else pattern_sequence kw_implies atomic_process (rule 46) kw_else shift, and go to state 134 kw_else [reduce using rule 44 (atomic_process)] $default reduce using rule 44 (atomic_process) state 127 atomic_process -> id_or_var kw_open_paren term_list kw_close_paren . optional_semicolon (rule 34) $default reduce using rule 14 (optional_semicolon) optional_semicolon go to state 135 state 128 continuation -> kw_semicolon optional_semicolon atomic_process . (rule 30) $default reduce using rule 30 (continuation) state 129 atomic_process -> kw_if fact kw_then atomic_process kw_else . atomic_process (rule 39) identifier shift, and go to state 12 VAR shift, and go to state 13 kw_open_paren shift, and go to state 50 kw_bang shift, and go to state 51 kw_zero shift, and go to state 52 kw_new shift, and go to state 53 kw_if shift, and go to state 54 kw_in shift, and go to state 55 kw_out shift, and go to state 56 kw_let shift, and go to state 57 kw_case shift, and go to state 58 bang go to state 59 atomic_process go to state 136 id_or_var go to state 63 state 130 atomic_process -> kw_in kw_open_paren term kw_comma pattern_sequence . kw_close_paren continuation (rule 40) kw_close_paren shift, and go to state 137 state 131 atomic_process -> kw_out kw_open_paren term kw_comma term_sequence . kw_close_paren continuation (rule 41) kw_close_paren shift, and go to state 138 state 132 atomic_process -> kw_let pattern_list kw_equal term_list kw_in . atomic_process (rule 42) atomic_process -> kw_let pattern_list kw_equal term_list kw_in . atomic_process kw_else atomic_process (rule 43) identifier shift, and go to state 12 VAR shift, and go to state 13 kw_open_paren shift, and go to state 50 kw_bang shift, and go to state 51 kw_zero shift, and go to state 52 kw_new shift, and go to state 53 kw_if shift, and go to state 54 kw_in shift, and go to state 55 kw_out shift, and go to state 56 kw_let shift, and go to state 57 kw_case shift, and go to state 58 bang go to state 59 atomic_process go to state 139 id_or_var go to state 63 state 133 matches -> pattern_sequence kw_implies . atomic_process (rule 45) identifier shift, and go to state 12 VAR shift, and go to state 13 kw_open_paren shift, and go to state 50 kw_bang shift, and go to state 51 kw_zero shift, and go to state 52 kw_new shift, and go to state 53 kw_if shift, and go to state 54 kw_in shift, and go to state 55 kw_out shift, and go to state 56 kw_let shift, and go to state 57 kw_case shift, and go to state 58 bang go to state 59 atomic_process go to state 140 id_or_var go to state 63 state 134 matches -> matches kw_else . pattern_sequence kw_implies atomic_process (rule 46) identifier shift, and go to state 25 VAR shift, and go to state 26 kw_open_paren shift, and go to state 27 kw_open_bracket shift, and go to state 28 kw_open_curly shift, and go to state 29 kw_equal shift, and go to state 30 kw_any shift, and go to state 31 pattern go to state 32 pattern_sequence go to state 141 pattern_list go to state 39 state 135 optional_semicolon -> optional_semicolon . kw_semicolon (rule 13) atomic_process -> id_or_var kw_open_paren term_list kw_close_paren optional_semicolon . (rule 34) kw_semicolon shift, and go to state 64 $default reduce using rule 34 (atomic_process) state 136 atomic_process -> kw_if fact kw_then atomic_process kw_else atomic_process . (rule 39) $default reduce using rule 39 (atomic_process) state 137 atomic_process -> kw_in kw_open_paren term kw_comma pattern_sequence kw_close_paren . continuation (rule 40) identifier shift, and go to state 12 VAR shift, and go to state 13 kw_open_paren shift, and go to state 50 kw_semicolon shift, and go to state 100 kw_bang shift, and go to state 51 kw_zero shift, and go to state 52 kw_new shift, and go to state 53 kw_if shift, and go to state 54 kw_in shift, and go to state 55 kw_out shift, and go to state 56 kw_let shift, and go to state 57 kw_case shift, and go to state 58 $default reduce using rule 28 (continuation) bang go to state 59 continuation go to state 142 atomic_process go to state 102 id_or_var go to state 63 state 138 atomic_process -> kw_out kw_open_paren term kw_comma term_sequence kw_close_paren . continuation (rule 41) identifier shift, and go to state 12 VAR shift, and go to state 13 kw_open_paren shift, and go to state 50 kw_semicolon shift, and go to state 100 kw_bang shift, and go to state 51 kw_zero shift, and go to state 52 kw_new shift, and go to state 53 kw_if shift, and go to state 54 kw_in shift, and go to state 55 kw_out shift, and go to state 56 kw_let shift, and go to state 57 kw_case shift, and go to state 58 $default reduce using rule 28 (continuation) bang go to state 59 continuation go to state 143 atomic_process go to state 102 id_or_var go to state 63 state 139 atomic_process -> kw_let pattern_list kw_equal term_list kw_in atomic_process . (rule 42) atomic_process -> kw_let pattern_list kw_equal term_list kw_in atomic_process . kw_else atomic_process (rule 43) kw_else shift, and go to state 144 kw_else [reduce using rule 42 (atomic_process)] $default reduce using rule 42 (atomic_process) state 140 matches -> pattern_sequence kw_implies atomic_process . (rule 45) $default reduce using rule 45 (matches) state 141 matches -> matches kw_else pattern_sequence . kw_implies atomic_process (rule 46) kw_implies shift, and go to state 145 state 142 atomic_process -> kw_in kw_open_paren term kw_comma pattern_sequence kw_close_paren continuation . (rule 40) $default reduce using rule 40 (atomic_process) state 143 atomic_process -> kw_out kw_open_paren term kw_comma term_sequence kw_close_paren continuation . (rule 41) $default reduce using rule 41 (atomic_process) state 144 atomic_process -> kw_let pattern_list kw_equal term_list kw_in atomic_process kw_else . atomic_process (rule 43) identifier shift, and go to state 12 VAR shift, and go to state 13 kw_open_paren shift, and go to state 50 kw_bang shift, and go to state 51 kw_zero shift, and go to state 52 kw_new shift, and go to state 53 kw_if shift, and go to state 54 kw_in shift, and go to state 55 kw_out shift, and go to state 56 kw_let shift, and go to state 57 kw_case shift, and go to state 58 bang go to state 59 atomic_process go to state 146 id_or_var go to state 63 state 145 matches -> matches kw_else pattern_sequence kw_implies . atomic_process (rule 46) identifier shift, and go to state 12 VAR shift, and go to state 13 kw_open_paren shift, and go to state 50 kw_bang shift, and go to state 51 kw_zero shift, and go to state 52 kw_new shift, and go to state 53 kw_if shift, and go to state 54 kw_in shift, and go to state 55 kw_out shift, and go to state 56 kw_let shift, and go to state 57 kw_case shift, and go to state 58 bang go to state 59 atomic_process go to state 147 id_or_var go to state 63 state 146 atomic_process -> kw_let pattern_list kw_equal term_list kw_in atomic_process kw_else atomic_process . (rule 43) $default reduce using rule 43 (atomic_process) state 147 matches -> matches kw_else pattern_sequence kw_implies atomic_process . (rule 46) $default reduce using rule 46 (matches) state 148 $ go to state 149 state 149 $ go to state 150 state 150 $default accept