home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.lisp
- Path: sparky!uunet!haven.umd.edu!darwin.sura.net!jvnc.net!newserver.jvnc.net!gmd.de!juergen.waltherñgmd.de
- From: juergen.waltherñgmd.de (Juergen Walther)
- Subject: Re: Lisp Parsers
- Message-ID: <1993Jan5.130620.13174@gmd.de>
- Sender: news@gmd.de (USENET News)
- Nntp-Posting-Host: mac-walther
- Organization: GMD FIT-KI
- References: <11586@uqcspe.cs.uq.oz.au>
- Date: Tue, 5 Jan 1993 13:06:20 GMT
- Lines: 82
-
- In article <11586@uqcspe.cs.uq.oz.au>, berglas@cs.uq.oz.au (Anthony Berglas) writes:
- >
- > I am trying to introduce Lisp to the UQ CS Dept, in which everybody
- > knows that real men use C++. I will put on a demo of Garnet etc. shortly
- > but most important decisions are made on first impressions, and the
- > first impressions are the (())()()s. God said that f(a, b); is easier
- > to read than (f a b), it requires less characters.
- >
- > Seriously, (> (+ x 1) (* y 2)) is ugly, and it would be pretty easy
- > to add a parser to Lisp that could be used instead of the normal Reader.
- > (At least for demonstration purposes). Such a parser would idealy be
- > table driven and dynamically extendible -- new macro, new grammar rule.
- >
- > If anyone has heard of such a thing I would be interested to know.
- >
- > Thanks,
- >
- >
- > --
- > Anthony Berglas
- > Rm 503, Computer Science, Uni of Qld
- > Ph 07 365 2812, Australia.
- >
- >
- Following exerpts from the GLISP and MLISP manuals. I like Lisp syntax, so I did not use it, but it
- sound's promising in your context.
-
- Generalized Lisp
- Users Manual
- by
- David Canfield Smith
-
- Apple Computer
- August 1990
- Version 1.2
-
- Generalized Lisp (or Glisp for short) is a coordinated set of high level syntaxes for Common Lisp. It is
- generalized in the sense that the Lisp programmer has a variety of dialects available, not just Lisp notation.
- Initially Generalized Lisp consists of three dialects: Mlisp, Plisp and ordinary Lisp,
- together with an extensible framework for adding others. Mlisp (Meta-Lisp) is an Algol-like syntax
- for people who dont like writing parentheses. Plisp (Pattern Lisp) is a pattern matching rewrite-rule
- language. Plisp is a compiler-compiler; its rules are optimized for writing language translators.
- Mlisp and Plisp are documented in separate user manuals.
- It is expected that the set of dialects will increase over time as users add new ones.
- All dialects may be freely intermixed in a file.The translators for all dialects are written in Plisp,
- as is the Glisp translator framework itself.
- Support routines for the translators are written in Mlisp and/or Lisp.
- All dialects are translated to Common Lisp and execute in the standard Common Lisp environment.
-
- Mlisp
- Users Manual
- by
- David Canfield Smith
-
- Apple Computer
- xxx 1990
- Version 1.2
-
- Introduction
- What is Mlisp?
- Mlisp (Meta-Lisp) is an alternative syntax for Common Lisp that reduces its reliance on parentheses.
- Mlisp is designed to make Lisp programs easier to read. Mlisp programs are translated into Lisp and
- then compiled, executed or printed. Therefore Mlisp has exactly the same capabilities as Common Lisp,
- no more and no fewer. Nevertheless, experience has shown that many people can write larger and
- more complex programs in Mlisp than in Lisp, since they can better understand the code.
- The Mlisp syntax is a derivative of Algol, with begin-end blocks, if-then-else conditionals, etc.
- The fundamental rule in Mlisp is that the mathematical notation
- function(arg1, arg2, ..., argn)
- is translated into the Lisp notation
- (function arg1 arg2 ... argn)
- For example,
- print("abc", stream)
- translates to
- (print "abc" stream)
- Any Lisp s-expression can be produced in this way, even special forms. For example,
- cond(=(a, b)(c), t(d))
- translates to
- (cond ((= a b) c) (t d))
- Of course the former is hardly an improvement on the latter, so special syntax has been added for most special forms:
- if b then c else d
- The idea for Mlisp was first proposed by John McCarthy in his earliest Lisp report in 196?.
-
-