(define terminals '#( IDENT rparen STRING NEWLINE <$> lbracket plus vbar lparen colon rbracket splat )) (define non-terminals '#( group rules items rule element item alts kleene optional alts2 )) (define actions (literal #( (action-list:cons 3 (action:shift 2) (action-list:cons 0 (action:shift 1) (action-list:nil))) (action-list:cons 10 (action:shift 5) (action-list:nil)) (action-list:cons 4 (action:reduce 1 4) (action-list:cons 3 (action:reduce 1 4) (action-list:cons 0 (action:reduce 1 4) (action-list:nil)))) (action-list:cons 4 (action:shift 6) (action-list:cons 3 (action:shift 2) (action-list:cons 0 (action:shift 1) (action-list:nil)))) (action-list:cons 4 (action:reduce 1 2) (action-list:cons 3 (action:reduce 1 2) (action-list:cons 0 (action:reduce 1 2) (action-list:nil)))) (action-list:cons 6 (action:shift 10) (action-list:cons 2 (action:shift 9) (action-list:cons 9 (action:shift 11) (action-list:cons 0 (action:shift 8) (action-list:nil))))) (action-list:cons 5 (action:reduce 2 0) (action-list:nil)) (action-list:cons 4 (action:reduce 2 2) (action-list:cons 3 (action:reduce 2 2) (action-list:cons 0 (action:reduce 2 2) (action-list:nil)))) (action-list:cons 12 (action:reduce 1 5) (action-list:cons 11 (action:reduce 1 5) (action-list:cons 9 (action:reduce 1 5) (action-list:cons 8 (action:reduce 1 5) (action-list:cons 7 (action:reduce 1 5) (action-list:cons 6 (action:reduce 1 5) (action-list:cons 3 (action:reduce 1 5) (action-list:cons 2 (action:reduce 1 5) (action-list:cons 1 (action:reduce 1 5) (action-list:cons 0 (action:reduce 1 5) (action-list:nil))))))))))) (action-list:cons 12 (action:reduce 1 5) (action-list:cons 11 (action:reduce 1 5) (action-list:cons 9 (action:reduce 1 5) (action-list:cons 8 (action:reduce 1 5) (action-list:cons 7 (action:reduce 1 5) (action-list:cons 6 (action:reduce 1 5) (action-list:cons 3 (action:reduce 1 5) (action-list:cons 2 (action:reduce 1 5) (action-list:cons 1 (action:reduce 1 5) (action-list:cons 0 (action:reduce 1 5) (action-list:nil))))))))))) (action-list:cons 6 (action:shift 10) (action-list:cons 2 (action:shift 9) (action-list:cons 9 (action:shift 11) (action-list:cons 0 (action:shift 8) (action-list:nil))))) (action-list:cons 6 (action:shift 10) (action-list:cons 2 (action:shift 9) (action-list:cons 9 (action:shift 11) (action-list:cons 0 (action:shift 8) (action-list:nil))))) (action-list:cons 12 (action:reduce 1 5) (action-list:cons 11 (action:reduce 1 5) (action-list:cons 9 (action:reduce 1 5) (action-list:cons 8 (action:reduce 1 5) (action-list:cons 7 (action:reduce 1 5) (action-list:cons 6 (action:reduce 1 5) (action-list:cons 3 (action:reduce 1 5) (action-list:cons 2 (action:reduce 1 5) (action-list:cons 1 (action:reduce 1 5) (action-list:cons 0 (action:reduce 1 5) (action-list:nil))))))))))) (action-list:cons 11 (action:reduce 0 10) (action-list:cons 9 (action:shift 11) (action-list:cons 8 (action:reduce 0 10) (action-list:cons 6 (action:shift 10) (action-list:cons 3 (action:reduce 0 10) (action-list:cons 2 (action:shift 9) (action-list:cons 1 (action:reduce 0 10) (action-list:cons 0 (action:shift 8) (action-list:nil))))))))) (action-list:cons 12 (action:shift 21) (action-list:cons 11 (action:reduce 1 8) (action-list:cons 9 (action:reduce 1 8) (action-list:cons 8 (action:reduce 1 8) (action-list:cons 7 (action:shift 20) (action-list:cons 6 (action:reduce 1 8) (action-list:cons 3 (action:reduce 1 8) (action-list:cons 2 (action:reduce 1 8) (action-list:cons 1 (action:reduce 1 8) (action-list:cons 0 (action:reduce 1 8) (action-list:nil))))))))))) (action-list:cons 11 (action:reduce 1 3) (action-list:cons 9 (action:reduce 1 3) (action-list:cons 8 (action:reduce 1 3) (action-list:cons 6 (action:reduce 1 3) (action-list:cons 3 (action:reduce 1 3) (action-list:cons 2 (action:reduce 1 3) (action-list:cons 1 (action:reduce 1 3) (action-list:cons 0 (action:reduce 1 3) (action-list:nil))))))))) (action-list:cons 3 (action:shift 27) (action-list:nil)) (action-list:cons 11 (action:reduce 1 6) (action-list:cons 9 (action:reduce 1 6) (action-list:cons 8 (action:reduce 1 6) (action-list:cons 6 (action:reduce 1 6) (action-list:cons 3 (action:reduce 1 6) (action-list:cons 2 (action:reduce 1 6) (action-list:cons 1 (action:reduce 1 6) (action-list:cons 0 (action:reduce 1 6) (action-list:nil))))))))) (action-list:cons 11 (action:reduce 1 6) (action-list:cons 9 (action:reduce 1 6) (action-list:cons 8 (action:reduce 1 6) (action-list:cons 6 (action:reduce 1 6) (action-list:cons 3 (action:reduce 1 6) (action-list:cons 2 (action:reduce 1 6) (action-list:cons 1 (action:reduce 1 6) (action-list:cons 0 (action:reduce 1 6) (action-list:nil))))))))) (action-list:cons 11 (action:shift 26) (action-list:nil)) (action-list:cons 11 (action:reduce 2 8) (action-list:cons 9 (action:reduce 2 8) (action-list:cons 8 (action:reduce 2 8) (action-list:cons 6 (action:reduce 2 8) (action-list:cons 3 (action:reduce 2 8) (action-list:cons 2 (action:reduce 2 8) (action-list:cons 1 (action:reduce 2 8) (action-list:cons 0 (action:reduce 2 8) (action-list:nil))))))))) (action-list:cons 11 (action:reduce 2 8) (action-list:cons 9 (action:reduce 2 8) (action-list:cons 8 (action:reduce 2 8) (action-list:cons 6 (action:reduce 2 8) (action-list:cons 3 (action:reduce 2 8) (action-list:cons 2 (action:reduce 2 8) (action-list:cons 1 (action:reduce 2 8) (action-list:cons 0 (action:reduce 2 8) (action-list:nil))))))))) (action-list:cons 11 (action:reduce 2 3) (action-list:cons 9 (action:reduce 2 3) (action-list:cons 8 (action:reduce 2 3) (action-list:cons 6 (action:reduce 2 3) (action-list:cons 3 (action:reduce 2 3) (action-list:cons 2 (action:reduce 2 3) (action-list:cons 1 (action:reduce 2 3) (action-list:cons 0 (action:reduce 2 3) (action-list:nil))))))))) (action-list:cons 1 (action:reduce 2 7) (action-list:cons 3 (action:reduce 2 7) (action-list:cons 11 (action:reduce 2 7) (action-list:cons 8 (action:shift 25) (action-list:nil))))) (action-list:cons 1 (action:shift 28) (action-list:nil)) (action-list:cons 6 (action:shift 10) (action-list:cons 2 (action:shift 9) (action-list:cons 9 (action:shift 11) (action-list:cons 0 (action:shift 8) (action-list:nil))))) (action-list:cons 11 (action:reduce 3 9) (action-list:cons 9 (action:reduce 3 9) (action-list:cons 8 (action:reduce 3 9) (action-list:cons 6 (action:reduce 3 9) (action-list:cons 3 (action:reduce 3 9) (action-list:cons 2 (action:reduce 3 9) (action-list:cons 1 (action:reduce 3 9) (action-list:cons 0 (action:reduce 3 9) (action-list:nil))))))))) (action-list:cons 4 (action:reduce 4 4) (action-list:cons 3 (action:reduce 4 4) (action-list:cons 0 (action:reduce 4 4) (action-list:nil)))) (action-list:cons 12 (action:reduce 3 1) (action-list:cons 11 (action:reduce 3 1) (action-list:cons 9 (action:reduce 3 1) (action-list:cons 8 (action:reduce 3 1) (action-list:cons 7 (action:reduce 3 1) (action-list:cons 6 (action:reduce 3 1) (action-list:cons 3 (action:reduce 3 1) (action-list:cons 2 (action:reduce 3 1) (action-list:cons 1 (action:reduce 3 1) (action-list:cons 0 (action:reduce 3 1) (action-list:nil))))))))))) (action-list:cons 11 (action:reduce 3 10) (action-list:cons 9 (action:shift 11) (action-list:cons 8 (action:reduce 3 10) (action-list:cons 6 (action:shift 10) (action-list:cons 3 (action:reduce 3 10) (action-list:cons 2 (action:shift 9) (action-list:cons 1 (action:reduce 3 10) (action-list:cons 0 (action:shift 8) (action-list:nil))))))))) ))) (define goto (literal #( (goto-list:cons 2 3 (goto-list:cons 4 4 (goto-list:nil))) (goto-list:nil) (goto-list:nil) (goto-list:cons 4 7 (goto-list:nil)) (goto-list:nil) (goto-list:cons 1 12 (goto-list:cons 3 13 (goto-list:cons 5 14 (goto-list:cons 6 15 (goto-list:cons 7 16 (goto-list:cons 8 17 (goto-list:cons 9 18 (goto-list:nil)))))))) (goto-list:nil) (goto-list:nil) (goto-list:nil) (goto-list:nil) (goto-list:cons 1 12 (goto-list:cons 3 13 (goto-list:cons 5 14 (goto-list:cons 6 15 (goto-list:cons 7 19 (goto-list:cons 8 17 (goto-list:cons 9 18 (goto-list:nil)))))))) (goto-list:cons 1 12 (goto-list:cons 3 13 (goto-list:cons 5 14 (goto-list:cons 6 15 (goto-list:cons 7 24 (goto-list:cons 8 17 (goto-list:cons 9 18 (goto-list:nil)))))))) (goto-list:nil) (goto-list:cons 1 12 (goto-list:cons 5 14 (goto-list:cons 6 22 (goto-list:cons 8 17 (goto-list:cons 9 18 (goto-list:cons 10 23 (goto-list:nil))))))) (goto-list:nil) (goto-list:nil) (goto-list:nil) (goto-list:nil) (goto-list:nil) (goto-list:nil) (goto-list:nil) (goto-list:nil) (goto-list:nil) (goto-list:nil) (goto-list:nil) (goto-list:cons 1 12 (goto-list:cons 3 29 (goto-list:cons 5 14 (goto-list:cons 6 15 (goto-list:cons 8 17 (goto-list:cons 9 18 (goto-list:nil))))))) (goto-list:nil) (goto-list:nil) (goto-list:nil) (goto-list:cons 6 22 (goto-list:cons 1 12 (goto-list:cons 8 17 (goto-list:cons 9 18 (goto-list:cons 5 14 (goto-list:nil)))))) )))