1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-18 00:10:04 +00:00

Adding cu-prolog version 3.94.

An Experimental constraint logic programming language.

PR:		12536
Submitted by:	Issei Suzuki <issei@jp.FreeBSD.ORG>
This commit is contained in:
Steve Price 1999-12-29 09:19:39 +00:00
parent eac5ec733c
commit e628032176
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=24254
11 changed files with 164 additions and 0 deletions

View File

@ -12,6 +12,7 @@
SUBDIR += caml-light
SUBDIR += cim
SUBDIR += cmucl
SUBDIR += cu-prolog
SUBDIR += dylan
SUBDIR += egcs
SUBDIR += eiffel

35
lang/cu-prolog/Makefile Normal file
View File

@ -0,0 +1,35 @@
# New ports collection makefile for: cu-Prolog
# Version required: 3.94
# Date created: 7 July 1999
# Whom: Issei Suzuki <issei@jp.FreeBSD.ORG>
#
# $FreeBSD$
#
DISTNAME= cupsrc
PKGNAME= cu-prolog-3.94
CATEGORIES= lang
MASTER_SITES= ftp://ftp.icot.or.jp/ifs/kbms-clp/unix/cuprolog/
DISTFILES= ${DISTNAME}.tar.gz cupdoc.tar.gz
MAINTAINER= issei@jp.FreeBSD.ORG
WRKSRC= ${WRKDIR}/src
MAKEFILE= makefile
ALL_TARGET= cup
PORTDOCS= CHANGES COPYRIGHT COPYRIGHT.j INSTALL INSTALL.j README \
README.j doc/cu3eman.dvi doc/cu3man.dvi doc/newpred_e.doc \
doc/newpred_j.doc
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/cup3 ${PREFIX}/bin/cuprolog
${MKDIR} ${PREFIX}/share/examples/cu-prolog
${INSTALL_DATA} ${WRKDIR}/sample/* ${PREFIX}/share/examples/cu-prolog
.if !defined(NOPORTDOCS)
${MKDIR} ${PREFIX}/share/doc/cu-prolog
.for i in ${PORTDOCS}
${INSTALL_DATA} ${WRKDIR}/$i ${PREFIX}/share/doc/cu-prolog
.endfor
.endif
.include <bsd.port.mk>

2
lang/cu-prolog/distinfo Normal file
View File

@ -0,0 +1,2 @@
MD5 (cupsrc.tar.gz) = 62b23ee48045d09579ab42ef62876d58
MD5 (cupdoc.tar.gz) = 954f59489bb70bda5140118f1c5425d5

View File

@ -0,0 +1,16 @@
--- makefile.old Wed Jul 7 02:03:58 1999
+++ makefile Wed Jul 7 02:04:19 1999
@@ -6,11 +6,11 @@
refute.o unify.o defsysp.o syspred1.o\
syspred2.o trans.o tr_sub.o tr_split.o
#CFLAGS = -g
-CFLAGS = -pg -g # for debug
+CFLAGS?= -pg -g # for debug
#CFLAGS = -O2 # for optimization
#CFLAGS = -O4
#CC = gcc
-CC = cc
+CC?= cc
FLAGS = -lm
cup: $(OBJECTS)

View File

@ -0,0 +1,28 @@
--- include.h.orig Fri Jan 27 16:38:48 1995
+++ include.h Wed Jul 7 02:25:14 1999
@@ -28,7 +28,11 @@
* else #define CPUTIME 0
*/
+#ifdef __FreeBSD__
+#define CPUTIME 60
+#else
#define SUN4 1
+#endif
#define KANJI 1 /* 1: allow EUC Kanji for str functions */
/* Tee print macro */
@@ -135,8 +139,13 @@
#define head_of_list(Term) (((struct clause *)Term)->c_form)
#define tail_of_list(Term) ((struct term *)((struct clause *)Term)->c_link)
+#ifdef __FreeBSD__
+#define is_readable(FP) (FP->_flags & __SRD)
+#define is_writable(FP) (FP->_flags & __SWR)
+#else
#define is_readable(FP) (FP->_flag & _IOREAD)
#define is_writable(FP) (FP->_flag & _IOWRT)
+#endif
#define is_functor(Term) ((Term)->type.ident > CONST_LIST_TYPE)
#define isconst_functor(Term) ((Term)->t_arity <= 0)

View File

