CMU Artificial Intelligence Repository
Home INFO Search FAQs Repository Root

PTN: Parse Tree Notation

lang/prolog/code/tools/ptn/
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 specialized tree manipulation predicates. 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 analyzer for grades - a translator for an if-then rule-based system - a text analyzer 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.
Origin:   

   turiel.cs.mu.oz.au:/pub/ptn/

Version: 25-MAY-94 Requires: NU-Prolog Ports: Uses mostly ISO-standard Prolog built-ins, and so should be easy to port. CD-ROM: Prime Time Freeware for AI, Issue 1-1 Author(s): Andrew Davison Elizabeth Haywood Dept. of Computer Science University of Melbourne Melbourne, Victoria 3052 Australia Fax: +61 3 348 1184 Tel: +61 3 287 9172 / 9101 Telex: AA 35185 Keywords: Authors!Davison, Authors!Haywood, DCG, PTN, Parse Tree Notation, Prolog!Code, Prolog!Tools, Tools, Unification References: Andrew Davison and Elizabeth Haywood, "Parse Tree Notation", Technical Report 94/6, Department of Computer Science, University of Melbourne, 1994.
Last Web update on Mon Feb 13 10:34:08 1995
AI.Repository@cs.cmu.edu