add dprog 0.3.1

A language for specifying dynamic programming algorithms
This commit is contained in:
Ying-Chieh Liao 2004-04-06 01:31:21 +00:00
parent 6284fe0fa8
commit 4e92e6194f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=106286
11 changed files with 125 additions and 0 deletions

View file

@ -197,6 +197,7 @@
SUBDIR += dotconf
SUBDIR += doxygen
SUBDIR += dparser
SUBDIR += dprog
SUBDIR += e4graph
SUBDIR += ebnf2yacc
SUBDIR += eboxy

25
devel/dprog/Makefile Normal file
View file

@ -0,0 +1,25 @@
# ex:ts=8
# Ports collection makefile for: dprog
# Date created: Apr 6, 2004
# Whom: ijliao
#
# $FreeBSD$
#
PORTNAME= dprog
PORTVERSION= 0.3.1
CATEGORIES= devel
MASTER_SITES= http://www.daimi.au.dk/~mailund/dprog/download/
MAINTAINER= ports@FreeBSD.org
COMMENT= A language for specifying dynamic programming algorithms
LIB_DEPENDS= popt.0:${PORTSDIR}/devel/popt
GNU_CONFIGURE= yes
CONFIGURE_ENV= CPPFLAGS="${CXXFLAGS} -I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"
PLIST_FILES= bin/dprog include/cxx_dprog.hh lib/libcxx_dprog.a
.include <bsd.port.mk>

2
devel/dprog/distinfo Normal file
View file

@ -0,0 +1,2 @@
MD5 (dprog-0.3.1.tar.gz) = 9ff341cfc50d76d35ef75518f1c057ce
SIZE (dprog-0.3.1.tar.gz) = 127542

View file

@ -0,0 +1,20 @@
--- Makefile.in.orig Mon Apr 21 20:29:07 2003
+++ Makefile.in Tue Apr 6 09:05:17 2004
@@ -87,7 +87,7 @@
ARCH = `uname -mrs`
DATE = `date '+%d %h %y'`
-CXXFLAGS = -DARCH="\"$(ARCH)\"" -DDATE="\"$(DATE)\"" -Wall -frepo -g
+CXXFLAGS = -DARCH="\"$(ARCH)\"" -DDATE="\"$(DATE)\"" -Wall -g
#CXXFLAGS += -pg
#CXXFLAGS += -O3
@@ -121,7 +121,7 @@
type_check_test_LDADD = @LEXLIB@
type_check_test_SOURCES = lexer.ll parser.yy ast.hh ast.cc visitor.hh pretty_printer.hh pretty_printer.cc functions.hh functions.cc cxx_codegen.hh cxx_codegen.cc symbol_checking.hh symbol_checking.cc type_checking.hh type_checking.cc options.hh options.cc type_check_test.cc
-cxx_dprog_test_LDADD = -L. -lcxx_dprog -lefence
+cxx_dprog_test_LDADD = -L. -lcxx_dprog
cxx_dprog_test_SOURCES = cxx_dprog_test.cc
symbol_checking_test_SOURCES = ast.hh ast.cc visitor.hh pretty_printer.hh pretty_printer.cc symbol_checking.hh symbol_checking.cc type_checking.hh type_checking.cc functions.hh functions.cc codegen.hh codegen.cc cxx_codegen.hh cxx_codegen.cc options.hh options.cc symbol_checking_test.cc

View file

@ -0,0 +1,7 @@
--- ast.cc.orig Tue Dec 30 17:40:13 2003
+++ ast.cc Tue Dec 30 17:40:21 2003
@@ -1,3 +1,4 @@
+#include <cassert>
#include "ast.hh"
#include "visitor.hh"

View file

@ -0,0 +1,11 @@
--- codegen_test.cc.orig Tue Apr 6 08:57:15 2004
+++ codegen_test.cc Tue Apr 6 08:57:29 2004
@@ -2,6 +2,8 @@
#include "codegen.hh"
#include <iostream>
+#include <cassert>
+
using namespace std;
int

View file

@ -0,0 +1,10 @@
--- cxx_dprog.hh.orig Tue Apr 6 08:58:45 2004
+++ cxx_dprog.hh Tue Apr 6 08:59:01 2004
@@ -5,6 +5,7 @@
#include <vector>
#include <cstdarg>
+#include <cassert>
#include <iostream>

View file

@ -0,0 +1,10 @@
--- functions.cc.orig Tue Dec 30 17:42:16 2003
+++ functions.cc Tue Dec 30 17:42:25 2003
@@ -1,6 +1,7 @@
#include "functions.hh"
#include <map>
+#include <cassert>
using namespace std;
// FIXME: this stuff should be read from some configuration file.

View file

@ -0,0 +1,11 @@
--- range_checking_test.cc.orig Tue Apr 6 09:01:30 2004
+++ range_checking_test.cc Tue Apr 6 09:01:43 2004
@@ -4,6 +4,8 @@
#include "ast.hh"
#include <iostream>
+#include <cassert>
+
int yyparse();
ast::DProg *dprog = 0;

View file

@ -0,0 +1,10 @@
--- type_checking.hh.orig Tue Dec 30 17:41:32 2003
+++ type_checking.hh Tue Dec 30 17:41:42 2003
@@ -7,6 +7,7 @@
#include <set>
#include <iostream>
#include <typeinfo>
+#include <cassert>
namespace type_checking {

18
devel/dprog/pkg-descr Normal file
View file

@ -0,0 +1,18 @@
Dynamic programming is a simple yet powerful technique for solving optimisation
problems. When the problem at hand can be split in smaller problems, such that
the smaller solutions of an optimal solution are themselves optimal, dynamic
programming can be used to avoid re-calculating solutions to shared sub-
problems.
Simple problems are both easily specified and easily implemented, but for
complex problems translating the specification of the problem into the
implementation of the dynamic programming algorithm becomes tedious and error
prone. The goal of DPROG is to alleviate this by automatically translating the
specification of the problem into an implementation of the solution.
The DPROG language is designed to be close to the ``mathematical'' notation
used for expressing recurrences, thus making it easier to specify the problem.
Using the DPROG compiler, the manual implementation step can be completely
avoided.
WWW: http://www.daimi.au.dk/~mailund/dprog/