Initial import of ratfor:
Preprocessor for the Ratfor dialect of Fortran
This commit is contained in:
parent
111bbed8af
commit
e34a4dcca7
8 changed files with 203 additions and 0 deletions
18
devel/ratfor/Makefile
Normal file
18
devel/ratfor/Makefile
Normal file
|
@ -0,0 +1,18 @@
|
|||
# $NetBSD: Makefile,v 1.1.1.1 2001/02/10 04:36:52 jtb Exp $
|
||||
|
||||
DISTNAME= ratfor77
|
||||
PKGNAME= ratfor-1.0
|
||||
CATEGORIES= devel
|
||||
MASTER_SITES= ftp://sepftp.stanford.edu/pub/sep-distr/
|
||||
|
||||
MAINTAINER= jtb@netbsd.org
|
||||
HOMEPAGE= http://sepwww.stanford.edu/software/ratfor.html
|
||||
|
||||
ALL_TARGET= ratfor77
|
||||
USE_GMAKE= yes
|
||||
|
||||
do-install:
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/ratfor77 ${PREFIX}/bin/ratfor
|
||||
${INSTALL_MAN} ${WRKSRC}/ratfor.man ${PREFIX}/man/man1/ratfor.1
|
||||
|
||||
.include "../../mk/bsd.pkg.mk"
|
3
devel/ratfor/files/md5
Normal file
3
devel/ratfor/files/md5
Normal file
|
@ -0,0 +1,3 @@
|
|||
$NetBSD: md5,v 1.1.1.1 2001/02/10 04:36:52 jtb Exp $
|
||||
|
||||
MD5 (ratfor77.tar.gz) = 85c5d566d6eecf7cc7ac49dcaa21a42c
|
4
devel/ratfor/files/patch-sum
Normal file
4
devel/ratfor/files/patch-sum
Normal file
|
@ -0,0 +1,4 @@
|
|||
$NetBSD: patch-sum,v 1.1.1.1 2001/02/10 04:36:52 jtb Exp $
|
||||
|
||||
MD5 (patch-aa) = 2f16fb578846c5fc1d51c1d00ba1b888
|
||||
MD5 (patch-ab) = 9d68004a44a29105b7961def71342770
|
25
devel/ratfor/patches/patch-aa
Normal file
25
devel/ratfor/patches/patch-aa
Normal file
|
@ -0,0 +1,25 @@
|
|||
$NetBSD: patch-aa,v 1.1.1.1 2001/02/10 04:36:52 jtb Exp $
|
||||
|
||||
--- Makefile.orig Fri Feb 2 03:38:11 2001
|
||||
+++ Makefile
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
|
||||
SIGNED_CHAR="char"
|
||||
-CC=cc
|
||||
+#CC=cc
|
||||
|
||||
|
||||
# we don't want the standard SEP flags so override them
|
||||
@@ -34,8 +34,7 @@
|
||||
$(RM) $(SEPBINDIR)/ratfor77
|
||||
#
|
||||
ratfor77: rat4.o lookup.o getopt.o
|
||||
- cc rat4.o lookup.o getopt.o -o ratfor77
|
||||
+ $(CC) $(CFLAGS) rat4.o lookup.o getopt.o -o ratfor77
|
||||
|
||||
-%.o: %.c
|
||||
- ${CC} ${OCDEFINES} $*.c -o$*.o
|
||||
-
|
||||
+.c.o:
|
||||
+ ${CC} $(CFLAGS) ${OCDEFINES} $*.c -o$*.o
|
140
devel/ratfor/patches/patch-ab
Normal file
140
devel/ratfor/patches/patch-ab
Normal file
|
@ -0,0 +1,140 @@
|
|||
$NetBSD: patch-ab,v 1.1.1.1 2001/02/10 04:36:53 jtb Exp $
|
||||
|
||||
--- ratfor.man.orig Sun Feb 14 02:05:24 1999
|
||||
+++ ratfor.man
|
||||
@@ -1,21 +1,29 @@
|
||||
-NAME
|
||||
- ratfor77 - ratfor preprocessor for fortran77
|
||||
-
|
||||
-SYNOPSIS
|
||||
- ratfor [-l n] [-C] [-o output] input
|
||||
-
|
||||
-PARAMETERS
|
||||
- -l n user sets strating label n
|
||||
- -o output specify output file, otherwise it is stdout
|
||||
- -C keep comments in (useful for compiler directives)
|
||||
-
|
||||
-
|
||||
-DESCRIPTION
|
||||
+.Dd February 1, 2001
|
||||
+.Dt RATFOR 1
|
||||
+.Os
|
||||
+.Sh NAME
|
||||
+.Nm ratfor
|
||||
+.Nd a public domain Ratfor preprocessor for Fortran 77
|
||||
+.Sh SYNOPSIS
|
||||
+.Nm
|
||||
+.Op Fl l Ar n
|
||||
+.Op Fl C
|
||||
+.Op Fl o Ar output
|
||||
+.Ar input
|
||||
+.Sh PARAMETERS
|
||||
+.Bl -tag -width Ar
|
||||
+.It Fl l Ar n
|
||||
+user sets starting label n
|
||||
+.It Fl o Ar output
|
||||
+specify output file, otherwise it is stdout
|
||||
+.It Fl C
|
||||
+keep comments in (useful for compiler directives)
|
||||
+.Sh DESCRIPTION
|
||||
Ratfor has the following syntax:
|
||||
-
|
||||
+.Pp
|
||||
prog: stat
|
||||
prog stat
|
||||
-
|
||||
+.Pp
|
||||
stat: if (...) stat
|
||||
if (...) stat else stat
|
||||
while (...) stat
|
||||
@@ -30,11 +38,11 @@
|
||||
digits stat
|
||||
{ prog } or [ prog ] or $( prog $)
|
||||
anything unrecognizable
|
||||
-
|
||||
+.Pp
|
||||
where stat is any Fortran or Ratfor statement, and intexpr is an
|
||||
expression that resolves into an integer value. A statement is
|
||||
-terminated by an end-of-line or a semicolon. The following translations
|
||||
-are also performed.
|
||||
+terminated by an end-of-line or a semicolon. The following
|
||||
+translations are also performed.
|
||||
|
||||
< .lt. <= .le.
|
||||
== .eq.
|
||||
@@ -42,39 +50,55 @@
|
||||
>= .ge. > .gt.
|
||||
| .or. & .and.
|
||||
! .not. ^ .not. ~ .not.
|
||||
-
|
||||
+.Pp
|
||||
Integer constants in bases other that decimal may be specified as
|
||||
n%dddd... where n is a decimal number indicating the base and dddd...
|
||||
are digits in that base. For bases > 10, letters are used for digits
|
||||
above 9. Examples: 8%77, 16%2ff, 2%0010011. The number is converted
|
||||
the equivalent decimal value using multiplication; this may cause sign
|
||||
problems if the number has too many digits.
|
||||
-
|
||||
+.Pp
|
||||
String literals ("..." or '...') can be continued across line boundaries
|
||||
by ending the line to be continued with an underline. The underline is
|
||||
not included as part of the literal. Leading blanks and tabs on the
|
||||
next line are ignored; this facilitates consistent indentation.
|
||||
-
|
||||
+.Pp
|
||||
include file
|
||||
-
|
||||
+.Pp
|
||||
will include the named file in the input.
|
||||
-
|
||||
+.Pp
|
||||
define (name,value) or
|
||||
define name value
|
||||
-
|
||||
-defines name as a symbolic parameter with the indicated value. Names of
|
||||
-symbolic parameters may contain letters, digits, periods, and underline
|
||||
-character but must begin with a letter (e.g. B.FLAG). Upper case is
|
||||
-not equivalent to lower case in parameter names.
|
||||
-
|
||||
+.Pp
|
||||
+defines name as a symbolic parameter with the indicated value. Names
|
||||
+of symbolic parameters may contain letters, digits, periods, and
|
||||
+underline character but must begin with a letter (e.g. B.FLAG).
|
||||
+Upper case is not equivalent to lower case in parameter names.
|
||||
+.Pp
|
||||
string name "character string" or
|
||||
string name(size) "character string"
|
||||
-
|
||||
-defines name to be an integer array long enough to accomodate the ascii
|
||||
-codes for the given character string, one per word. The last word of
|
||||
-name is initialized to the symbolic parameter EOS, and indicates the end
|
||||
-of string.
|
||||
-
|
||||
-KEYWORDS
|
||||
-ratfor fortran preprocessor fortran77 ratfor77 spp
|
||||
-
|
||||
+.Pp
|
||||
+defines name to be an integer array long enough to accomodate the
|
||||
+ASCII codes for the given character string, one per word. The last
|
||||
+word of name is initialized to the symbolic parameter EOS, and
|
||||
+indicates the end of string.
|
||||
+.Pp
|
||||
+.Sh SEE ALSO
|
||||
+.Xr f77 1 ,
|
||||
+.Pp
|
||||
+.Sh HISTORY
|
||||
+Derived from a preprocessor distributed by the University of Arizona
|
||||
+(not derived from AT&T code). Closely corresponds to the preprocessor
|
||||
+described in the "SOFTWARE TOOLS" book.
|
||||
+.Pp
|
||||
+.Sh BUGS
|
||||
+The switch statment switches on an integer valued expression. It
|
||||
+should switch on an integer variable. The reason is that "implicit
|
||||
+undefined" "implicit null" is unusable because the switch is done on a
|
||||
+new variable that is not declared or declarable by the programmer who
|
||||
+cannot guess its name. (This is not really a bug but a design error in
|
||||
+both AT&T ratfor and this public domain ratfor).
|
||||
+.Pp
|
||||
+.Sh COPYING
|
||||
+This code is in the public domain. In other words, all rights
|
||||
+are granted to all recipients, "public" at large.
|
1
devel/ratfor/pkg/COMMENT
Normal file
1
devel/ratfor/pkg/COMMENT
Normal file
|
@ -0,0 +1 @@
|
|||
Preprocessor for the Ratfor dialect of Fortran
|
9
devel/ratfor/pkg/DESCR
Normal file
9
devel/ratfor/pkg/DESCR
Normal file
|
@ -0,0 +1,9 @@
|
|||
Ratfor is a preprocessor for Fortran code that allows the use C-like
|
||||
flow expressions. Ratfor was invented by Brian Kernigham. Statements
|
||||
on a line may be separated by a ";". Statements may be grouped
|
||||
together with braces }. Do loops do not require statement numbers
|
||||
because {} defines the range, etc. The Fortran relational operators
|
||||
.gt.,.ge,.ne., etc. may be written >,<=,!=,etc. All of these are
|
||||
translated into Fortran 77 by Ratfor. Ratfor also frees you from
|
||||
Fortran's strict indentation rules. Anything from a # to the end of
|
||||
the line is a comment.
|
3
devel/ratfor/pkg/PLIST
Normal file
3
devel/ratfor/pkg/PLIST
Normal file
|
@ -0,0 +1,3 @@
|
|||
@comment $NetBSD: PLIST,v 1.1.1.1 2001/02/10 04:36:52 jtb Exp $
|
||||
bin/ratfor
|
||||
man/man1/ratfor.1
|
Loading…
Reference in a new issue