2) Interpreter (Computing) : Language, Often Having A Binary Form Known As

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

1)A compiler is a computer program (or set of programs) that transforms source code written in

a programming language (the source language) into another computer language (the target
language, often having a binary form known as object code). The most common reason for
wanting to transform source code is to create an executable program.

The name "compiler" is primarily used for programs that translate source code from a high-level
programming language to a lower level language (e.g., assembly language or machine code). If
the compiled program can only run on a computer whose CPU or operating system is different
from the one on which the compiler runs the compiler is known as a cross-compiler. A program
that translates from a low level language to a higher level one is a decompiler. A program that
translates between high-level languages is usually called a language translator, source to source
translator, or language converter. A language rewriter is usually a program that translates the
form of expressions without a change of language.

A compiler is likely to perform many or all of the following operations: lexical analysis,
preprocessing, parsing, semantic analysis(Syntax-directed translation), code generation, and code
optimization.

Program faults caused by incorrect compiler behavior can be very difficult to track down and
work around and compiler implementors invest a lot of time ensuring the correctness of their
software.

The term compiler-compiler is sometimes used to refer to a parser generator, a tool often used to
help create the lexer and parser.

2)Interpreter (computing)
From Wikipedia, the free encyclopedia
Jump to: navigation, search

In computer science, an interpreter normally means a computer program that executes, i.e.
performs, instructions written in a programming language. An interpreter may be a program that
either

1. executes the source code directly


2. translates source code into some efficient intermediate representation (code) and
immediately executes this
3. explicitly executes stored precompiled code[1] made by a compiler which is part of the
interpreter system

Perl, Python, MATLAB, and Ruby are examples of type 2, while UCSD Pascal and Java are type
3: Source programs are compiled ahead of time and stored as machine independent code, which
is then linked at run-time and executed by an interpreter and/or compiler (for JIT systems). Some
systems, such as Smalltalk, BASIC and others, may also combine 2 and 3.
While interpreting and compiling are the two main means by which programming languages are
implemented, these are not fully distinct categories, one of the reasons being that most
interpreting systems also perform some translation work, just like compilers. The terms
"interpreted language" or "compiled language" merely mean that the canonical implementation
of that language is an interpreter or a compiler; a high level language is basically an abstraction
which is (ideally) independent of particular implementations.

3)A computer program (also a software program, or just a program) is a sequence of


instructions written to perform a specified task for a computer.[1] A computer requires programs
to function, typically executing the program's instructions in a central processor.[2] The program
has an executable form that the computer can use directly to execute the instructions. The same
program in its human-readable source code form, from which executable programs are derived
(e.g., compiled), enables a programmer to study and develop its algorithms.

Computer source code is often written by computer programmers. Source code is written in a
programming language that usually follows one of two main paradigms: imperative or
declarative programming. Source code may be converted into an executable file (sometimes
called an executable program or a binary) by a compiler and later executed by a central
processing unit. Alternatively, computer programs may be executed with the aid of an
interpreter, or may be embedded directly into hardware.

Computer programs may be categorized along functional lines: system software and application
software. Two or more computer programs may run simultaneously on one computer, a process
known as multitasking.

4)Actually, a system software is any computer software which manages and controls computer
hardware so that application software can perform a task. Operating systems, such as Microsoft
Windows, Mac OS X or Linux, are prominent examples of system software. System software
contrasts with application software, which are programs that enable the end-user to perform
specific, productive tasks, such as word processing or image manipulation.

System software performs tasks like transferring data from memory to disk, or rendering text
onto a display device. Specific kinds of system software include loading programs, operating
systems, device drivers, programming tools, compilers, assemblers, linkers, and utility software.

Software libraries that perform generic functions also tend to be regarded as system software,
although the dividing line is fuzzy; while a C runtime library is generally agreed to be part of the
system, an OpenGL or database library is less obviously so.

If system software is stored on non-volatile memory such as integrated circuits, it is usually


termed firmware while an application software is a subclass of computer software that employs
the capabilities of a computer directly and thoroughly to a task that the user wishes to perform.
This should be contrasted with system software which is involved in integrating a computer's
various capabilities, but typically does not directly apply them in the performance of tasks that
benefit the user. In this context the term application refers to both the application software and its
implementation.
A simple, if imperfect analogy in the world of hardware would be the relationship of an electric
light bulb (an application) to an electric power generation plant (a system). The power plant
merely generates electricity, not itself of any real use until harnessed to an application like the
electric light that performs a service that benefits the user.

Typical examples of software applications are word processors, spreadsheets, and media players.

Multiple applications bundled together as a package are sometimes referred to as an application


suite. Microsoft Office and OpenOffice.org, which bundle together a word processor, a
spreadsheet, and several other discrete applications, are typical examples. The separate
applications in a suite usually have a user interface that has some commonality making it easier
for the user to learn and use each application. And often they may have some capability to
interact with each other in ways beneficial to the user. For example, a spreadsheet might be able
to be embedded in a word processor document even though it had been created in the separate
spreadsheet application.

User-written software tailors systems to meet the user's specific needs. User-written software
include spreadsheet templates, word processor macros, scientific simulations, graphics and
animation scripts. Even email filters are a kind of user software. Users create this software
themselves and often overlook how important it is.

In some types of embedded systems, the application software and the operating system software
may be indistinguishable to the user, as in the case of software used to control a VCR, DVD
player or Microwave Oven.

Note: There are comments associated with this question. See the discussion page to add to the
conversation.

You might also like