|
|
researchv10 Norman
ML-Twig 1.0 June 1989. Copyright (c) 1989 by Johan Lilius, Jari Porra, Jussi Rintanen. This software comes with ABSOLUTELY NO WARRANTY. This software is subject only to the GNU GENERAL PUBLIC LICENSE (in the file "LICENSE", distributed with this software, and available from the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139). You may copy and distribute this software; see the LICENSE for details and restrictions. Source files of ML-Twig : (compile in this order) analyzer.lex.sml lexer.sml parser.sml automata.sml main.sml Other files : analyzer.lex The lexer. Use Lexgen to produce analyzer.lex.sml. runtime.sml Runtime system to be loaded before the file produced by ML-Twig. Contains a functor. man.tex ML-Twig User Manual (LaTeX) example.mtw The example from the manual. invoke.sml User interface (If you compile ML-Twig non-interactively with the batch compiler. Load after main.sml) There are no known bugs in ML-Twig, but the tree references ($n.m ... $) together with rewrite rules currently pose a small problem. References to the labeled subtrees of a tree pattern always refer to the original tree, not to a new tree possibly returned by a rewrite rule. Bug reports, comments and suggestions may be sent to [email protected] or Jussi Rintanen Helsinki University of Technology Laboratory of Information Processing Science, U401 02150 ESPOO Finland Note: We have tested the program with a large subset of the Vax code generator of Andrew Appel rewritten for Standard ML and ML-Twig, and I think the program is fairly reliable. The run-time system is not very efficient and there are some parts that could be cleaned up. However, I think that possible modifications are not critical. I could also later send for distribution a small front-end for a pascal-like language, and the Vax CG, if Andrew Appel does not mind. The CG very closely resembles the original code generator written in C for Twig, and is merely a translation of the original.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.