Re: Techniques for writing an interpreter

Pierre Mai <dent@cs.tu-berlin.de>
18 Mar 1998 22:55:02 -0500

          From comp.compilers

Related articles
[3 earlier articles]
Re: Techniques for writing an interpreter ct7@mitre.org (W. Craig Trader) (1998-03-15)
Re: Techniques for writing an interpreter fjh@cs.mu.OZ.AU (1998-03-15)
Re: Techniques for writing an interpreter psu@jprc.com (Peter Su) (1998-03-18)
Re: Techniques for writing an interpreter hgg9140@heckle.ca.boeing.com (1998-03-18)
Re: Techniques for writing an interpreter henry@zoo.toronto.edu (Henry Spencer) (1998-03-18)
Re: Techniques for writing an interpreter dhansen@btree.com (1998-03-18)
Re: Techniques for writing an interpreter dent@cs.tu-berlin.de (Pierre Mai) (1998-03-18)
Re: Techniques for writing an interpreter markh@usai.asiainfo.com (Mark Harrison) (1998-03-20)
Re: Techniques for writing an interpreter a010111t@bc.seflin.org (Orlando Llanes) (1998-03-20)
Re: Techniques for writing an interpreter simon@magnorth.nildram.co.uk (Simon Chapman) (1998-03-22)
Re: Techniques for writing an interpreter shutkoa@ugsolutions.com (alan shutko) (1998-03-24)
Re: Techniques for writing an interpreter mikee@cetasoft.cog (1998-03-24)
Re: Techniques for writing an interpreter nnylfv@ny.ubs.com (Olivier Lefevre) (1998-03-24)
| List of all articles for this month |

From: Pierre Mai <dent@cs.tu-berlin.de>
Newsgroups: comp.compilers
Date: 18 Mar 1998 22:55:02 -0500
Organization: Technical University of Berlin, Germany
References: 98-03-032 98-03-098 98-03-141
Keywords: interpreter, practice, design
X-PGP-Fingerprint: 17 2D 00 93 8B C8 57 57 A7 D7 CD E9 3A EA 6E 4C

>>>>> "WCT" == W Craig Trader <ct7@mitre.org> writes:


        WCT> A Johnstone wrote:
        >> Has anyone else noticed that everytime somebody asks a question
        >> like this they get a load of responses saying - don't write
        >> another language, use TCL (or something else). It comes to
        >> something when the comp.compilers community is telling people
        >> not to write language translators... ;-)


                  [existing scripting languages like python and tcl]
        WCT> Given that these tools exist, and that they solve 90% of the
        WCT> problems that generally encourage people to write languages,
        WCT> why not use them and save the effort for the hard stuff?


Also most application languages will not end up being as useful as
they could, because of serious deficiencies (i.e. lack of generally
useful control-flow constructs, lack of general high-level user
definable data structures, lack of features that enable modularisation
or even OOP, etc., etc., etc.).


This is hardly surprising, given that


- the application developper's main goal is implementing a *simple*
    scripting language, which most likely is low on his priority list
    anyways,
- often the need for such complex constructs is not anticipated in
    advance (who would write a <insert complex application here> in my
    application language?), to which the answer should always be: look
    at Emacs...
- the application developper is generally not an experienced language
    designer (and properly designing languages is *hard*)
- implementing these advanced features is *much* more difficult, than
    doing the trivial lexer-parser-interpreter most people will end up
    doing.


In previous times, this was "acceptable" because including real
general-purpous languages did not only require much more effort than
the developers normally could spare, but the additional cost in size
and speed was often non-negligible, given the hardware available then.


This has now changed significantly with both the advent of
general-purpouse scripting languages and much more powerful hardware
(what would you rather use this for: Animated jumping paper-clips or a
strong, extensible scripting-language?).


        WCT> Of course, it could be that we're just tired of learning
        WCT> yet-another-extension-language. During my career I've


Especially if it turns out to be another one which can be used for
quick 5-liners, but turns out to be totally unusable to do more
serious work...


        WCT> learned over 60 distinct programming languages, most of which
        WCT> I've used for one specific task, for a relatively short
        WCT> period of time. I'm really not that interested in having
        WCT> someone foist another write-only language on me ... I guess I
        WCT> must be getting old.


Same here ;)


Regs, Pierre.


BTW: Another interesting choice for scripting languages is Scheme,
e.g. as GUILE or MzScheme, etc.


Also people using scripting languages from C/C++ might take a look at
SWIG (http://www.swig.org/), which makes this *much* more painless and
flexible...


--
Pierre Mai <dent@cs.tu-berlin.de> http://home.pages.de/~trillian/
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.