Вы находитесь на странице: 1из 3

Chapter 1

Language Processing
Fundamental of Language Processing
As we know computer cannot do anything without instructions from the user. In order to do any specific
job you have to give a sequence of instructions to the computer. This set of instructions is called a
computer program. Software refers to the set of computer programs, procedures that describe the
programs, which increase the capabilities of the hardware. Software guides the computer at every step
where to start and stop during a particular job. The process of software development is called
programming.
We should keep in mind that software and hardware are complementary to each other. Both have to
work together to produce meaningful result. Another important point we should know that producing
software is difficult and expensive.
Software Types
Computer software is normally classified into two broad categories.
 Application Software
 System Software
Application Software
Application Software is a set of programs to carry out operations for a specific application. For example,
payroll is an application Software for an organization to produce play slip as an output.
Application Software is useful for word processing, billing system. Accounting, producing statistical
report, analysis of numerous data in research, weather forecasting etc.
System Software
We know that an instruction is a set of programs that has to be fed to the computer for operation of
computer system as a whole. When we switch on the computer the programs written in ROM is
executed which activates different units of your computer and makes it ready for you to work on it. This
set of program can be called system software. Therefore system software may be defined as a set of one
or more programs designed to control the operation of computer system.
System software are general programs designed for performing tasks such as controlling all operations
required to move data into and out of the computer. It communicates with printers, card reader, disk,
tapes etc. monitor the use of various hardware like memory, CPU etc. Also system software are essential
for the development of applications software.
System software allows application packages to be run on the computer with less time and effort.
Remember that it is not possible to run application software without system software. Development of
system software is a complex task and it requires extensive knowledge of computer technology. Due to
its complexity it is not developed in house.
Computer manufacturers build and supply this system software with the computer system. DOS, UNIX
and WINDOWS are some of the widely used system software. Out of this UNIX is a multi-user
operating system whereas DOS and WINDOWS are PC based.
System programs basically cover wide range of applications like
Compilers: Compilers are system programs that accept languages and translate them into machine
language.
Loaders: Loaders are system programs that prepare machine language programs for execution.
Macro processors: Macro processors allow programmers to use abbreviations.
Operating system and file systems: OS and file systems allow flexible storing and retrieval of
information.
Language Processing Activities:
pdfMachine
Is a pdf writer that produces quality PDF files with ease!
Produce quality PDF files in seconds and preserve the integrity of your original documents. Compatible across
nearly all Windows platforms, if you can print from a windows application you can use pdfMachine.
Get yours now!
There are thousands of Source languages, ranging from traditional programming languages to
specialized languages. Similarly there are many Target languages, which can be another programming
language or machine language. Language processing activities bridge the semantic gap between source
language and target language by using two types of activities:
a) Program Generation Activities.
b) Program Execution Activities.
The language processing activities are shown in Fig. 1.2

a) Program Generation Activities:


Program generator is a software, which accepts the specification of a program to be generated; and
produces a program in target language as shown in Fig. 1.3

Initially the semantic gap between source language domain and target language domain as shown in Fig.
1.4 But, now with the program generation activities, the semantic gap exists between source language
domain and program generator domain as shown in fig. 1.5

This is so because, the generator domain is close to source language domain, and it is easy for the
designer/programmer to write the specification of the program to be generated.
This arrangement also reduces the testing effort. This is so because to test an application generated by
the generator, it is necessary to only verify the correctness of specification that is input to the generator.

b) Program Execution Activities:


The execution of program is segregated in two activities as shown in fig 1.7
These two activities are:
1) Program Translation Activities.
2) Program Interpretation Activities.
MODELS OF EXECUTION ACTIVITIES

PROGRAM PROGRAM
TRANSLATION INTERPRETATION
1) Program Translation Activities:
By translation, We mean mapping of sentences of given language to the sentences of another
languages, where former being termed as source language and latter as target language.

Static and dynamic binding


When extending a class definition, new features are added to those in the parent class. This is sometimes
called concatenation of the two sets of features. As long as the names used are all distinct, no problems
occur. If the sub-class uses names which are already defined in the parent, the effect depends on the way
the language used resolves the conflict. There are basically two different views that are taken. Some
languages allow both, others allow only one.

Statically bound definitions are hidden in the sub-class by a new definition with the same name. This is
the familiar scope rule used in Pascal when nested procedures are declared. Any use of the name in the
parent class is still bound to the definition within that class, which means that its use must be as was
intended by the writer of that class. Uses within a sub-class where it is redefined and within any classes
which are sub-classes of that are bound to the pdfMachine
definition in the sub-class.
Is a pdf writer that produces quality PDF files with ease!
Produce quality PDF files in seconds and preserve the integrity of your original documents. Compatible across
nearly all Windows platforms, if you can print from a windows application you can use pdfMachine.
Get yours now!
Dynamically bound definitions (virtual definitions) are also hidden in the sub-class by a redeclaration at
that level. However, they are replaced in the parent class as well. This is very useful where, for instance,
a family of object types all have the ability to be displayed but the effect of this differs for each of them.
By noting in the parent class that such an operation is mandatory and that it has a certain form, we are
free to use it in the parent class and assume each specialization will provide an over-riding definition
which replaces it when used. In some languages the parent class needs not provide a default
implementation, in others it must always do so.

Most languages in common use have adopted a variation of SIMULA's combination of default static
binding with an explicit option to make certain operations dynamically bound. C++ is one of these and
uses the virtual specify to indicate dynamic binding.

pdfMachine
Is a pdf writer that produces quality PDF files with ease!
Produce quality PDF files in seconds and preserve the integrity of your original documents. Compatible across
nearly all Windows platforms, if you can print from a windows application you can use pdfMachine.
Get yours now!

Вам также может понравиться