ports/62043: New port: java/jflex Fast lexical analyser generator for Java
Conor McDermottroe
ports at mcdermottroe.com
Wed Jan 28 21:11:21 UTC 2004
>Number: 62043
>Category: ports
>Synopsis: New port: java/jflex Fast lexical analyser generator for Java
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Jan 28 13:10:10 PST 2004
>Closed-Date:
>Last-Modified:
>Originator: Conor McDermottroe
>Release: FreeBSD 5.2-RELEASE i386
>Organization:
>Environment:
System: FreeBSD mcdermc 5.2-RELEASE FreeBSD 5.2-RELEASE #3: Sat Jan 17 01:18:58 GMT 2004 root@:/usr/obj/usr/src/sys/MCDERMC i386
>Description:
>From its documentation:
JFlex is a lexical analyzer generator for Java written in Java.
It is also a rewrite of the very useful tool JLex which was developed
by Elliot Berk at Princeton University. As Vern Paxon states for his C/C++
tool flex: They do not share any code though.
>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:
#
# /usr/ports/java/jflex
# /usr/ports/java/jflex/distinfo
# /usr/ports/java/jflex/Makefile
# /usr/ports/java/jflex/pkg-descr
# /usr/ports/java/jflex/pkg-plist
# /usr/ports/java/jflex/files
# /usr/ports/java/jflex/files/patch-ab
# /usr/ports/java/jflex/files/patch-aa
#
echo c - /usr/ports/java/jflex
mkdir -p /usr/ports/java/jflex > /dev/null 2>&1
echo x - /usr/ports/java/jflex/distinfo
sed 's/^X//' >/usr/ports/java/jflex/distinfo << 'END-of-/usr/ports/java/jflex/distinfo'
XMD5 (jflex-1.3.5.tar.gz) = c77a9656aa20979f2268d7443995700f
END-of-/usr/ports/java/jflex/distinfo
echo x - /usr/ports/java/jflex/Makefile
sed 's/^X//' >/usr/ports/java/jflex/Makefile << 'END-of-/usr/ports/java/jflex/Makefile'
X# Ports collection Makefile for: JFlex
X# Date created: 27 January 2004
X# Whom: Conor McDermottroe <ports at mcdermottroe.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME= jflex
XPORTVERSION= 1.3.5
XCATEGORIES= java
XMASTER_SITES= http://www.jflex.de/
X
XMAINTAINER= ports at mcdermottroe.com
XCOMMENT= The Fast Lexical Analyser Generator for Java[tm]
X
XBUILD_DEPENDS= ${JAVAJARDIR}/java_cup.jar:${PORTSDIR}/java/java-cup
X
XUSE_JAVA= 1.1+
XNEED_JAVAC= yes
XWRKSRC= ${WRKDIR}/JFlex
XBUILD_WRKSRC= ${WRKSRC}/src
X
XPLIST_SUB= JAVAJARDIR=${JAVAJARDIR:S|^${PREFIX}/||}
X
Xpost-patch:
X @cd ${WRKSRC} && \
X ${SED} -i~ -e 's|%%JAVAJARDIR%%|${JAVAJARDIR}|' bin/jflex src/Makefile && \
X ${SED} -i~ -e 's|%%JAVA_CLASSES%%|${JAVA_CLASSES}|' src/Makefile
X
Xdo-install:
X @${INSTALL_SCRIPT} ${WRKSRC}/bin/jflex ${PREFIX}/bin/jflex
X @${INSTALL_DATA} ${WRKSRC}/lib/JFlex.jar ${JAVAJARDIR}/JFlex.jar
X
Xpost-install:
X.if !defined(NOPORTDOCS)
X ${MKDIR} ${DOCSDIR}
X ${INSTALL_MAN} ${WRKSRC}/doc/* ${DOCSDIR}
X.endif
X ${MKDIR} ${EXAMPLESDIR}
X.for EXAMPLE in binary byaccj cup interpreter java simple standalone
X ${MKDIR} ${EXAMPLESDIR}/${EXAMPLE}
X ${INSTALL_DATA} ${WRKSRC}/examples/${EXAMPLE}/* ${EXAMPLESDIR}/${EXAMPLE}
X.endfor
X
X.include <bsd.port.mk>
END-of-/usr/ports/java/jflex/Makefile
echo x - /usr/ports/java/jflex/pkg-descr
sed 's/^X//' >/usr/ports/java/jflex/pkg-descr << 'END-of-/usr/ports/java/jflex/pkg-descr'
XJFlex is a lexical analyzer generator for Java written in Java.
XIt is also a rewrite of the very useful tool JLex which was developed
Xby Elliot Berk at Princeton University. As Vern Paxon states for his C/C++
Xtool flex: They do not share any code though.
X
XWWW: http://www.jflex.de/
END-of-/usr/ports/java/jflex/pkg-descr
echo x - /usr/ports/java/jflex/pkg-plist
sed 's/^X//' >/usr/ports/java/jflex/pkg-plist << 'END-of-/usr/ports/java/jflex/pkg-plist'
Xbin/jflex
X%%JAVAJARDIR%%/JFlex.jar
X%%PORTDOCS%%%%DOCSDIR%%/COPYRIGHT
X%%PORTDOCS%%%%DOCSDIR%%/faq.html
X%%PORTDOCS%%%%DOCSDIR%%/foot_motif.gif
X%%PORTDOCS%%%%DOCSDIR%%/jflex_anttask.html
X%%PORTDOCS%%%%DOCSDIR%%/logo.gif
X%%PORTDOCS%%%%DOCSDIR%%/manual.css
X%%PORTDOCS%%%%DOCSDIR%%/manual.html
X%%PORTDOCS%%%%DOCSDIR%%/manual.pdf
X%%PORTDOCS%%%%DOCSDIR%%/manual.ps.gz
X at dirrm %%DOCSDIR%%
X%%EXAMPLESDIR%%/binary/Makefile
X%%EXAMPLESDIR%%/binary/README
X%%EXAMPLESDIR%%/binary/StraightStreamReader.java
X%%EXAMPLESDIR%%/binary/binary.flex
X at dirrm %%EXAMPLESDIR%%/binary
X%%EXAMPLESDIR%%/byaccj/Makefile
X%%EXAMPLESDIR%%/byaccj/README
X%%EXAMPLESDIR%%/byaccj/calc.flex
X%%EXAMPLESDIR%%/byaccj/calc.y
X at dirrm %%EXAMPLESDIR%%/byaccj
X%%EXAMPLESDIR%%/cup/Main.java
X%%EXAMPLESDIR%%/cup/Makefile
X%%EXAMPLESDIR%%/cup/README
X%%EXAMPLESDIR%%/cup/lcalc.flex
X%%EXAMPLESDIR%%/cup/output.good
X%%EXAMPLESDIR%%/cup/test.txt
X%%EXAMPLESDIR%%/cup/ycalc.cup
X at dirrm %%EXAMPLESDIR%%/cup
X%%EXAMPLESDIR%%/interpreter/AST.java
X%%EXAMPLESDIR%%/interpreter/Main.java
X%%EXAMPLESDIR%%/interpreter/Makefile
X%%EXAMPLESDIR%%/interpreter/README
X%%EXAMPLESDIR%%/interpreter/STEfun.java
X%%EXAMPLESDIR%%/interpreter/STEvar.java
X%%EXAMPLESDIR%%/interpreter/SymTab.java
X%%EXAMPLESDIR%%/interpreter/SymtabEntry.java
X%%EXAMPLESDIR%%/interpreter/Tboolexp.java
X%%EXAMPLESDIR%%/interpreter/Tdekl.java
X%%EXAMPLESDIR%%/interpreter/Tdekllist.java
X%%EXAMPLESDIR%%/interpreter/Texp.java
X%%EXAMPLESDIR%%/interpreter/Texpinfix.java
X%%EXAMPLESDIR%%/interpreter/Texplist.java
X%%EXAMPLESDIR%%/interpreter/Tfun.java
X%%EXAMPLESDIR%%/interpreter/Tident.java
X%%EXAMPLESDIR%%/interpreter/Tifthenelse.java
X%%EXAMPLESDIR%%/interpreter/Tnumber.java
X%%EXAMPLESDIR%%/interpreter/Tparlist.java
X%%EXAMPLESDIR%%/interpreter/Tprogram.java
X%%EXAMPLESDIR%%/interpreter/Tuminus.java
X%%EXAMPLESDIR%%/interpreter/example.as
X%%EXAMPLESDIR%%/interpreter/parser.cup
X%%EXAMPLESDIR%%/interpreter/scanner.flex
X at dirrm %%EXAMPLESDIR%%/interpreter
X%%EXAMPLESDIR%%/java/JavaParser.java
X%%EXAMPLESDIR%%/java/JavaSymbol.java
X%%EXAMPLESDIR%%/java/Makefile
X%%EXAMPLESDIR%%/java/README
X%%EXAMPLESDIR%%/java/java.flex
X%%EXAMPLESDIR%%/java/java12.cup
X%%EXAMPLESDIR%%/java/unicode.flex
X at dirrm %%EXAMPLESDIR%%/java
X%%EXAMPLESDIR%%/simple/README
X%%EXAMPLESDIR%%/simple/Utility.java
X%%EXAMPLESDIR%%/simple/Yytoken.java
X%%EXAMPLESDIR%%/simple/simple.flex
X at dirrm %%EXAMPLESDIR%%/simple
X%%EXAMPLESDIR%%/standalone/Makefile
X%%EXAMPLESDIR%%/standalone/README
X%%EXAMPLESDIR%%/standalone/sample.inp
X%%EXAMPLESDIR%%/standalone/standalone.flex
X at dirrm %%EXAMPLESDIR%%/standalone
X at dirrm %%EXAMPLESDIR%%
END-of-/usr/ports/java/jflex/pkg-plist
echo c - /usr/ports/java/jflex/files
mkdir -p /usr/ports/java/jflex/files > /dev/null 2>&1
echo x - /usr/ports/java/jflex/files/patch-ab
sed 's/^X//' >/usr/ports/java/jflex/files/patch-ab << 'END-of-/usr/ports/java/jflex/files/patch-ab'
X--- src/Makefile.orig Tue Jan 27 22:35:41 2004
X+++ src/Makefile Tue Jan 27 22:27:05 2004
X@@ -1,16 +1,16 @@
X # you need JFlex 1.2.2 and CUP 0.10j or later for this Makefile to work
X
X JFLEX = jflex -skel skeleton.nested
X-CUP = java java_cup.Main
X+CUP = java -classpath %%JAVAJARDIR%%/java_cup.jar java_cup.Main
X
X-JAVAC = javac -target 1.1 -bootclasspath /usr/lib/jdk1.1/lib/classes.zip
X+JAVAC = env LANG= javac -target 1.1
X #JAVAC = jikes
X JAR = jar
X
X DEST = ../lib
X
X # jdk 1.2
X-CLPATH = -classpath /usr/lib/java/jre/lib/rt.jar:.
X+CLPATH = -classpath %%JAVA_CLASSES%%:.
X
X # jdk 1.1
X #CLPATH = -classpath /usr/lib/java/lib/classes.zip:.
END-of-/usr/ports/java/jflex/files/patch-ab
echo x - /usr/ports/java/jflex/files/patch-aa
sed 's/^X//' >/usr/ports/java/jflex/files/patch-aa << 'END-of-/usr/ports/java/jflex/files/patch-aa'
X--- bin/jflex.orig Tue Jan 27 22:31:29 2004
X+++ bin/jflex Tue Jan 27 22:26:00 2004
X@@ -1,51 +1,18 @@
X-#! /bin/bash
X+#!/bin/sh
X #
X-# JFlex start script $Revision: 1.16 $
X-#
X-# if Java is not in your binary path, you need to supply its
X-# location in this script. The script automatically finds
X-# JFLEX_HOME when called directly, via binary path, or symbolic
X-# link.
X-#
X-# Site wide installation: simply make a symlink from e.g.
X-# /usr/bin/jflex to this script at its original position
X-#
X-#===================================================================
X-#
X-# configurables:
X-
X-# path to the java interpreter
X-JAVA=java
X-
X-# end configurables
X-#
X-#===================================================================
X-#
X-
X-# calculate true location
X-
X-PRG=`type $0`
X-PRG=${PRG##* }
X-
X-# If PRG is a symlink, trace it to the real home directory
X-
X-while [ -L "$PRG" ]
X-do
X- newprg=$(ls -l ${PRG})
X- newprg=${newprg##*-> }
X- [ ${newprg} = ${newprg#/} ] && newprg=${PRG%/*}/${newprg}
X- PRG="$newprg"
X-done
X-
X-PRG=${PRG%/*}
X-JFLEX_HOME=${PRG}/..
X-
X-# --------------------------------------------------------------------
X-
X-export CLASSPATH
X-CLASSPATH=$JFLEX_HOME/lib/JFlex.jar
X-
X-$JAVA JFlex.Main $@
X+# Replacement for the script that came with JFlex
X+# because bash is not necessarily on a FreeBSD
X+# machine. Also, we know where the jar is.
X+#
X+# Conor McDermottroe <ports at mcdermottroe.com>
X+
X+# Allow the user to override where JFlex.jar lives
X+if [ -z "$JAVAJARDIR" ]; then
X+ JAVAJARDIR=%%JAVAJARDIR%%
X+fi
X+
X+# Allow the user to specify which java interpreter to use
X+if [ -z "$JAVA" ]; then
X+ JAVA="`which java`"
X+fi
X
X-#for more memory:
X-#$JAVA -Xmx128m JFlex.Main $@
X+$JAVA -jar $JAVAJARDIR/JFlex.jar $@
END-of-/usr/ports/java/jflex/files/patch-aa
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list