Skip to content

Conversation

fcurdi
Copy link

@fcurdi fcurdi commented Dec 17, 2020

Adds code generation functionality using System Reflection Metadata library. A translation of TAC to Simplified Bytecode is included as well.

Structure:

  • All code needed for generation is included in the new project MetadataGenerator.
  • Tac to Bytecode translation is added in the existing Backend project under the Transformation.Assembly folder.
  • There are two other projects added, Examples and ExamplesEXE, that are samples used while developing this changes. The first one compiles to a DLL while the second one generates an EXE file. These are not essential though, so they can be eliminated if needed.

Besides these additions, several changes were made to the framework in the Loader and Dissasembler modules as well as in some definitions like types, methods, and so on. Almost all of this changes were made in different pull requests so it is easier to review the changes. The ones that were not made in a separate PR, and are included in this one, are the changes in the Dissasembler since it was difficult to isolate them because they were dependant on the other pull requests. Probably the best way to merge these changes will be to go through the previous pull requests first and once they are all merged if necessary this PR could be split in two, one with the new changes and one with the Dissasembler changes.

This pull request includes changes from all previous pull requests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant