SCOOP-A3: Compiler adaptation
Team: Alexander Kogtenkov, Ted
Contents
Summary
-  Parser
- Support only separate type declarations (exclude separate class declarations).
- Provide syntax to refer to the processors (not supported in 6.7).
- Take into account the possibility to use anchors.
 
-  Type checking introduces new
- Conformance rules that affect type system
- Validity rules that require good description of errors
 
-  Code generation is closely connected with work on the scheduler (A1, A2) and should target
- bytecode
- C code
- CIL code
 
Decisions
-  Syntax
- Drop support of separate classes, only separate types are supported.
- Separate mark is allowed not only for class types, but also for other types.
 
-  Semantics
-  Default formal generic constraint is detachable separate ANY.
- Formal generic is considered non-separate if at least one constraint is not separate, otherwise it is considered separate.
 
-  Default formal generic constraint is 
- Code generation
- User interface
Open questions
- Shall separate types be supported in CECIL? If yes, how is this done?
Progress
| Functionality | Status | 
|---|---|
| Syntax for separate types | rev#84252 | 
| Separate status in conformance tests | |
| Validity rules specific to separate types | |
| Bytecode generation | |
| C code generation | |
| CIL code generation | 



