(define terminals '#(
    IDENT
    rparen
    STRING
    NEWLINE
    <$>
    <e>
    lbracket
    plus
    vbar
    lparen
    colon
    rbracket
    splat
  ))
(define non-terminals '#(
    <S>
    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))))))
  )))