From: Scott D. Anderson
Subject: Parsing Tools in CL?
Date: 
Message-ID: <7j45ho$t6d$1@nnrp1.deja.com>
I want to write a parser for a language similar to C++, with
Common Lisp or Emacs Lisp as the implementation language.  Is
anyone aware of any tools that might make my job easier?  An
equivalent of YACC or BISON would be ideal, but more than I
hope for.  Still, someone may have a partial implementation
or building block that they'd be willing to give me.

Thanks,

Scott

--
Scott D. Anderson
Spelman College, Atlanta, Georgia
anderson @ spelman.edu
http://www.spelman.edu/~anderson/


Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.

From: Raymond Toy
Subject: Re: Parsing Tools in CL?
Date: 
Message-ID: <4n7lpl2txa.fsf@rtp.ericsson.se>
>>>>> "Scott" == Scott D Anderson <········@spelman.edu> writes:

    Scott> I want to write a parser for a language similar to C++,
    Scott> with Common Lisp or Emacs Lisp as the implementation
    Scott> language.  Is anyone aware of any tools that might make my
    Scott> job easier?  An equivalent of YACC or BISON would be ideal,
    Scott> but more than I hope for.  Still, someone may have a

Look in the CMU AI Archives for zebu.  It's a parser essentially like
yacc or bison, I think.

Ray
From: Sunil Mishra
Subject: Re: Parsing Tools in CL?
Date: 
Message-ID: <efy1zft6vqr.fsf@whizzy.cc.gatech.edu>
Raymond Toy <···@rtp.ericsson.se> writes:

> >>>>> "Scott" == Scott D Anderson <········@spelman.edu> writes:
> 
>     Scott> I want to write a parser for a language similar to C++,
>     Scott> with Common Lisp or Emacs Lisp as the implementation
>     Scott> language.  Is anyone aware of any tools that might make my
>     Scott> job easier?  An equivalent of YACC or BISON would be ideal,
>     Scott> but more than I hope for.  Still, someone may have a
> 
> Look in the CMU AI Archives for zebu.  It's a parser essentially like
> yacc or bison, I think.
> 
> Ray

Unfortunately zebu is no longer being maintained. I got this from the
author. I've never played with it personally, but it looks fairly
promising.

Sunil
From: Raymond Toy
Subject: Re: Parsing Tools in CL?
Date: 
Message-ID: <4nyai1c9kc.fsf@rtp.ericsson.se>
>>>>> "Sunil" == Sunil Mishra <·······@whizzy.cc.gatech.edu> writes:

    Sunil> Raymond Toy <···@rtp.ericsson.se> writes:
    >> >>>>> "Scott" == Scott D Anderson <········@spelman.edu>
    >> >>>>> writes:
    >>
    Scott> I want to write a parser for a language similar to C++,
    Scott> with Common Lisp or Emacs Lisp as the implementation
    Scott> language.  Is anyone aware of any tools that might make my
    Scott> job easier?  An equivalent of YACC or BISON would be ideal,
    Scott> but more than I hope for.  Still, someone may have a
    >>
    >> Look in the CMU AI Archives for zebu.  It's a parser
    >> essentially like yacc or bison, I think.
    >>
    >> Ray

    Sunil> Unfortunately zebu is no longer being maintained. I got
    Sunil> this from the author. I've never played with it personally,
    Sunil> but it looks fairly promising.

Too bad.  It was maintained up to 6 months ago or so because I sent
him some patches that he incorporated into his next release.
Unfortunately, you won't find it in the CMU AI archives because that
hasn't been updated in ages.  The latest version is out there
somewhere, though.

Ray
From: Sunil Mishra
Subject: Re: Parsing Tools in CL?
Date: 
Message-ID: <efy67533m3i.fsf@whizzy.cc.gatech.edu>
Raymond Toy <···@rtp.ericsson.se> writes:

