Opened 14 years ago
Closed 10 years ago
#1301 closed task (wontfix)
Redesign: Add extra phase on top of SCode
Reported by: | Martin Sjölund | Owned by: | Martin Sjölund |
---|---|---|---|
Priority: | low | Milestone: | Compiler Redesign |
Component: | Preprocessor | Version: | |
Keywords: | Cc: | Martin Sjölund |
Description
Add another phase to the compiler to speed up instantiation. Today, we perform the same extends many times and it involves a lot of lookup.
This phase should transform Absyn to SCode, where SCode no longer contains {{import}}, {{extends}}, {{encapsulated}} and makes crefs to {{constant}} elements fully qualified. Then remove InstExtends.
The interactive API should use this form when appropriate (for example: querying parameters of a class will not resolve inherited parameters).
Additional requirement: Make this a module with little to no external dependencies (apart from parser, ClassLoader and Absyn, basically), so that we can create an ompp (OpenModelica PreProcessor) tool that unparses this SCode to valid Modelica code (that any Modelica tool can parse). This tool could be used to verify that the preprocessing doesn't break for example Modelica.Media (by verifying in Dymola), or used by another tool to see if they can make Modelica.Media work without doing all this preprocessing.
Change History (1)
comment:1 by , 10 years ago
Cc: | sjoelund.se, → sjoelund.se |
---|---|
Resolution: | → wontfix |
Status: | new → closed |
We have some other stuff in the works at the moment