xref: /titanic_52/usr/src/tools/tokenize/tokenize.sh (revision bdfc6d18da790deeec2e0eb09c625902defe2498)
1#!/bin/sh
2#
3# CDDL HEADER START
4#
5# The contents of this file are subject to the terms of the
6# Common Development and Distribution License, Version 1.0 only
7# (the "License").  You may not use this file except in compliance
8# with the License.
9#
10# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11# or http://www.opensolaris.org/os/licensing.
12# See the License for the specific language governing permissions
13# and limitations under the License.
14#
15# When distributing Covered Code, include this CDDL HEADER in each
16# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17# If applicable, add the following below this CDDL HEADER, with the
18# fields enclosed by brackets "[]" replaced with your own identifying
19# information: Portions Copyright [yyyy] [name of copyright owner]
20#
21# CDDL HEADER END
22#
23#
24# Copyright 1999-2003 Sun Microsystems, Inc.  All rights reserved.
25# Use is subject to license terms.
26#
27# ident	"%Z%%M%	%I%	%E% SMI"
28#
29# Creates "tokenized" FCode programs from Forth source code.
30#
31# Usage:  tokenize xxx.fth
32#
33# xxx.fth is the name of the source file, which must end in ".fth"
34# The output file will be named xxx.fcode .  It will have an a.out header
35# so that it can be downloaded to a PROM burner with "pburn"
36
37#
38# Get tokenizer.exe and forth_preload.so.1
39# from same directory that this command is in.
40#
41mypath=`dirname $0`
42
43infile=/tmp/$$
44echo 'fcode-version1' > $infile
45cat $1 >> $infile
46echo 'end0' >> $infile
47outfile=`basename $1 .fth`.fcode
48(
49	unset LD_PRELOAD_32 LD_PRELOAD_64
50	set -x
51	LD_PRELOAD=${mypath}/forth_preload.so.1 \
52	${mypath}/forth ${mypath}/tokenize.exe \
53	-s "aout-header? off silent? on tokenize $infile $outfile" < /dev/null
54)
55rm $infile
56