Changes between Version 33 and Version 34 of PIRCDevelopment

Show
Ignore:
Timestamp:
08/27/09 09:29:48 (12 years ago)
Author:
kjs
Comment:

info about AST node types

Legend:

Unmodified
Added
Removed
Modified
  • PIRCDevelopment

    v33 v34  
    317317 * [source:/trunk/compilers/pirc/src/pircompunit.h#L172 constant], used to represent literal constants in the source code (e.g. 42, 3.14, "hello") 
    318318 
    319  * [source:/trunk/compilers/pirc/src/pircompunit.h#L180 label] 
    320  
    321  * [source:/trunk/compilers/pirc/src/pircompunit.h#L196 expression] 
    322  
    323  * [source:/trunk/compilers/pirc/src/pircompunit.h#L216 key_entry] 
    324  
    325  * [source:/trunk/compilers/pirc/src/pircompunit.h#L225 key] 
    326  
    327  * [source:/trunk/compilers/pirc/src/pircompunit.h#L238 target] 
    328  
    329  * [source:/trunk/compilers/pirc/src/pircompunit.h#L255 argument] 
    330  
    331  * [source:/trunk/compilers/pirc/src/pircompunit.h#L275 invocation] 
    332  
    333  * [source:/trunk/compilers/pirc/src/pircompunit.h#L288 instruction] 
    334  
    335  * [source:/trunk/compilers/pirc/src/pircompunit.h#L354 subroutine] 
     319 * [source:/trunk/compilers/pirc/src/pircompunit.h#L180 label], used to store a label and its instruction offset 
     320 
     321 * [source:/trunk/compilers/pirc/src/pircompunit.h#L196 expression], used to represent an instruction operand. Since there are many different AST node types, and an instruction can have various types of operands, the expression node type is used to wrap these. 
     322 
     323 * [source:/trunk/compilers/pirc/src/pircompunit.h#L216 key_entry], used to represent a key value; for instance the key [1;"hi"] has 2 entries: {{{1}}} and {{{"hi"}}}. 
     324 
     325 * [source:/trunk/compilers/pirc/src/pircompunit.h#L225 key], used to represent a key; it has a pointer to the first key value, and keeps track of the total number of key entries ({{{[1;"hi"]}}} has 2 key entries) 
     326 
     327 * [source:/trunk/compilers/pirc/src/pircompunit.h#L238 target], used to represent a left-hand side (LHS) object. As such, it can be assigned a value (hence the name {{{target}}}), and it can be used as a right-hand side (RHS) value.  
     328 
     329 * [source:/trunk/compilers/pirc/src/pircompunit.h#L255 argument], used to represent argument values for subroutine invocations, or for return statements. It has a pointer to an expression node that is the actual value, an {{{flags}}} field that encodes any flags (such as {{{:flat}}}, and an {{{alias}}} field, if the argument is passed by name. 
     330 
     331 * [source:/trunk/compilers/pirc/src/pircompunit.h#L275 invocation], used to temporarily represent a subroutine invocation or a return statement. It is used only temporarily; {{{invocation}}} nodes are not stored in the AST. Instead, they are converted into a set of instructions after the subroutine invocation or return statement has been parsed. 
     332 
     333 * [source:/trunk/compilers/pirc/src/pircompunit.h#L288 instruction], used to represent a single instruction. 
     334 
     335 * [source:/trunk/compilers/pirc/src/pircompunit.h#L354 subroutine], used to represent a subroutine definition. 
    336336 
    337337== Vanilla Register Allocator ==