linux下安装java编译器,编译器构造工具:安装 JFlex 和 CUP - 具 - 精华区 - 优秀的Free OS(Linux)版 - 北大未名BBS...

发信人: chenhao (阅读文献), 信区: Linux

标  题: 编译器构造工具:安装 JFlex 和 CUP - 具体化的指南

发信站: 北大未名站 (2000年12月06日00:27:52 星期三), 站内信件

Richard A. Sevenich 2000-10-12

0.0 背景

JFlex 和 CUP 软件包带有安装指南。它们编写的很好,语言直白。尽管如此,本篇文章

还是给出了 一个非常具体的安装情形。以作者的经验,这种具体化对那些新用户很有用

,他们在第一次尝试时 会觉得较少具体化的安装指南的普遍性和伸缩性会带来一些困难

。不言而喻,具体化会失去可伸缩性。

这个指南是用于一个装有 bash 作为缺省的 Shell,同时也有 tcsh,但不是缺省 Shell

的 Linux 盒子。假设用户已安装有某个版本的 jdk(Java Development Kit),或是等

同的软件。如果没有, 你可以在 www.blackdown.org 找到。在作者使用的系统中,来

自blackdown的jdk1.1.5-v5-glibc.tar.gz 压缩包下载在 /usr/lib 目录中,并展开在

那儿。

作者欢迎指正和建设性的建议。联系方式: rsevenich@ewu.edu

1.0 系统准备

注意在本节中一些具体的选择都是任意的。对初始者来说,假设你已经登录到了你的主目

录,比如说, /home/jsmith。所有的路径都将是相对于文件系统中的这个位置的。现在

如下建立新目录:

>mkdir javatools

>mkdir javatools/CUP

然后修改你的 .bash_profile 和 .bashrc 文件,包含所需的 java CLASSPATH 等。这里

是一些示例行:

JAVB=/usr/lib/jdk1.1

JAVT=/home/jsmith/javatools

CLASSPATH=./:$JAVB/lib/classes.zip:$JAVT/JFlex/lib/JFlex.jar:$JAVT/CUP

PATH=$PATH:$JAVB/bin:$JAVT/JFlex/bin

export PATH CLASSPATH

注意:目录 /usr/lib/jdk1.1 是用于指示从 blackdown 的 tarball里解开的文件所放的

地方。在作者 的实际情况中,它是一个到 /usr/lib/jdk1.1.5v5-980311/ 的符号连接。

要使你的这些修改起作用,你必须退出系统,再重新注册。

2.0 JFlex

2.1 得到 JFlex

JFlex 可以从 www.informatik.tu-muenchen.de/~kleing/jflex/index.html#Download

得到,是一个 tar.gz 格式的文件。在写本文的时候,该文件的名字是 "jflex-1.2.tar

.gz"。这个 tar 包包括一个自带安装指南的丰富文档。

2.2 一个具体的安装情形

下载tar 包,jflex-1.2.tar.gz, 到javatools/ 目录中; 用命令‘tar xvfz jflex-1.2

.tar.gz’在javatools/目录中展开tar 包。 这样就会创建带有相关的子目录树的目录'J

Flex'。它将含有所有需要的东西,包括在'doc'子目录中 的文档。这儿的文档内容详尽

,指出了怎样用 JFlex 来创建独立的词法分析器(例如下面2.3节中的例子) 或是用于其

它程序(如CUP)创建的处理器的词法分析器。在目录 JFlex/bin 中你可以找到一个 Shell

脚本 程序'jflex',它需要做如下修改:

设置 JFLEX_HOME 变量: 'JFLEX_HOME=/home/jsmith/javatools/JFlex' (根据你的环境)

设置 JAVA_HOME 变量: 'JAVA_HOME=/usr/lib/jdk1.1' (根据你的环境)

2.3 对安装进行测试

切换目录到 javatools/JFlex/examples/standalone (例如, 'cd /home/jsmith/javatoo

ls/JFlex/examples/standalone/') 执行该目录中的 README 文件中的指令,会得到如下

的屏幕输出:

Hello someone!

This is a sample input file for the

standalone example scanner.

Have a nice day!

3.0 CUP

3.1 得到 CUP

CUP 从 www.cs.princeton.edu/~appel/modern/java/ 得到。在那儿你能找到所需的源代

码(压缩的tar包)和用户手册。这个手册可以html 方式下载以提供一个在线的手册或者以

适于打印的形式(如 postscript) 下载。下一节将讨论下载源代码的问题。

注:上述的 Web 站点还有一个 JFlex 的变种,叫JLex。

3.2 一个 CUP 的具体的安装情形, 包括测试

下载压缩的tar 包到javatools/CUP 目录中; 切换到那个目录中 (如,cd /home/jsmith/

javatools/CUP)展开tar 包 键入命令行: './INSTALL', 来运行安装/测试文件。注意安

装程序是一个 csh,或它的替代物 tcsh 的脚本。所以,tcsh 是需要的。

这样将得到一个成功的消息:'Install and test was successful'。

4.0 下一步

随 JFlex 和 CUP 下载的文档提供了足够的信息让用户把它们运行起来。

--

※ 来源:·北大未名站 bbs.pku.edu.cn

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值