|The XPL Compiler [July 2000]|
|A Tclsh(1) Shell for the Tcl Interface of the Vim Editor [August 2001]|
|Tcl/Tk Reference Guide [August 2003]|
|Allan Brighton's Tk canvas tree widget [February 2004]|
|Complete XDM Working Example [October 2003]|
|FreeBSD support for less-than-smart APC UPS [October 2003]|
|BYACC which produces Perl/Tcl parsers [June 2003]|
I picked up this package from the SHARE organization back in the mid 70's. It was squirreled away on 9-track tape until 1984 when I dug it out and wrote the S/360 emulator. Then it was stored on floppies until I had some time and decided to finally port it to the Intel 486. This was the first compiler source that I was exposed to and fueled my interest in compilers and operating systems. I guess that's why I dug it out and finished this little porting effort.
The latest version of XPL for FreeBSD is 4.2 -- click here to download.
This package builds the XPL compiler by bootstrapping from the original IBM S/370 binary. The build process requires GNU make and the RCS source control tools. If you have trouble building the Intel binary for the compiler, you can get a pre-built copy here. You will still need to compile the sub-monitor, xplsm, for your operating system.
:tcl package require VimconsoleThe Vimconsole package spawns an xterm window with a custom shell that connects the xterm's stdin/out/err to Tcl's stdin/out/err.
The latest version of the vimconsole package is 1.2 -- click here to download.
For those who have latex installed, I have also included the TeX input files for the dictionary, Hash, pgtcl, RBtree, sendx, setops, svipc, syslog, tcLex, tclgdbm, tclreadline, Tkspline (bundled with graphviz), tree, trf and trfcrypt packages.
The latest version of the reference guide is 8.4.3 -- click here to download.
Since the 8.0.4 version seems to have disappeared, I have ported it to Tk 8.4. It it can be found here.
I've tried to clearly identify any changes I make by using RCS; therefore the original, unmodified source is available for reference as well as the changes I have made. Before building the package you must extract the source from the RCS files:
$ tar -xzf bree-188.8.131.52.tgz # Unpack the tar archive $ cd tree-184.108.40.206 $ cd src $ co *,v # Extract updated source from RCS files $ cd .. $ ./configure $ make
It has been reported that this (Brighton's) package conflicts with the BWidget package. Brighton's package uses the "Tree" class name for the widget it creates which conflicts with the tree widget from BWidgets which also uses the same class name. Since the BWidget tree binds <Destroy> to the class Tree, that binding is called when Brighton's C++ tree is destroyed.
The solution is to either rename Brighton's "tree" command to anything else such that "string totitle new_cmd_name" does not return "Tree", or modify the source.
My goal was to be able to use CHOOSER to login to any of the FreeBSD systems on my local LAN from any of the FreeBSD systems. The description of what I changed in each configuration file and the additional configuration files I added can be found here. You can also download a compressed tar file containing all the configuration files.
I installed the apcupsd port but was peeved when I found out that there is no hook in FreeBSD to gain control near the end of a shutdown -- so there was no way to unmount all the file systems prior to losing power and shutdown cleanly. This is available for Linux apparently (grrrr). So I added support in FreeBSD release 4.8. It was pretty simple:
It works fine! With the appropriate changes to the config files for apcupsd, my system can now shutdown cleanly during a power outage.
The instructions, diff's and my configuration files can be downloaded here.
tyacc-0.9.tar.gz perl-byacc1.8.2.tar.gz perl5-byacc-patches-0.5.tarand applied the diff's to FreeBSD's 4.8-RELEASE yacc (which is really byacc.) Each of tyacc/pyacc/p5yacc is a separate tool -- removing the command line option specifying what language (Tcl/Perl) to generate simplified the diff's enormously. Basing the changes on FreeBSD's version of yacc did remove some changes that might be important to some people. The following features were removed:
My versions of the Perl/Tcl yacc's can be downloaded here.