https://bertrandmeyer.com/2022/09/28/introduction-theory-programming-languages-full-book-now-freely-available/ Bertrand Meyer's technology+ blog Software engineering, programming methodology, languages, verification, general technology, publication culture, and more [Search... ] Follow @Bertrand_Meyer * Home * About * Bio * Earlier columns * Oettinger "Software Engineering" letter * Meyer's Object-Oriented Classes: Lessons on Software * Lectures on Software: Distances, Invariants and Recursion * Material for the Handbook of Requirements and Business Analysis (Bertrand Meyer), Springer, 2022 * Reunion X 1969, Villebrumier, 25 juin 2022 * OOSC2 * OOSC3 * Online version of "Introduction to the Theory of Programming Languages" << Introduction to axiomatic semantics Introduction to the Theory of Programming Languages: full book now freely available 28 September 2022, 21:54 itpl_coverShort version: the full text of my Introduction to the Theory of Programming Languages book (second printing, 1991) is now available. This page has more details including the table of chapters, and a link to the PDF (3.3MB, 448 + xvi pages). The book is a survey of methods for language description, particularly semantics (operational, translational, denotational, axiomatic, complementary) and also serves as an introduction to formal methods. Obviously it would be written differently today but it may still have its use. A few days ago I released the Axiomatic Semantics chapter of the book, and the chapter introducing mathematical notations. It looked at the time that I could not easily release the rest in a clean form, because it is impossible or very hard to use the original text-processing tools (troff and such). I could do it for these two chapters because I had converted them years ago for my software verification classes at ETH. By perusing old files, however, I realized that around the same time (early 2000s) I actually been able to produce PDF versions of the other chapters as well, even integrating corrections to errata reported after publication. (How I managed to do it then I have no idea, but the result looks identical, save the corrections, to the printed version.) The figures were missing from that reconstructed version (I think they had been produced with Brian Kernighan's PIC graphical description language , which is even more forgotten today than troff), but I scanned them from a printed copy and reinserted them into the PDFs. Some elements were missing from my earlier resurrection: front matter, preface, bibliography, index. I was able to reconstruct them from the original troff source using plain MS Word. The downside is that they are not hyperlinked; the index has the page numbers (which may be off by 1 or 2 in some cases because of reformatting) but not hyperlinks to the corresponding occurrences as we would expect for a new book. Also, I was not able to reconstruct the table of contents; there is only a chapter-level table of contents which, however, is hyperlinked (in other words, chapter titles link to the actual chapters). In the meantime I obtained the permission of the original publisher (Prentice Hall, now Pearson Education Inc.). Here again is the page with the book's description and the link to the PDF: bertrandmeyer.com/ITPL VN:F [1.9.10_1130] please wait... Rating: 10.0/10 (4 votes cast) VN:F [1.9.10_1130] Rating: +2 (from 2 votes) Introduction to the Theory of Programming Languages: full book now freely available, 10.0 out of 10 based on 4 ratings Be Sociable, Share! * * * * [vuible] * * * * * * [more] * * * * * * * * * * [closelabel] * Tweet * * * * * [vuible] Category: Computer science, Design by Contract, Education, Eiffel, Language design, Personal, Programming techniques, Publication announcement, Publications, Requirements, Software engineering, Software verification, Theory | Comment (RSS) Leave a Reply Click here to cancel reply. You must be logged in to post a comment. * Sites + Eiffel Community + Eiffel Software Eiffel Software + Expertyze + Home page at ETH Home page at ETH + Informatics Europe Informatics Europe + Innopolis Software Engineering Laboratory + LASER summer school LASER summer school + Propulsion Academy Propulsion Academy + Publication list Publication list * Tags ACM Advance Alias Aliasing AutoTest Beethoven Breakthroughs Conferences Design by Contract Dijkstra DOSE Eiffel EiffelStudio Error ETH Frame problem Google Ground-breaking Hoare Humphrey Hype ICSE IEEE Introduction to programming Invariant ITMO Java LASER Loop Loop invariant Methodology Microsoft Word Microsoft Word MOOC Research SCOOP Standards Style Technology Touch of Class Translation Turing VAMOC Void safety Wirth * Categories + Administrative (2) + Agile (15) + Algorithms (12) + Computer science (130) + Concurrency (32) + Conference (39) + Design by Contract (45) + Distributed software development (11) + Education (71) + Eiffel (68) + Empirical Software Engineering (25) + Essay (26) + Eulogy (2) + Europe (4) + Formal methods and proofs (50) + French (3) + General technology (60) + Health (2) + History (12) + Language design (45) + Limerick (3) + Master, please explain (5) + Memoir (3) + Music (5) + Numerics (2) + Object technology (30) + Opera (2) + Personal (21) + Photo (1) + Photographs (1) + Policy (17) + Politics (17) + Positions (6) + Privacy (1) + Prize (2) + Programming techniques (72) + Project management (3) + Publication announcement (26) + Publications (24) + Puzzle (3) + Reading notes (7) + Recycled (6) + Requirements (13) + Research evaluation (21) + Robotics (4) + Security (3) + Seminar (15) + Software engineering (214) + Software process (43) + Software verification (62) + Software design (50) + Standardization (4) + Talks (16) + Testing (18) + Theory (31) + Uncategorized (3) + User interface design (6) + Video (4) + Writing and style (19) * Recent Comments + Introduction to axiomatic semantics (2) o Bertrand Meyer: Thank you very much for noticing this! I was playing with my ETH site and made a false move.... o nikita: Both pdf links are broken for me (land to 404 page). + Hilbert spaces (1) o JSoftwareEngineer: Maybe their last mayor was blatantly incompetent for the office (like the USA's last... + One way to become a top scientist... (1) o finnianr: It's great to read accounts like this. It reminds me of another great historical figure who was... + Panel on methodology and agility, this Monday (20 September) (1) o JSoftwareEngineer: Sounds important but I can't attend at that time. Will there be a recording? Thanks for all... + Time to resurrect PSP? (1) o JSoftwareEngineer: I love a good pun, please share. + Notations you didn't even know you could use (2) o Bertrand Meyer: See the latest post. o colin-adams: How does the completion mechanism work? What do you have to start typing for completion of each symbol? + Getting your priorities right (2) o Bertrand Meyer: Six months later, Covid entering its "second wave" in France, and those signs are still... + The fool wants nothing (1) o manumart1: Similar to this: "It Ain't What You Don't Know That Gets You Into Trouble. It's What You Know... * Archives + September 2022 (4) + August 2022 (1) + June 2022 (2) + December 2021 (1) + October 2021 (1) + September 2021 (2) + July 2021 (1) + March 2021 (2) + February 2021 (3) + January 2021 (2) + December 2020 (3) + November 2020 (2) + October 2020 (1) + September 2020 (1) + August 2020 (1) + June 2020 (1) + May 2020 (2) + April 2020 (3) + March 2020 (8) + February 2020 (3) + January 2020 (2) + December 2019 (5) + November 2019 (7) + October 2019 (1) + August 2019 (1) + May 2019 (1) + April 2019 (3) + January 2019 (1) + December 2018 (3) + November 2018 (1) + October 2018 (1) + September 2018 (1) + August 2018 (1) + May 2018 (3) + April 2018 (1) + February 2018 (2) + January 2018 (8) + December 2017 (2) + November 2017 (1) + October 2017 (1) + September 2017 (1) + June 2017 (5) + May 2017 (1) + March 2017 (1) + December 2016 (1) + November 2016 (2) + September 2016 (2) + May 2016 (1) + February 2016 (1) + October 2015 (1) + September 2015 (1) + July 2015 (4) + March 2015 (1) + February 2015 (2) + January 2015 (2) + December 2014 (2) + September 2014 (5) + August 2014 (2) + July 2014 (1) + June 2014 (4) + May 2014 (2) + April 2014 (2) + March 2014 (4) + February 2014 (1) + January 2014 (5) + November 2013 (4) + October 2013 (5) + September 2013 (2) + August 2013 (4) + July 2013 (1) + May 2013 (12) + April 2013 (3) + March 2013 (2) + February 2013 (9) + January 2013 (4) + December 2012 (8) + November 2012 (4) + October 2012 (7) + August 2012 (1) + July 2012 (4) + June 2012 (1) + April 2012 (3) + March 2012 (3) + February 2012 (4) + January 2012 (4) + December 2011 (3) + November 2011 (4) + October 2011 (3) + September 2011 (1) + August 2011 (4) + July 2011 (5) + June 2011 (6) + May 2011 (3) + March 2011 (1) + November 2010 (3) + October 2010 (3) + August 2010 (1) + July 2010 (2) + June 2010 (1) + May 2010 (3) + April 2010 (3) + March 2010 (1) + February 2010 (1) + January 2010 (4) + December 2009 (1) + November 2009 (1) + October 2009 (5) + September 2009 (1) + August 2009 (17) + July 2009 (1) * Get RSS feed [feed-icon3] Add feed * Meta + Register + Log in + Entries RSS + Comments RSS + WordPress.org Entries (RSS) and Comments (RSS).