> >>>>> "Sunil" == Sunil Mishra <·······@whizzy.cc.gatech.edu> writes:

>     Sunil> Unfortunately zebu is no longer being maintained. I got
>     Sunil> this from the author. I've never played with it personally,
>     Sunil> but it looks fairly promising.
> 
> Too bad.  It was maintained up to 6 months ago or so because I sent
> him some patches that he incorporated into his next release.
> Unfortunately, you won't find it in the CMU AI archives because that
> hasn't been updated in ages.  The latest version is out there
> somewhere, though.
> 
> Ray

Maybe it's time for me to eat my words yet again... (Probably confused the
author with the author of some other package out there, which is not too
surprising given my ability to mix up people.) Which all things considered
may not be too bad.


Do you know where the latest version can be obtained? I downloaded the
program again, and the version in the CMU archives is 3.4.8, dated 1996. It 
does list the author, but nothing about how a newer version might be
obtained.

Thanks,

Sunil
From: Marc Battyani
Subject: Re: Parsing Tools in CL?
Date: 
Message-ID: <9202C38DCADBC60C.B5264E439690E768.0026DA7C2C523D79@lp.airnews.net>
Sunil Mishra <·······@whizzy.cc.gatech.edu> wrote in message
····················@whizzy.cc.gatech.edu...
> Do you know where the latest version can be obtained? I downloaded the
> program again, and the version in the CMU archives is 3.4.8, dated 1996.
It
> does list the author, but nothing about how a newer version might be
> obtained.

I've got a version 3.5.3 dated 10/4/97 but I don't remember where...

Marc Battyani
From: Fred Gilham
Subject: Zebu 3.5.3 (was Re: Parsing Tools in CL?)
Date: 
Message-ID: <u7iu92vgkp.fsf_-_@snapdragon.csl.sri.com>
If people can't find it elsewhere, I've put it up at

ftp.csl.sri.com:/pub/users/gilham/zebu-3.5.3.tgz


-- 
Fred Gilham                                     ······@csl.sri.com
How many Analytic Philosophers does it take to change a light bulb? 
None---it's a pseudo-problem. Light bulbs give off light (hence the
name). If the bulb was broken and wasn't giving off light, it wouldn't
be a 'light bulb' now would it? (Oh, where has rigor gone?!)
From: Sunil Mishra
Subject: Re: Parsing Tools in CL?
Date: 
Message-ID: <efyyahymqpv.fsf@cyberone.cc.gatech.edu>
"Marc Battyani" <·············@csi.com> writes:

> Sunil Mishra <·······@whizzy.cc.gatech.edu> wrote in message
> ····················@whizzy.cc.gatech.edu...
> > Do you know where the latest version can be obtained? I downloaded the
> > program again, and the version in the CMU archives is 3.4.8, dated 1996.
> It
> > does list the author, but nothing about how a newer version might be
> > obtained.
> 
> I've got a version 3.5.3 dated 10/4/97 but I don't remember where...
> 
> Marc Battyani

Got this in private email. 3.5.5 can be found at

ftp://ftp.cs.cmu.edu/users/ai/new/

Sunil
From: Arthur Lemmens
Subject: Re: Parsing Tools in CL?
Date: 
Message-ID: <375BC8EA.62D193F2@simplex.nl>
Sunil Mishra wrote:

> Got this in private email. Zebu 3.5.5 can be found at
> 
> ftp://ftp.cs.cmu.edu/users/ai/new/

I think that should be: ftp://ftp.cs.cmu.edu/user/ai/new/
(not "users" but "user").

Thanks for the link.

Arthur Lemmens
From: Rudi Schlatte
Subject: Re: Parsing Tools in CL?
Date: 
Message-ID: <87zp2foqtm.fsf@semmel.berg>
Raymond Toy <···@rtp.ericsson.se> writes:

