SCOUG-Programming Mailing List Archives
Return to [ 20 | 
May | 
2005 ]
 
 
 
Content Type:   text/plain 
The May issue of Linux Format had an article on GCC 4.0, so I can now  
correct some of the bogus information that I posted earlier.  The flow  
diagram showing how LEX and YACC go together to make the language front  
end (PL11.exe) still stands.  However, I goofed when I said that the  
PL11.exe front end produces RTL as the compiled output from the input  
PL/I program.  Actually, the output from the language processor is an  
"Abstract Syntax Tree" (AST).  The AST then goes into the next pass of  
the compiler which then outputs the register transfer language (RTL).  
The RTL then goes on to the back end which converts it to code for the  
specific processor, e.g., i386, PowerPC, ARM, M68K, Alpha, VAX, S\390,  
etc.  
 
According to the article, some development has concentrated on the  
pass that converts the AST's to RTL.  As it turns out, the AST's  
generated by each front end differ.  So the f771.exe front end produces  
an AST that has some FORTRAN-isms.  The java1.exe front end produces  
an AST that has Java constructs,  The c++1.exe front end produces an  
AST that has C++ quirks to deal with.  
 
RTL is not well suited to high-level optimizations, so the language  
front ends have had to do the optimizations in the 3.x versions.  One  
effort in the current 4.0 compiler has been to 1) take the AST's and  
clean them of language quirks to produce a common generic AST, then  
2) apply a tree-SSA transformation to the generic AST.  (SSA==Single,  
Static Assignmnent transformation)  The SSA transformed generic  
abstract syntax tree, can then be optimized prior to the generation  
of the RTL.  
--   
Gregory W. Smith (WD9GAY)                            gsmith@well.com  
 
=====================================================  
 
To unsubscribe from this list, send an email message  
to "steward@scoug.com". In the body of the message,  
put the command "unsubscribe scoug-programming".  
 
For problems, contact the list owner at  
"postmaster@scoug.com".  
 
=====================================================  
 
  
Return to [ 20 | 
May | 
2005 ] 
  
  
The Southern California OS/2 User Group
 P.O. Box 26904
 Santa Ana, CA  92799-6904, USA
Copyright 2001 the Southern California OS/2 User Group.  ALL RIGHTS 
RESERVED. 
 
SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group.
OS/2, Workplace Shell, and IBM are registered trademarks of International 
Business Machines Corporation.
All other trademarks remain the property of their respective owners.
 
 |