Informal specification of the Tiny language A Tiny program is a sequence of statements separated by semicolons. There are no procedures or declarations. There are two control statements: an if-statement and a repeat-statement. Both control statements may themselves contain statement sequences. An if-statement has an optional else-part, and must be terminated by the keyword "end". Input and output are performed by read and write statements. Non-nested comments are contained between braces. Tiny expressions are either Boolean or integer. Noolean expression are constructed using < and = operators. Boolean expressions may only be used in control statements. Arithmetic expressions are constructed recursively using operators +, -, * and /, and parentheses. All variables are integer-valued. Here is a sample program: { Sample Tiny program - computes factorial } read x; { input an integer x } if x > 0 then fact := 1; repeat fact = fact * x; x := x - 1; until x = 0; write fact { output factorial of x } end