Topic: indentation
Topic: goto statement
Topic: local declaration of data
Topic: notations for brackets
Topic: procedure valued variables
Topic: structured flow diagram
Topic: termination of control unit
| |
Summary
Control acts on blocks of statements, basically the elements of flow diagrams. The necessary control structures are sequence,. selection, and repetition; or sequence with single-entry k-exit loops; or skip a block and repeat a block. Blocks simplify programs by grouping statements under a control context. The danger with these general purpose control structures is that they may not match the reason for the structure. (cbb 5/80)
Subtopic: structure programs as blocks
Quote: procedure for restructuring irregular algorithms with sequence, 'if', and 'while' [»kapoAA1_1978]
| Quote: structured system design only allows sequence, repetition and alternative operations [»orrKT_1977]
| Quote: single-entry, single-exit constructs are less desirable if more than control flow is considered [»pratT3_1978]
| Subtopic: reducible flow graph
QuoteRef: ahoAV_1973 ;;941 reducible flow graph if treating intervals also as node end up with one interval (all lang. programs are reducible)
| QuoteRef: bohmC5_1966 ;;202 can decompose flow charts into 2 or 3 base diagrams only if the results of discrimination tests can be saved
| QuoteRef: bohmC5_1966 ;; proof of three necessary and sufficient flows: repetition (one entry and one exit), selecting, and simple sequence
| QuoteRef: frieFL1_1974 ;;12 fundamental control mechanism: single entry k exit loops "n-way decision boxes"
| Subtopic: control blocks
Quote: a Smalltalk block is indicated by square brackets
| Quote: a Smalltalk block defers execution until it is sent 'value' or 'value:' [»xlrg8_1981]
| Quote: Smalltalk has primitive control messages for selection and conditional iteration [»xlrg8_1981]
| Quote: Smalltalk uses 'false' and 'true' objects for control; 'false' ignores 'ifTrue:' and evaluates 'ifFalse:' [»xlrg8_1981]
| Quote: example of 'whileTrue:' method in Smalltalk [»xlrg8_1981]
| Quote: Pancode segments are delimitated by control statements and indentation [»jonsD8_1987]
| Quote: Ruby blocks are closures or anonymous methods; code that is stored along with its context; delimitated by braces or do..end [»thomD1_2001]
| Subtopic: block terminator
Quote: avoid ambiguity by requiring a matching terminator for all nested structures; e.g., 'end if' for 'if' [»paneJF9_2002]
| Subtopic: user studies
Quote: found a nestable conditional construct was easier for novices than a branching conditional construct [»simeME1_1973]
| Quote: make more syntactic mistakes in a nesting language and fewer semantic mistakes; dropping 'end' was most frequent [»simeME1_1977a]
| Subtopic: sectors for branching
QuoteRef: buxtJN_1962 ;;195 program divided into sectors-default fail branch is next sector, default succeed branch is next statement
| Subtopic: history
QuoteRef: sammJE_1969 ;;425 goto's: labeled, next rule (*), skip a rule (**), repeat (/), call with pushdown (routine name + label pushed), pushdown inserted under top element (routine ++ label), return by popping (+)
| QuoteRef: sammJE_1969 ;;461 block by do (statement list)
|
Related Topics
Topic: indentation (25 items)
Topic: goto statement (25 items)
Topic: local declaration of data (11 items)
Topic: notations for brackets (9 items)
Topic: procedure valued variables (34 items)
Topic: structured flow diagram (36 items)
Topic: termination of control unit (22 items)
|