CMU Artificial Intelligence Repository
Home INFO Search FAQs Repository Root

ALE: Attribute Logic Engine

ALE (Attribute Logic Engine) is a freeware system implemented in Prolog that integrates phrase structure parsing and constraint logic programming with typed feature structures as terms. Types are arranged in an inheritance hierarchy and specified for the features and value types for which they are appropriate. Grammars may also interleave unification steps with logic program goal calls (as can be done in DCGs), thus allowing parsing to be interleaved with other system components. While ALE was developed to handle HPSG grammars, it can also execute PATR-II grammars, DCG grammars, Prolog, Prolog-II, and LOGIN programs, etc. With suitable coding, it can also execute several aspects of LFG grammars. Grammars and programs in ALE are specified with a typed version of Rounds-Kasper attribute value logic, which includes variables, macros, full disjunction, and inequations. Programs are then compiled into low-level Prolog instructions corresponding to the basic operations of the typed Rounds-Kapser logic. There is a strong type discipline enforced on descriptions, allowing many errors to be detected at compile-time. The parsing and logic programming systems may be used independently or together. ALE's parsing system supports lexical rules and empty categories for grammars, using a bottom-up, all-paths dynamic chart parser. The general lexical rule component includes procedural attachment and general methods for orthographic transformations using pattern matching or Prolog. A mini-interpreter is included for stepping through the parsing process. ALE's logic programming system supports last call optimization (but does not perform any argument indexing), negation by failure and cuts in definite clauses, which may be used independently or integrated into grammars. Both the phrase structure and logic programming components of the system allow parametric macros to be defined and freely employed in descriptions. The language allows hooks to general Prolog routines, allowing the grammars and programs to be embedded in Prolog, and thus also in C and Unix. The efficiency of the system depends on first-argument indexing, last-call optimization, and for the chart parser, the indexing of dynamic clauses. The current system is distributed with a number of sample grammars, including a fairly comprehensive implementation of a head-driven phrase structure grammar for English following (Pollard and Sag 1994: Chapters 1--5, 7, and 8), a small version of the Zebra Puzzle demonstrating the use of ALE for logic puzzles, and the phonological and categorial grammars used as examples in the documentation. Functional Extensions in Version 2.0 -- inequations -- extensional identity conditions -- general constraints on types -- mini-interpreter -- enhanced error detection -- hooks to Prolog
See Also: 

   as the files ale.*

Version: 2.0.2 (23-JAN-95) Requires: Prolog Ports: SICStus Prolog 2.1 #8, Quintus Prolog (see readme.txt for Quintus patches). Copying: The system and its documentation are available without charge for research purposes, although the authors retain the copyright and any redistribution must be be complete. Please send an email message if you are using the system. Updated: Tue Jan 24 17:53:09 1995 CD-ROM: Prime Time Freeware for AI, Issue 1-1 Bug Reports: Bob Carpenter Mailing List: To be added to the mailing to be informed of updates, send email to Author(s): Bob Carpenter Gerald Penn Quintus patches by Thilo Goetz John Griffith Seminar fuer Sprachwissenschaft, Universitaet Tuebingen Contact: Bob Carpenter Laboratory for Computational Linguistics Philosophy Department Carnegie Mellon University Pittsburgh, PA 15213 Tel: (412) 268-8043 Fax: (412) 268-1440 Keywords: ALE, Attribute Logic Engine, Authors!Carpenter, Authors!Penn, Chart Parsing, DCG, English Grammar, HPSG, Logic Programming, PATR-II, Parsing, Prolog!Code, Prolog!Parsing, Rounds-Kasper Attribute Value Logic, Typed Feature Structures, Zebra Puzzle References: The user's guide is included in the distribution, as are two sample grammars. Bob Carpenter and Gerald Penn (1992) ALE 2.0 User's Guide. Carnegie Mellon University Laboratory for Computational Linguistics Technical Report. Pittsburgh.
Last Web update on Mon Feb 13 10:33:51 1995