diff --git a/README.md b/README.md index d8f46ba..074b3d9 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,9 @@ # byaccj +BYACC/J is an extension of the Berkeley v 1.8 YACC-compatible parser generator. +Standard YACC takes a YACC source file, and generates one or more C files from it, which if compiled properly, will produce a LALR-grammar parser. This is useful for expression parsing, interactive command parsing, and file reading. +Many megabytes of YACC code have been written over the years. + +This is the standard YACC tool that is in use every day to produce C/C++ parsers. +I have added a "-J" flag which will cause BYACC to generate Java source code, instead. So there finally is a YACC for Java now! + diff --git a/byaccj-1.15-Makefile.patch b/byaccj-1.15-Makefile.patch new file mode 100644 index 0000000..ef2fbe0 --- /dev/null +++ b/byaccj-1.15-Makefile.patch @@ -0,0 +1,22 @@ +--- src/Makefile 2008-11-24 09:41:02.000000000 +0100 ++++ src/Makefile-gil 2010-02-16 16:07:48.000000000 +0100 +@@ -5,8 +5,8 @@ + ################################################# + + CC = gcc +-CFLAGS = -O -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 +-LDFLAGS = -static -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk ++CFLAGS = -O ++LDFLAGS = -static + TAR = tar + GZIP = gzip + VERS = byaccj1.15 +@@ -75,7 +75,7 @@ + $(CC) -c $(CFLAGS) $(INC) $< -o $@ + + yacc: $(OBJ) +- $(CC) -o yacc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 $(OBJ) ++ $(CC) -o yacc $(OBJ) + @echo "done" + + clean: diff --git a/byaccj.spec b/byaccj.spec new file mode 100644 index 0000000..e25d555 --- /dev/null +++ b/byaccj.spec @@ -0,0 +1,69 @@ +Name: byaccj +Version: 1.15 +Release: 3mamba +Summary: Parser Generator with Java Extension +Group: Development/Libraries +Vendor: openmamba +Distribution: openmamba +Packager: gil +URL: http://byaccj.sourceforge.net/ +Source: http://mesh.dl.sourceforge.net/sourceforge/byaccj/byaccj%{version}_src.tar.gz +Patch0: byaccj-1.15-Makefile.patch +License: Public Domain +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +## AUTOBUILDREQ-END +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +BYACC/J is an extension of the Berkeley v 1.8 YACC-compatible parser generator. +Standard YACC takes a YACC source file, and generates one or more C files from it, which if compiled properly, will produce a LALR-grammar parser. This is useful for expression parsing, interactive command parsing, and file reading. +Many megabytes of YACC code have been written over the years. + +This is the standard YACC tool that is in use every day to produce C/C++ parsers. +I have added a "-J" flag which will cause BYACC to generate Java source code, instead. So there finally is a YACC for Java now! + +%prep +%setup -q -n %{name}%{version} +%patch0 + +%build +pushd src + make linux CFLAGS="%{optflags}" + +popd + +sed -i 's/\r//g' docs/tf.y + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +mkdir -p %{buildroot}%{_bindir} +install -m 755 src/yacc.linux %{buildroot}%{_bindir}/byaccj + +mkdir -p %{buildroot}%{_mandir}/man1 +install -m 644 docs/yacc.cat %{buildroot}%{_mandir}/man1/ +#install -m 644 src/yacc.1 %{buildroot}%{_mandir}/man1/yacc.1-byaccj.gz + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files +%defattr(-,root,root) +%{_bindir}/byaccj +%{_mandir}/man1/yacc.cat.gz +#%{_mandir}/man1/yacc.1.gz +%doc docs/* src/no_warranty src/new_features + +%changelog +* Mon Dec 31 2012 Silvan Calarco 1.15-3mamba +- rebuilt in devel + +* Thu Apr 29 2010 gil 1.15-2mamba +- removed yacc.1.gz in conflicts with bison 2.4.1 + +* Tue Feb 16 2010 gil 1.15-1mamba +- update to 1.15 + +* Mon Mar 02 2009 gil 1.14-1mamba +- package created by autospec