From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24019 invoked by alias); 17 Dec 2001 23:22:36 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 22768 invoked from network); 17 Dec 2001 23:21:14 -0000 Received: from unknown (HELO mail.wrs.com) (147.11.1.11) by sources.redhat.com with SMTP; 17 Dec 2001 23:21:14 -0000 Received: from kankakee.wrs.com (kankakee [147.11.37.13]) by mail.wrs.com (8.9.3/8.9.1) with ESMTP id PAA27862; Mon, 17 Dec 2001 15:20:18 -0800 (PST) From: mike stump Received: (from mrs@localhost) by kankakee.wrs.com (8.9.3+Sun/8.9.0) id PAA11826; Mon, 17 Dec 2001 15:21:12 -0800 (PST) Date: Mon, 17 Dec 2001 15:46:00 -0000 Message-Id: <200112172321.PAA11826@kankakee.wrs.com> To: gcc@gcc.gnu.org, pinkfloydhomer@yahoo.com Subject: Re: How to understand gcc X-SW-Source: 2001-12/txt/msg00956.txt.bz2 I think you can get answers as varied as people are. I'll just toss out a few quick things that can keep you busy for 5 years learning. > From: "David Rasmussen" > To: > Date: Mon, 17 Dec 2001 23:51:19 +0100 > How can I learn how gcc works? :-) I like simple, to the point questions that have simple answers. Unfortunately, yours is not. > I have taken one compiler course at my university, Good first step. In addition, you can take advanced algorithms classes, theory classes... You can also go to the library and find books on compilers and languages and read them all. > and I own the "Dragon book" I'd recommend reading and understanding it, if you haven't yet. :-) > But really, I would like to have some sort of general understanding > about the design of gcc, You didn't mention if you had read the gcc manual, see our web site, under documentation, and manual. If you have not, you should. After that, please read the comments in the code, after that please read the code. After that, try fixing 100 bugs or doing a port. Your understanding will improve when trying to fix bugs or while doing a port. Also helpful, write an interpreter and compiler from the ground up. Lather, rinse, repeat.