bison++ install (cygwin)


...メモです。

Cygwin と bison++

Cygwinには,
 flex++は存在するが,
 Bison++はsetup-x86**.exe には入っていない模様?だ.
 (※)bison(++無し)は有り

INSTALL

flexpp-bisonpp

下記Webサイトからダウンロードして,普通にmakeしたらそのまま動く模様.
flexpp-bisonpp

ビルド例

(cygwin-32bit版でのみ確認)

$ tar xvfz bisonpp-1.21-45.tar.gz
$ cd bison++-1.21/
$ ./configure
checking for gcc
checking how to run the C preprocessor
checking for install
checking for minix/config.h
checking for POSIXized ISC
checking for working const
checking for ANSI C header files
checking for string.h
checking for stdlib.h
checking for memory.h
checking for strerror
checking for working alloca.h
checking for alloca
creating config.status
creating Makefile

$ make
(略)

$ make install
sh ./mkinstalldirs /usr/local/bin /usr/local/lib /usr/local/man/man1
rm -f /usr/local/bin/bison++
cd /usr/local/lib; rm -f bison.cc bison.h
rm -f /usr/local/man/man1/bison++.1
/usr/bin/install -c bison++ /usr/local/bin/bison++
/usr/bin/install -c -m 644 ./bison.cc /usr/local/lib/bison.cc
/usr/bin/install -c -m 644 ./bison.h /usr/local/lib/bison.h
chmod a+r /usr/local/lib/bison.cc /usr/local/lib/bison.h
/usr/bin/install -c -m 644 ./bison++.1 /usr/local/man/man1/bison++.1
chmod a+r /usr/local/man/man1/bison++.1

注意事項

ただし,Bisonファイルは,Unix形式(LF形式,CRLF形式(MSDOS形式)はNG)でないと,ツールが通らない

==>NG例(parser.yがMSDOS形式のテキストファイル)

$ bison++ parser.y
"parser.y", line 1: unknown character with code 0xd in declaration section