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.
|