> >>>>> "Scott" == Scott D Anderson <········@spelman.edu> writes:
> 
>     Scott> I want to write a parser for a language similar to C++,
>     Scott> with Common Lisp or Emacs Lisp as the implementation
>     Scott> language.  Is anyone aware of any tools that might make my
>     Scott> job easier?  An equivalent of YACC or BISON would be ideal,
>     Scott> but more than I hope for.  Still, someone may have a
> 
> Look in the CMU AI Archives for zebu.  It's a parser essentially like
> yacc or bison, I think.

ftp://ftp.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/code/parsing/zebu/zebu_348.tgz

I use it to parse SQL statements for my thesis -- I describe database
structure in the VDM formal language and do _not_ want to manually
synchronize entity-relationship models and formal description every
time I change something.

Just a short example of what Zebu does.  Input is a file containing
defstructs and defrules.

[Skipping the header]

  (defstruct (table (:include kb-domain))
    name
    columns
    pk
    fk)

[Lots of other defstructs...]

  (defrule definition
      := create-stmt         ; These two do nothing
      := alter-table-stmt)

  (defrule create-stmt
      := ("CREATE" create-table-stmt)
      :build (add-table (table-name create-table-stmt)
                        create-table-stmt)
                             ; Add to hash table, no return value
      := ("CREATE" create-index-stmt)
      :build (values))       ; Discard indices, I don't need them.

  (defrule create-table-stmt
      := ("TABLE" Identifier "(" columns ")" ";")
      :build (:type table
              :map ((Identifier . :name)
                    (columns . :columns))))
                             ; Create table structure, map result of
                             ; Identifier and columns rules into slots


I cut-and-pasted this out of my program, so this is not as concise as
it could be.  I hope it is useful to you.

Rudi
From: Arthur Lemmens
Subject: Re: Parsing Tools in CL?
Date: 
Message-ID: <3756E380.486FC6AD@simplex.nl>
"Scott D. Anderson" wrote:
> 
> I want to write a parser for a language similar to C++, with
> Common Lisp or Emacs Lisp as the implementation language.  Is
> anyone aware of any tools that might make my job easier?  

Closure (http://www.uni-karlsruhe.de/~unk6/closure/) includes
a file called LALR.LISP.

Arthur Lemmens
From: Rob Warnock
Subject: Re: Parsing Tools in CL?
Date: 
Message-ID: <7j7g1o$jct3s@fido.engr.sgi.com>
Arthur Lemmens  <·······@simplex.nl> wrote:
+---------------
| Closure (http://www.uni-karlsruhe.de/~unk6/closure/) includes
| a file called LALR.LISP.
+---------------

Note that in the README file, under "License issues" he warns:

	There is src/util/lalr.lisp, which was written in 1988 by Mark
	Johnson; the file lacks a license. I have to figure out what to
	do here -- best would be to hack my own LALR parser generator
	(and a faster one as well) -- or try to contact Mr Johnson.


-Rob

-----
Rob Warnock, 8L-855		····@sgi.com
Applied Networking		http://reality.sgi.com/rpw3/
Silicon Graphics, Inc.		Phone: 650-933-1673
1600 Amphitheatre Pkwy.		FAX: 650-933-0511
Mountain View, CA  94043	PP-ASEL-IA
From: Marco Antoniotti
Subject: Re: Parsing Tools in CL?
Date: 
Message-ID: <lw90a0e5kj.fsf@copernico.parades.rm.cnr.it>
Arthur Lemmens <·······@simplex.nl> writes:

> "Scott D. Anderson" wrote:
> > 
> > I want to write a parser for a language similar to C++, with
> > Common Lisp or Emacs Lisp as the implementation language.  Is
> > anyone aware of any tools that might make my job easier?  
> 
> Closure (http://www.uni-karlsruhe.de/~unk6/closure/) includes
> a file called LALR.LISP.

Closure's author (Gilbert Baumann) has also written a Lexer for CL
called CLex, which is included in Closure.

Cheers


-- 
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa