Difference between revisions of "Assignment: Semantic Analysis"
Jump to navigation
Jump to search
(→Notes) |
(added links to grammar) |
||
Line 1: | Line 1: | ||
= Overview = | = Overview = | ||
− | In this project students implement a semantic analysis (type checking) pass for our [ | + | 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 [ | + | 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.