New port: lang/cocor (Coco/R, a compiler generator)
Coco/R is a recursive decent compiler generator. This is a FreeBSD port of the C/C++ version of Coco/R. PR: ports/36251 Submitted by: Guy Antony Halse <guy@rucus.ru.ac.za>
This commit is contained in:
parent
1320de8504
commit
3dbac872ab
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=73388
9 changed files with 297 additions and 0 deletions
|
@ -19,6 +19,7 @@
|
|||
SUBDIR += clisp
|
||||
SUBDIR += cmucl
|
||||
SUBDIR += cmucl-extra
|
||||
SUBDIR += cocor
|
||||
SUBDIR += compaq-cc
|
||||
SUBDIR += crossgo32-f77
|
||||
SUBDIR += cu-prolog
|
||||
|
|
49
lang/cocor/Makefile
Normal file
49
lang/cocor/Makefile
Normal file
|
@ -0,0 +1,49 @@
|
|||
# New ports collection makefile for: cocor
|
||||
# Date Created: 24 March 2002
|
||||
# Whom: Guy Antony Halse <guy@rucus.ru.za.za>
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
PORTNAME= cocor
|
||||
PORTVERSION= 1.6
|
||||
CATEGORIES= lang
|
||||
MASTER_SITES= ftp://cs.ru.ac.za/pub/coco/
|
||||
DISTNAME= cocorc16
|
||||
EXTRACT_SUFX= .tgz
|
||||
|
||||
MAINTAINER= guy-ezmlm@rucus.ru.ac.za
|
||||
|
||||
WRKSRC= ${WRKDIR}
|
||||
ALL_TARGET= all1
|
||||
MAKE_ENV+= CRFRAMES=${WRKSRC}/frames
|
||||
USE_GMAKE= yes
|
||||
CFLAGS+= -I${WRKSRC}/cplus2
|
||||
PLIST_SUB+= FRAMES=${CRFRAMES}
|
||||
CRFRAMES?= ${PREFIX}/lib/cocor
|
||||
|
||||
MAN1= cocor.1
|
||||
|
||||
post-extract:
|
||||
${LN} -s ${WRKSRC}/unix.mk ${WRKSRC}/Makefile
|
||||
|
||||
pre-patch:
|
||||
uudecode -p ${WRKSRC}/dos2unix.uue > ${WRKSRC}/dos2unix.sh
|
||||
${CHMOD} +x ${WRKSRC}/dos2unix.sh
|
||||
cd ${WRKSRC} && ./dos2unix.sh unix.mk && ${MAKE} -f unix.mk dos2unix
|
||||
|
||||
do-install:
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/cocor ${PREFIX}/bin
|
||||
${INSTALL_MAN} ${WRKSRC}/docs/cocor.1 ${PREFIX}/man/man1
|
||||
${MKDIR} -m 755 ${CRFRAMES}
|
||||
${CP} -r ${WRKSRC}/frames/* ${CRFRAMES} && \
|
||||
${FIND} ${CRFRAMES} -type f -exec ${CHMOD} 644 {} \; && \
|
||||
${FIND} ${CRFRAMES} -type d -exec ${CHMOD} 755 {} \;
|
||||
${MKDIR} -m 755 ${PREFIX}/share/cocor
|
||||
.for i in samples cplus2 taste taste_cp docs
|
||||
${CP} -r ${WRKSRC}/${i} ${PREFIX}/share/cocor
|
||||
.endfor
|
||||
${FIND} ${PREFIX}/share/cocor -type f -exec ${CHMOD} 644 {} \; && \
|
||||
${FIND} ${PREFIX}/share/cocor -type d -exec ${CHMOD} 755 {} \;
|
||||
|
||||
.include <bsd.port.mk>
|
1
lang/cocor/distinfo
Normal file
1
lang/cocor/distinfo
Normal file
|
@ -0,0 +1 @@
|
|||
MD5 (cocorc16.tgz) = b0569a9a48f6242fab1d6f230e5c220b
|
30
lang/cocor/files/patch-cplus2::unix.mk
Normal file
30
lang/cocor/files/patch-cplus2::unix.mk
Normal file
|
@ -0,0 +1,30 @@
|
|||
--- cplus2/unix.mk.orig Sat Nov 20 22:27:41 1999
|
||||
+++ cplus2/unix.mk Sat Jan 18 01:55:19 2003
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
#CC sets the name of the compiler to use (cc, gcc, etc)
|
||||
#You will have to change this to suit your system
|
||||
-#CC = g++
|
||||
+CC = ${CXX}
|
||||
|
||||
AR = ar
|
||||
CFLAGS = -g
|
||||
DOS2UNIX = ../dos2unix.sh
|
||||
|
||||
-%.o: %.cpp
|
||||
+*.o: *.cpp
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
-%.o: %.cxx
|
||||
+*.o: *.cxx
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
all: cr_lib.a
|
||||
@@ -45,4 +45,7 @@
|
||||
clean:
|
||||
\rm -f *.o
|
||||
\rm -f *.a
|
||||
+
|
||||
+
|
||||
+
|
||||
|
23
lang/cocor/files/patch-taste_cp::unix.mk
Normal file
23
lang/cocor/files/patch-taste_cp::unix.mk
Normal file
|
@ -0,0 +1,23 @@
|
|||
--- taste_cp/unix.mk.orig Sat Jan 18 01:58:29 2003
|
||||
+++ taste_cp/unix.mk Sat Jan 18 01:59:37 2003
|
||||
@@ -8,17 +8,17 @@
|
||||
|
||||
#CC sets the name of the compiler to use (cc, gcc, etc)
|
||||
#You will have to change this to suit your system
|
||||
-#CC = g++
|
||||
+CC = ${CXX}
|
||||
|
||||
CFLAGS = -g -I../cplus2
|
||||
COCOR = ../cocor
|
||||
DOS2UNIX = ../dos2unix.sh
|
||||
LIB = ../cplus2/cr_lib.a
|
||||
|
||||
-%.o: %.cpp
|
||||
+*.o: *.cpp
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
-%.o: %.cxx
|
||||
+*.o: *.cxx
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
all: taste pretty xref
|
11
lang/cocor/files/patch-unix.mk
Normal file
11
lang/cocor/files/patch-unix.mk
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- unix.mk.orig Sun Mar 24 14:37:17 2002
|
||||
+++ unix.mk Sun Mar 24 14:37:47 2002
|
||||
@@ -47,7 +47,7 @@
|
||||
all1:
|
||||
set -e; \
|
||||
for i in $(SUBDIRS);\
|
||||
- do (cd $$i; $(MAKE) -f unix.mk)\
|
||||
+ do (echo "===> $$i"; cd $$i; $(MAKE) -f unix.mk)\
|
||||
done
|
||||
|
||||
linux: ;$(MAKE) -f unix.mk CC=cc all1
|
1
lang/cocor/pkg-comment
Normal file
1
lang/cocor/pkg-comment
Normal file
|
@ -0,0 +1 @@
|
|||
A compiler generator that combines the functionality of lex and yacc
|
14
lang/cocor/pkg-descr
Normal file
14
lang/cocor/pkg-descr
Normal file
|
@ -0,0 +1,14 @@
|
|||
Coco/R combines the functionality of the well-known UNIX tools lex and yacc,
|
||||
to form an extremely easy to use compiler generator that generates recursive
|
||||
descent parsers, their associated scanners, and (in some versions) a driver
|
||||
program, from attributed grammars (written using EBNF syntax with attributes
|
||||
and semantic actions) which conform to the restrictions imposed by LL(1)
|
||||
parsing (rather than LALR parsing, as allowed by yacc). The user has to add
|
||||
modules for symbol table handling, optimization, and code generation in
|
||||
order to get a running compiler. Coco/R can also be used to construct other
|
||||
syntax-based applications that have less of a "compiler" flavour.
|
||||
|
||||
Coco/R is available in Oberon, Modula-2, Pascal, Delphi, C, Java and C#
|
||||
versions. This port only builds the C/C++ version.
|
||||
|
||||
WWW: http://cs.ru.ac.za/homes/cspt/cocor.htm
|
167
lang/cocor/pkg-plist
Normal file
167
lang/cocor/pkg-plist
Normal file
|
@ -0,0 +1,167 @@
|
|||
bin/cocor
|
||||
|
||||
lib/cocor/compiler.frm
|
||||
lib/cocor/cplus2/compiler.frm
|
||||
lib/cocor/cplus2/parser_c.frm
|
||||
lib/cocor/cplus2/parser_h.frm
|
||||
lib/cocor/cplus2/scan_c.frm
|
||||
lib/cocor/cplus2/scan_h.frm
|
||||
lib/cocor/parser_c.frm
|
||||
lib/cocor/parser_h.frm
|
||||
lib/cocor/scan_c.frm
|
||||
lib/cocor/scan_h.frm
|
||||
|
||||
share/cocor/cplus2/cr_abs.cpp
|
||||
share/cocor/cplus2/cr_abs.hpp
|
||||
share/cocor/cplus2/cr_abs.o
|
||||
share/cocor/cplus2/cr_error.cpp
|
||||
share/cocor/cplus2/cr_error.hpp
|
||||
share/cocor/cplus2/cr_error.o
|
||||
share/cocor/cplus2/cr_lib.a
|
||||
share/cocor/cplus2/cr_parse.cpp
|
||||
share/cocor/cplus2/cr_parse.hpp
|
||||
share/cocor/cplus2/cr_parse.o
|
||||
share/cocor/cplus2/cr_scan.cpp
|
||||
share/cocor/cplus2/cr_scan.hpp
|
||||
share/cocor/cplus2/cr_scan.o
|
||||
share/cocor/cplus2/unix.mk
|
||||
share/cocor/cplus2/unix.mk.orig
|
||||
share/cocor/docs/coco.use
|
||||
share/cocor/docs/cocol
|
||||
share/cocor/docs/cocor.1
|
||||
share/cocor/samples/adacs.atg
|
||||
share/cocor/samples/c.atg
|
||||
share/cocor/samples/calc.atg
|
||||
share/cocor/samples/calc.inp
|
||||
share/cocor/samples/cdecl.inp
|
||||
share/cocor/samples/cdecl1.atg
|
||||
share/cocor/samples/cdecl2.atg
|
||||
share/cocor/samples/cdecl3.atg
|
||||
share/cocor/samples/clang.inp
|
||||
share/cocor/samples/clang1.atg
|
||||
share/cocor/samples/clang2.atg
|
||||
share/cocor/samples/expr.atg
|
||||
share/cocor/samples/expr.inp
|
||||
share/cocor/samples/microada.atg
|
||||
share/cocor/samples/mod2.atg
|
||||
share/cocor/samples/oberon.atg
|
||||
share/cocor/samples/pascal.atg
|
||||
share/cocor/samples/pimmod2.atg
|
||||
share/cocor/samples/umbriel1.atg
|
||||
share/cocor/samples/umbriel2.atg
|
||||
share/cocor/taste/crossref.c
|
||||
share/cocor/taste/crossref.h
|
||||
share/cocor/taste/crossref.o
|
||||
share/cocor/taste/pretty
|
||||
share/cocor/taste/pretty.atg
|
||||
share/cocor/taste/pretty.c
|
||||
share/cocor/taste/pretty.o
|
||||
share/cocor/taste/prettyc.h
|
||||
share/cocor/taste/prettye.h
|
||||
share/cocor/taste/prettyp.c
|
||||
share/cocor/taste/prettyp.h
|
||||
share/cocor/taste/prettyp.o
|
||||
share/cocor/taste/prettypr.c
|
||||
share/cocor/taste/prettypr.h
|
||||
share/cocor/taste/prettypr.o
|
||||
share/cocor/taste/prettys.c
|
||||
share/cocor/taste/prettys.h
|
||||
share/cocor/taste/prettys.o
|
||||
share/cocor/taste/taste
|
||||
share/cocor/taste/taste.atg
|
||||
share/cocor/taste/taste.c
|
||||
share/cocor/taste/taste.frm
|
||||
share/cocor/taste/taste.o
|
||||
share/cocor/taste/tastec.h
|
||||
share/cocor/taste/tastee.h
|
||||
share/cocor/taste/tastep.c
|
||||
share/cocor/taste/tastep.h
|
||||
share/cocor/taste/tastep.o
|
||||
share/cocor/taste/tastes.c
|
||||
share/cocor/taste/tastes.h
|
||||
share/cocor/taste/tastes.o
|
||||
share/cocor/taste/tc.c
|
||||
share/cocor/taste/tc.h
|
||||
share/cocor/taste/tc.o
|
||||
share/cocor/taste/test.tas
|
||||
share/cocor/taste/tl.c
|
||||
share/cocor/taste/tl.h
|
||||
share/cocor/taste/tl.o
|
||||
share/cocor/taste/unix.mk
|
||||
share/cocor/taste/wrong.tas
|
||||
share/cocor/taste/xref
|
||||
share/cocor/taste/xref.atg
|
||||
share/cocor/taste/xref.c
|
||||
share/cocor/taste/xref.frm
|
||||
share/cocor/taste/xref.o
|
||||
share/cocor/taste/xrefc.h
|
||||
share/cocor/taste/xrefe.h
|
||||
share/cocor/taste/xrefp.c
|
||||
share/cocor/taste/xrefp.h
|
||||
share/cocor/taste/xrefp.o
|
||||
share/cocor/taste/xrefs.c
|
||||
share/cocor/taste/xrefs.h
|
||||
share/cocor/taste/xrefs.o
|
||||
share/cocor/taste_cp/crossref.cpp
|
||||
share/cocor/taste_cp/crossref.hpp
|
||||
share/cocor/taste_cp/crossref.o
|
||||
share/cocor/taste_cp/pretty
|
||||
share/cocor/taste_cp/pretty.atg
|
||||
share/cocor/taste_cp/pretty.cpp
|
||||
share/cocor/taste_cp/pretty.o
|
||||
share/cocor/taste_cp/prettyc.hpp
|
||||
share/cocor/taste_cp/prettye.hpp
|
||||
share/cocor/taste_cp/prettyp.cpp
|
||||
share/cocor/taste_cp/prettyp.hpp
|
||||
share/cocor/taste_cp/prettyp.o
|
||||
share/cocor/taste_cp/prettypr.cpp
|
||||
share/cocor/taste_cp/prettypr.hpp
|
||||
share/cocor/taste_cp/prettypr.o
|
||||
share/cocor/taste_cp/prettys.cpp
|
||||
share/cocor/taste_cp/prettys.hpp
|
||||
share/cocor/taste_cp/prettys.o
|
||||
share/cocor/taste_cp/taste
|
||||
share/cocor/taste_cp/taste.atg
|
||||
share/cocor/taste_cp/taste.cpp
|
||||
share/cocor/taste_cp/taste.frm
|
||||
share/cocor/taste_cp/taste.o
|
||||
share/cocor/taste_cp/tastec.hpp
|
||||
share/cocor/taste_cp/tastee.hpp
|
||||
share/cocor/taste_cp/tastep.cpp
|
||||
share/cocor/taste_cp/tastep.hpp
|
||||
share/cocor/taste_cp/tastep.o
|
||||
share/cocor/taste_cp/tastes.cpp
|
||||
share/cocor/taste_cp/tastes.hpp
|
||||
share/cocor/taste_cp/tastes.o
|
||||
share/cocor/taste_cp/tc.cpp
|
||||
share/cocor/taste_cp/tc.hpp
|
||||
share/cocor/taste_cp/tc.o
|
||||
share/cocor/taste_cp/test.tas
|
||||
share/cocor/taste_cp/tl.cpp
|
||||
share/cocor/taste_cp/tl.hpp
|
||||
share/cocor/taste_cp/tl.o
|
||||
share/cocor/taste_cp/unix.mk
|
||||
share/cocor/taste_cp/unix.mk.orig
|
||||
share/cocor/taste_cp/wrong.tas
|
||||
share/cocor/taste_cp/xref
|
||||
share/cocor/taste_cp/xref.atg
|
||||
share/cocor/taste_cp/xref.cpp
|
||||
share/cocor/taste_cp/xref.frm
|
||||
share/cocor/taste_cp/xref.o
|
||||
share/cocor/taste_cp/xrefc.hpp
|
||||
share/cocor/taste_cp/xrefe.hpp
|
||||
share/cocor/taste_cp/xrefp.cpp
|
||||
share/cocor/taste_cp/xrefp.hpp
|
||||
share/cocor/taste_cp/xrefp.o
|
||||
share/cocor/taste_cp/xrefs.cpp
|
||||
share/cocor/taste_cp/xrefs.hpp
|
||||
share/cocor/taste_cp/xrefs.o
|
||||
|
||||
@dirrm lib/cocor/cplus2
|
||||
@dirrm lib/cocor
|
||||
@dirrm share/cocor/cplus2
|
||||
@dirrm share/cocor/samples
|
||||
@dirrm share/cocor/taste
|
||||
@dirrm share/cocor/taste_cp
|
||||
@dirrm share/cocor/docs
|
||||
@dirrm share/cocor
|
Loading…
Reference in a new issue