cvsuser     05/01/10 19:55:20

  Modified:    imcc/docs parsing.pod
  Log:
   Clarifications
  
  Revision  Changes    Path
  1.12      +27 -21    parrot/imcc/docs/parsing.pod
  
  Index: parsing.pod
  ===================================================================
  RCS file: /cvs/public/parrot/imcc/docs/parsing.pod,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- parsing.pod       23 Oct 2003 17:02:54 -0000      1.11
  +++ parsing.pod       11 Jan 2005 03:55:19 -0000      1.12
  @@ -36,9 +36,10 @@
   
   =head2 Comments
   
  -Comment start with B<#> and end at line end.
  +Comments start with C<#>, which may appear at any point on a line, and end 
at 
  +the end of the line. 
   
  -=head2 POD
  +=head2 POD sections
   
   Everything enclosed in POD markers is ignored.
   
  @@ -46,34 +47,38 @@
        ...
        =cut
   
  -A POD starts with a B<=> in columns 1 and ends with B<=cut> on its own line.
  +A POD section starts with a B<=> in column 1 and ends with a B<=cut> on a 
line
  +on its own.
   
   =head1 Compilation units
   
  -=head2 Subroutines .sub ... .end
  +=head2 Subroutines: .sub ... .end
  +
  +This code:
   
        .sub _name
                statements
                ...
        .end
   
  -defines a subroutine with the entry point B<_name>. Subroutine entry
  -points (as all global labels) have to start with an underscore. The
  -statements may contain valid PIR or PASM statements.
  +defines a subroutine with the entry point C<_name>. Subroutine entry
  +points have to start with an underscore (as do all other global 
  +labels). The statements in the subroutine must be valid PIR or PASM.
   
  -=head2 Subroutines .pcc_sub ... .end
  +=head2 Subroutines: .pcc_sub ... .end
   
        .pcc_sub _name
                statements
                ...
        .end
   
  -Like above with parrot calling conventions.
  -Subroutines according to Parrot Calling Conventions (PCC) are
  -described in F<docs/calling_conventions.pod>.
  +As above, but using the Parrot calling conventions. See
  +F<docs/calling_conventions.pod> for more details.
   
   =head2 Assembly blocks .emit ... .eom
   
  +This code:
  +
        .emit
        _sub1:
                pasm_statements
  @@ -87,29 +92,30 @@
   
   =head2 Code outside compilation units
   
  -Anything outside compilation units will be ignored in the near future.
  +Any code appearing outside of a compilation unit will be ignored 
  +(if not now, then in the near future).
   
   =head2 Nested subs
   
  -Nested subroutines are deprecated and will be removed as well.
  +Nested subroutines are deprecated and will be removed in the near
  +future.
   
   =head1 Symbols, constants and labels
   
   I<Compilation units> maintain their own symbol table containing local
  -labels and variable symbols. This symbol table I<hash> is not visible
  +labels and variable symbols. This symbol table, C<hash>, is not visible
   to code in different units.
   
  -If you need global variables please use the B<global> opcode.
  +If you need global variables, please use the B<global> opcode.
   
   Global labels and constants are kept in the global symbol table
  -I<ghash>.
  -
  -This allows for global constant folding beyond subroutine scope.
  +C<ghash>. This allows for global constant folding beyond the scope
  +of individual subroutines.
   
   Local labels in different I<compilation units> with the same name are
  -allowed, though assembling the generated PASM
  -doesn't work. Running this code inside imcc is ok.
  -This will probably change so that local labels are mangled to be unique.
  +allowed, though assembling the generated PASM doesn't work. However,
  +running this code inside imcc is ok. This will probably change in the 
  +future so that local labels are mangled to be unique.
   
   =head1 SEE ALSO
   
  
  
  

Reply via email to