[fpc-other] What makes a Compiler project (like FPC) special?
Nikolay Nikolov
nickysn at gmail.com
Sat May 27 20:51:57 CEST 2017
On 05/27/2017 07:59 AM, Paul Robinson wrote:
> Graeme Geldenhuys asked in Vol 108, Issue 27, "What makes a compiler
> project special?"
>
> Well, I'm not a member of the FPC but I've worked on several compilers
> and I'll throw in my 0.02 Euro into the discussion.
>
> > Since Florian mentioned that a compiler project is "rocket science"
> [not his
> > direct words, but he hinted at that] and totally different to any
> other software
> > project... It has really bugged me... Why is it different, and What
> is different?
>
> I'm going to have to disagree here, and it may simply display my own
> ignorance of the subject, but, then again, even a stopped clock is
> right twice a day.
>
> A compiler is a "language processor," an application that converts
> code in one language into something else. If it's a translating
> compiler it converts it to another language. If it's a language
> compiler it converts it to binary code or potentially to assembly
> language. (I'm making a bit of a distinction in that a compiler that
> translates to assembly code isn't a "translator" because it is using
> the assembler to save some of the work in not "reinventing the wheel"
> and not having to create its own object file writer, and because
> compilers generating assembly are usually creating a finished output
> requiring no manual intervention. Most translators that change source
> from one (high level) language to another produce results that often
> require manual correction. Few translators produce "perfect"
> high-level to high-level conversions without some work. They'll do the
> "heavy lifting" but often minor "tweaks" or checking is required by
> the person.)
>
> At its core, a language processor is a text processing application. It
> takes a fixed combination of rules on what the programmer can and must
> "say" in order to specify the particular actions they want a program
> to accomplish. Given these rules, which are called "grammars" the
> programmer describes the program and the compiler takes that
> description and turns it into the target representation of that
> description.
Well, a mathematician is also a text processor, therefore mathematics is
simple, right? :)
Nikolay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-other/attachments/20170527/0adbcb1a/attachment.html>
More information about the fpc-other
mailing list