Related articles |
---|
[10 earlier articles] |
Re: Using C as a back end predictor@my-deja.com (Pred.) (2000-10-23) |
Re: Using C as a back end sweeks@my-deja.com (Stephen T. Weeks) (2000-10-23) |
Re: Using C as a back end jaidi@fos.ubd.edu.bn (Pg Nor Jaidi Pg Tuah) (2000-10-26) |
Re: Using C as a back end predictor@my-deja.com (Pred.) (2000-10-26) |
Re: Using C as a back end ONeillCJ@logica.com (Conor O'Neill) (2000-10-26) |
Re: Using C as a back end kst@cts.com (Keith Thompson) (2000-10-26) |
Re: Using C as a back end jacob@jacob.remcomp.fr (jacob navia) (2000-10-26) |
Re: Using C as a back end nr@labrador.eecs.harvard.edu (2000-10-31) |
Re: Using C as a back end sweeks@my-deja.com (Stephen T. Weeks) (2000-10-31) |
Re: Using C as a back end zs@ender.cs.mu.oz.au (2000-10-31) |
Re: Using C as a back end thp@cs.ucr.edu (Tom Payne) (2000-10-31) |
Re: Using C as a back end engler@Stanford.EDU (2000-10-31) |
Re: Using C as a back end anton@mips.complang.tuwien.ac.at (2000-10-31) |
[12 later articles] |
From: | "jacob navia" <jacob@jacob.remcomp.fr> |
Newsgroups: | comp.compilers |
Date: | 26 Oct 2000 02:51:53 -0400 |
Organization: | Wanadoo, l'internet avec France Telecom |
References: | 00-10-148 00-10-152 |
Keywords: | C, translator, practice |
C as a backend can be easied if the c compiler is easy to modify.
Consider that your language may be specified like this:
int a,b; double c;
... c = a/b; ...
The integers should be converted to doubles before the division. This is
just a few lines with lcc.
Or if you support overflow. I mean C specifies that a+b is actually
a+b mod bit_size. If your language doesn't like this, or supposes a
recovery mechanism, this means changing a few assembler macros in the
machine description. That's all.
In all this discussion we missed the linker. With an easy to change
linker, you can specify "load if needed" procedures, for
instance. They would be linked in only if they are called. This would
allow your language to build automatically default procedures for any
user defined type without any fear of code bloat.
And the debugger. Your language is easy to use if a windowed debugger
can be used to follow it step by step. The debugger (in step by step
mode) reads and scans each instruction before its executed. You can
add your own types, and generation hacks to inform the debugger where
to find the infos to display, arrange for your procedures to be called
from the debugger, and several other things.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.