Alexander Morou
Sponsor
Over the past few years I've been working on projects associated to lexers, parsers and compilers and I've finally reached a point within the compiler project to start a general-purpose semantic analysis phase.
For those familiar with this process it's a fairly complex one which involves: identity resolution, type checking, flow-control checks for uninitialized variables and ensuring a method result for each code path. Due to the complex nature of the feature set it'll also involve LINQ rewrites, Lambda rewrites, Async and Iterator rewrites, and the list goes on.
This thread is a progress thread for that process. It'll require multiple passes and reconstruction of the statements/expressions within the object model as well as type rewrites to accommodate the aforementioned feature set.
Since I know these concepts in theory but not practice, it should be interesting to see what results.
Current progress:
Structure Analysis - Analysis of the structure of the framework to determine the best course of action, it's pretty large.
For those familiar with this process it's a fairly complex one which involves: identity resolution, type checking, flow-control checks for uninitialized variables and ensuring a method result for each code path. Due to the complex nature of the feature set it'll also involve LINQ rewrites, Lambda rewrites, Async and Iterator rewrites, and the list goes on.
This thread is a progress thread for that process. It'll require multiple passes and reconstruction of the statements/expressions within the object model as well as type rewrites to accommodate the aforementioned feature set.
Since I know these concepts in theory but not practice, it should be interesting to see what results.
Current progress:
Structure Analysis - Analysis of the structure of the framework to determine the best course of action, it's pretty large.