To the language in Level 0, add other arithmetic operators (-, , / and %) and boolean operators (==, !, , &&). Bitwise operators are not to be added. Unary `-' is also required as is the conditional (aka ternary) : ``?:''. Parentheses are to be used to specify the desired evaluation order. Boolean values are represented using integers as in usual C. Thus we ``complete'' the basic capabilities of the language.
A few example programs are as shown below. For brevity, we ignore the function headers and type declarations.