Date: 24 Mar 2002 14:29:18 -0000 From: Guy Antony Halse <guy@rucus.ru.ac.za> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/36251: New port: lang/cocor (Coco/R, a compiler generator) Message-ID: <20020324142918.87342.qmail@shell.rucus.ru.ac.za>
next in thread | raw e-mail | index | archive | help
>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 <guy@rucus.ru.za.za> 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 <bsd.port.mk> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020324142918.87342.qmail>