In order to fully understand the meaning of the term compiler, it is necessary that, first of all, we proceed to discover its etymological origin. In this case, it must be stated that it derives from Latin, exactly from the verb “compilare”, which means “to put together”.
Compiler is the one or that which compiles: that is, it brings together different elements or fragments in the same unit. In the field of computer science, compiling consists of translating a program written in a certain language into another.
For example: “The publisher chose me as the compiler of a new anthology of children’s stories”, “For years I worked as a statistics compiler in a sports network”, “The Spanish essayist was the compiler of the brand new volume.
According to DigoPaul, a compiler, therefore, is the one who compiles something. If an individual summons several journalists to carry out interviews with referents from the world of sport, and then gathers those works in a book, it can be said that he is the compiler of the work in question. This person did not do the interviews, but rather collected the interviews done by others and turned them into a unit.
We said that, in computing, compilation is a process that involves the translation of a program developed in a certain programming language to another that is written in a different language. In general, this second program is made in machine language, which is a code that can be interpreted directly by processors.
In this compilation process, the program that handles the translation in question is called a compiler. The compilation is divided into a semantic, syntactic and lexical analysis of the source program and a synthesis that is reflected in the object language. The task is carried out by the compiler, which by their properties will be described as optimizing compiler, cross compiler or compiler just in time (JIT).
In addition to all these aspects about the compiler from a computer point of view, there are other issues that are worth taking into account, such as these:
-Every compiler of this type has two well differentiated parts: the Front End, which is the part which is responsible for interacting with the user and undertakes the analysis of the source code, and the Back End. This second part is responsible for generating the code in machine format.
-The functions carried out by this software that we are dealing with, we can establish that they are carried out in this order: analysis phase (lexical analysis, syntactic analysis and semantic analysis), synthesis phase (generation of intermediate code) and code optimization. This last stage, which is sometimes included within the synthesis stage, basically consists of improving what the aforementioned intermediate code is, hence it is possible to achieve machine code that is really very fast to execute.
-In fundamental the compilers have become in our day to day. And it is that they perform vital work. Yes, because if they did not exist we would not be able to use all kinds of computer applications. They are the basis of programming.