Skip site navigation (1)Skip section navigation (2)
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>