Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EDT:Core"

Line 1: Line 1:
Functional Breakdown of EDT Core
+
Please see the parent of this page, [[EDT:IDE]].
  
*Compiler
+
== EDT Core   ==
**Validation
+
***Bring validation framework from RBD to EDT  
+
***Use operators to determine compatibility
+
***Use operators to resolve overloaded functions
+
***Allow compilers to register their own validators and binders
+
**Bindings
+
***Remove hardcoded types (Dictionary, ArrayDictionary, etc)
+
***Remove hadcoded functions in Array (get from mof model)
+
***Represent operations and conversions in bindings
+
***Remove the binding hierarchy and replace it with IRs (binding level IRs)...requires change to all tooling that uses bindings
+
***Remove primitive types
+
****Compiler provides mapping of primitive type signature to mof signature
+
  
*Parser  
+
{| border="1" cellspacing="1" cellpadding="1" width="900"
**Remove primitive type keywords from lexer  
+
|-
***Investigate ways to represent CHAR(20) in grammer
+
| bgcolor="#999999" width="100" align="center" | '''''Function Area'''''
****Treat this as a function and have the compilers provide a mapping to a AST?
+
| bgcolor="#999999" width="100" align="center" | '''Function'''
****Can the parser be made to treat this as a special delineated type?
+
| bgcolor="#999999" width="100" align="center" | '''0.7'''
 +
| bgcolor="#999999" width="100" align="center" | '''1.0'''
 +
| bgcolor="#999999" width="100" align="center" | '''Future'''
 +
|-
 +
| bgcolor="#cccccc" | Binders/Validation
 +
| Port JUnit validation framework from RBD
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Strip validation code from AbstractBinder and DefaultBinder
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Strip validation code from Binders
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Create stub validators for all Part Types and statements
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Update ICompiler to allow compilers to provide their own binders and validators
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Populate stub validators for the parts and statements supported by EDT
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" | Replace Binding with IRs
 +
| Design how IRs will work as bindings (need Environment, arrays of types need to have object identity (int[] should always map to the same object)
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Update EGL2Mof hierarchy to remove bindings
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Update builder to use IRs (level 2 and 3 compile create Part IR, level 1 creates proxy part). Keep File binding and package bindings
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Update binders to use IRs instead of bindings
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Update tooling (open on select, refactor, etc) to use IRs instead of Bindings
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Use converters to validate compatibility
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Use IRUtils code to resolve overloaded functions
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" | Parser  
 +
| Remove primitive type keywords from lexer  
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Update compiler to provide a mapping of old primitive type to binding/IR
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" | Annotations
 +
|
 +
Support definition of part subtypes as either:
  
*Annotations
+
&nbsp;&nbsp;&nbsp;&nbsp; Record BasicRecord type Annotation  
**Change stereotype to be partype stereotype
+
***Must support both definition types:
+
****Record BasicRecord type Annotation  
+
****Record BasicRecord type StereoType
+
**Use the defaultType field to tell egl2Mof that stereotype definitions should be mapped to stereoTypeType
+
**Replace the InternalRef with the proxy types
+
**Rewrite the annoation binder code to be more logical
+
  
*System Parts  
+
&nbsp;&nbsp;&nbsp;&nbsp; Record BasicRecord type StereoType
**Provide a way for compilers to specify which packages are implicitly imported
+
 
**Define the list of packages that are implicitly imported by EDT (egl.lang?)
+
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Use the defaultType field to tell egl2Mof that stereotype definitions should be mapped to stereoTypeType
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Replace the InternalRef with the proxy types
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Rewrite the annotation binder code to be more logical (no harcoded references to specific annotations)<br>
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" | System Parts  
 +
| Provide a way for compilers to specify which packages are implicitly imported  
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
| Define the list of packages that are implicitly imported by EDT (egl.lang?)  
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" | &nbsp;
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" | ''EGLar''
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
|
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
|
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
|
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
|
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
|
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
|
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|-
 +
| bgcolor="#cccccc" |
 +
|
 +
|
 +
| <br>
 +
| <br>
 +
|}

Revision as of 10:51, 19 July 2011

Please see the parent of this page, EDT:IDE.

EDT Core 

Function Area Function 0.7 1.0 Future
Binders/Validation Port JUnit validation framework from RBD

Strip validation code from AbstractBinder and DefaultBinder

Strip validation code from Binders

Create stub validators for all Part Types and statements

Update ICompiler to allow compilers to provide their own binders and validators

Populate stub validators for the parts and statements supported by EDT



Replace Binding with IRs Design how IRs will work as bindings (need Environment, arrays of types need to have object identity (int[] should always map to the same object)

Update EGL2Mof hierarchy to remove bindings

Update builder to use IRs (level 2 and 3 compile create Part IR, level 1 creates proxy part). Keep File binding and package bindings

Update binders to use IRs instead of bindings

Update tooling (open on select, refactor, etc) to use IRs instead of Bindings

Use converters to validate compatibility

Use IRUtils code to resolve overloaded functions





Parser Remove primitive type keywords from lexer

Update compiler to provide a mapping of old primitive type to binding/IR





Annotations

Support definition of part subtypes as either:

     Record BasicRecord type Annotation

     Record BasicRecord type StereoType



Use the defaultType field to tell egl2Mof that stereotype definitions should be mapped to stereoTypeType

Replace the InternalRef with the proxy types

Rewrite the annotation binder code to be more logical (no harcoded references to specific annotations)






System Parts Provide a way for compilers to specify which packages are implicitly imported

Define the list of packages that are implicitly imported by EDT (egl.lang?)

































































 





EGLar

































Back to the top