March 95 Version 1.32 of pccts At the moment this file is available via anonymous FTP at Node: marvin.ecn.purdue.edu File: pub/pccts/1.32/NOTES.BCC Mail corrections or additions to David Seidel <71333.1575@compuserve.com> =============================================================================== Notes on Building PCCTS 1.32 with Borland C++ David Seidel, Innovative Data Concepts Incorporated CompuServe: 71333,1575 Internet: 71333.1575@compuserve.com dseidel@delphi.com I have gotten ANTLR and DLG to succesfully build with BCC 4.0, but have found from experience that ANTLR, in particular, is likely to run out of memory with grammars over a certain size, or with larger values for the -k and -ck options. Now that BCC 4.02 and the new Borland Power Pack for DOS is now available, I feel that there is no excuse not to build these tools as 32-bit executables, as they ought to be. For people without the Power Pack, the makefiles below should be fairly easily modified to build 16-bit real-mode executables, but I don't really recommend it. As an alternative, you might consider the highly regarded DJGPP compiler (a DOS port of the Gnu GCC compiler, with a DOS extender included). Hopefully some other PCCTS who has DJGPP can provode whatever advice is necessary. The Watcom compiler is also an excellent possibility (albeit a commercial one), and I hope to make available Watcom makefiles in the near future. Here are the makefiles I am using. Both makefiles use a compiler configuration file that contains compiler switches such as optimization settings. I call this file bor32.cfg and keep a copy in both the ANTLR and DLG subdirectories. ==== File: bor32.cfg (cut here) =============================================== -w- -RT- -x- -N- -k- -d -O2-e-l -Z -D__STDC__=1 ==== End of file bor32.cfg (cut here) ========================================= ==== File: antlr\bor32.mak (cut here) ========================================= # # ANTLR 1.32 Makefile for Borland C++ 4.02 with DPMI 32-bit DOS extender by # David Seidel # Innovative Data Concepts Incorporated # 71333.1575@compuserve.com (or) dseidel@delphi.com # # Notes: 1. Compiler switches (optimization etc.) are contained in the # file bor32.cfg. # 2. This makefile requires Borland C++ 4.02 or greater with # the DOS Power Pack add-on package. # 3. Change the BCCDIR macro below to the topmost directory in # which BCC is installed on your system. # BCCDIR = d:\bc4 CC = bcc32 SET = ..\support\set PCCTS_H = ..\h ANTLR = ..\bin\antlr DLG = ..\bin\dlg CFLAGS = -I$(BCCDIR)\include -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN \ +bor32.cfg LIBS = dpmi32 cw32 OBJ_EXT = obj OBJS = antlr.obj scan.obj err.obj bits.obj build.obj fset2.obj fset.obj \ gen.obj globals.obj hash.obj lex.obj main.obj misc.obj pred.obj dialog.obj \ set.obj .c.obj: $(CC) -c $(CFLAGS) {$&.c } antlr.exe: $(OBJS) tlink32 @&&| -Tpe -ax -c -s -L$(BCCDIR)\lib + $(BCCDIR)\lib\c0x32 $** $@ $(LIBS) ; | copy *.exe ..\bin # *********** Target list of PC machines *********** # # Don't worry about the ambiguity messages coming from antlr # for making antlr.c etc... [should be 10 of them, I think] # # leave this commented out for initial build! #antlr.c stdpccts.h parser.dlg tokens.h err.c : antlr.g # $(ANTLR) antlr.g antlr.$(OBJ_EXT): antlr.c mode.h tokens.h scan.$(OBJ_EXT): scan.c mode.h tokens.h # leave this commented out for initial build! #scan.c mode.h: parser.dlg # $(DLG) -C2 parser.dlg scan.c set.$(OBJ_EXT): $(SET)\set.c $(CC) -c $(CFLAGS) $(SET)\set.c ==== End of file antlr\bor32.mak (cut here) =================================== ==== File: dlg\bor32.mak (cut here) =========================================== # # DLG 1.32 Makefile for Borland C++ 4.02 with DPMI 32-bit DOS extender by # David Seidel # Innovative Data Concepts Incorporated # 71333.1575@compuserve.com (or) dseidel@delphi.com # # Notes: 1. Compiler switches (optimization etc.) are contained in the # file bor32.cfg. # 2. This makefile requires Borland C++ 4.02 or greater with # the DOS Power Pack add-on package. # 3. Change the BCCDIR macro below to the topmost directory in # which BCC is installed on your system. # BCCDIR = d:\bc4 CC = bcc32 SET = ..\support\set PCCTS_H = ..\h ANTLR = ..\bin\antlr DLG = ..\bin\dlg CFLAGS = -I$(BCCDIR)\include -I. -I$(SET) -I$(PCCTS_H) -DUSER_ZZSYN \ +bor32.cfg LIBS = dpmi32 cw32 OBJ_EXT = obj OBJS = dlg_p.obj dlg_a.obj main.obj err.obj support.obj \ output.obj relabel.obj automata.obj set.obj .c.obj: $(CC) -c $(CFLAGS) {$&.c } dlg.exe : $(OBJS) tlink32 @&&| -Tpe -ax -c -s -L$(BCCDIR)\lib + c0x32 $** $@ $(LIBS) ; | copy *.exe ..\bin dlg_p.obj: dlg_p.c dlg_a.obj: dlg_a.c main.obj: main.c err.obj: err.c support.obj: support.c output.obj: output.c relabel.obj: relabel.c automata.obj: automata.c set.$(OBJ_EXT): $(SET)\set.c $(CC) -c $(CFLAGS) $(SET)\set.c ==== End of file dlg\bor32.mak (cut here) =====================================