Programs and Data
Object-oriented programming is a popular way of managing programs, which groups together data with the procedures that works on them, thus facilitating some types of abstraction and modularity. In the case of our PCAP framework, object-oriented programming can provides us methods for capturing common patterns in data and the procedures that operate on that data, via procedures, generic class, and inheritance.
In many computer languages, adding Python, programs are studied and executed by a computer program known as an interpreter. Interpreters are surprisingly easy: the principle de?ning the semantics or meaning of a programming language are typically short and compact; and the in terpreter basically encodes these rules and applies them to any legal expression in the language. The enormous complexity and richness of computer programs comes from the composition of primitive elements with simple principle. The interpreter, in essence, shows the semantics of the language by taking the rules governing the value or behavior of program primitives, and of what it seems to collide the primitives in various paths. We will examine the meaning of computer programs by understanding how the interpreter operates on them.
An interpreter is build up of four sections:
- The reader or tokenizer takes as input a string of characters and divides them into tokens, which are numbers (like -3.42), words (like while or a), and special characters (like :).
- The parser gets as input the string of tokens and understands them as constructs in the programming language, such as for loops, procedure de?nitions, or return variable.
- The evaluator (which is also sometimes called the interpreter, as well) has the really interesting job of determining the value and effects of the program that you ask it to interpret.
- The printer gets the value given by the evaluator and prints it out for the user to see.
Programs should never be a mystery to you: you can learn the simple semantic rules of the language and, if compulsory, examine what the interpreter would do, in order to study any computer code which you are acting. Of course, in general, one does not has to work through the tedious procedure of simulating the interpreter, but this foundation of calculating the interpreter 's process enables you to reason about the evaluation of any program. #question..