Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #3077 > unrolled thread

If I were in charge of the computer science curriculum at a college or university ...

Started byRoger L Costello <costello@mitre.org>
First post2022-06-19 11:54 +0000
Last post2022-06-20 16:16 -0700
Articles 2 — 2 participants

Back to article view | Back to comp.compilers


Contents

  If I were in charge of the computer science curriculum at a college or university ... Roger L Costello <costello@mitre.org> - 2022-06-19 11:54 +0000
    Re: If I were in charge of the computer science curriculum at a college or university ... gah4 <gah4@u.washington.edu> - 2022-06-20 16:16 -0700

#3077 — If I were in charge of the computer science curriculum at a college or university ...

FromRoger L Costello <costello@mitre.org>
Date2022-06-19 11:54 +0000
SubjectIf I were in charge of the computer science curriculum at a college or university ...
Message-ID<22-06-049@comp.compilers>
Hi Folks,

If I were in charge of the computer science curriculum at a college or
university I would require students to first take a course on how to create
lexers and parsers using a parser generator (e.g., Flex and Bison) before
taking a course on compilers.

For the last many months I have been immersed in learning Flex and Bison
(great fun!). Recently I have started reading the dragon compiler book. As I
read it, I come across things in it and think "Ah, that's why Flex/Bison does
that." But I also come across things and think "Oh man, I never would have
understood what that is saying if I didn't know Flex/Bison."  The dragon book
is filling in gaps in my understanding of Flex/Bison, while simultaneously
Flex/Bison is filling in gaps in the dragon book's explanation. Synergy!

I believe that some of you are on the faculty at colleges and universities. Is
this how your curriculum works?

/Roger
[When I was teaching a compilers course back in the late 1970s I talked about
lex and flex when we covered regular expressions and DFAs, and about yacc when
we covered LR parsing. They're just tools, not worth a separate course. -John]

[toc] | [next] | [standalone]


#3080

Fromgah4 <gah4@u.washington.edu>
Date2022-06-20 16:16 -0700
Message-ID<22-06-054@comp.compilers>
In reply to#3077
On Monday, June 20, 2022 at 3:08:28 PM UTC-7, Roger L Costello wrote:

> If I were in charge of the computer science curriculum at a college or
> university I would require students to first take a course on how to create
> lexers and parsers using a parser generator (e.g., Flex and Bison) before
> taking a course on compilers.

In semester schools, the shortest course is one semester, half a (school) years.
With the quarter system, not including summer, there are three quarters.
Most courses are a full (school) year, but you can have one quarter courses.

I suspect that John is right, and even for one quarter it would be hard to
make a class just out of flex and bison.

There is a book series, "Handbook of Programming Languages", and
within the series: "Little Languages and Tools."  That doesn't include
flex and bison, but I suspect with it, and with some more books, you
could make a nice course teaching different tools and their use.

https://www.pearson.com/us/higher-education/program/Salus-HPL-VOL-III-LITTLE-LANGUAGES-AND-TOOLS/PGM154415.html

It is also available very reasonably priced on the used market.
(All four books are reasonably priced used.)

With that book, and the Flex/Bison book, you should be able to make a pretty
interesting CS course.  You can decide how much to cover each language,
or skip some.  And then some simple problems with flex and bison to get
students ready for compilers.

But yes, as I still remember from about 40 years ago, the beginning of a compiler
course are hard to follow, from just the theory.  Having seen flex/bison in
action previously would make it much easier.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.compilers


csiph-web