Related articles |
---|
[QUERY] A "ignorant newbie" question about compiler-writing. synaptik@why.net (1997-01-02) |
Re: [QUERY] A "ignorant newbie" question about compiler-writing. dennis@netcom.com (1997-01-03) |
Re: [QUERY] A "ignorant newbie" question about compiler-writing. jlilley@empathy.com (1997-01-03) |
Re: [QUERY] A "ignorant newbie" question about compiler-writing. robison@kai.com (Arch Robison) (1997-01-03) |
Re: [QUERY] A "ignorant newbie" question about compiler-writing. mw@ipx2.rz.uni-mannheim.de (1997-01-04) |
Re: [QUERY] A "ignorant newbie" question about compiler-writing conor@aethos.co.uk (Conor O'Neill) (1997-01-09) |
Re: [QUERY] A "ignorant newbie" question about compiler-writing. kanze@gabi-soft.fr (1997-01-29) |
[13 later articles] |
From: | synaptik@why.net (synaptik) |
Newsgroups: | comp.compilers |
Date: | 2 Jan 1997 23:12:57 -0500 |
Organization: | The Why? Network |
Keywords: | question |
Hello,
Let me preface my question by stating that I have read what relevant
FAQs I could find,... yadda yadda yadda.
I am interesting it "trying my hand" at writing a 'C' compiler. I
have read this news group a bit, and I understand that compiler
development tools (such as "lexx" and "yacc") exist for this very
purpose. I am a "basement hobbyist" who's hobby is programming. It
is safe to assume that I have not taken any compiler theory courses;
but I have flipped through a few books on the subject (probably even
the "dragon" book.)
My question is... what is it that makes compiler development so
difficult? Forgive my ignorance, but I have always thought it would
be a fun project, but then become disillusioned when I pick up a book
on compiler theory and it doesn't appear "straight forward."
To me, the process seems simple:
--Write a preprocessor that "digests" the source (include-file
insertion, commment-and-whitespace removal, and macro expansion)
--Write a "compiler" that parses the digested 'C' source into the
targetted format.
(In my case, the targetted format would be a byte-code definition; I
want to implement this in a quasi-interpretted fashion.)
To me, it seems that the hardest part will be parsing logical and
numerical expressions, (I intend to convert them to pre-order
notation, and then generate a byte-code equivalent,) but the rest
almost seems like a cake walk (although a lengthy and detailed
process, obviously.)
Then, I browse the above mentioned books, and this newsgroup, and I
start to wonder if there are some fundamental difficulties that I am
just not enlightened enough to see.
Can someone explain to me why this problem is more difficult than I
perceive it to be?
I am not looking for flames, I'm just trying to decide whether this is
something I want to attempt or not. (I would prefer, if possible, to do
it from scratch, and not use a tool, like lex or yacc.)
[There's a lot of details to get right, like symbol definitions, declaration
scopes, data type coercions, and all the other odds and ends you need to
make a working compiler. Parsing arithmetic expressions is actually pretty
easy. -John]
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.