parrotcode: Untitled | |
Contents | Language Implementations | .Net |
+----------------------------+
| .NET CLI EXE or DLL File |
+------------||--------------+
||
_||_
\ /
+------------\/--------------+
| Metadata Translator |----------+
+------------||--------------+ |
|| +------+
_||_ | PMCs |
\ / +------+
+------------\/--------------+ |
| Instruction Translator |----------+
+------------||--------------+
||
_||_
\ /
+------------\/--------------+
| Translated PIR Code |
+------------||--------------+
||
_||_
\ /
+------------\/--------------+
| Translated Parrot Bytecode |
+----------------------------+
Details of them can be found in pmcs.pod and the source files are in the "pmc" directory and have file extension ".pmc". The .c and most of the .h files are generated, so should not be modified; "structures.h" and "tableinfo.h" are the two exceptions to this rule.
This module uses the PMCs extensively. It translates the class hierachy, fields and method headers with their parameter list and local variables. It delegates the translation of the method body to the instruction translator.
The source for this subsystem is found in the "src" directory. It is written in PIR.
Rules and stack to register mapping are specified in a number of files and a build tool (located in the "build" directory) turns them into PIR. This resultant PIR ends up in the "src" directory.
|