Changes between Version 35 and Version 36 of PIRCDevelopment

Show
Ignore:
Timestamp:
10/09/09 08:11:12 (12 years ago)
Author:
kjs
Comment:

[wiki] add a description on PIRC's dataflow

Legend:

Unmodified
Added
Removed
Modified
  • PIRCDevelopment

    v35 v36  
    8282 
    8383 * Fix ticket #163. Keyed multi types must be implemented 
     84 
     85= PIRC Data Flow = 
     86 
     87The data flow of PIRC is as follows. First, the [source:/trunk/compilers/pirc/src/hdocprep.l heredoc preprocessor] takes the PIR file and flattens all heredoc strings. The output is written to a temporary file, which is then parsed by the [source:/trunk/compilers/pirc/src/pir.l Flex based lexer] and the [source:/trunk/compilers/pirc/src/pir.y Bison based parser]. The parser create an Abstract Syntax Tree (AST); the AST nodes for that are defined in [source:/trunk/compilers/pirc/src/pircompunit.c]. If the parse was successful, control is passed on to the [source:/trunk/compilers/pirc/src/piremit.c] module, which traverses the AST. During the traversal, bytecode is generated through the [source:/trunk/compilers/pirc/src/bcgen.c] module. The output is written to a file named a.pbc; the name of the output file can be overridden with the {{{-o}}}[wi option. 
    8488 
    8589= PIRC Internals =