Changes between Version 15 and Version 16 of Ticket #4138


Ignore:
Timestamp:
2016-12-02T12:55:01Z (8 years ago)
Author:
Adrian Pop
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #4138 – Description

    v15 v16  
    11This ticket is tracking the progress on the core of the new frontend. The current status is:
    22
    3  Instantiation (perost, Adrian) 50%::
     3 Instantiation (Per, Adrian) 50%::
    44   Instantiation of long and short class definitions are implemented. Still missing are class extends, enumerations, overloaded functions and partial derivative functions. The handling of equations, algorithms and expressions also needs to be expanded, so far it's mostly just a proof of concept.
    55
    6  Extends (perost) 80%::
     6 Extends (Per) 80%::
    77   Support for extends is implemented. More error checking is needed though, e.g. for duplicate elements and illegal class types.
    88
    9  Lookup (perost) 80%::
     9 Lookup (Per) 80%::
    1010   Basic lookup is implemented, both for class names and crefs. Very little error checking is done beyond "name could not be found" though. Some more lookup functions will likely be needed for e.g. inner/outer.
    1111
    12  Modifiers (perost) 60%::
     12 Modifiers (Per) 60%::
    1313   Support of modifiers on components, extends clauses and class modifiers is implemented, more testing is needed.
    1414
    15  Redeclare (perost) 50%::
     15 Redeclare (Per) 50%::
    1616   Only very basic redeclare of components is implemented, more work is needed for redeclare of classes, merging of modifiers, constraining type, etc.
    1717
    18  Imports (perost) 25%::
     18 Imports (Per) 25%::
    1919   Basic support for qualified imports is implemented, unqualified imports still remains. It's also only possible to import classes at the moment, and not components. Some way of marking elements as imported is also needed, currently they are just inserted into the importing class as they are.
    2020
    21  Conditional Components::
     21 Conditional Components (Per) ::
    2222   No support for conditional components implemented.
    2323
    24  Inner/Outer::
     24 Inner/Outer (Adrian) ::
    2525   No support for Inner/Outer is implemented at all so far, but the new instance tree structure should make this fairly straightforward.
    2626
    27  Functions::
     27 Functions (Adrian, Peter) ::
    2828   No support for functions so far. Instantiation and typing of functions needs to be implemented, and we need some way of storing them during the instantiation (reuse function table from "old new frontend"?).
    2929
    30  Records::
     30 Records (Mahder) ::
    3131   No support for records so far, except that the instantiation will instantiate the records as normal classes. Support for record constructors needs to be implemented, and other record things.
    3232
    33  Builtin (perost) 5%::
     33 Builtin (Per) 5%::
    3434   So far only support for the basic types and time is implemented. Support for all the builtin functions and other builtin things (e.g. StateSelect, ExternalObject, etc.) needs to be implemented. As much as possible should be implemented via ModelicaBuiltin.
    3535
    36  Typing::
     36 Typing (Mahder, Peter) 60%::
    3737   Quite a lot of typing is already implemented, but it needs to be expanded to handle all kinds of expressions and so on.
    3838
    39  Type Checking::
     39 Type Checking (Mahder, Peter, Arun) 10%::
    4040   Some parts of the type checking module from the "old new frontend" is being used to type check binary expressions at the moment. Everything in NFTypeCheck that's not used is commented out since some of it doesn't compile any more. We need to investigate if more of the old code can be reused, and implement missing/nonreusable parts.
    4141
    42  Flattening (perost) 25%::
     42 Flattening (Per) 25%::
    4343   Expansion of array bindings is currently broken and need to be fixed. Subscripting needs to be improved, and the module in general needs to be expanded to keep up with the phases before it.