kelbt is in Debian and Fedora:
https://packages.debian.org/source/stretch/kelbt
https://apps.fedoraproject.org/packages/kelbt
My cygport file and patch are attached.
Package files:
http://sanibeltranquility.com/cygwin/x86/release/kelbt/kelbt-0.16-1-src.tar.xz
http://sanibeltranquility.com/cygwin/x86/release/kelbt/kelbt-0.16-1.hint
http://sanibeltranquility.com/cygwin/x86/release/kelbt/kelbt-0.16-1.tar.xz
http://sanibeltranquility.com/cygwin/x86/release/kelbt/kelbt-debuginfo/kelbt-debuginfo-0.16-1.hint
http://sanibeltranquility.com/cygwin/x86/release/kelbt/kelbt-debuginfo/kelbt-debuginfo-0.16-1.tar.xz
http://sanibeltranquility.com/cygwin/x86_64/release/kelbt/kelbt-0.16-1-src.tar.xz
http://sanibeltranquility.com/cygwin/x86_64/release/kelbt/kelbt-0.16-1.tar.xz
http://sanibeltranquility.com/cygwin/x86_64/release/kelbt/kelbt-0.16-1.hint
http://sanibeltranquility.com/cygwin/x86_64/release/kelbt/kelbt-debuginfo/kelbt-debuginfo-0.16-1.hint
http://sanibeltranquility.com/cygwin/x86_64/release/kelbt/kelbt-debuginfo/kelbt-debuginfo-0.16-1.tar.xz
License: GPLv2+
Ken
NAME="kelbt"
VERSION=0.16
RELEASE=1
HOMEPAGE="http://freecode.com/projects/kelbt" # Not up to date.
SRC_URI="https://www.colm.net/files/${NAME}/${NAME}-${VERSION}.tar.gz"
PATCH_URI="https://src.fedoraproject.org/cgit/rpms/kelbt.git/plain/kelbt-signed-char.diff"
CATEGORY="Devel"
SUMMARY="Backtracking LR parser generator"
DESCRIPTION="Kelbt generates backtracking LALR(1) parsers. Where traditional
LALR(1) parser generators require static resolution of shift/reduce
conflicts, Kelbt generates parsers that handle conflicts by
backtracking at runtime. Kelbt is able to generate a parser for any
context-free grammar that is free of hidden left recursion."
diff --git a/kelbt-0.16/src/klparse.cpp~ b/kelbt-0.16/src/klparse.cpp
index 736f937..b261cfe 100644
--- kelbt-0.16/src/klparse.cpp~
+++ kelbt-0.16/src/klparse.cpp
@@ -159,7 +159,7 @@ struct Parser_Block
#line 160 "klparse.cpp"
unsigned int Parser_startState = 0;
-char Parser_indicies[] = {
+signed char Parser_indicies[] = {
50, 50, -1, 50, -1, 50, 50, -1,
-1, -1, -1, -1, 50, -1, 50, 1,
0, 93, 3, 4, -1, 5, -1, 7,