From owner-freebsd-ports Sun Mar 24 6:31:43 2002 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 7904237B417 for ; Sun, 24 Mar 2002 06:30:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g2OEU1q38764; Sun, 24 Mar 2002 06:30:01 -0800 (PST) (envelope-from gnats) Received: from server.rucus.ru.ac.za (server.rucus.ru.ac.za [146.231.115.1]) by hub.freebsd.org (Postfix) with SMTP id 516BF37B41A for ; Sun, 24 Mar 2002 06:29:22 -0800 (PST) Received: (qmail 49721 invoked from network); 24 Mar 2002 14:29:18 -0000 Received: from shell-fxp1.rucus.ru.ac.za (HELO shell.rucus.ru.ac.za) (10.0.0.1) by server.rucus.ru.ac.za with SMTP; 24 Mar 2002 14:29:18 -0000 Received: (qmail 87343 invoked by uid 479); 24 Mar 2002 14:29:18 -0000 Message-Id: <20020324142918.87342.qmail@shell.rucus.ru.ac.za> Date: 24 Mar 2002 14:29:18 -0000 From: Guy Antony Halse Reply-To: Guy Antony Halse To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: ports/36251: New port: lang/cocor (Coco/R, a compiler generator) Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 36251 >Category: ports >Synopsis: New port: lang/cocor (Coco/R, a compiler generator) >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Mar 24 06:30:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: Guy Antony Halse >Release: FreeBSD 4.5-STABLE i386 >Organization: Rhodes University Computer Users' Society >Environment: System: FreeBSD shell.rucus.ru.ac.za 4.5-STABLE FreeBSD 4.5-STABLE #0: Mon Mar 4 16:55:49 SAST 2002 drs@shell.rucus.ru.ac.za:/usr/build/obj/usr/build/src/sys/RUCUS i386 >Description: Coco/R is a recursive decent compiler generator. This is a FreeBSD port of the C/C++ version of Coco/R. >How-To-Repeat: >Fix: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # cocor # cocor/Makefile # cocor/pkg-comment # cocor/pkg-descr # cocor/pkg-plist # cocor/distinfo # cocor/files # cocor/files/patch-aa # cocor/files/patch-ab # cocor/files/patch-ac # echo c - cocor mkdir -p cocor > /dev/null 2>&1 echo x - cocor/Makefile sed 's/^X//' >cocor/Makefile << 'END-of-cocor/Makefile' X# New ports collection makefile for: cocor X# Date Created: 24 March 2002 X# Whom: Guy Antony Halse X# X# $FreeBSD:$ X# X XPORTNAME= cocor XPORTVERSION= 1.6 XCATEGORIES= lang XMASTER_SITES= ftp://cs.ru.ac.za/pub/coco/ XDISTNAME= cocorc16 XEXTRACT_SUFX= .tgz X XMAINTAINER= guy-ezmlm@rucus.ru.ac.za X XWRKSRC= ${WRKDIR} XALL_TARGET= all1 XMAKE_ENV+= CRFRAMES=${WRKSRC}/frames XUSE_GMAKE= yes XCFLAGS+= -I${WRKSRC}/cplus2 XMAN1= cocor.1 XPLIST_SUB+= FRAMES=${CRFRAMES} XCRFRAMES?= ${PREFIX}/lib/cocor X Xpost-extract: X ${LN} -s ${WRKSRC}/unix.mk ${WRKSRC}/Makefile X Xpre-build: X uudecode -p ${WRKSRC}/dos2unix.uue > ${WRKSRC}/dos2unix.sh X ${CHMOD} +x ${WRKSRC}/dos2unix.sh X cd ${WRKSRC} && ./dos2unix.sh unix.mk && ${MAKE} -f unix.mk dos2unix X Xdo-install: X ${INSTALL_PROGRAM} ${WRKSRC}/cocor ${PREFIX}/bin X ${INSTALL_MAN} ${WRKSRC}/docs/cocor.1 ${PREFIX}/man/man1 X ${MKDIR} -m 755 ${CRFRAMES} X ${CP} -r ${WRKSRC}/frames/* ${CRFRAMES} && \ X ${FIND} ${CRFRAMES} -type f -exec ${CHMOD} 444 {} \; && \ X ${FIND} ${CRFRAMES} -type d -exec ${CHMOD} 555 {} \; X ${MKDIR} -m 755 ${PREFIX}/share/cocor X.for i in samples cplus2 taste taste_cp docs X ${CP} -r ${WRKSRC}/${i} ${PREFIX}/share/cocor X.endfor X ${FIND} ${PREFIX}/share/cocor -type f -exec ${CHMOD} 444 {} \; && \ X ${FIND} ${PREFIX}/share/cocor -type d -exec ${CHMOD} 555 {} \; X X.include END-of-cocor/Makefile echo x - cocor/pkg-comment sed 's/^X//' >cocor/pkg-comment << 'END-of-cocor/pkg-comment' XA compiler generator that combines the functionality of lex and yacc END-of-cocor/pkg-comment echo x - cocor/pkg-descr sed 's/^X//' >cocor/pkg-descr << 'END-of-cocor/pkg-descr' XCoco/R combines the functionality of the well-known UNIX tools lex and yacc, Xto form an extremely easy to use compiler generator that generates recursive Xdescent parsers, their associated scanners, and (in some versions) a driver Xprogram, from attributed grammars (written using EBNF syntax with attributes Xand semantic actions) which conform to the restrictions imposed by LL(1) Xparsing (rather than LALR parsing, as allowed by yacc). The user has to add Xmodules for symbol table handling, optimization, and code generation in Xorder to get a running compiler. Coco/R can also be used to construct other Xsyntax-based applications that have less of a "compiler" flavour. X XCoco/R is available in Oberon, Modula-2, Pascal, Delphi, C, Java and C# Xversions. This port only builds the C/C++ version. X XWWW: http://cs.ru.ac.za/homes/cspt/cocor.htm END-of-cocor/pkg-descr echo x - cocor/pkg-plist sed 's/^X//' >cocor/pkg-plist << 'END-of-cocor/pkg-plist' Xbin/cocor Xshare/cocor/cplus2/cr_lib.a Xshare/cocor/cplus2/cr_parse.hpp Xshare/cocor/cplus2/cr_scan.cpp Xshare/cocor/cplus2/cr_abs.hpp Xshare/cocor/cplus2/cr_error.cpp Xshare/cocor/cplus2/cr_error.hpp Xshare/cocor/cplus2/cr_parse.cpp Xshare/cocor/cplus2/cr_scan.hpp Xshare/cocor/cplus2/unix.mk Xshare/cocor/cplus2/unix.mk.orig Xshare/cocor/cplus2/cr_abs.o Xshare/cocor/cplus2/cr_error.o Xshare/cocor/cplus2/cr_scan.o Xshare/cocor/cplus2/cr_parse.o Xshare/cocor/cplus2/cr_abs.cpp Xshare/cocor/samples/umbriel2.atg Xshare/cocor/samples/c.atg Xshare/cocor/samples/calc.atg Xshare/cocor/samples/calc.inp Xshare/cocor/samples/cdecl.inp Xshare/cocor/samples/cdecl1.atg Xshare/cocor/samples/cdecl2.atg Xshare/cocor/samples/cdecl3.atg Xshare/cocor/samples/clang.inp Xshare/cocor/samples/clang1.atg Xshare/cocor/samples/clang2.atg Xshare/cocor/samples/expr.atg Xshare/cocor/samples/expr.inp Xshare/cocor/samples/microada.atg Xshare/cocor/samples/mod2.atg Xshare/cocor/samples/oberon.atg Xshare/cocor/samples/pascal.atg Xshare/cocor/samples/pimmod2.atg Xshare/cocor/samples/umbriel1.atg Xshare/cocor/samples/adacs.atg Xshare/cocor/taste/xref Xshare/cocor/taste/crossref.h Xshare/cocor/taste/pretty.atg Xshare/cocor/taste/prettypr.c Xshare/cocor/taste/prettypr.h Xshare/cocor/taste/taste.atg Xshare/cocor/taste/taste.frm Xshare/cocor/taste/tc.c Xshare/cocor/taste/tc.h Xshare/cocor/taste/test.tas Xshare/cocor/taste/tl.c Xshare/cocor/taste/tl.h Xshare/cocor/taste/unix.mk Xshare/cocor/taste/wrong.tas Xshare/cocor/taste/xref.atg Xshare/cocor/taste/xref.frm Xshare/cocor/taste/tastes.c Xshare/cocor/taste/tastes.h Xshare/cocor/taste/tastep.c Xshare/cocor/taste/tastep.h Xshare/cocor/taste/tastee.h Xshare/cocor/taste/tastec.h Xshare/cocor/taste/taste.c Xshare/cocor/taste/taste.o Xshare/cocor/taste/tastep.o Xshare/cocor/taste/tc.o Xshare/cocor/taste/tastes.o Xshare/cocor/taste/tl.o Xshare/cocor/taste/taste Xshare/cocor/taste/prettys.c Xshare/cocor/taste/prettys.h Xshare/cocor/taste/prettyp.c Xshare/cocor/taste/prettyp.h Xshare/cocor/taste/prettye.h Xshare/cocor/taste/prettyc.h Xshare/cocor/taste/pretty.c Xshare/cocor/taste/pretty.o Xshare/cocor/taste/prettyp.o Xshare/cocor/taste/prettys.o Xshare/cocor/taste/prettypr.o Xshare/cocor/taste/pretty Xshare/cocor/taste/xrefs.c Xshare/cocor/taste/xrefs.h Xshare/cocor/taste/xrefp.c Xshare/cocor/taste/xrefp.h Xshare/cocor/taste/xrefe.h Xshare/cocor/taste/xrefc.h Xshare/cocor/taste/xref.c Xshare/cocor/taste/xref.o Xshare/cocor/taste/xrefp.o Xshare/cocor/taste/xrefs.o Xshare/cocor/taste/crossref.o Xshare/cocor/taste/crossref.c Xshare/cocor/taste_cp/xref Xshare/cocor/taste_cp/crossref.hpp Xshare/cocor/taste_cp/pretty.atg Xshare/cocor/taste_cp/prettypr.cpp Xshare/cocor/taste_cp/prettypr.hpp Xshare/cocor/taste_cp/taste.atg Xshare/cocor/taste_cp/taste.frm Xshare/cocor/taste_cp/tc.cpp Xshare/cocor/taste_cp/tc.hpp Xshare/cocor/taste_cp/test.tas Xshare/cocor/taste_cp/tl.cpp Xshare/cocor/taste_cp/tl.hpp Xshare/cocor/taste_cp/unix.mk Xshare/cocor/taste_cp/wrong.tas Xshare/cocor/taste_cp/xref.atg Xshare/cocor/taste_cp/xref.frm Xshare/cocor/taste_cp/unix.mk.orig Xshare/cocor/taste_cp/tastes.cpp Xshare/cocor/taste_cp/tastes.hpp Xshare/cocor/taste_cp/tastep.cpp Xshare/cocor/taste_cp/tastep.hpp Xshare/cocor/taste_cp/tastee.hpp Xshare/cocor/taste_cp/tastec.hpp Xshare/cocor/taste_cp/taste.cpp Xshare/cocor/taste_cp/taste.o Xshare/cocor/taste_cp/tastep.o Xshare/cocor/taste_cp/tastes.o Xshare/cocor/taste_cp/tc.o Xshare/cocor/taste_cp/tl.o Xshare/cocor/taste_cp/taste Xshare/cocor/taste_cp/prettys.cpp Xshare/cocor/taste_cp/prettys.hpp Xshare/cocor/taste_cp/prettyp.cpp Xshare/cocor/taste_cp/prettyp.hpp Xshare/cocor/taste_cp/prettye.hpp Xshare/cocor/taste_cp/prettyc.hpp Xshare/cocor/taste_cp/pretty.cpp Xshare/cocor/taste_cp/pretty.o Xshare/cocor/taste_cp/prettyp.o Xshare/cocor/taste_cp/prettys.o Xshare/cocor/taste_cp/prettypr.o Xshare/cocor/taste_cp/pretty Xshare/cocor/taste_cp/xrefs.cpp Xshare/cocor/taste_cp/xrefs.hpp Xshare/cocor/taste_cp/xrefp.cpp Xshare/cocor/taste_cp/xrefp.hpp Xshare/cocor/taste_cp/xrefe.hpp Xshare/cocor/taste_cp/xrefc.hpp Xshare/cocor/taste_cp/xref.cpp Xshare/cocor/taste_cp/xref.o Xshare/cocor/taste_cp/xrefp.o Xshare/cocor/taste_cp/xrefs.o Xshare/cocor/taste_cp/crossref.o Xshare/cocor/taste_cp/crossref.cpp Xshare/cocor/docs/cocol Xshare/cocor/docs/coco.use Xshare/cocor/docs/cocor.1 Xlib/cocor/cplus2/compiler.frm Xlib/cocor/cplus2/parser_c.frm Xlib/cocor/cplus2/parser_h.frm Xlib/cocor/cplus2/scan_c.frm Xlib/cocor/cplus2/scan_h.frm Xlib/cocor/scan_h.frm Xlib/cocor/scan_c.frm Xlib/cocor/parser_h.frm Xlib/cocor/parser_c.frm Xlib/cocor/compiler.frm X@dirrm lib/cocor/cplus2 X@dirrm lib/cocor X@dirrm share/cocor/cplus2 X@dirrm share/cocor/samples X@dirrm share/cocor/taste X@dirrm share/cocor/taste_cp X@dirrm share/cocor/docs X@dirrm share/cocor END-of-cocor/pkg-plist echo x - cocor/distinfo sed 's/^X//' >cocor/distinfo << 'END-of-cocor/distinfo' XMD5 (cocorc16.tgz) = b0569a9a48f6242fab1d6f230e5c220b END-of-cocor/distinfo echo c - cocor/files mkdir -p cocor/files > /dev/null 2>&1 echo x - cocor/files/patch-aa sed 's/^X//' >cocor/files/patch-aa << 'END-of-cocor/files/patch-aa' X--- unix.mk.orig Sun Mar 24 14:37:17 2002 X+++ unix.mk Sun Mar 24 14:37:47 2002 X@@ -47,7 +47,7 @@ X all1: X set -e; \ X for i in $(SUBDIRS);\ X- do (cd $$i; $(MAKE) -f unix.mk)\ X+ do (echo "===> $$i"; cd $$i; $(MAKE) -f unix.mk)\ X done X X linux: ;$(MAKE) -f unix.mk CC=cc all1 END-of-cocor/files/patch-aa echo x - cocor/files/patch-ab sed 's/^X//' >cocor/files/patch-ab << 'END-of-cocor/files/patch-ab' X--- cplus2/unix.mk.orig Sun Mar 24 14:38:34 2002 X+++ cplus2/unix.mk Sun Mar 24 14:38:48 2002 X@@ -17,10 +17,10 @@ X CFLAGS = -g X DOS2UNIX = ../dos2unix.sh X X-%.o: %.cpp X+*.o: *.cpp X $(CC) -c $(CFLAGS) $< -o $@ X X-%.o: %.cxx X+*.o: *.cxx X $(CC) -c $(CFLAGS) $< -o $@ X X all: cr_lib.a END-of-cocor/files/patch-ab echo x - cocor/files/patch-ac sed 's/^X//' >cocor/files/patch-ac << 'END-of-cocor/files/patch-ac' X--- taste_cp/unix.mk.orig Sun Mar 24 14:39:07 2002 X+++ taste_cp/unix.mk Sun Mar 24 14:39:33 2002 X@@ -15,10 +15,10 @@ X DOS2UNIX = ../dos2unix.sh X LIB = ../cplus2/cr_lib.a X X-%.o: %.cpp X+*.o: *.cpp X $(CC) -c $(CFLAGS) $< -o $@ X X-%.o: %.cxx X+*.o: *.cxx X $(CC) -c $(CFLAGS) $< -o $@ X X all: taste pretty xref END-of-cocor/files/patch-ac exit >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message