Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
45 Cards in this Set
- Front
- Back
Language loved by business users
|
COBOL
|
|
Early high-level language favored by engineers
|
Fortran
|
|
Language commissioned by the government, designed by contest
|
Ada
|
|
Artificial Intelligence language
|
Lisp
|
|
Developers of BNF
|
Chomsky and Backus
|
|
What does Perl stand for
|
Practical extraction and report language
|
|
A type declaration listed in the program is a
|
explicit declaration
|
|
A type determined by the context of the program
|
implicit declaration
|
|
Four parts of a grammar or language ___ start symbol
|
rules, terminals, nonterminals, start symbol
|
|
Three things in EBNF that are additions to BNF
|
-brackets
-use of braces to indicate the enclosed part can be repeated indefinitely or left out. -The OR operator for multiple choice options |
|
How can you prove a grammar is ambiguous. Give an example from English
|
-if it generates a sentential form with two or more distinct parse trees, its ambiguous.
A = B + C * A |
|
What is the difference between a lexer and a parser
|
-lexer converts groups of characters into tokens
-parser converts groups of tokens into parse trees |
|
What is the difference between syntax and semantics
|
-Syntax is the form of a programming language expressions, statements, and program units
-Semantics is the meaning of a programming languages expressions, statements, and program units |
|
List and explain three ways to evaluate programming languages
|
-Readability: How easy it is to understand the code
-Writability: How easy it is to create and write the code Reliability: How reliable the code/compiler is |
|
Name and describe three types of semantics
|
-operational semantics:describes the meaning of a statement or program through execution
-dynamic semantics: meaning of the expressions, statements, and program units of a programming language -denotational semantics: describes the meaning of programs based on the recursive function theory |
|
List and describe 4 attributes of variables
|
type - int, array, etc
value - pointer, address variable name - name of an assigned variable |
|
______ semantics based on mathematical logic and often used in proof
|
Axiomatic
|
|
Name two primitive data types
|
-int
-float |
|
Most languages store arrays in ____ order
|
row-major
|
|
A type in which the range of possible values can be easily associated with the set of positive integers
|
ordinal
|
|
A type in which all possible values are listed
|
enumerated type
|
|
Multiple use of an operator is called
|
overloading
|
|
Perl operator used to process arrays
|
()
|
|
In perl, a single variable begins with ____ and an array begins with ____
|
-$
-@ |
|
Name the 4 attributes of a variable and describe
|
-value: what is stored
-type: int, float, etc -lifetime: how long the variable stays at the memory location -scope: visibility -address: where it is located -name |
|
what is the difference between a guarded command and the usual selection statement
|
- a guarded command supports verification during development
|
|
What is a short-circuit evaluation (include example) & how can it help the programmer
|
-the result is determined without evaluating all of the operands and/or operators.
-(a>= 0) && (b < 10). If a < 0, the second relation is independent -it helps because some expressions don't have to be fully evaluated. |
|
Difference between garbage and dangling references. Describe two ways to handle garbage
|
-garbage is an unused deallocated heap-dynamic variable
-dangling reference is a variable that still holds an address but has been deallocated -two ways to fix, garbage collection and manual memory management |
|
Name two design issues for arrays
|
-what types are legal for array subscripts
-when are arrays allocated |
|
Name two design issues for arithmetic expressions
|
-which order should expressions be written
-will an operator be used for overloading |
|
where do the words CAR and CDR come from
|
-Contents of address register
-Contents of decrement of register |
|
Four things found in an activation record
|
-locals
-variables -parameters -return address |
|
The four basic types of statements in imperative languages are
|
-sequence
-iterative -selection |
|
Parameter passing method using copying
|
-pass-by-value
|
|
passing method using shared addresses
|
pass-by-reference
|
|
Popular language originated from Sun
|
-Java
|
|
Data with no path to it
|
garbage
|
|
Describes the interface to and the actions of a subprogram
|
-subprogram definition
|
|
The explicit request to execute the subprogram
|
-subprogram call
|
|
The number, order, and types of its formal parameters
|
profile
|
|
Specifies the type of syntactic unit, provides a name, and lists any parameters
|
-header
|
|
Difference between deep access and shallow access
|
deep access: local references are found by searching the activation record instances on the dynamic chain
shallow access: puts locals in a central place |
|
Three general characteristics of a sub-program.
|
-has a single entry point
-there is only one subprogram in execution at a given time -control always returns to the other callers when the subprogram terminates |
|
What does it mean for a subprogram to be active
|
-it means that it is being executed at that time
|
|
difference between a java applet and application
|
-applet must run in a browser, includes separate html code
-application runs standalone, can have a full network and local file system access |