What is the difference between a compiler and an interpreter?

  • Thread starter Thread starter PhysicsBegner
  • Start date Start date
  • Tags Tags
    Compiler
AI Thread Summary
The discussion clarifies the fundamental differences between compilers and interpreters. A compiler translates high-level programming languages into machine code all at once, while an interpreter processes the code line by line or even in smaller fragments, executing it in real-time. This means that as the interpreter converts high-level language to machine code, it can execute instructions immediately rather than waiting for the entire program to be translated. Additionally, some interpreters can generate further high-level code dynamically, as seen in languages like APL, which allows for the creation of functions from generated text. Compilers may also produce pseudo-machine language, which requires an interpreter for execution. Overall, the key distinction lies in the timing and method of code execution between compilers and interpreters.
PhysicsBegner
Messages
22
Reaction score
0
Hi,

I have a very fundamental doubt in compiler and interpreter. Compiler converts the high level programming language into machine understandle form and interpreter does the same but as line by line. So when an interpretor converts the high level language into machine codes (line by line) does it simultaneously executes in processor or only after converting the entire code into machine or opcode its executed in processor?
 
Technology news on Phys.org
The interpreter is converting the high level language into machine language in real time. It could be doing this in fragments of a line instead of line by line, perhaps one operator at a time. There is some line oriented parsing done in order to handle the precedence (the order) of operations to be peformed. In some cases, interpreters allow the high level language to generate text to be executed as more high level language, such as the execute operator in APL. APL also allows the dynamic creation of functions from a matrix of generated text.

Compilers convert high level language into machine language or in some cases, some form of psuedo-machine language at compile time. If it's pseudo machine language, you have something similar to an interpreter to execute the psuedo machine language.
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I had a Microsoft Technical interview this past Friday, the question I was asked was this : How do you find the middle value for a dataset that is too big to fit in RAM? I was not able to figure this out during the interview, but I have been look in this all weekend and I read something online that said it can be done at O(N) using something called the counting sort histogram algorithm ( I did not learn that in my advanced data structures and algorithms class). I have watched some youtube...
Back
Top