Simply, in order to reduce the complexity of designing and building computers, nearly all the computers are made to execute relatively simple commands. A programme for a computer must be built by combining very simple commands into a programme in what is called machine language. Since this is a tedious and error-prone process, most of the programming is, instead, done using a high-level programming language. This language can be different that the computer can execute; so some means for bridging the gap is required. This is where the compiler comes in.
A compiler translates (or compiles) a programme, written in a high-level programming language that is suitable for human programmers into the low-level machine language that is required by computers. A good compiler should, however, be able to get quite close to the speed of hand-written code, when translating well-structured programmes. Since, writing a compiler is a nontrivial task, it is a good idea to structure the work. This book is meant to support a practically oriented course in compiler designing for teachers and students in Computer Science.
There are no reviews yet.