Difference between revisions of "Assignment: Semantic Analysis"

From Embedded Xinu
Jump to navigation Jump to search
(Created Page for Type Checking project)
 
Line 3: Line 3:
  
 
== Notes ==
 
== Notes ==
Our [[Concurrent MiniJava Grammar|modifications to MiniJava]] require an additional step for initializing the class and type environments. The class environment must be initialized with a type-descriptor containing each of the method types in class [[Xinu Helper Class|''Xinu'']], and the type environment must be initialized with a binding of identifier ''Xinu'' to this class type.
+
Our [[Concurrent MiniJava Grammar|modifications to MiniJava]] require an additional step for initializing the class and type environments. The class environment must be initialized with a type-descriptor containing each of the method types in class [[Xinu Helper Class|''Xinu'']], and the type environment must be initialized with a binding of identifier ''Xinu'' to this class type. With this, the type checker can verify that external calls are programmed properly and also verify that only external calls which the compiler knows how to map to the underlying runtime are being used in the program.

Revision as of 23:26, 29 July 2010

Overview

In this project students implement a semantic analysis (type checking) pass for our modified MiniJava language.

Notes

Our modifications to MiniJava require an additional step for initializing the class and type environments. The class environment must be initialized with a type-descriptor containing each of the method types in class Xinu, and the type environment must be initialized with a binding of identifier Xinu to this class type. With this, the type checker can verify that external calls are programmed properly and also verify that only external calls which the compiler knows how to map to the underlying runtime are being used in the program.