Exemptions for Groups of Size One
This page lists exemptions for each project part.
The exemptions only apply to groups of size one.
You do not have to program the hash function as indicated in
the project description. Instead, you may use any method
you like to convert an identifier (a string) to an integer.
You do not have to handle multi-line comments. This is a
non-trivial simplification since one-line comments can be
handled without introducing states in the Flex definition file.
You may assume that the vertical lines used for absolute value
are surrounded by spaces in user programs.
You do not have to handle type definitions to more than one level.
Thus, type declarations inside array and record type definitions
may be restricted to just the simple types (int or bool) or
Type declaration of function parameters may be limited in the same
way, i.e., if the type is not simple, then the user must write
a (type) identifier which is defined elsewhere in the user program.
Note that it is only the syntactic nesting which is simplified.
You must still be able to handle nested constructions via
type variables (you will understand this more fully later).
You do not have to make a weeder.
You do not have to extend the prettyprinter to printing type information.
You do not have to handle complex unnamed types (as also described
for the part above).
You do not have to implement any of the extensions.
You do not have to generate code for complex unnamed types (as also
described for the parts above).