Bachelor Project in Compiler Construction
 
Spring 2019
Kim Skak Larsen

Home Groups

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 an identifier. 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).

 


   Data protection at SDUDatabeskyttelse på SDU