From ad@munta.cs.mu.OZ.AU Tue May 31 21:12:00 EDT 1994 Article: 10567 of comp.lang.prolog Xref: glinda.oz.cs.cmu.edu comp.lang.prolog:10567 Newsgroups: comp.lang.prolog Path: honeydew.srv.cs.cmu.edu!nntp.club.cc.cmu.edu!godot.cc.duq.edu!news.duke.edu!convex!cs.utexas.edu!math.ohio-state.edu!jussieu.fr!univ-lyon1.fr!ghost.dsi.unimi.it!batcomputer!munnari.oz.au!cs.mu.OZ.AU!munta.cs.mu.OZ.AU!ad From: ad@munta.cs.mu.OZ.AU (Andrew Davison) Subject: Parse Tree Notation Available Message-ID: <9414611.15760@mulga.cs.mu.OZ.AU> Originator: ad@munta.cs.mu.OZ.AU Sender: news@cs.mu.OZ.AU Organization: Department of Computer Sci, University of Melbourne Date: Thu, 26 May 1994 01:28:42 GMT Lines: 57 Parse Tree Notation is available via FTP Parse Tree Notation (PTN) facilitates the encoding of language translators which transform programs written in high level languages with extensions (e.g. a logic language with functional programming features) into equivalent programs in the original unextended languages (e.g. Prolog). PTN does this by offering a small set of operations and built-in predicates for manipulating program parse trees. More complicated actions can be readily coded by combining PTN with Prolog predicates. The main PTN operation augments unification with pattern matching capabilities based on the Definite Clause Grammar (DCG) for the language of the program being manipulated. This allows parse tree searches to be specified, based on the terminal and nonterminal types of the language, without the programmer having to augment the DCG or to write specialised tree manipulation predicates. The PTN system is available by anonymous ftp from turiel.cs.mu.oz.au in the directory pub/ptn. The directory contains two files: README and ptn.tar.Z There are numerous example translators in the distribution, including: * a translator for a simple functional LP language * a translator for a LP language with modules * a text analyser for grades * a translator for an if-then rule-based system * a text analyser for phone lists * a translator for a LP language with attribute/name arguments * a translator that adds proof tree arguments to programs PTN notation in a translator is itself translated into vanilla Prolog using a PTN translator. A Postscript version of the paper `Parse Tree Notation', by A. Davison and E. Haywood is included with the distribution. This paper, combined with the numerous README files, supplies extensive information on the capabilities of PTN. PTN is implemented in NU-Prolog, but mostly uses ISO-standard Prolog built-ins. There is a small file containing NU-Prolog specific predicates, and these should be easily ported to your Prolog dialect. For more information, contact: Andrew Davison or Elizabeth Haywood Dept. of Computer Science University of Melbourne Melbourne, Victoria 3052 Australia Email: {ad,liz}@cs.mu.oz.au Fax: +61 3 348 1184 Phone: +61 3 287 9172 / 9101 Telex: AA 35185