compilers

M

madhura

Hello,
I have a basic question about compilers. What are the different types
of compilers, are they written by different companies, why there are
different names of compilers, what is the purpose, I want to know about
them. Are interpreters of C available, and if yes, how can I get them.
Madhura
 
W

Walter Roberson

I have a basic question about compilers. What are the different types
of compilers,

K&R compliant, C89 compliant, C94 compliant, C99 compliant,
and Broken.
are they written by different companies,

A number of different companies write C compilers, and the same company
may have several different C compilers out (which may fall into one
or more of the above categories.) There are also a lot of compilers
written by entities other than companies, some more organized than
others.
why there are different names of compilers,

Why are there different names of anything?? Why is your mother's
name not the same as your father's name or your name, and why
do your neighbours have different names than those?
what is the purpose, I want to know about
them. Are interpreters of C available, and if yes, how can I get them.

There is at least 1 C interpreter available, and I would imagine
that you could find out more about it in the C FAQ which is regularily
posted and cited in this newsgroup .
 
I

Ian Collins

madhura said:
Hello,
I have a basic question about compilers. What are the different types
of compilers, are they written by different companies, why there are
different names of compilers, what is the purpose, I want to know about
them. Are interpreters of C available, and if yes, how can I get them.
Madhura
Different compilers are written for different platforms and deployment
targets.

If you have specific questions about your environment, post it on a
group dedicated to that environment.

Why would you want an interpretor for a compiled language?
 
M

Malcolm

Ian Collins said:
Why would you want an interpretor for a compiled language?
Because an interpreter can be easier to write than a compiler, it may also
be easier to detect certain problems with programs, like memory leaks.
It also enables you to run the program on any platform with a compiler for
the interpreter. With C this isn't much of a practical advantage, but if you
have your own pet language you want to become the next hot technology, it
might help to have an interpreter written in an inferior but more common
language.
 
T

tmp123

Ian said:
Why would you want an interpretor for a compiled language?

(Sorry if this question has an obvious answer); There are anything in
the C standard that mades mandatory that C was a compiled language?
 
J

Jordan Abel

(Sorry if this question has an obvious answer); There are anything in
the C standard that mades mandatory that C was a compiled language?

There's something about the paradigm of "translation" that tends to make
it a better fit, but nothing absolute
 
E

Eric Sosman

tmp123 wrote On 02/14/06 17:28,:
(Sorry if this question has an obvious answer); There are anything in
the C standard that mades mandatory that C was a compiled language?

The Standard requires (5.1.1.1) that it be possible
to "translate" isolated segments of C source at different
times, to retain the results of "translation" in files
and libraries, and to "link" those results into executable
(or perhaps executING) programs still later. I think we
can take "translate" to be a synonym for "compile," so in
that sense C is indeed a "compiled language."

However, that doesn't mean C can't also be interpreted!
The Standard does not describe the nature of the output of
translation, nor the mechanism that causes the program to
"do stuff" at run-time. A compiler that emits code for an
interpreter to execute isn't ruled out. In fact, it's done
all the time, from one viewpoint anyhow: If a program is
running on a microcoded machine, is it running "natively"
or is it being "interpreted" by the microcode?
 
K

Keith Thompson

Eric Sosman said:
However, that doesn't mean C can't also be interpreted!
The Standard does not describe the nature of the output of
translation, nor the mechanism that causes the program to
"do stuff" at run-time. A compiler that emits code for an
interpreter to execute isn't ruled out. In fact, it's done
all the time, from one viewpoint anyhow: If a program is
running on a microcoded machine, is it running "natively"
or is it being "interpreted" by the microcode?

Sure, but a compiler that generates some form of code that's then
interpreted is a compiler -- and the interpreter itself isn't a C
interpreter, it's an interpreter for the generated code (P-code,
J-code, whatever).

It would be theoretically possible to create a true C interpreter, one
that would interpret C source code without translating it to some
lower-level form. It would be easier to translate the C code on the
fly to some internal form that's then interpreted (similar to the way
Perl works).
 
O

osmium

Ian Collins said:
Why would you want an interpretor for a compiled language?

Some people consider that a painless way to learn the syntax of a new
language. The instant and effortless feedback has a lot of appeal. Once
you learn it, you switch to using a compiler.
 
N

Neil

madhura said:
Hello,
I have a basic question about compilers. What are the different types
of compilers, are they written by different companies, why there are
different names of compilers, what is the purpose, I want to know about
them. Are interpreters of C available, and if yes, how can I get them.
Madhura
The Herb Shlit C reference has the source code for a C Interpreter in
the back.
 
K

Keith Thompson

Neil said:
The Herb Shlit C reference has the source code for a C Interpreter
in the back.

That's Herb Schildt, author of some *very bad* books about C.
 
N

Neil

Martin said:
Both are misspellings of "Herb BullSchildt."

Before the Internet It was all I had, and all I could find.
I helped at the time. Did do a lot of DOS, so I would not have noticed
the ANSI violations.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,899
Latest member
RodneyMcAu

Latest Threads

Top