Research On Compilers
Research On Compilers
Research on Compilers
Types of Compilers:
- Cross-Compiler: Produces code for a different CPU or
operating system than the one it runs on.
- Bootstrap Compiler: Temporary compiler used to
compile a more permanent or optimized compiler for a
language.
- Decompilers: Translate from low-level languages to
higher-level ones.
- Source-to-Source Compilers or Transpilers: Translate
between high-level languages.
- Language Rewriters: Translate the form of
expressions without changing the language.
- Compiler-Compilers: Produce compilers or parts of
them in a generic and reusable way to create different
compilers.
Historical Development:
Theoretical concepts from scientists, mathematicians, and
engineers during World War II laid the foundation for
modern computing. Primitive binary languages emerged
due to digital devices' limited understanding of ones and
zeros. Assembly languages were then created to provide
a more manageable abstraction of computer architectures.
Parsing Strategies:
Top-down parsing is a strategy where the parser begins at
the highest level of the parse tree and works down by
using the rewriting rules of a formal grammar. LL parsers,
a type of top-down parser, are commonly used. Top-down
parsing involves hypothesizing general parse tree
structures and checking if known structures align with the
hypothesis. While simple implementations may struggle
with left-recursive grammars, more sophisticated parsers
have been developed to handle ambiguity and left
recursion more efficiently.
Conclusion:
Compilers play a critical role in translating code from one
language to another, enabling the creation of executable
programs. They have evolved significantly over time,
overcoming various technical challenges to become
essential tools in modern computing.