@ -0,0 +1,14 @@
--- defsysp.c.old Wed Jul 7 02:21:11 1999
+++ defsysp.c Wed Jul 7 02:21:32 1999
@@ -932,9 +932,9 @@
t1 = t2 = Nnum_val(0.0,TEMPORAL);
#else
times(&TIMES);
- t1 = Nnum_val(((float)(TIMES.tms_stime+TIMES.tms_utime-OLD_TIME))/CPUTIME.0,
+ t1 = Nnum_val(((float)(TIMES.tms_stime+TIMES.tms_utime-OLD_TIME))/(float)CPUTIME,
TEMPORAL);
- t2 = Nnum_val(((float)CONSTRAINT_HANDLING_TIME)/CPUTIME.0,TEMPORAL);
+ t2 = Nnum_val(((float)CONSTRAINT_HANDLING_TIME)/(float)CPUTIME,TEMPORAL);
#endif
#endif
upush(&(p1->p_body)); upush(&(p1->p_env));

View File

@ -0,0 +1,13 @@
--- mainsub.c.old Wed Jul 7 02:22:15 1999
+++ mainsub.c Wed Jul 7 02:22:30 1999
@@ -1238,8 +1238,8 @@
times(&TIMES); /* get time */
ttemp = TIMES.tms_stime + TIMES.tms_utime;
tprint2 ("CPU time = %.3lf sec (Constraints Handling = %.3lf sec)\n",
- (ttemp - TIMESAVE) / CPUTIME.0,
- (CONSTRAINT_HANDLING_TIME / CPUTIME.0));
+ (ttemp - TIMESAVE) / (float)CPUTIME,
+ (CONSTRAINT_HANDLING_TIME / (float)CPUTIME));
}
void settimer() { /* set clock */

View File

@ -0,0 +1,21 @@
--- main.c.old Wed Jul 7 02:26:00 1999
+++ main.c Wed Jul 7 02:27:38 1999
@@ -303,13 +303,16 @@
void heap_realloc() /* reallocate system/user heaps */
{
+#if SUN4 == 1
cfree((char *)sheap); SHEAP_SIZE=SHEAP_SIZE*1.2; system_heap_alloc();
-/* free(heap); HEAP_SIZE *= 1.2;
+#else
+ free(heap); HEAP_SIZE *= 1.2;
free(cheap); CHEAP_SIZE *= 1.2;
free(eheap); ESP_SIZE *= 1.2;
free(ustack); USTACK_SIZE *= 1.2;
free(nheap); NAME_SIZE *= 1.2;
- heap_alloc(); */
+ heap_alloc();
+#endif /* SUN4 */
init_status();
}

View File

@ -0,0 +1 @@
Experimental constraint logic programming language

11
lang/cu-prolog/pkg-descr Normal file
View File

@ -0,0 +1,11 @@
cu-Prolog is an experimental constraint logic programming language.
Unlike most conventional CLP systems, cu-Prolog allows user-defined
predicates as constraints and is suitable for implementing a natural
language processing system based on the unification-based
grammar. As an application of cu-Prolog, we developed
a JPSG (Japanese Phrase Structure Grammar) parser
with the JPSG Working Group (the chairman is Prof. GUNJI, Takao of
Osaka University) at ICOT.
cu-Prolog is also the complete implementation of the constraint
unification and its name (cu) comes from the technique.

22
lang/cu-prolog/pkg-plist Normal file
View File

@ -0,0 +1,22 @@
bin/cuprolog
share/doc/cu-prolog/CHANGES
share/doc/cu-prolog/COPYRIGHT
share/doc/cu-prolog/COPYRIGHT.j
share/doc/cu-prolog/INSTALL
share/doc/cu-prolog/INSTALL.j
share/doc/cu-prolog/README
share/doc/cu-prolog/README.j
share/doc/cu-prolog/cu3eman.dvi
share/doc/cu-prolog/cu3man.dvi
share/doc/cu-prolog/newpred_e.doc
share/doc/cu-prolog/newpred_j.doc
@dirrm share/doc/cu-prolog
share/examples/cu-prolog/README
share/examples/cu-prolog/bagof.p
share/examples/cu-prolog/eisele.p
share/examples/cu-prolog/hpsg.p
share/examples/cu-prolog/jpsg.p
share/examples/cu-prolog/kasper.p
share/examples/cu-prolog/marcus.p
share/examples/cu-prolog/memap.p
@dirrm share/examples/cu-prolog