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

    From Roger L Costello@21:1/5 to All on Sun Jun 19 11:54:03 2022
    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]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From gah4@21:1/5 to Roger L Costello on Mon Jun 20 16:16:39 2022
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)