Difference between revisions of "Assignment: Semantic Analysis"

From Embedded Xinu
Jump to navigation Jump to search
(added links to grammar)
 
Line 1: Line 1:
 
= Overview =
 
= Overview =
In this project students implement a semantic analysis (type checking) pass for our [[Concurrent MiniJava Grammar|modified MiniJava]] language.
+
In this project students implement a semantic analysis (type checking) pass for our [http://www.mscs.mu.edu/~brylow/cosc4400/Spring2011/ConcurrentMiniJava.html Concurrent MiniJava] language.
  
 
== 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. 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.
+
Our [http://www.mscs.mu.edu/~brylow/cosc4400/Spring2011/ConcurrentMiniJava.html 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.

Latest revision as of 19:31, 27 August 2010

Overview

In this project students implement a semantic analysis (type checking) pass for our Concurrent 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.