Related articles |
---|
'Learning Compilers': Functional vs. Imperative Host? jswitte@spam.bloomington.in.us (Jim Witte) (2004-03-19) |
Re: 'Learning Compilers': Functional vs. Imperative Host? torbenm@diku.dk (2004-03-26) |
Re: 'Learning Compilers': Functional vs. Imperative Host? jswitte@bloomington.in.us (Jim Witte) (2004-04-03) |
Re: 'Learning Compilers': Functional vs. Imperative Host? jswitte@bloomington.in.us (Jim Witte) (2004-04-03) |
Re: 'Learning Compilers': Functional vs. Imperative Host? jswitte@bloomington.in.us (Jim Witte) (2004-04-03) |
Re: Re: 'Learning Compilers': Functional vs. Imperative Host? nmh@t3x.org (Nils M Holm) (2004-04-03) |
From: | Jim Witte <jswitte@bloomington.in.us> |
Newsgroups: | comp.compilers |
Date: | 3 Apr 2004 09:09:51 -0500 |
Organization: | IU |
References: | 04-03-070 |
Keywords: | functional, courses |
Posted-Date: | 03 Apr 2004 09:09:51 EST |
>In particular ML-like languages with
>pattern-matching on data structures make it easy to work on abstract
>syntax trees.
Here, the compiler course doesn't use ML, but it does use the 'match'
macro, which will let you write something like
(match '(3 + 4) `(,x + ,y) (list (+ x y)) )
and have it put out 7. This lets you do (I'm told) an awful lot of the
AST parsing very easily. As Dr. Friedman likes to put it, "you write a
pass that's 50 lines long, but on every other pass, you only change abuot
2, which is why we have you do 5 passes in a week.." At some point,
they're going to get match up to the point where you don't even have to
copy the 48 lines that *don't* change, you just put in the 2 that do..
Don't ask me how, though.
Jim
Return to the
comp.compilers page.
Search the
comp.compilers archives again.