Language Specification

The Inger language is very similar to C. In fact, we chose to model our language after C because we focus on compiler construction, not on language design. The language may change radically in subsequent iterations of Inger development. Currently, the main differences between Inger and C are:

  • Inger is simpler than C (there are no structs)
  • Inger is slightly cleaner than C, because it requires statements in IF clauses to be enclosed in braces, whereas C allows IF clauses with a single statement without braces. The same goes for WHILE etc. We feel that this is less error-prone.

There are a number of ways to describe the Inger language, and we would like to refer the reader to our Compiler Construction book which contains a large text about the language itself. For readers familiar with syntax diagrams or (E)BNF, the syntax is included on these pages:

Syntax Diagrams