SAN474: Algol60 compiler


View our current grammar or the acutal Algol60 spec.
We also have online copies of the MU grammar, and the project description.
Caseid Num Type Phase Description
1 1 fail 2a Assign real to integer variable.
2 2 fail 1a Double declaration of differing types.
3 3 fail 1a Using undeclared variable.
4 4 fail 1a Assignment to a number.
5 5 fail 2a integer mod real
6 6 fail 2a real mod real
7 7 fail 2a Pass test #7 with missing semi-colon before 'end'
8 8 fail 1a Statements after end of program
9 9 fail 1a Missing comma in variable declare.
10 10 fail 1a Empty parenthesis.
11 11 fail 2a Exponentiation by a real.
12 12 fail 2a Exponentiation by a variable.
13 13 fail 1a Double declaration of same type.
14 14 fail 3a Missing 'then' in 'if' line.
15 15 fail 3a Missing 'do' in 'for' line.
16 16 fail 3a Missing 'step' in 'for..step..until'
17 17 fail 3a Missing 'until' in 'for..step..until'
18 18 fail 3a Missing 'while' in 'for..while'
19 19 fail 4a Procedure in expression context without ().
20 20 fail 4a Multiple procedure declaration.
21 21 fail 5a Attempt to use non-typed function in expression.
22 22 fail 5a Testing return type coherence.
23 23 fail 5a Passing not enough parameters.
24 24 fail 5a Passing the wrong type of parameters.
25 25 fail 5a Passing too many parameters.
26 1 pass 1a Integer assignment to declared variable.
27 2 pass 1a Nested assignment on variable declaration.
28 3 pass 1a Assignment on declaration and nested assignment.
29 4 pass 1a All integer numerical operations.
30 5 pass 1a All real numerical operations.
31 6 pass 2a Mixed mode expressions with all operations.
32 7 pass 2a Mixed mode expressions with two variables and various constant types.
33 8 pass 1a Assigning variables when they're in the expression.
34 9 pass 1a Multiple variable declaration.
35 10 pass 1a Multiple variable declaration and initialization.
36 11 pass 1a Parenthesis precendence.
37 12 pass 1a Single-line comments.
38 13 pass 2a Exponentiation of integers.
39 14 pass 2a Exponentiation of reals.
40 15 pass 2a Exponentiation in complex expression.
41 16 pass 1a Block commented out program.
42 17 pass 2a Assignment of integer values to real variables.
43 18 pass 2a Logical operations (and, or, not).
44 19 pass 3a tests for less than or equal to
45 20 pass 3a test for less than
46 21 pass 3a tests for equal comparison
47 22 pass 3a tests for not equal comparison
48 23 pass 3a test for greater than
49 24 pass 3a test for greater than or equal to
50 25 pass 3a 'for' with positive 'step' and 'until'.
51 26 pass 3a 'for' with 'while'.
52 27 pass 3a 'for' with just arithmetic expression.
53 28 pass 3a 'for' with negative 'step' and 'until'.
54 29 pass 3a 'if' statement
55 30 pass 3a 'if'..'else' statment
56 31 pass 3a 'if' with nested 'if'
57 32 pass 3a 'if'..'else' with nested 'if'
58 33 pass 3a 'if'..'else' with nested 'if'..'else'
59 34 pass 4a Procedure with a 'for' loop.
60 35 pass 4a Procedure with a variable and print.
61 36 pass 4a Multiple procedures with a 'for' loop.
62 37 pass 4a Variable shadowing in procedures.
63 38 pass 5a Return value from procedure
64 39 pass 3a Massive Exponentiation
65 40 pass 5a Reference parameters