Kapitel 6 Flashcards
Assembly language
mnemonic systems that expresses machine code so that humans can easily understand it.
Declarative paradigm
Asks a programmer to describe the problem to be solved rather than an algorithm to be followed. More precisely, a declarative programming system applies a pre-established general-purpose problem-solving algorithm to solve problems presented to it. In such an environment the task of a programmer becomes that of developing a precise statement of the problem rather than of describing an algorithm for solving the problem. Example language is Prolog. More on s.318.
Fruitful function
a function that returns a value.
Polymorphism
Something typical of object oriented programming, It is the concept of a customized interpretation of a message to a class. The message “draw yourself” is interpreted differently by a square than a circle for example.
Actual parameters
the precise meanings assigned to these formal parameters when the function is applied.
Assemblers
programs that convert mnemonic machine language into actual machine language.
Ambiguous grammar
a grammar that allows two distinct parser trees for one string.
Object-oriented paradigm
A software system is viewed as a collection of units called objects, each fo which is capable of performing the actions that are immediately related to itself as well as requesting actions of other objects. Together, these objects interact to solve the problem at hand.
Encapsulation
Something typical of object oriented programming, it refers to restricting access to an objects internal properties. To say that certain features of an object are encapsulated means that only the object itself is able to access them.
Freeformat languages
the positioning of the languages statements is not critical.
How does a source program get translated to a object program?
The translation from a high-level language into a machine executable form is carried out in three steps:
- Lexical analyze
- Parser
- Code generator
- The lexical analyzer reads the source program symbol by symbol, identifying which groups of symbols represent tokens and classifying those tokens according to whether they are numeric value, words, arithmetic operators, and so on. The lexical analyzer encodes each token with its classification and hands them to the parser. During this process, the lexical analyzer skips over all comment statements.2. Thus the parser views the program in terms of lexical units (tokens) rather than individual symbols. It is the parser’s job to group these units into statements. Indeed, parsing is the process of identifying the grammatical structure of the program and recognizing the role of each component. The process of parsing a program is essentially that of constructing a parse tree for the cource program. Indeed, a parse tree represents the parser’s interpretation of the programs grammatical composition. For this reason the syntax rules describing a programs grammatical structure must not allow two distinct parse trees for one string, since this would lead to ambiguities within the parser.3. The code generation is the process of constructing the machine-language instructions to implement the statements recognized by the parser. —s. 300
Natural and formal languages
formal languages are precisely defined by grammar whereas natural languages evolved over time without formal grammatical analysis.
Lexical analysis
the process of recognizing which strings of symbols from the source program represent a single entity, or token.
Third generation languages
Primitives of much higher level (in that they expressed instructions in larger increments) and machine independent (in that they did not rely on the characteristics of a particular machine). Examples are FORTRAN (Formula translator) which was developed for scientific and engineering applications, and COBOL (Common Business-oriented language) which was developed by the U.S. Navy for business applications.
Parallell processing/concurrent processing
simultaneous execution of multiple activations.