For the first time, YAFL is now available on the net free of charge. It is protected by the GPL (Gnu General Public License). Please refer to the file COPYING in the /etc directory of YAFL's distribution. Since it is the first time indeed, please be indulgent for any problem you might experience. Let us know if you are stuck, we'll try to help you as much as we can. Anyway, I guess that this distribution will be more and more comfortable as time goes by.
Anyway, the entire YAFL documentation includes a rather extensive user guide. If you can, please download it as a single PostScript file and read it. It might answer most of your questions about YAFL and the related tools.
The first file you must download is the image file yafl.zip. It is about 2.3 Megabytes long, and includes the entire YAFL environment including:
The source code of the compiler and libraries
The source code of the runtime system
A bootstrap image, made of a number of intermediate C source files that must be used to produce your first executable YAFL compiler.
It does not include the documentation, nor the installation script. Just in case you wondered, it would not make much sense compressing the yafl.tar file any further, since it includes a bunch of already compressed files.
The distribution downloadable here is an InstallShield self-extracting executable. Just run it, and you have a working YAFL environment. However, there are several things worth noting:
First, this distribution includes Jacob Navia's port of Hanson's LCC to Win32. May all these people's names be blessed. LCC is an excellent compiler, with more than reasonable compile-time performance.
Second, it is still a command-line environment. The windowing version that has been developed by Louis DestrÈe and Bernard Rasson has not been included in this distribution. If time permits, we will make a reasonably stable version available soon. Since this YAFL distribution is command-line based, installing it does not create groups, icons, shortcut, etc..
Most Win95 applications are commonly installed under \Program Files\Bonzo\FooBar for an application named FooBar distributed by Bonzo Inc. Due to its Unix origin, YAFL would rather (if possible) be installed within a directory \yafl directly accessible from the file system's root directory.
The version installed by InstallShield is not entirely plug&play. A minor modification must be performed manually. As soon as we find ways of solving this issue automatically, we'll make sure that YAFL's installation gets entirely automatic.
First, download the image file as described above. Then, download the installation script install.y. If you were bored downloading the image file, you will be relieved: the installation script is very small (<1K).
The procedure to get a working YAFL environment is described here under. It is meant to be used on a Unix or Unix-like environment.We ported the environment on all the Unix environment we have been able to put our hands on. On request, we'll provide you with an NT, Win95 or OS/2 plug-and-play binary version. For the most exotic of you guys, if you work on an MVS mainframe and if you have a C compiler ready, well, you can use YAFL as well. You might have a little trouble porting, but I did it last year, and given a bit of patience, it should work.
Create a directory which will be considered as the root directory of your YAFL environment (We typically use /proj/yafl for that purpose). Make sure you have the proper writing permission to that directory, and some spare disk space (I think 20MB should be enough)
Copy the image file yafl.tar as well as the installation script install.y in that directory.
Execute the script install.y with a bourne shell: sh ./install.y
Try to answer to the questions in a sensible way.
You might have to patch the install.y script file top adapt to your environment (for instance, to use gcc instead of cc)
Please refer to the YAFL documentation for further setup of your environment
If you want to get rid of your YAFL environment, it is very simple: simply delete the entire directory hierarchy starting at the YAFL home directory.
By mere curiosity, we would like to know more about you. If you don't want to tell anything, that's Ok. However, we would appreciate if you dropped a note, indicating who you are, where you heard about YAFL, any experience you might have using YAFL or a similar language.
Laurent Ferier recently finished his thesis over global optimization in Yafl, that can be downloaded as a PostScript file. This these has been proposed for two academic awards in Belgium, and the global optimization technique that he as implemented and which is being described in his paper are used on a daily basis now.
And just in case you really wanted the real thing, the entire Yafl documentation is available as a single PostScript file but beware: it is over 350 pages long. The compressed single PostScript file is also available
Besides, you can also download the proceedings of the first YAFL conference YEAH 1996
For those of you who are interested in ancient history, Bernard Rasson's thesis that describes the Yafl debugging system is available as well, in Word format. And by the way, it is in french. This thesis describes the first (and utterly successfull) use of the compiler support feature provided by Yafl.