Re: Mathematics skills for writing a compiler?

torbenm@diku.dk (Torben Ęgidius Mogensen)
13 Sep 2004 12:28:15 -0400

          From comp.compilers

Related articles
Mathematics skills for writing a compiler? lucky7456969@hotmail.com (2004-09-08)
Re: Mathematics skills for writing a compiler? sandra@frogsonice.com (Sandra Loosemore) (2004-09-13)
Re: Mathematics skills for writing a compiler? dido@imperium.ph (Rafael 'Dido' Sevilla) (2004-09-13)
Re: Mathematics skills for writing a compiler? torbenm@diku.dk (2004-09-13)
Re: Mathematics skills for writing a compiler? dmclean@stsci.edu (Donald F. McLean) (2004-09-13)
Re: Mathematics skills for writing a compiler? napi@axiomsol.com (2004-09-14)
Re: Mathematics skills for writing a compiler? vidar@hokstad.name (2004-09-14)
Re: Mathematics skills for writing a compiler? joe@burgershack.com (Randy) (2004-09-21)
Re: Mathematics skills for writing a compiler? kamalp@acm.org (2004-09-21)
Re: Mathematics skills for writing a compiler? tommy.nordgren@chello.se (Tommy Nordgren) (2004-09-24)
[2 later articles]
| List of all articles for this month |

From: torbenm@diku.dk (Torben Ęgidius Mogensen)
Newsgroups: comp.compilers
Date: 13 Sep 2004 12:28:15 -0400
Organization: Department of Computer Science, University of Copenhagen
References: 04-09-063
Keywords: practice
Posted-Date: 13 Sep 2004 12:28:14 EDT

lucky7456969@hotmail.com (Jack) writes:


> What mathematical skills do I need in order to build an "average"
> compiler? such as numerical methods, CFG, DFS.... etc


You don't need numerical methods at all, unless you want to make
nontrivial optimizations of numerical code, but that hardly
constitutes an "average" compiler. If you want to build your own
parser and lexer (or understand the generators you are using), some
theory of grammars, regular expressions and automata will be useful.
Some graph algorithms (graph colouring, DFS, dominators, etc.) will be
useful, but for a non-optimizing compiler you really only need
colouring (for the register allocator). Understanding of invariants
is very useful, but that applies not only to compilers (though it may
be more important here, as you have to understand invariants in both
the compiler and the generated code). A general knowledge of
datastructures and algorithms (such as sorting, searching, hashtables,
tree structures, etc.) will also be useful. But very little "hard
math".


Torben


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.