Inger Programming Language

December 17th, 2010

Back in 2003, a small team of students in the Netherlands worked on a new esoteric programming language called Inger. It was modelled after C, but with some syntactic sugar that made it more readable. Inger forces braces for every block statement The parameters and result of a function are specified in functional notation:

[…]

This article was posted by Independent Software, a website and database application development company based in Maputo, Mozambique. Our website offers regular write-ups on technical and design issues, ranging from details at code level to 3D Studio Max rendering. Read more about Independent Software's philosophy, or get in touch with Independent Software.

Back in 2003, a small team of students in the Netherlands worked on a new esoteric programming language called Inger. It was modelled after C, but with some syntactic sugar that made it more readable.

  • Inger forces braces for every block statement
  • The parameters and result of a function are specified in functional notation:

Inger was created specifically to accompany the book “Compiler Construction – A Practical Approach” which discussed the development of a compiler from the ground up.

The open source project is still available at Sourceforge here. Also, the book may be downloaded from the Inger project page or, more simply, here (PDF, 2.14 MB).

Did this article help you out? Please help us find more time to write useful guides & articles like this by donating a buck or two. It'll keep us coffee-fueled. Thanks!

Comments

3 3 Responses to “Inger Programming Language”
  1. yves says:

    Hi there,
    Are you aware if the project for the Inger programming language is still active? I think this is a great project and initiative. It would be even better if it used a hand coded lexer. Is there any objection if I put the code on github? This project should not be lost.

    I have printed the Compiler Construction book and want to try making it. But instead of using C I want to try using D as the implementation language.

    I downloaded the Inger compiler source but unfortunately it doesn’t compile for me. .. ./configure fails.

    • alex says:

      Hello,

      The Inger project was finished back in 2003 after the “Compiler Construction: A Practical Approach” book was published. The book was the most important outcome, but at the time there were also workshops for students to build (parts of) the Inger compiler themselves, in C. Still, as you say, the book would be a good starting point for implementations in different languages to show how it could be done: fun! As one of the four people involved in the project at the time, I grant you permission to place all the code on Github – as long as you please make sure that all four researchers as mentioned on the cover of the book are credited. Feel free to to invite me to the Github project (alex.vanoostenrijk@gmail.com).

      As for compiling the project: I haven’t look at it in a long time. The makefiles may no longer be valid for gmake. I am sure that the code, once placed on Github, will need some tweaks to compile. The brunt of it is standard C, so it should compile straightforwardly. I remember that we were always to compile it on Slackware UNIX using gcc.

      I like your idea of redoing this project in multiple languages – perhaps the Github project should have a separate section for each implementation?

      A hand-coded lexer is a fine idea, and it will probably work out fine for Inger’s grammar. It would also be good to show how that’s done (I believe the book describes some of that). On the other hand, the book was also an introduction to lexers written in yacc/bison, so both options are good.

      Alexander

Leave a Reply

Your email address will not be published. Required fields are marked *