4893:
the meaning (purpose) of the file in question to the program and thus a handling routine for this abnormal situation cannot be located in low-level system code. Watts further notes that introducing status flags testing in the caller, as single-exit structured programming or even (multi-exit) return sequencers would entail, results in a situation where "the application code tends to get cluttered by tests of status flags" and that "the programmer might forgetfully or lazily omit to test a status flag. In fact, abnormal situations represented by status flags are by default ignored!" Watt notes that in contrast to status flags testing, exceptions have the opposite
611:, student programmers had difficulty formulating correct solutions in Pascal for several simple problems, including writing a function for searching an element in an array. A 1980 study by Henry Shapiro cited by Roberts found that using only the Pascal-provided control structures, the correct solution was given by only 20% of the subjects, while no subject wrote incorrect code for this problem if allowed to write a return from the middle of a loop.
246:
7079:
2940:, defined as "sequencer that terminates execution of a textually enclosing command or procedure", encompasses both breaks from loops (including multi-level breaks) and return statements. As commonly implemented, however, return sequencers may also carry a (return) value, whereas the break sequencer as implemented in contemporary languages usually cannot.
2878:
broken out to; placing the nested loops in a function and using return to effect termination of the entire nested loop; or using a label and a goto statement. C does not include a multilevel break, and the usual alternative is to use a goto to implement a labeled break. Python does not have a multilevel break or continue – this was proposed in
5749:'s 1974 article "Structured Programming with go to Statements", identifies two situations which were not covered by the control structures listed above, and gave examples of control structures which could handle these situations. Despite their utility, these constructs have not yet found their way into mainstream programming languages.
4897:, causing the program to terminate unless the program deals with the exception explicitly in some way, possibly by adding explicit code to ignore it. Based on these arguments, Watt concludes that jump sequencers or escape sequencers are less suitable as a dedicated exception sequencer with the semantics discussed above.
2962:
A loop invariant is an assertion which must be true before the first loop iteration and remain true after each iteration. This implies that when a loop terminates correctly, both the exit condition and the loop invariant are satisfied. Loop invariants are used to monitor specific properties of a loop
2201:
Most programming languages have constructions for repeating a loop until some condition changes. Some variations test the condition at the start of the loop; others test it at the end. If the test is at the start, the body may be skipped completely; if it is at the end, the body is always executed at
563:
s could be transformed into a goto-free form involving only choice (IF THEN ELSE) and loops (WHILE condition DO xxx), possibly with duplicated code and/or the addition of
Boolean variables (true/false flags). Later authors showed that choice can be replaced by loops (and yet more Boolean variables).
2454:
Infinite loops can be implemented using other control flow constructs. Most commonly, in unstructured programming this is jump back up (goto), while in structured programming this is an indefinite loop (while loop) set to never end, either by omitting the condition or explicitly setting it to true,
2429:
form can be used to express any of the above sorts of loops, and others, such as looping over some number of collections in parallel. Where a more specific looping construct can be used, it is usually preferred over the general iteration construct, since it often makes the purpose of the expression
4892:
failures like file not found, is a kind of error that "is detected in some low-level program unit, but a handler is more naturally located in a high-level program unit". For example, a program might contain several calls to read files, but the action to perform when a file is not found depends on
2182:
might be repeated 9 or 10 times, depending on rounding errors and/or the hardware and/or the compiler version. Furthermore, if the increment of X occurs by repeated addition, accumulated rounding errors may mean that the value of X in each iteration can differ quite significantly from the expected
2958:
In practical terms, a loop variant is an integer expression which has an initial non-negative value. The variant's value must decrease during each loop iteration but must never become negative during the correct execution of the loop. Loop variants are used to guarantee that loops will terminate.
2877:
levels), as in bash and PHP, or via labeled breaks (break out and continue at given label), as in Go, Java and Perl. Alternatives to multilevel breaks include single breaks, together with a state variable which is tested to break out another level; exceptions, which are caught at the level being
574:
What Böhm and
Jacopini's article showed was that all programs could be goto-free. Other research showed that control structures with one entry and one exit were much easier to understand than any other form, mainly because they could be used anywhere as a statement without disrupting the control
603:(designed in 1968–1969), which up to the mid-1990s was the preferred tool for teaching introductory programming in academia. The direct application of the Böhm–Jacopini theorem may result in additional local variables being introduced in the structured chart, and may also result in some
1465:) compare a given value with specified constants and take action according to the first constant to match. There is usually a provision for a default action ("else", "otherwise") to be taken if no match succeeds. Switch statements can allow compiler optimizations, such as
2901:
by proving that it is possible to avoid adding additional variables in structured programming, as long as arbitrary-depth, multi-level breaks from loops are allowed. Furthermore, Kosaraju proved that a strict hierarchy of programs exists: for every integer
339:
placed at the start of each line of text in the source code. Languages which use these often impose the constraint that the line numbers must increase in value in each following line, but may not require that they be consecutive. For example, in BASIC:
4887:
David Watt's 2004 textbook also analyzes exception handling in the framework of sequencers (introduced in this article in the section on early exits from loops). Watt notes that an abnormal situation, generally exemplified with arithmetic overflows or
2502:(Perl and Ruby), which will do this. The effect is to prematurely terminate the innermost loop body and then resume as normal with the next iteration. If the iteration is the last one in the loop, the effect is to terminate the entire loop early.
2254:
is a value change detection method used within ordinary loops to trigger processing for groups of values. Values are monitored within the loop and a change diverts program flow to the handling of the group event associated with them.
5136:
All the languages mentioned above define standard exceptions and the circumstances under which they are thrown. Users can throw exceptions of their own; C++ allows users to throw and catch almost any type, including basic types like
2872:
Some languages support breaking out of nested loops; in theory circles, these are called multi-level breaks. One common use example is searching a multi-dimensional table. This can be done either via multilevel breaks (break out of
521:
Today, subroutines are more often used to help make a program more structured, e.g., by isolating some algorithm or hiding some data access method. If many programmers are working on one program, subroutines are one kind of
2258:
DO UNTIL (End-of-File) IF new-zipcode <> current-zipcode display_tally(current-zipcode, zipcount) current-zipcode = new-zipcode zipcount = 0 ENDIF zipcount++ LOOP
619:
Most programming languages with control structures have an initial keyword which indicates the type of control structure involved. Languages then divide as to whether or not control structures have a final keyword.
598:
from the middle of loops are bad practice as they are not needed in the Böhm–Jacopini proof, and thus they advocated that all loops should have a single exit point. This purist approach is embodied in the language
540:
In structured programming, the ordered sequencing of successive commands is considered one of the basic control structures, which is used as a building block for programs alongside iteration, recursion and choice.
5215:
Coroutines can be implemented as a library if the programming language provides either continuations or generators - so the distinction between coroutines and generators in practice is a technical detail.
6679:
Kosaraju, S. Rao. "Analysis of structured programs," Proc. Fifth Annual ACM Syrup. Theory of
Computing, (May 1973), 240-252; also in J. Computer and System Sciences, 9, 3 (December 1974). cited by
2534:
When using a count-controlled loop to search through a table, it might be desirable to stop searching as soon as the required item is found. Some programming languages provide a statement such as
2106:
Most programming languages have constructions for repeating a loop a certain number of times. In most cases counting can go downwards instead of upwards and step sizes other than 1 can be used.
2161:
In many programming languages, only integers can be reliably used in a count-controlled loop. Floating-point numbers are represented imprecisely due to hardware constraints, so a loop such as
2486:
Sometimes within the body of a loop there is a desire to skip the remainder of the loop body and continue with the next iteration of the loop. Some languages provide a statement such as
4916:
clause is guaranteed to execute. This is useful when writing code that must relinquish an expensive resource (such as an opened file or a database connection) when finished processing:
2478:
Often, an infinite loop is unintentionally created by a programming error in a condition-controlled loop, wherein the loop condition uses variables that never change within the loop.
4786:
incorporate placeholders in the exception handler syntax to automatically extract several pieces of information when the exception occurs. This approach is exemplified below by the
6112:, their occurrence is indicated by using the name of the event as a statement. When some event does occur, the relevant action is carried out, and then control passes just after
4774:
is the keyword reserved for declaring a pattern-matching exception handler in other languages popular today, like Java or C#. Some other languages like Ada use the keyword
2546:(Perl), which effect is to terminate the current loop immediately, and transfer control to the statement immediately after that loop. Another term for early-exit loops is
4607:
Unfortunately, some implementations had a substantial overhead in both space and time (especially SUBSCRIPTRANGE), so many programmers tried to avoid using conditions.
7014:
325:, and which may be referenced by control flow statements appearing elsewhere in the source code. A label marks a position within source code and has no other effect.
967:. As above, but with a second action to be performed if the condition is false. This is one of the most common forms, with many variations. Some require a terminal
2447:
are used to assure a program segment loops forever or until an exceptional condition arises, such as an error. For instance, an event-driven program (such as a
955:. A form found in unstructured languages, mimicking a typical machine code instruction, would jump to (GOTO) a label or line number when the condition was met.
474:
The effect of a goto statement is to cause the next statement to be executed to be the statement appearing at (or immediately after) the indicated label.
503:
varies; they may alternatively be known as routines, procedures, functions (especially if they return results) or methods (especially if they belong to
571:(subtract one number from another and branch if the result is negative), but practical computers have dozens or even hundreds of machine instructions.
7156:
102:
6343:
6116:. This construction provides a very clear separation between determining that some situation applies, and the action to be taken for that situation.
2053:
A loop is a sequence of statements which is specified once but which may be carried out several times in succession. The code "inside" the loop (the
2158:
In these examples, if N < 1 then the body of loop may execute once (with I having value 1) or not at all, depending on the programming language.
2459:. Some languages have special constructs for infinite loops, typically by omitting the condition from an indefinite loop. Examples include Ada (
6823:
6738:
6664:
6369:
7100:
6976:
Zahn, C. T. "A control statement for natural top-down structured programming" presented at
Symposium on Programming Languages, Paris, 1974.
961:. Rather than being restricted to a jump, any simple statement, or nested block, could follow the THEN key keyword. This a structured form.
6797:
5816:
loop with the while check in the middle. Hence this single construction can replace several constructions in most programming languages.
2333:
and later) have special constructs which allow implicit looping through all elements of an array, or all members of a set or collection.
4767:
is found or until the end of the main program is reached, at which point the program is forcibly stopped with a suitable error message.
515:
6470:
4467:
Count-controlled looping is effected by iteration across an integer interval; early exit by including an additional condition for exit.
932:
686:
7151:
6936:
We don't know where to GOTO if we don't know where we've COME FROM. This (spoof) linguistic innovation lives up to all expectations.
7040:
4593:
has some 22 standard conditions (e.g., ZERODIVIDE SUBSCRIPTRANGE ENDFILE) which can be raised and which can be intercepted by: ON
4571:
4517:
D supports infinite collections, and the ability to iterate over those collections. This does not require any special construct.
2929:
580:
2921:
out of a subroutine executing the looped statements, breaking out of both the nested loop and the subroutine. There are other
567:
That such minimalism is possible does not mean that it is necessarily desirable; after all, computers theoretically need only
418:
allowed both whole numbers and identifiers as labels (both linked by colons to the following statement), but few if any other
5417:
5303:
3458:
3242:
2306:
132:
7094:
7067:
Hoare, C. A. R. "Partition: Algorithm 63," "Quicksort: Algorithm 64," and "Find: Algorithm 65." Comm. ACM 4, 321–322, 1961.
6938:
2936:
to explain the similarity between multi-level breaks and return statements. Watt notes that a class of sequencers known as
5736:
5569:
5398:
5379:
3969:
3412:
2967:
2772:
2322:
2077:
1503:
1249:
1001:
665:
649:
600:
584:
518:
to reduce program size. A piece of code was written once and then used many times from various other places in a program.
95:
5125:
the variable to the file stream while abstracting from the side effects of initializing and releasing the file. Python's
5645:
5178:
5173:
2886:
2398:
2394:
2081:
568:
318:
128:
4604:, only one statement can be specified so in many cases a GOTO is needed to decide where flow of control should resume.
2061:) is obeyed a specified number of times, or once for each of a collection of items, or until some condition is met, or
426:
compilers only allowed whole numbers as labels. Beginning with
Fortran-90, alphanumeric labels have also been allowed.
5626:
5607:
5474:
4055:
3714:
2994:
dialects provide an extensive sublanguage for describing Loops. An early example can be found in
Conversional Lisp of
2991:
2979:
2318:
2302:
1875:
1386:
1255:
975:
and related languages do not require a terminal keyword, or a 'then', but do require parentheses around the condition.
645:
174:
5188:
257:
The kinds of control flow statements supported by different languages vary, but can be categorized by their effect:
6458:
6194:
5852:
5246:
4894:
4447:
3112:
3070:
2898:
2554:
2451:) should loop forever, handling events as they occur, only stopping when the process is terminated by an operator.
2274:
1509:
1007:
743:
739:
550:
376:
4638:
Modern languages have a specialized structured construct for exception handling which does not rely on the use of
6873:
6211:
5436:
5209:
4436:
3628:
637:
262:
234:
7089:
5181:, also known as semicoroutines, allow control to be yielded to a consumer method temporarily, typically using a
5360:
5265:
4548:
Many programming languages, especially those favoring more dynamic styles of programming, offer constructs for
3369:
3156:
2402:
2278:
1702:
1137:
972:
629:
523:
372:
312:
88:
7083:
4359:
A counting loop can be simulated by iterating over an incrementing list or generator, for instance, Python's
978:
Conditional statements can be and often are nested inside other conditional statements. Some languages allow
2409:
has do-expressions and comprehensions, which together provide similar function to for-expressions in Scala.
230:
158:
6543:
6519:
2975:
2970:
contain native support for loop variants and invariants. In other cases, support is an add-on, such as the
6693:
6642:
6340:
6287:
6277:
6186:
5819:
Languages lacking this construct generally emulate it using an equivalent infinite-loop-with-break idiom:
4494:
4443:
2971:
2085:
2069:
1396:
1378:
535:
152:
140:
4552:. These cause the flow of execution to jump out of a given context and resume at some predeclared point.
590:
Some academics took a purist approach to the Böhm–Jacopini result and argued that even instructions like
7146:
6955:
6241:
6216:
275:
Executing a set of statements zero or more times, until some condition is met (i.e., loop - the same as
147:
6185:
One way to attack a piece of software is to redirect the flow of execution of a program. A variety of
4304:
loop is a general loop construct, not specifically a counting one, although it is often used for that.
4237:
does not count as an infinite loop for this purpose, because it is not a dedicated language structure.
2869:
loops support such an else clause, which is executed only if early exit of the loop has not occurred.
7122:
6616:
6221:
6198:
5227:
4579:
3013:
938:
516:
https://www.researchgate.net/publication/225114059_The_Bohm-Jacopini_Theorem_Is_False_Propositionally
207:
166:
6698:
6647:
514:
In the 1950s, computer memories were very small by current standards so subroutines were used mainly
6769:
6303:
6077:
6073:
504:
460:
383:, usually appearing at the start of a line and immediately followed by a colon. For example, in C:
185:
173:
is a statement that results in a choice being made as to which of two or more paths to follow. For
31:
7161:
6711:
6385:
6226:
6123:
4633:
4560:
4554:
4481:
2448:
1486:
482:
478:
276:
269:
199:
178:
7107:
6410:
6129:
The following simple example involves searching a two-dimensional table for a particular item.
6819:
6794:
6734:
6660:
6365:
5731:
article in 1973, R. Lawrence Clark suggested that the GOTO statement could be replaced by the
5683:
4142:
942:
222:
6323:
Böhm, Jacopini. "Flow diagrams, turing machines and languages with only two formation rules"
4570:
are three common sorts of non-local control constructs; more exotic ones also exist, such as
2882:, and rejected on the basis that the added complexity was not worth the rare legitimate use.
759:
6703:
6652:
6474:
6297:
5161:
4335:
2775:
supports conditional execution of code depending on whether a loop was exited early (with a
2567:. Both features are very similar and comparing both code snippets will show the difference:
1474:
1470:
1454:
1449:
1404:
604:
587:– have continued this strategy, making components of programs even more freely composable.)
245:
218:
143:
116:
6633:
941:
that perform different computations or actions depending on whether a programmer-specified
607:. Pascal is affected by both of these problems and according to empirical studies cited by
456:, and pronounced accordingly) is the most basic form of unconditional transfer of control.
181:
exist to achieve the same result, but they are usually not termed control flow statements.
6990:
6942:
6801:
6347:
4325:
Deep breaks may be accomplished in APL, C, C++ and C# through the use of labels and gotos.
2894:
2547:
608:
463:
may either be in upper or lower case depending on the language, it is usually written as:
226:
6065:
in this example) is optional but permits leaving the outer loop of several nested loops.
4763:, control percolates back through subroutine calls and/or nested blocks until a matching
6579:
6173:
found: print ("item is in table"); missing: print ("item is not in table");
282:
Executing a set of distant statements, after which the flow of control usually returns (
6282:
5758:
4455:
4451:
2952:
2089:
336:
233:(CPUs), the only control flow instructions available are conditional or unconditional
7140:
6986:
6715:
6231:
2444:
2439:
2401:, which generalise collection-controlled loops, and also support other uses, such as
2298:
2251:
2196:
2062:
1370:
713:
250:
206:, but usually occur as a response to some external stimulus or event (that can occur
189:
136:
70:
50:
6435:
6126:, and exceptions or similar constructs are used for this purpose in many languages.
5735:
statement, and provides some entertaining examples. COMEFROM was implemented in one
6681:
6190:
5746:
5150:
5122:
4889:
4566:
2948:
2314:
2268:
1708:
1478:
1466:
1439:
messages to implement conditionals, rather than any fundamental language construct.
1143:
763:
720:
709:
291:
65:
5812:
is omitted, we get an infinite loop. The construction here can be thought of as a
1489:
matching any string. Case logic can also be implemented in functional form, as in
202:
are low-level mechanisms that can alter the flow of control in a way similar to a
17:
6839:
6656:
4507:
2910:
that cannot be rewritten as a program with multi-level breaks of depth less than
6935:
6567:
5512:
5341:
4783:
4778:
to introduce an exception handler and then may even employ a different keyword (
4099:
3327:
2999:
2925:
for multiple breaks, but these are generally implemented as exceptions instead.
2422:
328:
322:
6967:
Dahl & Dijkstra & Hoare, "Structured
Programming" Academic Press, 1972.
6495:
4506:
Requires loop variants to be integers; transfinite variants are not supported.
2065:. When one of those items is itself also a loop, it is called a "nested loop".
6592:
6292:
5728:
5702:
5493:
5205:
4184:
3759:
3585:
3543:
3501:
2330:
2326:
2192:
755:
669:
508:
500:
494:
380:
283:
203:
55:
6632:
Kozen, Dexter (2008). "The Böhm–Jacopini
Theorem is False, Propositionally".
6782:
6324:
6272:
6267:
6251:
6236:
5200:
4575:
2995:
2879:
2286:
1473:, the cases may not be limited to constant expressions, and might extend to
1428:
287:
268:
Executing a set of statements only if some condition is met (choice - i.e.,
195:
5191:) . Like the async keyword, this supports programming in a "direct style".
4418:
There is no special construct, but users can define general loop functions.
297:
Stopping the program, preventing any further execution (unconditional halt)
7078:
6901:
6707:
2387:
myStringCollection) { xxx } someCollection | ForEach-Object { $ _ }
5740:
5732:
2371:($ someArray as $ k => $ v) { xxx } Collection<String> coll;
2101:
751:
747:
625:
415:
60:
6604:
4597:
action; Programmers can also define and use their own named conditions.
4432:
4428:
2282:
6915:
6887:
6641:. Lecture Notes in Computer Science. Vol. 5133. pp. 177–192.
5804:
is omitted, we get a loop with the test at the bottom, equivalent to a
5455:
4642:
or (multi-level) breaks or returns. For example, in C++ one can write:
3671:
2933:
2406:
2073:
1881:
1361:
641:
423:
6804:. Boost-sandbox.sourceforge.net (2009-12-19). Retrieved on 2010-11-09.
4396:
Deep breaks may be accomplished through the use of exception handling.
2779:
statement) or not by using an else-clause with the loop. For example,
452:
446:
321:
is an explicit name or number assigned to a fixed position within the
6858:
6246:
2310:
937:
Conditional expressions and conditional constructs are features of a
150:
or evaluated. The emphasis on explicit control flow distinguishes an
6853:
2526:
statement that restarts the entire loop from the initial iteration.
331:
are an alternative to a named label used in some languages (such as
5781:
atEndOfFile; xxx2 write(char);
5284:
3199:
633:
6261:
5796:
is omitted, we get a loop with the test at the top (a traditional
5588:
5322:
4012:
3840:
3284:
419:
332:
244:
7015:"Adobe Flash Bug Discovery Leads To New Attack Mitigation Method"
6098:
EventA: actionA EventB: actionB EventC: actionC
2906:, there exists a program containing a multi-level break of depth
723:
level or curly brackets can be used, and they can be freely mixed
6954:
Knuth, Donald E. "Structured
Programming with go to Statements"
6256:
6201:
pointer verification, are used to defend against these attacks.
5550:
4590:
3926:
2294:
1410:
1374:, testing whether a numeric value is positive, negative or zero.
672:. Such languages need some way of grouping statements together:
661:
653:
435:
5208:
are functions that can yield control to each other - a form of
4454:
for each element. The functionality also can be constructed as
831:, however, if adding an end condition, the end keyword becomes
5664:
5531:
5040:
Since this pattern is fairly common, C# has a special syntax:
3883:
2514:
statement that restarts the current iteration from the start.
2290:
1490:
657:
2092:
procedures instead of looping constructs that are syntactic.
994:
or other final statements at the end of a compound statement.
4539:
Common Lisp predates the concept of generic collection type.
6341:
Loop Exits and
Structured Programming: Reopening the Debate
3002:
provides a Loop macro which implements such a sublanguage.
884:
Visual Basic: every control structure has its own keyword.
837:
ALGOL 68, Mythryl: initial keyword spelled backwards e.g.,
4662:// use: '''throw''' someValue;
6991:"On differences between the CFI, CPS, and CPI properties"
5141:, whereas other languages like Java are less permissive.
225:, control flow instructions usually work by altering the
184:
A set of statements is in turn generally structured as a
6840:"Asyncio: Asynchronous I/O: Python 3.10.2 documentation"
6684:(1974). "Structured Programming with go to Statements".
2885:
The notion of multi-level breaks is of some interest in
4782:
in Ada) for the pattern matching. A few languages like
555:
In May 1966, Böhm and Jacopini published an article in
5848:(see next section) appears to cover this case better.
6945:
By R. Lawrence Clark* From Datamation, December, 1973
6108:
is used to specify the events which may occur within
5867:) can be represented using a standard infinite loop (
261:
Continuation at a different statement (unconditional
6902:"Getting Started - Asynchronous Programming in Rust"
6544:"control_expressions - Documentation for Ruby 2.3.0"
6520:"control_expressions - Documentation for Ruby 2.4.0"
2889:, because it gives rise to what is today called the
5182:
5160:C# 5.0 introduced the async keyword for supporting
7095:A Linguistic Contribution of GOTO-less Programming
5879:clause in the middle (not to be confused with the
4497:(JML) behavioral interface specification language.
2841:"Set did not contain any prime numbers"
2563:
2922:
188:, which in addition to grouping, also defines a
6080:in 1974. A modified version is presented here.
7101:"Structured Programming with Go To Statements"
5770:xxx1 read(char);
444:statement (a combination of the English words
5840:A possible variant is to allow more than one
2853:clause in the above example is linked to the
685:C, C++, Go, Java, Perl, PHP, and PowerShell:
253:of a peptide ion mass mapping search process.
96:
8:
6814:David Anthony Watt; William Findlay (2004).
6729:David Anthony Watt; William Findlay (2004).
6360:David Anthony Watt; William Findlay (2004).
4908:construct. No matter how control leaves the
4900:In Object Pascal, D, Java, C#, and Python a
6818:. John Wiley & Sons. pp. 221–222.
6733:. John Wiley & Sons. pp. 215–221.
4462:
2510:Some languages, like Perl and Ruby, have a
7041:"Endgame to Present at Black Hat USA 2016"
6069:Multiple early exit/exit from nested loops
4755:clauses can be used above. If there is no
4534:
2955:are used to express correctness of loops.
103:
89:
36:
6697:
6646:
6471:"What is a loop and how we can use them?"
6335:
6333:
5117:-block, the compiler guarantees that the
4521:
4501:
4471:
4405:There is no special construct, since the
4329:
2417:General iteration constructs such as C's
6627:
6625:
5223:
3009:
2204:
2108:
1499:
997:
990:, avoiding the need to have a series of
6350:," ACM SIGCSE Bulletin, (27)1: 268–272.
6316:
5129:statement and Ruby's block argument to
4229:
2820:"Set contains a prime number"
766:. The forms of the final keyword vary:
39:
6459:Ada Programming: Control: Endless Loop
6364:. John Wiley & Sons. p. 228.
5844:test; within the loop, but the use of
5220:Non-local control flow cross reference
4488:
4422:
4391:
4385:
4379:
4373:
4367:
4320:
4314:
4308:
422:variants allowed whole numbers. Early
6874:"Generators - the Rust Unstable Book"
5883:statement in the following section).
2914:without introducing added variables.
2273:Several programming languages (e.g.,
481:by many computer scientists, notably
7:
6816:Programming language design concepts
6731:Programming language design concepts
6362:Programming language design concepts
4864:"Can't divide by zero"
4740:// catch anything not already caught
4354:
4348:
4342:
2966:Some programming languages, such as
799:optionally + initial keyword, e.g.,
177:functional languages, functions and
27:Execution order of computer commands
6785:. Sgi.com. Retrieved on 2010-11-09.
6635:Mathematics of Program Construction
6300:, alters control flow conditionally
4512:
559:which showed that any program with
400:"The operation was successful.
127:) is the order in which individual
7090:Go To Statement Considered Harmful
6758:. Prentice Hall. pp. 129–131.
4526:Deep breaks can be achieved using
4446:function which can iterate on STL
4283:
4277:
4271:
4265:
4259:
4253:
4247:
4241:
2183:sequence 0.1, 0.2, 0.3, ..., 1.0.
2151:( I=1; I<=N; ++I ) { xxx }
933:Conditional (computer programming)
25:
6386:"Nested Loops in C with Examples"
4544:Structured non-local control flow
3006:Loop system cross-reference table
2553:The following example is done in
1485:implements the default case as a
237:instructions, also termed jumps.
7157:Programming language comparisons
7077:
6264:, helps learn control structures
5121:object is released, effectively
4876:"You must not do that"
4476:Eiffel supports a reserved word
2482:Continuation with next iteration
2363:(item; myCollection) { xxx }
1481:example on the right, where the
1356:Less common variations include:
583:– and more recently, composable
581:non-strict programming languages
575:flow. In other words, they were
6566:Advanced Bash Scripting Guide:
4400:
2579:is a self-contained construct.
2391:( index = first:last:step... )
579:. (Later developments, such as
545:Minimal structured control flow
526:that can help divide the work.
210:), rather than execution of an
5757:The following was proposed by
4413:
4409:function can be used for this.
2963:during successive iterations.
615:Control structures in practice
1:
5737:esoteric programming language
2857:statement, and not the inner
2564:loops with test in the middle
2375:(String s : coll) {}
2209:DO WHILE (test) xxx LOOP
2113:FOR I = 1 TO N xxx NEXT I
2088:processes are expressed with
948:evaluates to true or false.
877:Modula-2: same final keyword
855:Fortran 77: final keyword is
6958:6(4):261-301, December 1974.
6657:10.1007/978-3-540-70594-9_11
5855:, the above loop construct (
5753:Loop with test in the middle
5174:Generator (computer science)
5133:are used to similar effect.
4790:construct from AppleScript:
2944:Loop variants and invariants
2887:theoretical computer science
2057:of the loop, shown below as
6122:is conceptually similar to
5808:loop in many languages. If
5723:Proposed control structures
5659:via experimental extension
5656:via experimental extension
4904:clause can be added to the
4692:// catch value of someClass
4334:Iteration over objects was
4171:one level per type of loop
4168:one level per type of loop
2923:proposed control structures
2263:Collection-controlled loops
371:In other languages such as
7178:
6434:Dean, Jenna (2019-11-22).
6195:buffer overflow protection
6169:found; missing;
5198:
5171:
5148:
4751:Any number and variety of
4722:// catch value of someType
4631:
2899:structured program theorem
2437:
2266:
2190:
2187:Condition-controlled loops
2143:DO I = 1,N xxx END DO
2099:
1447:
1444:Case and switch statements
930:
551:Structured program theorem
548:
533:
492:
477:Goto statements have been
433:
310:
40:
29:
6496:"redo - perldoc.perl.org"
6327:, 9(5):366-371, May 1966.
6212:Branch (computer science)
5785:;
5774:test;
5210:co-operative multitasking
5105:// may throw an exception
4993:// may throw an exception
3035:
3032:
3029:
3026:
3023:
3020:
3017:
3012:
2932:uses Tennent's notion of
2861:statement. Both Python's
2571:must be combined with an
927:If-then-(else) statements
557:Communications of the ACM
7152:Iteration in programming
6989:; Kuznetsov, Volodymyr.
6795:Chapter 1. Boost.Foreach
6770:"Common Lisp LOOP macro"
6754:Meyer, Bertrand (1991).
6603:comp.lang.c FAQ list · "
5885:
5042:
4918:
4792:
4644:
4610:Common Syntax examples:
4480:, however it is used in
4431:standard introduced the
2781:
2581:
2403:asynchronous programming
1964:
1889:
1824:
1716:
1589:
1517:
1385:statement, for instance
1360:Some languages, such as
1314:
1263:
1214:
1151:
1078:
1015:
859:+ initial keyword e.g.,
777:+ initial keyword e.g.,
385:
342:
313:Label (computer science)
231:central processing units
214:control flow statement.
30:Not to be confused with
5069:"logfile.txt"
4960:"logfile.txt"
3036:correctness facilities
2577:condition in the middle
1403:statement, such as C's
1395:Some languages have an
965:IF..THEN..ELSE..(ENDIF)
569:one machine instruction
159:declarative programming
6288:Structured programming
6278:Scheduling (computing)
6189:techniques, including
6187:control-flow integrity
6094:EventC; xxx
5825:(true) { xxx1
5238:generators/coroutines
4759:matching a particular
4550:non-local control flow
4495:Java Modeling Language
2972:Java Modeling Language
2928:In his 2004 textbook,
2506:Redo current iteration
2096:Count-controlled loops
2070:functional programming
1413:supplements a C-style
1377:Some languages have a
795:APL: final keyword is
769:Ada: final keyword is
536:Structured programming
254:
171:control flow statement
153:imperative programming
6956:ACM Computing Surveys
6708:10.1145/356635.356640
6411:"Python Nested Loops"
6242:Cyclomatic complexity
6217:Control-flow analysis
6197:, shadow stacks, and
5164:in a "direct style".
4770:Via C++'s influence,
4743:actionForAnythingElse
2974:'s specification for
2559:early exit from loops
2530:Early exit from loops
2367:someArray { xxx }
675:ALGOL 60 and Pascal:
585:software transactions
248:
165:Within an imperative
7086:at Wikimedia Commons
6756:Eiffel: The Language
6222:Control-flow diagram
6061:Naming a loop (like
5228:Programming language
4912:the code inside the
4656:// Somewhere in here
4458:on these containers.
3014:Programming language
2557:which supports both
986:to be combined into
939:programming language
499:The terminology for
167:programming language
6918:. Storm-enroute.com
6862:. 25 February 2022.
6617:Announcing PEP 3136
5900:Ada.Integer_Text_IO
4484:, not loop control.
2542:(Visual Basic), or
2231:(test) { xxx }
2072:languages, such as
179:language constructs
32:Flow control (data)
7045:www.prnewswire.com
7021:. 10 November 2015
6941:2018-07-16 at the
6800:2010-01-29 at the
6619:, Guido van Rossum
6568:11.3. Loop Control
6548:docs.ruby-lang.org
6524:docs.ruby-lang.org
6346:2014-07-25 at the
6227:Control-flow graph
6124:exception handling
4695:actionForSomeClass
4634:Exception handling
4482:exception handling
3027:loop continuation
2891:Kosaraju hierarchy
2575:statement while a
2538:(most languages),
2490:(most languages),
1955:action-on-no-match
624:No final keyword:
479:considered harmful
277:conditional branch
270:conditional branch
255:
18:Continue (keyword)
7082:Media related to
6825:978-0-470-85320-7
6740:978-0-470-85320-7
6686:Computing Surveys
6666:978-3-540-70593-2
6415:www.w3schools.com
6371:978-0-470-85320-7
5720:
5719:
5684:Visual Basic .NET
5212:without threads.
5189:yield description
5113:Upon leaving the
4725:actionForSomeType
4225:
4224:
4143:Visual Basic .NET
2938:escape sequencers
2461:loop ... end loop
2413:General iteration
2248:
2247:
2156:
2155:
2046:
2045:
1943:action-on-y-and-z
1471:dynamic languages
1463:multiway branches
1455:Switch statements
1354:
1353:
971:, others do not.
959:IF..THEN..(ENDIF)
223:assembly language
113:
112:
16:(Redirected from
7169:
7133:
7129:
7127:
7123:"IBM 704 Manual"
7118:
7114:
7112:
7106:. Archived from
7105:
7081:
7055:
7054:
7052:
7051:
7036:
7030:
7029:
7027:
7026:
7011:
7005:
7004:
7002:
7001:
6983:
6977:
6974:
6968:
6965:
6959:
6952:
6946:
6933:
6927:
6926:
6924:
6923:
6912:
6906:
6905:
6898:
6892:
6891:
6884:
6878:
6877:
6870:
6864:
6863:
6854:"Socketry/Async"
6850:
6844:
6843:
6836:
6830:
6829:
6811:
6805:
6792:
6786:
6780:
6774:
6773:
6766:
6760:
6759:
6751:
6745:
6744:
6726:
6720:
6719:
6701:
6677:
6671:
6670:
6650:
6640:
6629:
6620:
6614:
6608:
6601:
6595:
6589:
6583:
6576:
6570:
6564:
6558:
6557:
6555:
6554:
6540:
6534:
6533:
6531:
6530:
6516:
6510:
6509:
6507:
6506:
6500:perldoc.perl.org
6492:
6486:
6485:
6483:
6482:
6473:. Archived from
6467:
6461:
6456:
6450:
6449:
6447:
6446:
6431:
6425:
6424:
6422:
6421:
6407:
6401:
6400:
6398:
6397:
6382:
6376:
6375:
6357:
6351:
6337:
6328:
6321:
6304:Zahn's construct
6298:Switch statement
6139:missing;
6076:was proposed by
6057:
6054:
6051:
6048:
6045:
6042:
6039:
6036:
6033:
6030:
6027:
6024:
6021:
6018:
6015:
6012:
6009:
6006:
6003:
6000:
5997:
5994:
5991:
5988:
5985:
5982:
5979:
5976:
5973:
5970:
5967:
5964:
5961:
5958:
5955:
5952:
5949:
5946:
5943:
5940:
5937:
5934:
5931:
5928:
5925:
5922:
5919:
5916:
5913:
5910:
5907:
5904:
5901:
5898:
5895:
5892:
5889:
5224:
5186:
5185:
5162:asynchronous I/O
5140:
5132:
5128:
5120:
5116:
5109:
5106:
5103:
5100:
5097:
5094:
5091:
5088:
5085:
5082:
5079:
5076:
5073:
5070:
5067:
5064:
5061:
5058:
5055:
5052:
5049:
5046:
5036:
5033:
5030:
5027:
5024:
5021:
5018:
5015:
5012:
5009:
5006:
5003:
5000:
4997:
4994:
4991:
4988:
4985:
4982:
4979:
4976:
4973:
4970:
4967:
4964:
4961:
4958:
4955:
4952:
4949:
4946:
4943:
4940:
4937:
4934:
4931:
4928:
4925:
4922:
4915:
4911:
4907:
4903:
4895:default behavior
4883:
4880:
4877:
4874:
4871:
4868:
4865:
4862:
4859:
4856:
4853:
4850:
4847:
4844:
4841:
4838:
4835:
4832:
4829:
4826:
4823:
4820:
4817:
4814:
4811:
4808:
4805:
4802:
4799:
4796:
4789:
4781:
4777:
4773:
4766:
4762:
4758:
4754:
4747:
4744:
4741:
4738:
4735:
4732:
4729:
4726:
4723:
4720:
4717:
4714:
4711:
4708:
4705:
4702:
4699:
4696:
4693:
4690:
4687:
4684:
4681:
4678:
4675:
4672:
4669:
4666:
4663:
4660:
4657:
4654:
4651:
4648:
4641:
4538:
4529:
4525:
4516:
4505:
4492:
4479:
4475:
4466:
4442:
4426:
4417:
4408:
4404:
4395:
4389:
4383:
4377:
4371:
4362:
4358:
4352:
4346:
4333:
4324:
4318:
4312:
4303:
4287:
4281:
4275:
4269:
4263:
4257:
4251:
4245:
4236:
4233:
3010:
2986:Loop sublanguage
2920:
2868:
2864:
2860:
2856:
2852:
2845:
2842:
2839:
2836:
2833:
2830:
2827:
2824:
2821:
2818:
2815:
2812:
2809:
2806:
2803:
2800:
2797:
2794:
2791:
2788:
2785:
2778:
2768:
2765:
2762:
2759:
2756:
2753:
2750:
2747:
2744:
2741:
2738:
2735:
2732:
2729:
2726:
2723:
2720:
2717:
2714:
2711:
2708:
2705:
2702:
2699:
2696:
2693:
2690:
2687:
2684:
2681:
2678:
2675:
2672:
2669:
2666:
2663:
2660:
2657:
2654:
2651:
2648:
2645:
2642:
2639:
2636:
2633:
2630:
2627:
2624:
2621:
2618:
2615:
2612:
2609:
2606:
2603:
2600:
2597:
2594:
2591:
2588:
2585:
2545:
2541:
2537:
2525:
2513:
2501:
2497:
2493:
2489:
2474:
2470:
2466:
2462:
2458:
2457:while (true) ...
2428:
2420:
2205:
2109:
2040:
2037:
2034:
2031:
2028:
2025:
2022:
2019:
2016:
2013:
2010:
2007:
2004:
2001:
1998:
1995:
1992:
1989:
1986:
1983:
1980:
1977:
1974:
1971:
1968:
1959:
1956:
1953:
1950:
1947:
1944:
1941:
1938:
1935:
1932:
1929:
1926:
1923:
1920:
1917:
1914:
1911:
1908:
1905:
1902:
1899:
1896:
1893:
1868:
1865:
1861:
1857:
1853:
1850:
1846:
1842:
1838:
1834:
1831:
1828:
1819:
1816:
1813:
1810:
1807:
1804:
1801:
1798:
1795:
1792:
1789:
1786:
1783:
1780:
1777:
1774:
1771:
1768:
1765:
1762:
1759:
1756:
1753:
1750:
1747:
1744:
1741:
1738:
1735:
1732:
1729:
1726:
1723:
1720:
1695:
1692:
1689:
1686:
1683:
1680:
1677:
1674:
1671:
1668:
1665:
1662:
1659:
1656:
1653:
1650:
1647:
1644:
1641:
1638:
1635:
1632:
1629:
1626:
1623:
1620:
1617:
1614:
1611:
1608:
1605:
1602:
1599:
1596:
1593:
1584:
1581:
1578:
1575:
1572:
1569:
1566:
1563:
1560:
1557:
1554:
1551:
1548:
1545:
1542:
1539:
1536:
1533:
1530:
1527:
1524:
1521:
1500:
1496:
1484:
1475:pattern matching
1450:Switch statement
1438:
1434:
1424:
1420:
1416:
1405:ternary operator
1402:
1391:
1384:
1348:
1345:
1342:
1339:
1336:
1333:
1330:
1327:
1324:
1321:
1318:
1309:
1306:
1303:
1300:
1297:
1294:
1291:
1288:
1285:
1282:
1279:
1276:
1273:
1270:
1267:
1242:
1239:
1236:
1233:
1230:
1227:
1224:
1221:
1218:
1209:
1206:
1203:
1200:
1197:
1194:
1191:
1188:
1185:
1182:
1179:
1176:
1173:
1170:
1167:
1164:
1161:
1158:
1155:
1130:
1127:
1124:
1121:
1118:
1115:
1112:
1109:
1106:
1103:
1100:
1097:
1094:
1091:
1088:
1085:
1082:
1073:
1070:
1067:
1064:
1061:
1058:
1055:
1052:
1049:
1046:
1043:
1040:
1037:
1034:
1031:
1028:
1025:
1022:
1019:
998:
993:
989:
985:
981:
970:
966:
960:
954:
915:
911:
907:
903:
899:
895:
891:
887:
880:
874:
870:
866:
862:
858:
852:
848:
844:
840:
834:
830:
826:
822:
818:
814:
810:
806:
802:
798:
792:
788:
784:
780:
772:
733:
729:
719:Haskell: either
705:
701:
695:
691:
682:
678:
605:code duplication
597:
593:
410:
407:
404:
401:
398:
395:
392:
389:
379:, a label is an
367:
364:
361:
358:
355:
352:
349:
346:
219:machine language
217:At the level of
156:language from a
117:computer science
105:
98:
91:
37:
21:
7177:
7176:
7172:
7171:
7170:
7168:
7167:
7166:
7137:
7136:
7131:
7125:
7121:
7116:
7110:
7103:
7099:
7074:
7064:
7062:Further reading
7059:
7058:
7049:
7047:
7038:
7037:
7033:
7024:
7022:
7013:
7012:
7008:
6999:
6997:
6985:
6984:
6980:
6975:
6971:
6966:
6962:
6953:
6949:
6943:Wayback Machine
6934:
6930:
6921:
6919:
6914:
6913:
6909:
6900:
6899:
6895:
6888:"Corona - Rust"
6886:
6885:
6881:
6872:
6871:
6867:
6852:
6851:
6847:
6838:
6837:
6833:
6826:
6813:
6812:
6808:
6802:Wayback Machine
6793:
6789:
6781:
6777:
6768:
6767:
6763:
6753:
6752:
6748:
6741:
6728:
6727:
6723:
6699:10.1.1.103.6084
6680:
6678:
6674:
6667:
6648:10.1.1.218.9241
6638:
6631:
6630:
6623:
6615:
6611:
6605:Question 20.20b
6602:
6598:
6590:
6586:
6577:
6573:
6565:
6561:
6552:
6550:
6542:
6541:
6537:
6528:
6526:
6518:
6517:
6513:
6504:
6502:
6494:
6493:
6489:
6480:
6478:
6469:
6468:
6464:
6457:
6453:
6444:
6442:
6433:
6432:
6428:
6419:
6417:
6409:
6408:
6404:
6395:
6393:
6384:
6383:
6379:
6372:
6359:
6358:
6354:
6348:Wayback Machine
6338:
6331:
6322:
6318:
6313:
6308:
6207:
6183:
6178:
6165:table = target
6103:
6071:
6059:
6058:
6055:
6052:
6049:
6046:
6043:
6040:
6037:
6034:
6031:
6028:
6025:
6022:
6019:
6016:
6013:
6010:
6007:
6004:
6001:
5998:
5995:
5992:
5989:
5986:
5983:
5980:
5977:
5974:
5971:
5968:
5965:
5962:
5959:
5956:
5953:
5950:
5947:
5945:Integer_Text_IO
5944:
5941:
5938:
5935:
5932:
5929:
5926:
5923:
5920:
5917:
5914:
5911:
5908:
5905:
5902:
5899:
5896:
5893:
5890:
5887:
5838:
5790:
5755:
5725:
5678:via event loop
5222:
5203:
5197:
5183:
5176:
5170:
5158:
5153:
5147:
5138:
5130:
5126:
5118:
5114:
5111:
5110:
5107:
5104:
5101:
5098:
5095:
5092:
5089:
5086:
5083:
5080:
5077:
5074:
5071:
5068:
5065:
5062:
5059:
5056:
5053:
5050:
5047:
5044:
5038:
5037:
5034:
5031:
5028:
5025:
5022:
5019:
5016:
5013:
5010:
5007:
5004:
5001:
4998:
4995:
4992:
4989:
4986:
4983:
4980:
4977:
4974:
4971:
4968:
4965:
4962:
4959:
4956:
4953:
4950:
4947:
4944:
4941:
4938:
4935:
4932:
4929:
4926:
4923:
4920:
4913:
4909:
4905:
4901:
4885:
4884:
4881:
4878:
4875:
4872:
4869:
4866:
4863:
4860:
4857:
4854:
4851:
4848:
4845:
4842:
4839:
4836:
4833:
4830:
4827:
4824:
4821:
4818:
4815:
4812:
4809:
4806:
4803:
4800:
4797:
4794:
4787:
4779:
4775:
4771:
4764:
4760:
4756:
4752:
4749:
4748:
4745:
4742:
4739:
4736:
4733:
4730:
4727:
4724:
4721:
4718:
4715:
4712:
4709:
4706:
4703:
4700:
4697:
4694:
4691:
4688:
4685:
4682:
4679:
4676:
4673:
4670:
4667:
4664:
4661:
4658:
4655:
4652:
4649:
4646:
4639:
4636:
4630:
4625:
4602:unstructured if
4588:
4546:
4533:
4530:and procedures.
4527:
4520:
4511:
4500:
4487:
4477:
4470:
4461:
4440:
4433:range-based for
4421:
4412:
4406:
4399:
4390:
4384:
4378:
4372:
4366:
4360:
4353:
4347:
4341:
4328:
4319:
4313:
4307:
4289:
4282:
4276:
4270:
4264:
4258:
4252:
4246:
4240:
4234:
4228:
3008:
2988:
2976:loop statements
2953:loop invariants
2946:
2918:
2895:S. Rao Kosaraju
2866:
2862:
2858:
2854:
2850:
2847:
2846:
2843:
2840:
2837:
2834:
2831:
2828:
2825:
2822:
2819:
2816:
2813:
2810:
2807:
2804:
2801:
2798:
2795:
2792:
2789:
2786:
2783:
2776:
2770:
2769:
2766:
2763:
2760:
2757:
2754:
2751:
2748:
2745:
2742:
2739:
2736:
2733:
2730:
2727:
2724:
2721:
2718:
2715:
2712:
2709:
2706:
2703:
2700:
2697:
2694:
2691:
2688:
2685:
2682:
2679:
2676:
2673:
2670:
2667:
2664:
2661:
2658:
2655:
2652:
2649:
2646:
2643:
2640:
2637:
2634:
2631:
2628:
2625:
2622:
2619:
2616:
2613:
2610:
2607:
2604:
2601:
2598:
2595:
2592:
2589:
2586:
2583:
2548:loop-and-a-half
2543:
2539:
2535:
2532:
2523:
2520:
2511:
2508:
2499:
2495:
2491:
2487:
2484:
2473:loop do ... end
2472:
2468:
2464:
2460:
2456:
2442:
2436:
2426:
2418:
2415:
2399:for-expressions
2392:
2336:someCollection
2271:
2265:
2260:
2244:
2232:
2222:
2210:
2199:
2191:Main articles:
2189:
2180:
2162:
2152:
2144:
2137:
2114:
2104:
2098:
2051:
2042:
2041:
2038:
2036:actionOnNoMatch
2035:
2032:
2029:
2026:
2023:
2020:
2017:
2014:
2011:
2008:
2005:
2002:
1999:
1996:
1993:
1990:
1987:
1984:
1981:
1978:
1975:
1972:
1969:
1966:
1961:
1960:
1957:
1954:
1951:
1948:
1945:
1942:
1939:
1936:
1933:
1930:
1927:
1924:
1921:
1918:
1915:
1912:
1909:
1906:
1903:
1900:
1897:
1894:
1891:
1870:
1869:
1866:
1863:
1862:actionOnNoMatch
1859:
1855:
1851:
1848:
1844:
1840:
1836:
1832:
1829:
1826:
1821:
1820:
1817:
1814:
1812:actionOnNoMatch
1811:
1808:
1805:
1802:
1799:
1796:
1793:
1790:
1787:
1784:
1781:
1778:
1775:
1772:
1769:
1766:
1763:
1760:
1757:
1754:
1751:
1748:
1745:
1742:
1739:
1736:
1733:
1730:
1727:
1724:
1721:
1718:
1697:
1696:
1693:
1690:
1687:
1685:actionOnNoMatch
1684:
1681:
1678:
1675:
1672:
1669:
1666:
1663:
1660:
1657:
1654:
1651:
1648:
1645:
1642:
1639:
1636:
1633:
1630:
1627:
1624:
1621:
1618:
1615:
1612:
1609:
1606:
1603:
1600:
1597:
1594:
1591:
1586:
1585:
1582:
1579:
1576:
1574:actionOnNoMatch
1573:
1570:
1567:
1564:
1561:
1558:
1555:
1552:
1549:
1546:
1543:
1540:
1537:
1534:
1531:
1528:
1525:
1522:
1519:
1494:
1482:
1459:case statements
1452:
1446:
1436:
1432:
1422:
1418:
1414:
1400:
1389:
1382:
1350:
1349:
1346:
1343:
1341:"yes"
1340:
1337:
1334:
1331:
1328:
1325:
1322:
1319:
1316:
1311:
1310:
1307:
1304:
1301:
1298:
1295:
1292:
1289:
1287:"yes"
1286:
1283:
1280:
1277:
1274:
1271:
1268:
1265:
1244:
1243:
1240:
1237:
1234:
1231:
1229:"yes"
1228:
1225:
1222:
1219:
1216:
1211:
1210:
1207:
1204:
1201:
1198:
1195:
1192:
1189:
1186:
1183:
1181:"yes"
1180:
1177:
1174:
1171:
1168:
1165:
1162:
1159:
1156:
1153:
1132:
1131:
1128:
1125:
1122:
1119:
1116:
1113:
1110:
1107:
1104:
1102:"yes"
1101:
1098:
1095:
1092:
1089:
1086:
1083:
1080:
1075:
1074:
1071:
1068:
1065:
1062:
1059:
1056:
1053:
1050:
1047:
1044:
1041:
1038:
1035:
1032:
1029:
1026:
1023:
1020:
1017:
991:
987:
983:
979:
968:
964:
958:
952:
935:
929:
924:
913:
909:
905:
901:
897:
893:
889:
885:
878:
872:
868:
864:
860:
856:
850:
846:
842:
838:
832:
828:
824:
820:
816:
812:
808:
804:
800:
796:
790:
786:
782:
778:
770:
738:Final keyword:
731:
727:
703:
699:
693:
689:
680:
676:
617:
609:Eric S. Roberts
595:
591:
553:
547:
538:
532:
497:
491:
472:
438:
432:
412:
411:
408:
405:
402:
399:
396:
393:
390:
387:
369:
368:
365:
362:
359:
356:
353:
350:
347:
344:
315:
309:
304:
243:
227:program counter
125:flow of control
109:
80:
41:Loop constructs
35:
28:
23:
22:
15:
12:
11:
5:
7175:
7173:
7165:
7164:
7159:
7154:
7149:
7139:
7138:
7135:
7134:
7132:(31.4 MB)
7119:
7117:(2.88 MB)
7113:on 2009-08-24.
7097:
7092:
7087:
7073:
7072:External links
7070:
7069:
7068:
7063:
7060:
7057:
7056:
7031:
7006:
6987:Payer, Mathias
6978:
6969:
6960:
6947:
6928:
6907:
6893:
6879:
6865:
6845:
6831:
6824:
6806:
6787:
6775:
6761:
6746:
6739:
6721:
6692:(4): 261–301.
6672:
6665:
6621:
6609:
6596:
6584:
6571:
6559:
6535:
6511:
6487:
6462:
6451:
6436:"Nested Loops"
6426:
6402:
6377:
6370:
6352:
6339:Roberts, E. "
6329:
6315:
6314:
6312:
6309:
6307:
6306:
6301:
6295:
6290:
6285:
6283:Spaghetti code
6280:
6275:
6270:
6265:
6259:
6254:
6249:
6244:
6239:
6234:
6229:
6224:
6219:
6214:
6208:
6206:
6203:
6191:stack canaries
6182:
6179:
6131:
6082:
6074:This construct
6070:
6067:
5886:
5875:) that has an
5833:test)
5821:
5763:
5754:
5751:
5724:
5721:
5718:
5717:
5714:
5711:
5708:
5705:
5699:
5698:
5695:
5692:
5689:
5686:
5680:
5679:
5676:
5673:
5670:
5667:
5661:
5660:
5657:
5654:
5651:
5648:
5642:
5641:
5638:
5637:experimental
5635:
5632:
5629:
5623:
5622:
5621:via extension
5619:
5616:
5613:
5610:
5604:
5603:
5600:
5597:
5594:
5591:
5585:
5584:
5581:
5578:
5575:
5572:
5566:
5565:
5562:
5559:
5556:
5553:
5547:
5546:
5543:
5540:
5537:
5534:
5528:
5527:
5524:
5521:
5518:
5515:
5509:
5508:
5505:
5502:
5499:
5496:
5490:
5489:
5486:
5483:
5480:
5477:
5471:
5470:
5467:
5464:
5461:
5458:
5452:
5451:
5448:
5445:
5442:
5439:
5433:
5432:
5429:
5426:
5423:
5420:
5414:
5413:
5410:
5407:
5404:
5401:
5395:
5394:
5391:
5388:
5385:
5382:
5376:
5375:
5372:
5369:
5366:
5363:
5357:
5356:
5353:
5350:
5347:
5344:
5338:
5337:
5334:
5331:
5328:
5325:
5319:
5318:
5315:
5312:
5309:
5306:
5300:
5299:
5296:
5293:
5290:
5287:
5281:
5280:
5277:
5274:
5271:
5268:
5262:
5261:
5258:
5255:
5252:
5249:
5243:
5242:
5239:
5236:
5233:
5230:
5221:
5218:
5199:Main article:
5196:
5193:
5172:Main article:
5169:
5166:
5157:
5154:
5149:Main article:
5146:
5143:
5043:
4919:
4873:display dialog
4793:
4645:
4632:Main article:
4629:
4626:
4612:
4587:
4584:
4545:
4542:
4541:
4540:
4531:
4518:
4509:
4498:
4485:
4468:
4459:
4452:unary function
4419:
4410:
4397:
4364:
4339:
4326:
4305:
4238:
4223:
4222:
4220:
4218:
4216:
4214:
4211:
4208:
4205:
4202:
4199:
4196:
4193:
4190:
4187:
4181:
4180:
4178:
4176:
4174:
4172:
4169:
4166:
4163:
4160:
4157:
4154:
4151:
4148:
4145:
4139:
4138:
4136:
4134:
4132:
4129:
4126:
4123:
4120:
4117:
4114:
4111:
4108:
4105:
4102:
4096:
4095:
4093:
4091:
4088:
4085:
4082:
4079:
4076:
4073:
4070:
4067:
4064:
4061:
4058:
4052:
4051:
4049:
4047:
4045:
4042:
4039:
4036:
4033:
4030:
4027:
4024:
4021:
4018:
4015:
4009:
4008:
4006:
4004:
4002:
3999:
3996:
3993:
3990:
3987:
3984:
3981:
3978:
3975:
3972:
3966:
3965:
3963:
3961:
3959:
3956:
3953:
3950:
3947:
3944:
3941:
3938:
3935:
3932:
3929:
3923:
3922:
3920:
3918:
3916:
3913:
3910:
3907:
3904:
3901:
3898:
3895:
3892:
3889:
3886:
3880:
3879:
3877:
3875:
3873:
3870:
3867:
3864:
3861:
3858:
3855:
3852:
3849:
3846:
3843:
3837:
3836:
3834:
3831:
3828:
3825:
3822:
3819:
3816:
3813:
3810:
3807:
3804:
3801:
3797:
3796:
3794:
3792:
3789:
3786:
3783:
3780:
3777:
3774:
3771:
3768:
3765:
3762:
3756:
3755:
3752:
3749:
3747:
3744:
3741:
3738:
3735:
3732:
3729:
3726:
3723:
3720:
3717:
3711:
3710:
3708:
3706:
3704:
3701:
3698:
3695:
3692:
3689:
3686:
3683:
3680:
3677:
3674:
3668:
3667:
3665:
3663:
3661:
3658:
3655:
3652:
3649:
3646:
3643:
3640:
3637:
3634:
3631:
3625:
3624:
3622:
3620:
3618:
3616:
3613:
3610:
3607:
3604:
3601:
3598:
3595:
3592:
3589:
3582:
3581:
3579:
3577:
3575:
3573:
3570:
3567:
3564:
3561:
3558:
3555:
3552:
3549:
3546:
3540:
3539:
3537:
3535:
3533:
3531:
3528:
3525:
3522:
3519:
3516:
3513:
3510:
3507:
3504:
3498:
3497:
3495:
3493:
3491:
3488:
3485:
3482:
3479:
3476:
3473:
3470:
3467:
3464:
3461:
3455:
3454:
3451:
3450:integer only
3448:
3445:
3442:
3439:
3436:
3433:
3430:
3427:
3424:
3421:
3418:
3415:
3409:
3408:
3406:
3404:
3402:
3399:
3396:
3393:
3390:
3387:
3384:
3381:
3378:
3375:
3372:
3366:
3365:
3363:
3361:
3359:
3357:
3354:
3351:
3348:
3345:
3344:builtin only
3342:
3339:
3336:
3333:
3330:
3324:
3323:
3321:
3319:
3317:
3314:
3311:
3308:
3305:
3302:
3299:
3296:
3293:
3290:
3287:
3281:
3280:
3278:
3276:
3274:
3272:
3269:
3266:
3263:
3260:
3257:
3254:
3251:
3248:
3245:
3239:
3238:
3236:
3234:
3232:
3229:
3226:
3223:
3220:
3217:
3214:
3211:
3208:
3205:
3202:
3196:
3195:
3193:
3191:
3189:
3186:
3183:
3180:
3177:
3174:
3171:
3168:
3165:
3162:
3159:
3153:
3152:
3150:
3148:
3145:
3142:
3139:
3136:
3133:
3130:
3127:
3124:
3121:
3118:
3115:
3109:
3108:
3106:
3104:
3102:
3100:
3097:
3094:
3091:
3088:
3085:
3082:
3079:
3076:
3073:
3067:
3066:
3063:
3060:
3057:
3054:
3051:
3048:
3045:
3042:
3038:
3037:
3034:
3031:
3028:
3025:
3022:
3019:
3016:
3007:
3004:
2987:
2984:
2945:
2942:
2793:set_of_numbers
2782:
2582:
2531:
2528:
2519:
2516:
2507:
2504:
2498:(Fortran), or
2483:
2480:
2445:Infinite loops
2438:Main article:
2435:
2434:Infinite loops
2432:
2421:statement and
2414:
2411:
2335:
2267:Main article:
2264:
2261:
2257:
2246:
2245:
2235:
2233:
2227:
2224:
2223:
2213:
2211:
2208:
2188:
2185:
2168:X := 0.1
2164:
2154:
2153:
2147:
2145:
2142:
2139:
2138:
2117:
2115:
2112:
2100:Main article:
2097:
2094:
2090:tail recursive
2050:
2047:
2044:
2043:
1965:
1962:
1890:
1886:
1885:
1879:
1872:
1871:
1825:
1822:
1717:
1713:
1712:
1706:
1699:
1698:
1590:
1587:
1518:
1514:
1513:
1507:
1448:Main article:
1445:
1442:
1441:
1440:
1426:
1408:
1393:
1375:
1352:
1351:
1344:"no"
1315:
1312:
1305:"no"
1264:
1260:
1259:
1253:
1246:
1245:
1238:"no"
1215:
1212:
1202:"no"
1152:
1148:
1147:
1141:
1134:
1133:
1117:"no"
1079:
1076:
1016:
1012:
1011:
1005:
996:
995:
976:
962:
956:
931:Main article:
928:
925:
923:
920:
919:
918:
917:
916:
882:
881:for everything
875:
853:
835:
793:
736:
735:
734:
724:
717:
706:
696:
687:curly brackets
683:
616:
613:
546:
543:
534:Main article:
531:
528:
493:Main article:
490:
487:
465:
434:Main article:
431:
428:
386:
343:
311:Main article:
308:
305:
303:
300:
299:
298:
295:
280:
273:
266:
242:
239:
208:asynchronously
137:function calls
111:
110:
108:
107:
100:
93:
85:
82:
81:
79:
78:
73:
68:
63:
58:
53:
47:
44:
43:
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
7174:
7163:
7160:
7158:
7155:
7153:
7150:
7148:
7145:
7144:
7142:
7124:
7120:
7109:
7102:
7098:
7096:
7093:
7091:
7088:
7085:
7080:
7076:
7075:
7071:
7066:
7065:
7061:
7046:
7042:
7035:
7032:
7020:
7016:
7010:
7007:
6996:
6995:nebelwelt.net
6992:
6988:
6982:
6979:
6973:
6970:
6964:
6961:
6957:
6951:
6948:
6944:
6940:
6937:
6932:
6929:
6917:
6911:
6908:
6903:
6897:
6894:
6889:
6883:
6880:
6875:
6869:
6866:
6861:
6860:
6855:
6849:
6846:
6841:
6835:
6832:
6827:
6821:
6817:
6810:
6807:
6803:
6799:
6796:
6791:
6788:
6784:
6779:
6776:
6771:
6765:
6762:
6757:
6750:
6747:
6742:
6736:
6732:
6725:
6722:
6717:
6713:
6709:
6705:
6700:
6695:
6691:
6687:
6683:
6682:Knuth, Donald
6676:
6673:
6668:
6662:
6658:
6654:
6649:
6644:
6637:
6636:
6628:
6626:
6622:
6618:
6613:
6610:
6606:
6600:
6597:
6594:
6588:
6585:
6581:
6578:PHP Manual: "
6575:
6572:
6569:
6563:
6560:
6549:
6545:
6539:
6536:
6525:
6521:
6515:
6512:
6501:
6497:
6491:
6488:
6477:on 2020-07-28
6476:
6472:
6466:
6463:
6460:
6455:
6452:
6441:
6437:
6430:
6427:
6416:
6412:
6406:
6403:
6391:
6390:GeeksforGeeks
6387:
6381:
6378:
6373:
6367:
6363:
6356:
6353:
6349:
6345:
6342:
6336:
6334:
6330:
6326:
6320:
6317:
6310:
6305:
6302:
6299:
6296:
6294:
6291:
6289:
6286:
6284:
6281:
6279:
6276:
6274:
6271:
6269:
6266:
6263:
6260:
6258:
6255:
6253:
6250:
6248:
6245:
6243:
6240:
6238:
6235:
6233:
6232:Control table
6230:
6228:
6225:
6223:
6220:
6218:
6215:
6213:
6210:
6209:
6204:
6202:
6200:
6196:
6192:
6188:
6180:
6176:
6172:
6168:
6164:
6161:
6157:
6153:
6150:
6146:
6142:
6138:
6134:
6130:
6127:
6125:
6121:
6117:
6115:
6111:
6107:
6101:
6097:
6093:
6089:
6085:
6081:
6079:
6075:
6068:
6066:
6064:
6053:Print_Squares
5909:Print_Squares
5884:
5882:
5878:
5874:
5870:
5866:
5862:
5858:
5854:
5849:
5847:
5843:
5836:
5832:
5828:
5824:
5820:
5817:
5815:
5811:
5807:
5803:
5799:
5795:
5788:
5784:
5780:
5777:
5773:
5769:
5766:
5762:
5760:
5752:
5750:
5748:
5744:
5742:
5738:
5734:
5730:
5722:
5715:
5712:
5709:
5706:
5704:
5701:
5700:
5696:
5693:
5690:
5687:
5685:
5682:
5681:
5677:
5674:
5671:
5668:
5666:
5663:
5662:
5658:
5655:
5652:
5649:
5647:
5644:
5643:
5639:
5636:
5633:
5630:
5628:
5625:
5624:
5620:
5617:
5614:
5611:
5609:
5606:
5605:
5601:
5598:
5595:
5592:
5590:
5587:
5586:
5582:
5579:
5576:
5573:
5571:
5568:
5567:
5563:
5560:
5557:
5554:
5552:
5549:
5548:
5544:
5541:
5538:
5535:
5533:
5530:
5529:
5525:
5522:
5519:
5516:
5514:
5511:
5510:
5506:
5503:
5500:
5497:
5495:
5492:
5491:
5487:
5484:
5481:
5478:
5476:
5473:
5472:
5468:
5465:
5462:
5459:
5457:
5454:
5453:
5449:
5446:
5443:
5440:
5438:
5435:
5434:
5430:
5427:
5424:
5421:
5419:
5416:
5415:
5411:
5408:
5405:
5402:
5400:
5397:
5396:
5392:
5389:
5386:
5383:
5381:
5378:
5377:
5373:
5370:
5367:
5364:
5362:
5359:
5358:
5354:
5351:
5348:
5345:
5343:
5340:
5339:
5335:
5332:
5329:
5326:
5324:
5321:
5320:
5316:
5313:
5310:
5307:
5305:
5302:
5301:
5297:
5294:
5291:
5288:
5286:
5283:
5282:
5278:
5275:
5272:
5269:
5267:
5264:
5263:
5259:
5256:
5253:
5250:
5248:
5245:
5244:
5240:
5237:
5234:
5231:
5229:
5226:
5225:
5219:
5217:
5213:
5211:
5207:
5202:
5194:
5192:
5190:
5180:
5175:
5167:
5165:
5163:
5155:
5152:
5145:Continuations
5144:
5142:
5134:
5124:
5041:
4936:// C# example
4917:
4898:
4896:
4891:
4791:
4785:
4768:
4643:
4635:
4627:
4624:
4621:
4618:
4615:
4611:
4608:
4605:
4603:
4598:
4596:
4592:
4585:
4583:
4581:
4577:
4573:
4569:
4568:
4567:continuations
4563:
4562:
4557:
4556:
4551:
4543:
4537:
4536:
4532:
4524:
4523:
4519:
4515:
4514:
4510:
4508:
4504:
4503:
4499:
4496:
4491:
4490:
4486:
4483:
4474:
4473:
4469:
4465:
4464:
4460:
4457:
4453:
4449:
4445:
4441:std::for_each
4439:, there is a
4438:
4434:
4430:
4425:
4424:
4420:
4416:
4415:
4411:
4403:
4402:
4398:
4394:
4393:
4388:
4387:
4382:
4381:
4376:
4375:
4370:
4369:
4365:
4357:
4356:
4351:
4350:
4345:
4344:
4340:
4337:
4332:
4331:
4327:
4323:
4322:
4317:
4316:
4311:
4310:
4306:
4301:
4297:
4293:
4286:
4285:
4280:
4279:
4274:
4273:
4268:
4267:
4262:
4261:
4256:
4255:
4250:
4249:
4244:
4243:
4239:
4232:
4231:
4227:
4226:
4221:
4219:
4217:
4215:
4212:
4209:
4206:
4203:
4200:
4197:
4194:
4191:
4188:
4186:
4183:
4182:
4179:
4177:
4175:
4173:
4170:
4167:
4164:
4161:
4158:
4155:
4152:
4149:
4146:
4144:
4141:
4140:
4137:
4135:
4133:
4130:
4127:
4124:
4121:
4118:
4116:arrays,lists
4115:
4112:
4109:
4106:
4103:
4101:
4098:
4097:
4094:
4092:
4089:
4086:
4084:deep nested
4083:
4081:deep nested
4080:
4077:
4074:
4071:
4068:
4065:
4062:
4059:
4057:
4054:
4053:
4050:
4048:
4046:
4043:
4040:
4037:
4034:
4031:
4028:
4025:
4022:
4019:
4016:
4014:
4011:
4010:
4007:
4005:
4003:
4000:
3998:deep nested
3997:
3995:deep nested
3994:
3991:
3988:
3985:
3982:
3979:
3976:
3973:
3971:
3968:
3967:
3964:
3962:
3960:
3957:
3954:
3951:
3948:
3945:
3942:
3939:
3936:
3933:
3930:
3928:
3925:
3924:
3921:
3919:
3917:
3914:
3911:
3908:
3905:
3902:
3899:
3896:
3893:
3890:
3887:
3885:
3882:
3881:
3878:
3876:
3874:
3871:
3868:
3865:
3862:
3859:
3857:arrays,lists
3856:
3853:
3850:
3847:
3844:
3842:
3839:
3838:
3835:
3832:
3829:
3826:
3823:
3820:
3817:
3814:
3811:
3808:
3805:
3802:
3799:
3798:
3795:
3793:
3790:
3787:
3784:
3781:
3778:
3775:
3772:
3769:
3766:
3763:
3761:
3758:
3757:
3753:
3750:
3748:
3745:
3742:
3739:
3736:
3733:
3730:
3727:
3724:
3721:
3718:
3716:
3713:
3712:
3709:
3707:
3705:
3702:
3699:
3696:
3693:
3690:
3687:
3684:
3681:
3678:
3675:
3673:
3670:
3669:
3666:
3664:
3662:
3659:
3656:
3653:
3650:
3647:
3645:builtin only
3644:
3641:
3638:
3635:
3632:
3630:
3627:
3626:
3623:
3621:
3619:
3617:
3614:
3611:
3608:
3605:
3602:
3599:
3596:
3593:
3590:
3587:
3584:
3583:
3580:
3578:
3576:
3574:
3571:
3568:
3565:
3562:
3559:
3556:
3553:
3550:
3547:
3545:
3542:
3541:
3538:
3536:
3534:
3532:
3529:
3526:
3523:
3520:
3517:
3514:
3511:
3508:
3505:
3503:
3500:
3499:
3496:
3494:
3492:
3489:
3486:
3483:
3480:
3477:
3474:
3471:
3468:
3465:
3462:
3460:
3457:
3456:
3452:
3449:
3446:
3443:
3440:
3437:
3434:
3431:
3428:
3425:
3422:
3419:
3416:
3414:
3411:
3410:
3407:
3405:
3403:
3400:
3397:
3394:
3391:
3388:
3385:
3382:
3379:
3376:
3373:
3371:
3368:
3367:
3364:
3362:
3360:
3358:
3355:
3352:
3349:
3346:
3343:
3340:
3337:
3334:
3331:
3329:
3326:
3325:
3322:
3320:
3318:
3315:
3313:deep nested
3312:
3310:deep nested
3309:
3306:
3303:
3300:
3297:
3294:
3291:
3288:
3286:
3283:
3282:
3279:
3277:
3275:
3273:
3271:deep nested
3270:
3268:deep nested
3267:
3264:
3261:
3258:
3255:
3252:
3249:
3246:
3244:
3241:
3240:
3237:
3235:
3233:
3230:
3228:deep nested
3227:
3225:deep nested
3224:
3221:
3218:
3215:
3212:
3209:
3206:
3203:
3201:
3198:
3197:
3194:
3192:
3190:
3187:
3185:deep nested
3184:
3182:deep nested
3181:
3178:
3175:
3172:
3169:
3166:
3163:
3160:
3158:
3155:
3154:
3151:
3149:
3146:
3143:
3140:
3138:deep nested
3137:
3134:
3131:
3128:
3125:
3122:
3119:
3116:
3114:
3111:
3110:
3107:
3105:
3103:
3101:
3098:
3095:
3092:
3089:
3086:
3083:
3080:
3077:
3074:
3072:
3069:
3068:
3064:
3061:
3058:
3055:
3052:
3049:
3046:
3043:
3040:
3039:
3015:
3011:
3005:
3003:
3001:
2997:
2993:
2985:
2983:
2981:
2977:
2973:
2969:
2964:
2960:
2956:
2954:
2950:
2949:Loop variants
2943:
2941:
2939:
2935:
2931:
2926:
2924:
2917:One can also
2915:
2913:
2909:
2905:
2900:
2896:
2892:
2888:
2883:
2881:
2876:
2870:
2780:
2774:
2764:Print_Squares
2614:Print_Squares
2580:
2578:
2574:
2570:
2566:
2565:
2560:
2556:
2551:
2549:
2529:
2527:
2517:
2515:
2505:
2503:
2481:
2479:
2476:
2471:), and Ruby (
2465:DO ... END DO
2452:
2450:
2446:
2441:
2440:Infinite loop
2433:
2431:
2424:
2412:
2410:
2408:
2404:
2400:
2396:
2390:
2386:
2382:
2378:
2374:
2370:
2366:
2362:
2358:
2354:
2351:
2347:
2343:
2339:
2334:
2332:
2328:
2324:
2320:
2316:
2312:
2308:
2304:
2300:
2299:Object Pascal
2296:
2292:
2288:
2284:
2280:
2276:
2270:
2262:
2256:
2253:
2252:control break
2242:
2238:
2234:
2230:
2226:
2225:
2220:
2216:
2212:
2207:
2206:
2203:
2198:
2197:Do while loop
2194:
2186:
2184:
2179:
2175:
2171:
2167:
2163:
2159:
2150:
2146:
2141:
2140:
2135:
2131:
2128:
2124:
2120:
2116:
2111:
2110:
2107:
2103:
2095:
2093:
2091:
2087:
2083:
2079:
2075:
2071:
2066:
2064:
2060:
2056:
2048:
2027:actionOnYandZ
1963:
1888:
1887:
1883:
1880:
1877:
1874:
1873:
1854:actionOnYandZ
1823:
1794:actionOnYandZ
1715:
1714:
1710:
1707:
1704:
1701:
1700:
1670:actionOnYandZ
1588:
1565:actionOnYandZ
1516:
1515:
1511:
1508:
1505:
1502:
1501:
1498:
1492:
1488:
1480:
1476:
1472:
1468:
1467:lookup tables
1464:
1460:
1456:
1451:
1443:
1430:
1427:
1412:
1409:
1406:
1398:
1394:
1388:
1380:
1376:
1373:
1372:
1371:arithmetic if
1367:
1363:
1359:
1358:
1357:
1313:
1262:
1261:
1257:
1254:
1251:
1248:
1247:
1213:
1150:
1149:
1145:
1142:
1139:
1136:
1135:
1077:
1014:
1013:
1009:
1006:
1003:
1000:
999:
977:
974:
963:
957:
951:
950:
949:
947:
944:
940:
934:
926:
921:
883:
876:
854:
836:
794:
776:
768:
767:
765:
761:
757:
753:
749:
745:
741:
737:
725:
722:
718:
715:
714:Off-side rule
711:
708:Python: uses
707:
697:
688:
684:
674:
673:
671:
667:
663:
659:
655:
651:
647:
643:
639:
635:
631:
627:
623:
622:
621:
614:
612:
610:
606:
602:
588:
586:
582:
578:
572:
570:
565:
562:
558:
552:
544:
542:
537:
529:
527:
525:
519:
517:
512:
510:
506:
502:
496:
488:
486:
484:
480:
475:
471:
468:
464:
462:
459:Although the
457:
455:
454:
449:
448:
443:
437:
429:
427:
425:
421:
417:
414:The language
384:
382:
378:
374:
341:
338:
337:whole numbers
334:
330:
326:
324:
320:
314:
306:
301:
296:
293:
292:continuations
289:
285:
281:
278:
274:
271:
267:
264:
260:
259:
258:
252:
251:state diagram
247:
240:
238:
236:
232:
228:
224:
220:
215:
213:
209:
205:
201:
197:
193:
191:
190:lexical scope
187:
182:
180:
176:
172:
168:
163:
161:
160:
155:
154:
149:
145:
142:
138:
134:
130:
126:
122:
118:
106:
101:
99:
94:
92:
87:
86:
84:
83:
77:
74:
72:
71:Infinite loop
69:
67:
64:
62:
59:
57:
54:
52:
51:Do while loop
49:
48:
46:
45:
42:
38:
33:
19:
7147:Control flow
7108:the original
7084:Control flow
7048:. Retrieved
7044:
7034:
7023:. Retrieved
7019:Dark Reading
7018:
7009:
6998:. Retrieved
6994:
6981:
6972:
6963:
6950:
6931:
6920:. Retrieved
6916:"Jitsi Meet"
6910:
6896:
6882:
6868:
6857:
6848:
6834:
6815:
6809:
6790:
6778:
6764:
6755:
6749:
6730:
6724:
6689:
6685:
6675:
6634:
6612:
6599:
6587:
6574:
6562:
6551:. Retrieved
6547:
6538:
6527:. Retrieved
6523:
6514:
6503:. Retrieved
6499:
6490:
6479:. Retrieved
6475:the original
6465:
6454:
6443:. Retrieved
6439:
6429:
6418:. Retrieved
6414:
6405:
6394:. Retrieved
6392:. 2019-11-25
6389:
6380:
6361:
6355:
6319:
6247:Drakon-chart
6184:
6174:
6170:
6166:
6162:
6159:
6155:
6154:J := 1
6151:
6148:
6144:
6143:I := 1
6140:
6136:
6132:
6128:
6119:
6118:
6113:
6109:
6105:
6104:
6099:
6095:
6091:
6087:
6083:
6072:
6062:
6060:
5880:
5876:
5872:
5868:
5864:
5860:
5856:
5850:
5845:
5841:
5839:
5834:
5830:
5826:
5822:
5818:
5813:
5809:
5805:
5801:
5797:
5793:
5791:
5786:
5782:
5778:
5775:
5771:
5767:
5764:
5756:
5747:Donald Knuth
5745:
5726:
5214:
5204:
5177:
5159:
5151:Continuation
5135:
5112:
5093:ProcessStuff
5039:
4981:ProcessStuff
4899:
4890:input/output
4886:
4769:
4750:
4637:
4622:
4619:
4616:
4613:
4609:
4606:
4601:
4599:
4594:
4589:
4565:
4559:
4553:
4549:
4547:
4535:
4522:
4513:
4502:
4489:
4472:
4463:
4423:
4414:
4401:
4392:
4386:
4380:
4374:
4368:
4355:
4349:
4343:
4330:
4321:
4315:
4309:
4299:
4295:
4291:
4284:
4278:
4272:
4266:
4260:
4254:
4248:
4242:
4235:while (true)
4230:
3955:deep nested
3952:deep nested
3912:deep nested
3909:deep nested
3788:deep nested
3785:deep nested
3754:non-native
3751:non-native
3743:deep nested
3740:deep nested
3657:deep nested
3654:deep nested
3612:deep nested
3569:deep nested
3398:deep nested
3395:deep nested
3353:deep nested
3096:deep nested
3018:conditional
2989:
2965:
2961:
2957:
2947:
2937:
2927:
2916:
2911:
2907:
2903:
2897:refined the
2890:
2884:
2874:
2871:
2848:
2771:
2576:
2572:
2568:
2562:
2558:
2552:
2533:
2521:
2518:Restart loop
2509:
2485:
2477:
2463:), Fortran (
2453:
2443:
2416:
2393:
2388:
2384:
2380:
2376:
2372:
2368:
2364:
2360:
2356:
2352:
2349:
2345:
2341:
2337:
2315:Visual Basic
2272:
2249:
2240:
2236:
2228:
2218:
2214:
2202:least once.
2200:
2181:
2177:
2173:
2169:
2165:
2160:
2157:
2148:
2133:
2129:
2126:
2122:
2121:I := 1
2118:
2105:
2067:
2063:indefinitely
2058:
2054:
2052:
1709:Shell script
1479:shell script
1477:, as in the
1462:
1458:
1453:
1369:
1365:
1355:
1144:Shell script
945:
936:
774:
764:Visual Basic
618:
589:
576:
573:
566:
560:
556:
554:
539:
520:
513:
509:type classes
498:
476:
473:
469:
466:
458:
451:
445:
441:
439:
413:
370:
335:). They are
329:Line numbers
327:
316:
256:
216:
211:
194:
183:
170:
164:
157:
151:
133:instructions
124:
121:control flow
120:
114:
76:Control flow
75:
66:Foreach loop
6440:The Startup
5891:Ada.Text_IO
5727:In a spoof
5669:via traces
5513:Objective-C
5342:Common Lisp
5235:exceptions
5232:conditions
4784:AppleScript
4450:and call a
4100:Standard ML
4038:one level
3438:one level
3328:Common Lisp
3053:collection
3024:early exit
3000:Common Lisp
2599:Ada.Integer
2522:Ruby has a
2469:for { ... }
2423:Common Lisp
2348:Collection
2021:'z'
2015:'y'
2000:'x'
1985:'a'
1967:select case
1925:action-on-x
1910:action-on-a
1788:'z'
1779:'y'
1758:'x'
1737:'a'
1559:'z'
1553:'y'
1541:'x'
1529:'a'
1497:statement.
1399:form of an
1381:form of an
712:level (see
501:subroutines
489:Subroutines
323:source code
284:subroutines
229:. For some
7141:Categories
7050:2016-06-01
7025:2016-06-01
7000:2016-06-01
6922:2022-09-07
6553:2020-09-25
6529:2020-09-25
6505:2020-09-25
6481:2020-05-25
6445:2024-03-14
6420:2024-03-14
6396:2024-03-14
6311:References
6293:Subroutine
5800:loop). If
5729:Datamation
5703:PowerShell
5494:JavaScript
5206:Coroutines
5195:Coroutines
5179:Generators
5168:Generators
5063:FileStream
4954:FileStream
4921:FileStream
4628:Exceptions
4586:Conditions
4576:coroutines
4572:generators
4561:exceptions
4555:Conditions
4448:containers
4185:PowerShell
3760:JavaScript
3588:and later
3586:Fortran 95
3544:Fortran 90
3527:one level
3502:FORTRAN 77
3065:invariant
3059:infinite
2930:David Watt
2893:. In 1973
2569:early exit
2331:Fortran 95
2327:JavaScript
2193:While loop
2039:end select
1830:$ someChar
1379:functional
829::EndSelect
756:Fortran 77
726:Lua: uses
670:PowerShell
577:composable
549:See also:
524:modularity
495:Subroutine
381:identifier
302:Primitives
288:coroutines
241:Categories
204:subroutine
196:Interrupts
175:non-strict
162:language.
141:imperative
129:statements
56:While loop
7162:Recursion
7039:Endgame.
6716:207630080
6694:CiteSeerX
6643:CiteSeerX
6591:perldoc:
6325:Comm. ACM
6273:Recursion
6268:Main loop
6252:Flowchart
6237:Coroutine
6063:Read_Data
6044:Read_Data
5966:Read_Data
5930:Read_Data
5906:procedure
5877:exit when
5761:in 1972:
5201:Coroutine
5187:keyword (
5131:File.open
4776:exception
4713:anotherId
4677:someClass
4617:condition
4600:Like the
4595:condition
4582:keyword.
4493:Requires
4435:. In the
4338:in PHP 5.
4300:increment
2996:Interlisp
2934:sequencer
2755:Read_Data
2677:Read_Data
2635:Read_Data
2611:procedure
2430:clearer.
2287:Smalltalk
2086:iterative
2082:recursive
2006:actionOnX
1991:actionOnA
1898:some-char
1847:actionOnX
1839:actionOnA
1764:actionOnX
1743:actionOnA
1637:actionOnX
1616:actionOnA
1547:actionOnX
1535:actionOnA
1429:Smalltalk
1366:three-way
1364:, have a
946:condition
6939:Archived
6798:Archived
6783:for_each
6344:Archived
6205:See also
6181:Security
6133:exitwhen
6120:exitwhen
6106:exitwhen
6084:exitwhen
6032:New_Line
5881:exitwhen
5873:end loop
5846:exitwhen
5806:do while
5741:INTERCAL
5733:COMEFROM
5075:FileMode
4966:FileMode
4807:myNumber
4801:myNumber
4788:on error
4707:someType
4578:and the
4444:template
3800:Natural
3062:variant
3056:general
2880:PEP 3136
2743:New_Line
2587:Ada.Text
2488:continue
2243:(test);
2102:For loop
1973:someChar
1725:someChar
1595:someChar
1523:someChar
1397:operator
1111:Put_Line
1096:Put_Line
953:IF..GOTO
791:end loop
752:Modula-2
748:ALGOL 68
626:ALGOL 60
530:Sequence
483:Dijkstra
416:ALGOL 60
265:or jump)
148:executed
61:For loop
6175:endexit
6114:endexit
6100:endexit
6090:EventB
6086:EventA
5921:Integer
5837:xxx2 }
5456:Haskell
5123:binding
4999:finally
4914:finally
4902:finally
4843:partial
4361:range()
3672:Haskell
3603:arrays
3087:arrays
3044:middle
2802:isprime
2650:Integer
2626:Integer
2467:), Go (
2407:Haskell
2377:foreach
2369:foreach
2365:foreach
2361:foreach
2340:: .
2269:Foreach
2080:, both
2074:Haskell
2033:default
1882:Fortran
1806:default
1437:ifFalse
1362:Fortran
1054:writeln
1033:writeln
943:Boolean
825::Select
760:Mythryl
642:Haskell
505:classes
461:keyword
424:Fortran
388:Success
212:in-line
200:signals
144:program
7130:
7115:
6859:GitHub
6822:
6737:
6714:
6696:
6663:
6645:
6368:
6199:vtable
6135:found
5865:repeat
5787:repeat
5783:repeat
5739:named
5570:Python
5399:Erlang
5380:Eiffel
5241:async
5090:return
5081:Create
4978:return
4972:Create
4846:result
4825:number
4683:someId
3970:Python
3413:Eiffel
3050:count
3041:begin
3033:retry
2968:Eiffel
2919:return
2773:Python
2449:server
2389:forall
2381:string
2323:Python
2311:MATLAB
2221:test;
2215:repeat
2078:Scheme
1719:switch
1679:others
1504:Pascal
1495:decode
1433:ifTrue
1423:unless
1387:Lisp's
1250:Python
1066:"
1060:"
1045:"
1039:"
1002:Pascal
988:ELSEIF
922:Choice
890:End If
833::Until
817:Select
813::EndIf
783:end if
721:indent
710:indent
698:PL/I:
666:Python
650:Pascal
601:Pascal
596:return
406:"
394:printf
307:Labels
290:, and
263:branch
235:branch
139:of an
7126:(PDF)
7111:(PDF)
7104:(PDF)
6712:S2CID
6639:(PDF)
6580:break
6262:Jeroo
6171:exits
6096:exits
5927:begin
5861:while
5842:while
5835:break
5823:while
5810:while
5798:while
5776:while
5772:while
5646:Scala
5589:Rebol
5323:COBOL
5184:yield
5156:Async
5115:using
5045:using
5029:Close
4819:error
4772:catch
4765:catch
4761:throw
4757:catch
4753:catch
4734:(...)
4731:catch
4710:&
4701:catch
4680:&
4671:catch
4623:label
4580:async
4528:GO TO
4478:retry
4456:macro
4429:C++11
4407:while
4336:added
4290:for (
4013:Rebol
3940:No
3900:Yes
3897:No
3841:OCaml
3426:Yes
3285:COBOL
3216:Yes
3030:redo
3021:loop
2990:Some
2867:while
2835:print
2826:break
2814:print
2777:break
2632:begin
2536:break
2524:retry
2496:cycle
2395:Scala
2359:;
2353:begin
2344:Item
2283:C++11
2241:while
2229:while
2219:until
2130:begin
2049:Loops
2030:case
1800:break
1770:break
1749:break
1682:=>
1667:=>
1664:'
1658:'
1652:'
1646:'
1634:=>
1631:'
1625:'
1613:=>
1610:'
1604:'
1469:. In
1461:, or
1431:uses
1417:with
1332:plusp
1320:princ
1299:print
1281:print
992:ENDIF
969:ENDIF
910:While
873:ENDDO
865:ENDIF
775:space
677:begin
592:break
470:label
420:ALGOL
363:PRINT
333:BASIC
319:label
186:block
6820:ISBN
6735:ISBN
6661:ISBN
6593:last
6366:ISBN
6257:Goto
6167:then
6078:Zahn
6041:loop
6023:Text
5990:Text
5969:when
5963:exit
5936:loop
5897:with
5888:with
5869:loop
5857:loop
5802:xxx2
5794:xxx1
5768:loop
5765:loop
5759:Dahl
5710:Yes
5691:Yes
5688:Yes
5675:Yes
5672:Yes
5653:Yes
5640:Yes
5634:Yes
5627:Rust
5618:Yes
5615:Yes
5608:Ruby
5596:Yes
5593:Yes
5583:Yes
5580:Yes
5577:Yes
5555:Yes
5551:PL/I
5542:Yes
5539:Yes
5520:Yes
5507:Yes
5504:Yes
5501:Yes
5482:Yes
5475:Java
5466:Yes
5463:Yes
5447:Yes
5444:Yes
5431:Yes
5428:Yes
5425:Yes
5409:Yes
5406:Yes
5387:Yes
5371:Yes
5368:Yes
5346:Yes
5330:Yes
5327:Yes
5317:Yes
5314:Yes
5311:Yes
5295:Yes
5292:Yes
5254:Yes
5127:with
5017:null
4930:null
4870:then
4831:from
4780:when
4665:xxx3
4659:xxx2
4653:xxx1
4640:GOTO
4620:GOTO
4591:PL/I
4564:and
4427:The
4296:test
4292:init
4288:C's
4213:Yes
4204:Yes
4201:Yes
4198:No
4195:Yes
4189:Yes
4165:Yes
4159:Yes
4156:Yes
4153:Yes
4147:Yes
4125:No
4104:Yes
4090:Yes
4087:Yes
4078:Yes
4072:Yes
4069:Yes
4066:Yes
4060:Yes
4056:Ruby
4035:Yes
4032:No
4029:Yes
4026:Yes
4023:Yes
4020:Yes
4017:No
3986:Yes
3983:No
3974:Yes
3958:Yes
3946:Yes
3943:Yes
3937:Yes
3931:Yes
3927:Perl
3903:Yes
3894:Yes
3888:Yes
3866:No
3854:Yes
3845:Yes
3830:Yes
3827:Yes
3824:Yes
3821:Yes
3818:Yes
3812:Yes
3809:Yes
3806:Yes
3803:Yes
3779:Yes
3776:Yes
3773:No
3770:Yes
3764:Yes
3734:Yes
3731:Yes
3728:No
3725:Yes
3719:Yes
3715:Java
3697:No
3694:Yes
3688:Yes
3651:Yes
3648:Yes
3642:Yes
3633:Yes
3615:Yes
3609:Yes
3600:Yes
3591:Yes
3572:Yes
3566:Yes
3557:Yes
3548:Yes
3530:Yes
3515:Yes
3506:Yes
3484:No
3475:Yes
3472:Yes
3463:Yes
3453:Yes
3447:No
3432:Yes
3429:Yes
3417:Yes
3392:Yes
3389:Yes
3386:Yes
3383:Yes
3380:Yes
3374:Yes
3350:Yes
3347:Yes
3341:Yes
3338:Yes
3335:Yes
3332:Yes
3304:Yes
3298:Yes
3295:Yes
3289:Yes
3262:Yes
3259:Yes
3256:No
3253:Yes
3247:Yes
3219:Yes
3213:No
3210:Yes
3204:Yes
3176:Yes
3170:No
3167:Yes
3161:Yes
3141:Yes
3135:Yes
3132:Yes
3129:Yes
3126:Yes
3123:Yes
3117:Yes
3093:Yes
3084:Yes
3081:Yes
3078:Yes
3075:Yes
3047:end
2992:Lisp
2980:Java
2951:and
2865:and
2851:else
2849:The
2829:else
2752:loop
2734:Text
2701:Text
2680:when
2674:exit
2653:Text
2641:loop
2602:Text
2596:with
2584:with
2561:and
2544:last
2540:Exit
2512:redo
2500:next
2492:skip
2397:has
2355:xxx
2319:Ruby
2303:Java
2295:Perl
2239:xxx
2217:xxx
2195:and
2176:1.0
2172:0.1
2170:step
2132:xxx
2084:and
2076:and
2055:body
2009:case
1994:case
1979:case
1952:else
1895:case
1876:Lisp
1867:esac
1827:case
1785:case
1776:case
1755:case
1734:case
1676:when
1643:when
1622:when
1601:when
1592:case
1571:else
1520:case
1487:glob
1457:(or
1435:and
1421:and
1419:when
1411:Perl
1390:cond
1293:else
1272:>
1256:Lisp
1235:echo
1232:else
1226:echo
1223:then
1196:puts
1190:else
1175:puts
1163:>
1108:else
1093:then
1087:>
1051:else
1030:then
1024:>
982:and
980:ELSE
914:Wend
912:...
906:Loop
904:...
898:Next
896:...
888:...
871:...
863:...
851:esac
849:...
847:case
841:...
827:...
821::End
819:...
811:...
805::End
803:...
797::End
789:...
787:loop
781:...
730:...
702:...
692:...
679:...
662:PL/I
654:Perl
646:Java
594:and
561:goto
467:goto
450:and
442:goto
440:The
436:GOTO
430:Goto
375:and
198:and
169:, a
146:are
123:(or
6704:doi
6653:doi
6152:for
6141:for
6110:xxx
6050:end
6038:end
6017:Ada
5999:Put
5984:Ada
5951:Get
5939:Ada
5853:Ada
5851:In
5831:not
5792:If
5779:not
5713:No
5707:No
5694:No
5665:Tcl
5650:No
5631:No
5612:No
5599:No
5574:No
5564:No
5561:No
5558:No
5536:No
5532:PHP
5523:No
5517:No
5488:No
5485:No
5479:No
5469:No
5460:No
5441:No
5422:No
5403:No
5384:No
5365:No
5349:No
5336:No
5333:No
5308:No
5289:No
5285:C++
5279:No
5276:No
5273:No
5270:No
5251:No
5247:Ada
5139:int
5119:stm
5099:stm
5060:new
5054:stm
5051:var
5032:();
5023:stm
5011:stm
4987:stm
4951:new
4945:stm
4939:try
4924:stm
4910:try
4906:try
4882:try
4879:end
4798:set
4795:try
4647:try
4437:STL
4207:No
4192:No
4162:No
4150:No
4131:No
4128:No
4122:No
4119:No
4113:No
4110:No
4107:No
4075:No
4063:No
4044:No
4041:No
4001:No
3992:No
3989:No
3980:No
3977:No
3949:No
3934:No
3915:No
3906:No
3891:No
3884:PHP
3872:No
3869:No
3863:No
3860:No
3851:No
3848:No
3833:No
3815:No
3791:No
3782:No
3767:No
3746:No
3737:No
3722:No
3703:No
3700:No
3691:No
3685:No
3682:No
3679:No
3676:No
3660:No
3639:No
3636:No
3606:No
3597:No
3594:No
3563:No
3560:No
3554:No
3551:No
3524:No
3521:No
3518:No
3512:No
3509:No
3490:No
3487:No
3481:No
3478:No
3469:No
3466:No
3444:No
3441:No
3435:No
3423:No
3420:No
3401:No
3377:No
3356:No
3316:No
3307:No
3301:No
3292:No
3265:No
3250:No
3231:No
3222:No
3207:No
3200:C++
3188:No
3179:No
3173:No
3164:No
3147:No
3144:No
3120:No
3113:APL
3099:No
3090:No
3071:Ada
2978:in
2863:for
2855:for
2784:for
2761:end
2749:end
2728:Ada
2710:Put
2695:Ada
2662:Get
2644:Ada
2555:Ada
2475:).
2455:as
2425:'s
2419:for
2373:for
2357:end
2342:for
2291:PHP
2275:Ada
2166:for
2149:for
2134:end
2119:for
2068:In
2059:xxx
1937:#\z
1934:#\y
1919:#\x
1904:#\a
1691:end
1580:end
1510:Ada
1493:'s
1491:SQL
1368:or
1123:end
1042:yes
1008:Ada
894:For
879:END
857:END
823:or
809::If
807:or
801::If
771:end
744:APL
740:Ada
732:end
704:END
681:end
658:PHP
634:C++
511:).
507:or
377:Ada
348:LET
221:or
135:or
115:In
7143::
7043:.
7017:.
6993:.
6856:.
6710:.
6702:.
6688:.
6659:.
6651:.
6624:^
6546:.
6522:.
6498:.
6438:.
6413:.
6388:.
6332:^
6193:,
6177:;
6163:if
6160:do
6158:M
6156:to
6149:do
6147:N
6145:to
6137:or
6102:;
6092:or
6088:or
6026:IO
6014:);
5993:IO
5960:);
5912:is
5871:-
5827:if
5814:do
5789:;
5743:.
5716:?
5697:?
5602:?
5545:?
5526:?
5498:?
5450:?
5437:Go
5418:F#
5412:?
5393:?
5390:?
5374:?
5355:?
5352:?
5304:C#
5298:?
5260:?
5257:?
5102:);
5084:))
5014:!=
5005:if
4990:);
4975:);
4852:if
4849:pr
4837:to
4816:on
4804:to
4614:ON
4574:,
4558:,
4298:;
4294:;
4210:?
3629:Go
3459:F#
3243:C#
2998:.
2982:.
2859:if
2811:):
2799:if
2790:in
2737:IO
2725:);
2704:IO
2671:);
2656:IO
2617:is
2605:IO
2590:IO
2573:if
2550:.
2494:,
2427:do
2405:.
2385:in
2383:s
2350:do
2346:in
2338:do
2329:,
2325:,
2321:,
2317:,
2313:,
2309:,
2307:C#
2305:,
2301:,
2297:,
2293:,
2289:,
2285:,
2281:,
2277:,
2250:A
2237:do
2178:do
2174:to
2136:;
2127:do
2125:N
2123:to
1958:))
1931:((
1916:((
1901:((
1884::
1878::
1864:;;
1856:;;
1849:;;
1841:;;
1833:in
1711::
1705::
1598:is
1526:of
1512::
1506::
1483:*)
1415:if
1401:if
1383:if
1347:))
1326:if
1266:if
1258::
1252::
1241:fi
1217:if
1205:);
1184:);
1154:if
1146::
1140::
1126:if
1120:);
1105:);
1081:if
1063:no
1018:if
1010::
1004::
984:IF
908:;
902:Do
900:;
892:;
886:If
869:DO
867:,
861:IF
845:,
843:fi
839:if
815:,
785:,
779:if
773:+
762:,
758:,
754:,
750:,
746:,
742:,
728:do
700:DO
668:,
664:,
660:,
656:,
652:,
648:,
644:,
640:,
638:Go
636:,
632:,
628:,
485:.
453:to
447:go
409:);
403:\n
360:20
345:10
317:A
286:,
249:A
192:.
131:,
119:,
7128:.
7053:.
7028:.
7003:.
6925:.
6904:.
6890:.
6876:.
6842:.
6828:.
6772:.
6743:.
6718:.
6706::
6690:6
6669:.
6655::
6607:"
6582:"
6556:.
6532:.
6508:.
6484:.
6448:.
6423:.
6399:.
6374:.
6056:;
6047:;
6035:;
6029:.
6020:.
6011:X
6008:*
6005:X
6002:(
5996:.
5987:.
5981:;
5978:0
5975:=
5972:X
5957:X
5954:(
5948:.
5942:.
5933::
5924:;
5918::
5915:X
5903:;
5894:;
5863:-
5859:-
5829:(
5361:D
5266:C
5108:}
5096:(
5087:{
5078:.
5072:,
5066:(
5057:=
5048:(
5035:}
5026:.
5020:)
5008:(
5002:{
4996:}
4984:(
4969:.
4963:,
4957:(
4948:=
4942:{
4933:;
4927:=
4867:)
4861:=
4858:e
4855:(
4840:t
4834:f
4828:n
4822:e
4813:0
4810:/
4746:}
4737:{
4728:}
4719:{
4716:)
4704:(
4698:}
4689:{
4686:)
4674:(
4668:}
4650:{
4363:.
4302:)
3370:D
3157:C
2912:n
2908:n
2904:n
2875:N
2844:)
2838:(
2832::
2823:)
2817:(
2808:n
2805:(
2796::
2787:n
2767:;
2758:;
2746:;
2740:.
2731:.
2722:X
2719:*
2716:X
2713:(
2707:.
2698:.
2692:;
2689:0
2686:=
2683:X
2668:X
2665:(
2659:.
2647:.
2638::
2629:;
2623::
2620:X
2608:;
2593:;
2379:(
2279:D
2024:)
2018:,
2012:(
2003:)
1997:(
1988:)
1982:(
1976:)
1970:(
1949:(
1946:)
1940:)
1928:)
1922:)
1913:)
1907:)
1892:(
1860:)
1858:*
1852:)
1845:)
1843:x
1837:)
1835:a
1818:}
1815:;
1809::
1803:;
1797:;
1791::
1782::
1773:;
1767:;
1761::
1752:;
1746:;
1740::
1731:{
1728:)
1722:(
1703:C
1694:;
1688:;
1673:;
1661:z
1655:|
1649:y
1640:;
1628:x
1619:;
1607:a
1583:;
1577:;
1568:;
1562::
1556:,
1550:;
1544::
1538:;
1532::
1425:.
1407:.
1392:.
1338:)
1335:a
1329:(
1323:(
1317:(
1308:)
1302:(
1296::
1290:)
1284:(
1278::
1275:0
1269:a
1220:;
1208:}
1199:(
1193:{
1187:}
1178:(
1172:{
1169:)
1166:0
1160:a
1157:(
1138:C
1129:;
1114:(
1099:(
1090:0
1084:a
1072:;
1069:)
1057:(
1048:)
1036:(
1027:0
1021:a
973:C
716:)
694:}
690:{
630:C
397:(
391::
373:C
366:X
357:3
354:=
351:X
294:)
279:)
272:)
104:e
97:t
90:v
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.