Knowledge (XXG)

Pascal (programming language)

Source đź“ť

3652:), which is a highly extended Pascal compatible with original Pascal according to ISO 7185. It features modules with namespace control, including parallel tasking modules with semaphores, objects, dynamic arrays of any dimensions that are allocated at runtime, overloads, overrides, and many other extensions. IP Pascal has a built-in portability library that is custom tailored to the Pascal language. For example, a standard text output application from 1970's original Pascal can be recompiled to work in a window and even have graphical constructs added. 4193:, outlined his most notable criticisms of Pascal as early as 1981 in his article "Why Pascal is Not My Favorite Programming Language". The most serious problem Kernighan described was that array sizes and string lengths were part of the type, so it was not possible to write a function that would accept variable-length arrays or even strings as parameters. This made it unfeasible to write, for example, a sorting library. Kernighan also criticized the unpredictable order of evaluation of Boolean expressions, poor library support, and lack of 3900: 4217:. As Kernighan predicted in his article, most of the extensions to fix these issues were incompatible from compiler to compiler. Since the early 1990s, however, most of the varieties seem condensed into two categories: ISO and Borland-like. Extended Pascal addresses many of these early criticisms. It supports variable-length strings, variable initialization, separate compilation, short-circuit Boolean operators, and default ( 8882: 8550: 6219: 8908: 4262: 726:
status. This was done with several compilers, but one notable exception was UCSD Pascal, which was based on Pascal-P2. It kept the subset status of the language based on the idea that this would run better on the new (then) microprocessors with limited memory. UCSD also converted the Pascal-P2 interpreter into a "byte machine", again, because it would be a better fit for byte oriented microprocessors.
8854: 4197:, and raised a number of smaller issues. Also, he stated that the language did not provide any simple constructs to "escape" (knowingly and forcibly ignore) restrictions and limitations. More general complaints from other sources noted that the scope of declarations was not clearly defined in the original language definition, which sometimes had serious consequences when using 3957:, was based on the Pascal-P2 kit, and consequently shared several of the Pascal-P language restrictions. UCSD Pascal was later adopted as Apple Pascal, and continued through several versions there. Although UCSD Pascal actually expanded the subset Pascal in the Pascal-P kit by adding back standard Pascal constructs, it was still not a complete standard installation of Pascal. 3598:, it runs on many platforms and operating systems. It supports the ANSI/ISO standard languages and has partial Turbo Pascal dialect support. One of the more notable omissions is the absence of a fully Turbo Pascal-compatible (short)string type. Support for Borland Delphi and other language variants is quite limited. There is some support for Mac-pascal, however. 3991:, was written in assembly language independent of UCSD and the ZĂĽrich compilers. However, it adopted much of the same subset and extensions as the UCSD compiler. This is probably because the UCSD system was the most common Pascal system suitable for developing applications on the resource-limited microprocessor systems available at that time. 3865:, which had originally been written in FORTRAN, and found that it was not possible to do so without an extension that would allow array parameters of varying size. Similar considerations motivated the inclusion in ISO 7185 of the facility to specify the parameter types of procedural and functional parameters. 3946:
in two basic forms: the CDC 6000 compiler source, and a porting kit called Pascal-P system. The Pascal-P compiler left out several features of the full language that were not required to bootstrap the compiler. For example, procedures and functions used as parameters, undiscriminated variant records,
2807:
Unlike many languages that feature pointers, Pascal only allows pointers to reference dynamically created variables that are anonymous, and does not allow them to reference standard static or local variables. Pointers also must have an associated type, and a pointer to one type is not compatible with
2451:
is predefined as file of char. While the buffer variable could be used for inspecting the next character to be used (check for a digit before reading an integer), this leads to serious problems with interactive programs in early implementations, but was solved later with the "lazy I/O" concept, which
725:
Wirth's example compiler meant to propagate the language, the Pascal-P system, used a subset of the language designed to be the minimal subset of the language that could compile itself. The idea was that this could allow bootstrapping the compiler, which would then be extended to full Pascal language
1240:
system named Sol. It was standard Pascal level-1 (with parameterized array bounds) but the definition allowed alternative keywords and predefined identifiers in French and the language included a few extensions to ease system programming (e.g. an equivalent to lseek). The Sol team later on moved to
940:
system. The P-system compilers were named Pascal-P1, Pascal-P2, Pascal-P3, and Pascal-P4. Pascal-P1 was the first version, and Pascal-P4 was the last to come from ZĂĽrich. The version termed Pascal-P1 was coined after the fact for the many different sources for Pascal-P that existed. The compiler was
884:
A completely new compiler was completed by Welsh et al. at QUB in 1977. It offered a source-language diagnostic feature (incorporating profiling, tracing and type-aware formatted postmortem dumps) that was implemented by Findlay and Watt at Glasgow University. This implementation was ported in 1980
3852:
In 1983, the language was standardized in the international standard IEC/ISO 7185 and several local country-specific standards, including the American ANSI/IEEE770X3.97-1983, and ISO 7185:1983. These two standards differed only in that the ISO standard included a "level 1" extension for conformant
733:
The ISO standard for Pascal, ISO 7185, was published in 1983 and was widely implemented and used on mainframes, minicomputers and IBM-PCs and compatibles from 16 bits to 32 bits. The two dialects of Pascal most in use towards the end of the 20th century and up until today are the ISO 7185 standard
3604:
was created by Vitaly Miryanov in 1995 as a native OS/2 compiler compatible with Borland Pascal syntax. Then, it had been commercially developed by fPrint, adding Win32 support, and in 2000 it became freeware. Today it can compile for Win32, OS/2, and Linux, and is mostly compatible with Borland
4347:
and built a working prototype of bound method references in order to understand their interaction with the Java programming language and its APIs ... Our conclusion was that bound method references are unnecessary and detrimental to the language. This decision was made in consultation with
3856:
The ISO 7185 was stated to be a clarification of Wirth's 1974 language as detailed by the User Manual and Report , but was also notable for adding "Conformant Array Parameters" as a level 1 to the standard, level 0 being Pascal without conformant arrays. This addition was made at the request of
841:
in 1969 was unsuccessful due to FORTRAN 66's inadequacy to express complex data structures. The second attempt was implemented in a C-like language (Scallop by Max Engeli) and then translated by hand (by R. Schild) to Pascal itself for boot-strapping. It was operational by mid-1970. Many Pascal
729:
UCSD Pascal formed the basis of many systems, including Apple Pascal. Borland Pascal was not based on the UCSD codebase, but arrived during the popular period of UCSD and matched many of its features. This started the line that ended with Delphi Pascal and the compatible Open Source compiler
1079:
also implemented the Object Pascal compiler. Turbo Pascal 5.5 had a large influence on the Pascal community, which began concentrating mainly on the IBM PC in the late 1980s. Many PC hobbyists in search of a structured replacement for BASIC used this product. It also began to be adopted by
3853:
arrays (an array where the boundaries of the array are not known until run time), where ANSI did not allow for this extension to the original (Wirth version) language. In 1989, ISO 7185 was revised (ISO 7185:1990) to correct various errors and ambiguities found in the original document.
3886:
The IBM PC versions of the language began to differ with the advent of UCSD Pascal, an interpreted implementation that featured several extensions to the language, along with several omissions and changes. Many UCSD language features survive today, including in Borland's dialect.
3637:
was the dominant Pascal compiler for PCs during the 1980s and early 1990s, popular both because of its powerful extensions and extremely short compilation times. Turbo Pascal was compactly written and could compile, run, and debug all from memory without accessing disk. Slow
3883:, they were not. On IBM PCs, the Borland standards Turbo Pascal and Delphi have the greatest number of users. Thus, it is typically important to understand whether a particular implementation corresponds to the original Pascal language, or a Borland dialect of it. 4241:
in 1978, Wirth explained why he named the language after Blaise Pascal: "Actually, I am neither capable of fully understanding his philosophy nor of appreciating his religious exaltations. Pascal, however, was (perhaps one of) the first to invent and construct
1850:
A set is a fundamental concept for modern mathematics, and they may be used in many algorithms. Such a feature is useful and may be faster than an equivalent construct in a language that does not support sets. For example, for many Pascal compilers:
1492:
A Type Declaration in Pascal is used to define a range of values which a variable of that type is capable of storing. It also defines a set of operations that are permissible to be performed on variables of that type. The predefined types are:
3968:). Several constructs were added to use Pascal-FC as a teaching tool for Concurrent Programming (such as semaphores, monitors, channels, remote-invocation and resources). To be able to demonstrate concurrency, the compiler output (a kind of 3364:
Each procedure or function can have its own declarations of goto labels, constants, types, variables, and other procedures and functions, which must all be in that order. This ordering requirement was originally intended to allow efficient
457:(procedures and functions). A program is thus syntactically similar to a single procedure or function. This is similar to the block structure of ALGOL 60, but restricted from arbitrary block statements to just procedures and functions. 578:
submitted a conservative set of modifications to add strings and clean up some of the syntax. These were considered too minor to be worth using as the new standard ALGOL, so Wirth wrote a compiler for the language, which became named
4522: 1074:
In 1986, Anders ported Turbo Pascal to the Macintosh and incorporated Apple's Object Pascal extensions into Turbo Pascal. These extensions were then added back into the PC version of Turbo Pascal for version 5.5. At the same time
1062:
became hugely popular, thanks to an aggressive pricing strategy, having one of the first full-screen IDEs, and very fast turnaround time (just seconds to compile, link, and run). It was written and highly optimized entirely in
3488:. The .NET support that existed from D8 through D2005, D2006, and D2007 has been terminated, and replaced by a new language (Prism, which is rebranded Oxygene, see below) that is not fully backward compatible. In recent years 7876: 1705:
value. Pascal does not contain language elements that allow the basic storage types to be defined more granularly. This capability was included in a number of Pascal extensions and follow-on languages, while others, like
2808:
a pointer to another type (e.g. a pointer to a char is not compatible with a pointer to an integer). This helps eliminate the type security issues inherent with other pointer implementations, particularly those used for
1197:) compilers, aimed at programming numerical computations. Development for Pascal-SC started in 1978 supporting ISO 7185 Pascal level 0, but level 2 support was added at a later stage. Pascal-SC originally targeted the 4212:
Despite initial criticisms, Pascal continued to evolve, and most of Kernighan's points do not apply to versions of the language which were enhanced to be suitable for commercial product development, such as Borland's
4819:
Bamberger, Lothar; Davenport, James H.; Fischer, Hans-Christoph; Kok, Jan; Schumacher, GĂĽnter; Ullrich, Christian; Wallis, Peter J. L.; Winter, Dik T.; Wolff von Gudenberg, JĂĽrgen (1990). Wallis, Peter J. L. (ed.).
1586:
a sequence or "string" of characters is declared as a "packed array of char" with a starting index of 1. These can be assigned string constants and individual characters can be accessed as elements of the array.
4006:
and non-Borland near-compatibles became popular with programmers including shareware authors, and so the SWAG library of Pascal code features a large amount of code written with such versions as Delphi in mind.
4184:
While very popular in the 1980s and early 1990s, implementations of Pascal that closely followed Wirth's initial definition of the language were widely criticized as being unsuitable for use outside teaching.
873:
minicomputer. The Multum port was developed – with a view to using Pascal as a systems programming language – by Findlay, Cupples, Cavouras and Davis, working at the Department of Computing Science in
4714: 3642:
were common for programmers at the time, further magnifying Turbo Pascal's speed advantage. Currently, older versions of Turbo Pascal (up to 5.5) are available for free download from Borland's site.
5570: 3440:
problem (where the inner if does not have an else, but the outer if does) by putatively terminating the nested if with a semicolon – this instead terminates both if clauses. Instead, an explicit
3770:
Stony Brook Pascal+ was a 16-bit (later 32-bit) optimizing compiler for DOS and OS/2, marketed as a direct replacement for Turbo Pascal, but producing code that executed at least twice as fast.
4519: 590:. The complexity of this language led to considerable difficulty producing high-performance compilers, and it was not widely used in the industry. This left an opening for newer languages. 952:
The Pascal-P4 compiler–interpreter can still be run and compiled on systems compatible with original Pascal (as can Pascal-P2). However, it only accepts a subset of the Pascal language.
846:, that is, the compiler is itself written in Pascal, and the compiler is usually capable of recompiling itself when new features are added to the language, or when the compiler is to be 1616:
The programmer has the freedom to define other commonly used data types (e.g. byte, string, etc.) in terms of the predefined types using Pascal's type declaration facility, for example
1229:) operating systems. It operates by generating intermediate C source code which is then compiled to a native executable. Some of the Pascal-SC language extensions have been adopted by 4141:
tool for OS/2 and eCS that was originally based on Speedsoft's WDsybl Sibyl Portable Component Classes (SPCC) and Sibyl Visual Development Tool (SVDE) sources, but now its core is
418:. This was not accepted, and the ALGOL X process bogged down. In 1968, Wirth decided to abandon the ALGOL X process and further improve ALGOL W, releasing this as Pascal in 1970. 3930:
In 1990, an extended Pascal standard was created as ISO/IEC 10206, which is identical in technical content to IEEE/ANSI 770X3.160-1989 As of 2019, Support of Extended Pascal in
3972:) could then be executed on a virtual machine. This virtual machine not only simulated a normal – fair – environment, but could also simulate extreme conditions (unfair mode). 559:. Euler was based on ALGOL's syntax and many concepts but was not a derivative. Its primary goal was to add dynamic lists and types, allowing it to be used in roles similar to 8958: 7388: 3514:). It is aimed at providing a convenient and powerful compiler, both able to compile legacy applications and to be the means to develop new ones. It is distributed under the 3759:. VSI Pascal for OpenVMS is compatible with ISO/IEC 7185:1990 Pascal as well some of ISO/IEC 10206:1990 Extended Pascal, and also includes its own extensions. The compiler 7383: 5563: 3424:
and later changes to the language in ISO 7185:1983 now allow for optional semicolons in most of these cases. A semicolon is still not permitted immediately before the
4458: 445:
on all objects, which means that one type of data cannot be converted to or interpreted as another without explicit conversions. Unlike C (and most languages in the
8586: 905: 8953: 6888: 6266: 4161: 3173:
Pascal structures programs into procedures and functions. Generally, a procedure is used for its side effects, whereas a function is used for its return value.
1593:
The range of values allowed for the basic types (except Boolean) is implementation defined. Functions are provided for some data conversions. For conversion of
3751:
VSI Pascal for OpenVMS (formerly HP Pascal for OpenVMS, Compaq Pascal, DEC Pascal, VAX Pascal and originally VAX-11 Pascal) is a Pascal compiler that runs on
476:-level programming courses in the 1980s, and also used in production settings for writing commercial software during the same period. It was displaced by the 4728: 4618: 7110: 5556: 8943: 8870: 5167: 6081: 5461: 8948: 8185: 8105: 7896: 7891: 7737: 1956:
For these examples, which involve sets over small domains, the improved performance is usually achieved by the compiler representing set variables as
1717:
keyword tells the compiler to use the most efficient method of storage for the structured data types: sets, arrays and records, rather than using one
1033:, in consultation with Niklaus Wirth, defined Object Pascal and these extensions were incorporated in both the Lisa Pascal and Mac Pascal compilers. 7903: 4116:– VP2/1 is a fully Borland Pascal– and Borland Delphi–compatible 32-bit Pascal compiler for OS/2 and Windows 32 (with a Linux version "on the way"). 6064: 8933: 8875: 6257: 3868:
Niklaus Wirth himself referred to the 1974 language as "the Standard", for example, to differentiate it from the machine specific features of the
8938: 8928: 8436: 6223: 4541: 991:
computer systems. It was an implementation of, or largely based on, UCSD Pascal. Pascal-P1 through Pascal-P4 were not, but rather based on the
5081: 4857: 8865: 6798: 6046: 5237: 4917: 4503: 2833: 1193: 4793: 4648:
Australian Atomic Energy Commission Research Establishment, Lucas Heights, Nuclear Science and Technology Branch Report, Divisional Research
8505: 8306: 7829: 7212: 6803: 6773: 5784: 893:
and Glasgow University. The Standard Pascal Model Implementation was also based on this compiler, having been adapted, by Welsh and Hay at
3689:
MIDletPascal – A Pascal compiler and IDE that generates small and fast Java bytecode specifically designed to create software for mobiles.
1168: 5056: 4955: 4749: 1287:. It is the only such implementation that is also compatible with the original Pascal implementation, which is standardized as ISO 7185. 8606: 8579: 8150: 7480: 7277: 4980: 1010: 148: 4130:, a commercial Borland Pascal compatible environment released by a company named Speedsoft that was later developed into a Delphi-like 4106:– similar to Kylix in function, is a free cross-platform visual IDE for RAD using the Free Pascal compiler, which supports dialects of 602:
and for the development of system software. A generation of students used Pascal as an introductory language in undergraduate courses.
6601: 3784: 3584:
operating system and an improved object library. It is no longer supported. Compiler and IDE are available now for non-commercial use.
1026: 798: 683: 8611: 7677: 6701: 5533: 5499: 5470: 5453: 5445: 4832: 3679: 3523: 1176: 1085: 897:
in 1984, to check rigorously for conformity to the BSI 6192/ISO 7185 Standard and to generate code for a portable abstract machine.
4574: 4970:"Pascal-S: A Subset and Its Implementation", N. Wirth in Pascal – The Language and Its Implementation, by D.W. Barron, Wiley 1979. 3472:(RAD) product. It uses the Object Pascal language (termed 'Delphi' by Borland), descended from Pascal, to create applications for 1271:
and Linux implementations. In 2008, the system was brought up to a new level and the resulting language termed "Pascaline" (after
936:
stack machine, i.e., code that lends itself to reasonably efficient interpretation, along with an interpreter for that code – the
8616: 8241: 7413: 7257: 4076:
compiler (FPC) – Free Pascal adopted the standard dialect of Borland Pascal programmers, Borland Turbo Pascal and, later, Delphi.
858: 4887: 3530:, Delphi, and Mac Pascal, it has its own procedural and object-oriented syntax modes with support for extended features such as 958:
Pascal-P6 is a follow on to Pascal-P5 that along with other features, aims to be a compiler for specific CPUs, including AMD64.
5942: 5860: 4285: 862: 4209:, the language did not allow procedures or functions passed as parameters to predefine the expected type of their parameters. 3566:
platforms. It was created and is sold by RemObjects Software, and sold for a while by Embarcadero as the backend compiler of
8885: 8817: 8690: 8572: 8336: 8331: 8038: 5666: 5611: 5386: 5000: 3825: 3551: 2832:) means that the risk of dangling pointers has not been eliminated as it has in languages such as Java and C#, which provide 2461: 1385: 1347: 1284: 1025:
Apple Computer created its own Lisa Pascal for the Lisa Workshop in 1982, and ported the compiler to the Apple Macintosh and
337: 290: 158: 5436: 3620:
Pascal-P6 compiler is an extended version of Pascal adaption of Pascal-P5 according to the Pascaline language specification.
1428: 4334: 763:, introduced in 1983. As the Lisa program faded and was replaced by the Macintosh, a further version was created and named 8860: 8838: 8792: 8740: 8700: 8130: 7460: 6621: 6018: 6002: 5890: 4437: 4365: 4300: 4131: 4015: 3861:, and with the approval of Niklaus Wirth. The precipitating cause was that Hoare wanted to create a Pascal version of the 3798: 3469: 1222: 672: 520: 323: 8898: 5357: 3879:
On the large machines (mainframes and minicomputers) Pascal originated on, the standards were generally followed. On the
3436:
follows a single statement, not a statement sequence. In the case of nested ifs, a semicolon cannot be used to avoid the
8832: 8735: 8705: 5974: 5660: 5626: 5327: 5110: 4411: 1718: 1694: 1246: 734:
version and the Delphi/Turbo Pascal versions (of which the two Borland versions are mostly compatible with each other).
556: 5031: 8912: 8807: 8802: 8745: 8725: 8475: 7953: 6250: 5814: 5195: 4591: 4267: 3611:
compiler, the basis for many subsequent Pascal-implemented-in-Pascal compilers. It implements a subset of full Pascal.
3385:
language, including the use of a semicolon as a statement separator. This is in contrast to other languages, such as
560: 496: 422: 305: 4647: 4166:
Information processing systems – Computer graphics – Graphical Kernel System (GKS) language bindings – Part 2: Pascal
5271: 1123:
languages. However, it does not provide a nested module concept or qualified import and export of specific symbols.
8750: 8646: 8629: 8135: 8043: 7993: 7752: 7085: 7080: 5884: 5855: 4290: 4275: 3595: 3515: 3485: 2801: 2797: 1507: 955:
Pascal-P5, created outside the ZĂĽrich group, accepts the full Pascal language and includes ISO 7185 compatibility.
438: 280: 857:
The first successful port of the CDC Pascal compiler to another mainframe was completed by Welsh and Quinn at the
755:
began corresponding with Wirth on the idea of adding object-oriented extensions to the language, to make Pascal a
8760: 8715: 8401: 8346: 8125: 8110: 8090: 7368: 6788: 6284: 6033: 5799: 4825: 4615: 3358:
Procedures and functions can be nested to any depth, and the 'program' construct is the logical outermost block.
1581: 1571: 1517: 1343: 1093: 999: 567: 430: 300: 4205:, or when an identifier may or may not have been used in an enumeration list. Another difficulty was that, like 8797: 8680: 8449: 8356: 8145: 8120: 7332: 7327: 5824: 4190: 3511: 3390: 2829: 2813: 1081: 843: 477: 140: 135: 4717:[Cadmus now comes with Kulisch arithmetic - University Karlsruhe delivers Pascal compiler to Munich]. 3361:
By default, parameters are passed by value. If 'var' precedes a parameter's name, it is passed by reference.
4847:
Michel Gien, "The SOL Operating System", in Usenix Summer '83 Conference, Toronto, ON, (July 1983), pp. 75–78
8003: 7545: 7535: 7530: 7105: 7090: 7030: 6464: 6459: 6419: 6199: 5173: 4724: 4142: 3862: 3591: 3503: 3366: 2856: 1409: 1180: 969: 31: 6166: 3416:
The presence of an extra semicolon was not permitted in early versions of Pascal. However, the addition of
869:. This compiler, in turn, was the parent of the Pascal compiler for the Information Computer Systems (ICS) 737:
The source for much of the early history on Pascal can be found in the Pascal User's Group newsletters at:
8963: 8666: 8553: 8321: 8311: 7440: 6858: 6439: 6243: 5804: 5789: 5711: 4445: 4243: 4238: 4176:
Pascal generated a wide variety of responses in the computing community, both critical and complimentary.
3961: 3649: 2852: 1961: 1547: 1355: 1272: 890: 599: 549: 442: 392: 381: 377: 120: 56: 51: 555:
Shortly after its introduction, in 1962 Wirth began working on his dissertation with Helmut Weber on the
7742: 7605: 7252: 6626: 6474: 6444: 6337: 6327: 6288: 6280: 6059: 6037: 5420:
C. A. R. Hoare: "Notes on data structuring". In O.-J. Dahl, E. W. Dijkstra and C. A. R. Hoare, editors,
3880: 3697: 1930:
Sets of non-contiguous values can be particularly useful, in terms of both performance and readability:
1721:
for each element. Packing may slow access on machines that do not offer easy access to parts of a word.
1537: 973: 894: 771: 544:
language. ALGOL was developed during the 1950s with the explicit goal of being able to clearly describe
434: 4558: 945:, and issued as Pascal-P2. This code was later enhanced to become Pascal-P3, with an intermediate code 877:. It is thought that Multum Pascal, which was completed in the summer of 1973, may have been the first 429:, Pascal enables defining complex datatypes and building dynamic and recursive data structures such as 5306: 8595: 8500: 8406: 8140: 8115: 7958: 7799: 7237: 7040: 6913: 6696: 6204: 6127: 5966: 5588: 4538: 4138: 3531: 1606: 1256: 1172: 1161: 942: 756: 695: 668: 453:
definitions to any level of depth, and also allows most kinds of definitions and declarations inside
384: 218: 43: 566:
By this time, a number of problems in ALGOL had been identified, notably the lack of a standardized
8671: 8341: 8080: 6121: 6106: 5935: 5089: 4868: 4202: 4198: 3519: 3493: 2580: 1393: 1296: 1120: 946: 622: 598:
Pascal was influenced by the ALGOL W efforts, with the explicit goals of teaching programming in a
1283:, and many other extensions, and generally features the same functionality and type protection as 8286: 8221: 6561: 5842: 5809: 5685: 4797: 3794: 3683: 3660: 3594:(GCC). The compiler is written in C, the runtime library mostly in Pascal. Distributed under the 1097: 1006: 874: 830: 342: 4767: 4134:(RAD) environment named Sybil and then open sourced under the GPL when that company closed down; 1474:
adding one adds a "null statement" to the program, which is ignored by the compiler.}
976:. UCSD Pascal used an intermediate code based on byte values, and thus was one of the earliest 781:
with the release of version 5.5 in 1989. Over the years, Object Pascal became the basis of the
8651: 7115: 6156: 6102: 5656: 5621: 5529: 5495: 5466: 5449: 5441: 5233: 5060: 4952: 4913: 4828: 4753: 4499: 4450: 4280: 4123: 4093: 4067: 4003: 3947:
packing, dispose, interprocedural gotos and other features of the full compiler were omitted.
3818: 3678:
and MC68xxx processors with some of its own extensions to assist interfacing with the Palm OS
3639: 3577: 3534:. It supports many platforms and operating systems. Current versions also feature an ISO mode. 3473: 3465: 3370: 2817: 1730: 1089: 1064: 909: 786: 782: 641: 537: 512: 508: 426: 228: 168: 4484:"The Development of Procedural Programming Languages Personal Contributions and Perspectives" 2452:
waits until the file buffer variable is actually accessed before performing file operations.
972:
UCSD p-System. It was one of three operating systems available at the launch of the original
706:
used Pascal as the systems programming language for its operating systems beginning in 1980.
7849: 7590: 6918: 6027: 6010: 5908: 5747: 5706: 5225: 5149: 4695: 4491: 4391:
The project went ahead under the name "green" and the language was based on an old model of
4085: 3988: 3573: 1142: 1101: 1068: 1037: 878: 610: 450: 295: 1335:
statements block. Pascal also has data structuring constructs not included in the original
17: 8459: 8180: 8085: 7839: 7767: 7762: 7757: 7242: 7205: 7200: 7195: 7190: 7185: 7180: 7175: 5361: 4959: 4935:
J. Welsh, W. J. Sneeringer, and C. A. R. Hoare, "Ambiguities and Insecurities in Pascal",
4891: 4622: 4578: 4545: 4526: 4348:
Borland International, who had previous experience with bound method references in Delphi
4194: 4186: 3726: 3563: 1702: 1561: 1389: 1351: 1105: 866: 827: 714: 703: 687: 679: 362: 173: 77: 4571: 3682:. It resembles Delphi and Lazarus with a visual form designer, an object inspector and a 2431:(for writing) move the buffer variable to the next element. Read is introduced such that 3393:, which use the semicolon as a statement terminator. No semicolon is needed before the 2189:
Variant records allow several fields of the record to overlap each other to save space.
1788:
In contrast with other programming languages from its time, Pascal supports a set type:
7747: 7495: 7307: 7170: 7160: 7155: 7150: 7145: 7140: 7135: 7130: 7125: 6494: 6484: 6139: 6054: 5928: 5727: 5390: 4715:"Cadmus jetzt mit Kulisch-Arithmetik - Uni Karlsruhe gibt Pascal-Compiler nach MĂĽnchen" 4637:, "An Interview with John Brackett and Doug Ross", p15, Charles Babbage Institute, 2004 4483: 4113: 4049: 3995: 3969: 3954: 3858: 3719: 3601: 3559: 2860: 1375: 1206: 1149: 1003: 965: 929: 638: 634: 630: 396: 193: 5519: 4686:
Rall, L. B. (1987). "An introduction to the scientific computing language Pascal-SC".
3899: 1080:
professional developers. Around the same time a number of concepts were imported from
391:
as a small, efficient language intended to encourage good programming practices using
8922: 8770: 8535: 8510: 8495: 8431: 8426: 8421: 8416: 8411: 8256: 8201: 8170: 8160: 8023: 8013: 7983: 7978: 7928: 7908: 7886: 7871: 7824: 7789: 7732: 7727: 7717: 7595: 7540: 7515: 7510: 7490: 7363: 6903: 6479: 6342: 6312: 6014: 5998: 5951: 5834: 5737: 5691: 5606: 5601: 5548: 4906: 4884: 4719: 4699: 4433: 4349: 4344: 4305: 4107: 4103: 4079: 4057: 4045: 3999: 3943: 3788: 3738:
CDC 6000 Pascal compiler is the source code for the first (CDC 6000) Pascal compiler.
3716: 3507: 3437: 2416: 1367: 1280: 834: 802: 790: 764: 699: 492: 472:
as the field emerged in the late 1970s. It was widely used as a teaching language in
469: 400: 388: 332: 115: 82: 69: 1048:
was marketed under the names Compas Pascal and PolyPascal before it was acquired by
8822: 8661: 8396: 8366: 8226: 7570: 7565: 7428: 7423: 7418: 7337: 7282: 7232: 7165: 7120: 7095: 7025: 7020: 7015: 7010: 7005: 6963: 6928: 6838: 6833: 6661: 6469: 6235: 6187: 6171: 5819: 5742: 5732: 4214: 4097: 4061: 4053: 4039: 4026: 4022: 3984: 3964:
and Geoff Davies developed Pascal-FC, an extension to Pl/0 (from the Niklaus' book
3634: 3567: 3545: 3527: 2607: 1710:, expanded the built-in set to cover most machine data types like 16-bit integers. 1690:
Often-used types like byte and string are already defined in many implementations.
1553: 1527: 1131: 1059: 1030: 984: 778: 752: 660: 618: 461: 410:
language. Wirth was involved in the process to improve the language as part of the
233: 5007: 4042:– A professional version of Turbo Pascal line which targeted both DOS and Windows. 2419:
are sequences of components. Every file has a buffer variable which is denoted by
5762: 5353: 5119: 8907: 8371: 8068: 8063: 8058: 7642: 7559: 6531: 6096: 5752: 5681: 5631: 5229: 5035: 4392: 4338: 4315: 4261: 4088:
is a compiler and IDE formerly sold by Borland, but later discontinued. It is a
4073: 3950: 3802: 3735:
PP Compiler, a compiler for Palm OS that runs directly on the handheld computer.
3732:
WDSibyl – Visual Development Environment and Pascal compiler for Win32 and OS/2.
3499: 2837: 2793: 1421: 1358:
and procedure pointers. Such constructs were in part inherited or inspired from
1339: 961: 794: 709:
Variants of Pascal have also been used for everything from research projects to
652: 645: 606: 454: 352: 238: 203: 125: 107: 5539: 5372:
O. Lecarme, P. Desjardins, "More Comments on the Programming Language Pascal",
4376: 4119:
Sybil is an open source Delphi-like IDE and compiler; implementations include:
1134:
adds non-numeric labels, a return statement and expressions as names of types.
8730: 8361: 8266: 7973: 7948: 7712: 7667: 7403: 7060: 6873: 6766: 6761: 6756: 6716: 6691: 6566: 6322: 6161: 6133: 5794: 5757: 5696: 5253: 4310: 4257: 3931: 3780: 3628: 3587: 3541: 2583:, an exception to the rule that things must be declared before they are used. 1957: 1268: 1230: 851: 626: 575: 500: 473: 208: 198: 5331: 5275: 5153: 4454: 4407: 8827: 8530: 8525: 8520: 8515: 8490: 8480: 8441: 8391: 8386: 8381: 8376: 8281: 8276: 8271: 8261: 8251: 8236: 8216: 8211: 8206: 8155: 8100: 8095: 8075: 8053: 8033: 7988: 7968: 7923: 7918: 7913: 7881: 7844: 7834: 7819: 7814: 7809: 7794: 7779: 7774: 7702: 7697: 7692: 7672: 7662: 7657: 7652: 7637: 7632: 7580: 7575: 7555: 7525: 7500: 7485: 7455: 7408: 7398: 7378: 7373: 7358: 7353: 7267: 6988: 6983: 6878: 6524: 6519: 6514: 6509: 6504: 6412: 6407: 6402: 6397: 5676: 4634: 3645: 3614: 3608: 3373:) the strict ordering requirement of declaration sections has been relaxed. 1413: 1405: 1276: 1252: 1237: 1076: 988: 545: 5199: 4595: 1701:
type may be stored in a machine integer - 32 bits perhaps - rather than an
823: 4794:"Universitaet Wuppertal: Wissenschaftliches Rechnen / Softwaretechnologie" 4082:– a new generation Pascal programming language including compiler and IDE. 2820:, but the ability to dynamically deallocate referenced space by using the 740: 8165: 7943: 7647: 7475: 7312: 7302: 7287: 7262: 7247: 7222: 7217: 7100: 7075: 7070: 7055: 7050: 7045: 7035: 7000: 6995: 6978: 6958: 6953: 6948: 6943: 6938: 6933: 6923: 6908: 6898: 6893: 6883: 6868: 6863: 6853: 6848: 6843: 6828: 6823: 6818: 6813: 6808: 6793: 6778: 6751: 6746: 6741: 6736: 6731: 6726: 6721: 6711: 6706: 6686: 6681: 6671: 6666: 6656: 6651: 6641: 6636: 6631: 6606: 6596: 6489: 6392: 6387: 6382: 6377: 6372: 6367: 6362: 6357: 6352: 6006: 5994: 5902: 5896: 5878: 5641: 4295: 4206: 4033: 4011: 3869: 3760: 3461:
Several Pascal compilers and interpreters are available for general use:
1707: 1392:
as parameters (not required in Turbo Pascal etc.); then follows the main
1363: 1336: 1242: 992: 978: 901: 886: 819: 614: 587: 541: 516: 465: 446: 407: 327: 318: 314: 178: 163: 8564: 4025:– "TURBO.EXE" up to version 7, and Turbo Pascal for Windows ("TPW") and 3838:
WOL Library for creating GUI applications with the Free Pascal Compiler.
1964:
can then be implemented efficiently as bitwise machine code operations.
998:
A compiler based on the Pascal-P4 compiler, which created native binary
928:
was created in ZĂĽrich that included a compiler that generated so called
586:
The ALGOL X efforts would go on to choose a much more complex language,
8720: 8710: 8454: 8246: 8231: 8028: 8018: 8008: 7784: 7600: 7550: 7445: 7433: 6591: 6586: 6581: 6576: 6571: 6556: 6551: 6546: 6541: 6536: 6499: 6454: 6449: 6434: 6429: 6424: 6192: 5982: 5701: 5616: 5057:"Compaq Pascal Version 5.8 for Tru64 UNIX Software Product Description" 4676:
M. I. Trofimov, The End of Pascal?, BYTE, March, 1990, p. 36.
4495: 4146: 3980: 3810: 3752: 3675: 3656: 3537: 3489: 2855:
language, meaning that the flow of control is structured into standard
1371: 1260: 1226: 1218: 1138: 1049: 847: 838: 760: 710: 580: 571: 504: 415: 411: 256: 460:
Pascal became very successful in the 1970s, notably on the burgeoning
8787: 8755: 8639: 8316: 8301: 8296: 8291: 7963: 7938: 7866: 7722: 7707: 7687: 7682: 7627: 7620: 7615: 7610: 7505: 7470: 7317: 6968: 6783: 6347: 5990: 4032:
Pure Pascal and HiSPeed Pascal 2 Pascal language Environment for the
3704: 3664: 2579:, a record. Pointers can be used before they are declared. This is a 1359: 1145: 1045: 1041: 913: 870: 797:
is an open source, cross-platform alternative with its own graphical
774:, and became Apple's main development language into the early 1990s. 768: 675: 574:
process to identify improvements, calling for submissions. Wirth and
570:
system. The group tasked with maintaining the language had begun the
310: 261: 188: 183: 4490:. Lecture Notes in Computer Science. Vol. 1897. pp. 1–10. 2804:
can be created by including a pointer type field (c) in the record.
1236:
Pascal Sol was designed around 1983 by a French team to implement a
613:
that could be ported to different platforms. A key platform was the
605:
One of the early successes for the language was the introduction of
399:. It is named after French mathematician, philosopher and physicist 8685: 7804: 3998:
Turbo Pascal version 3 and later incarnations, including Borland's
1471:{No ";" is required after the last statement of a block - 789:, which is still used for developing Windows applications, and can 485: 8695: 8656: 8634: 8351: 8326: 8048: 7933: 7585: 7450: 7322: 7297: 7292: 7272: 6646: 6616: 6611: 6332: 6317: 6307: 6302: 5978: 5872: 4667:
Jon Udell, Crash of the Object-Oriented Pascals, BYTE, July, 1989.
4539:
https://www.computerhistory.org/atchm/adobe-photoshop-source-code/
4089: 3814: 3806: 3764: 3756: 3745: 3708: 3668: 3624: 3581: 3477: 3417: 3382: 1300: 1264: 1214: 1210: 1157: 949:
with Pascal-P2, and Pascal-P4, which was not backward compatible.
691: 484:-based systems became popular, and especially with the release of 347: 3729:
entirely written in Object Pascal (both server and browser side).
515:
platform. Extensions to the Pascal concepts led to the languages
8777: 7998: 7861: 7854: 7520: 7465: 7065: 6676: 5920: 4127: 3712: 3693: 3386: 2809: 2786:
statement, a and b refer to the subfields of the record pointer
1566:
a countable group of any of the preceding data types or records
1153: 481: 357: 285: 8568: 6239: 5924: 5552: 5222:
IEEE/ANSI Standard for the Programming Language Extended Pascal
4060:, the inventor of Pascal; its features were added to Borland's 2197:
Types can be defined from other types using type declarations:
1427:
Here is an example of the source code in use for a very simple
8812: 8782: 8485: 8175: 7227: 5776: 4931: 4929: 3894: 3701: 3481: 1255:
is an implementation of the Pascal programming language using
1209:. Pascal-XSC has at various times been ported to Unix (Linux, 1202: 1198: 664: 656: 3605:
Pascal and Delphi. Development was canceled on April 4, 2005.
2238:
Further, complex types can be constructed from simple types:
4201:
to define pointer types, or when record declarations led to
4048:– an extension of the Pascal language that was developed at 3942:
Niklaus Wirth's ZĂĽrich version of Pascal was issued outside
3617:
compiler is an ISO 7185 (full Pascal) adaption of Pascal-P4.
2843:
Some of these restrictions can be lifted in newer dialects.
3876:, the second part of the "Pascal users manual and report". 5480:. 23–30 ACM SIGPLAN Notices Volume 10, Issue 6, June 1975. 5429:
An Axiomatic Definition of the Programming Language Pascal
5298: 3791:
and which supports Free Pascal and GNU Pascal as backends.
3674:
PocketStudio is a Pascal subset compiler and RAD tool for
5526:
Software Pioneers: Contributions to Software Engineering.
2969:{no semicolon here as it would detach the next statement} 5082:"VSI's John Reagan Interview on GEM vs. LLVM for X86/64" 3805:, Lazarus is available for numerous platforms including 1502:
Type of values which the variable is capable of storing
767:. This was introduced on the Mac in 1985 as part of the 7393: 6038:
Active Object System (AOS, 2002), Bluebottle (2005), A2
4395:, which makes it possible to generate interpretive code 4070:– Object Pascal is essentially its underlying language. 3911: 854:
compiler is one notable exception, being written in C.
4858:"Overview of the CHORUS Distributed Operating Systems" 4750:"Pascal-XSC: Pascal for Extended Scientific Computing" 3468:
is Embarcadero's (formerly Borland/CodeGear) flagship
3381:
Pascal adopted many language syntax features from the
2790:
and not to the record Node or the pointer type pNode.
1017:
after the abbreviation of the name of the commission.
717:. Newer Pascal compilers exist which are widely used. 8896: 5196:"Language standards: Pascal, Extended Pascal, Fortan" 5001:"VSI Pascal for OpenVMS Software Product Description" 4771: 1303:-like control structures with reserved words such as 5354:"Why Pascal is Not My Favorite Programming Language" 3797:
is a free Delphi-like visual cross-platform IDE for
3397:
keyword of a record type declaration, a block, or a
1092:
directly. These extensions included null-terminated
8468: 8194: 7346: 6295: 6180: 6149: 6114: 6095: 6073: 6045: 6026: 5965: 5958: 5833: 5775: 5720: 5649: 5640: 5587: 5032:"Interview with a Pascal Architect - Compaq Pascal" 3526:(GNU LGPL). In addition to compatibility modes for 2836:(but which do not eliminate the related problem of 2448: 1714: 1698: 271: 247: 217: 146: 134: 106: 88: 76: 65: 42: 4905: 5545:ACM SIGPLAN Notices, Volume 28, No 3, March 1993. 3648:implements the language "Pascaline" (named after 1542:a single character from an ordered character set 5478:An assessment of the programming language Pascal 5146:The Programming Language Pascal (Revised Report) 4874:on February 7, 2015 – via cs.berkeley.edu. 4616:Computers and Computing. A Personal Perspective. 1733:(any simple type except real) can also be made: 1576:A collection of any of the preceding data types 1044:-2. A reimplementation of this compiler for the 904:written in North America was constructed at the 837:reports that a first attempt to implement it in 678:Pascal. Successful commercial applications like 5671: 4581:, Programming Community Index for January 2011. 4408:"A Conversation with James Gosling – ACM Queue" 3405:keyword of a repeat statement; and before the 924:To propagate the language rapidly, a compiler 8580: 6251: 5936: 5564: 5541:Recollections about the Development of Pascal 3590:Compiler (GPC) is the Pascal compiler of the 2602:in the record, and to initialise the pointer 1040:wrote the Blue Label Pascal compiler for the 552:that remain common in languages to this day. 540:design during the 1960s can be traced to the 8: 5492:Pascal – The Language and its Implementation 5431:. 335–355, Acta Informatica, Volume 2, 1973. 4246:that we now classify as a digital computer." 4137:Open Sybil, which is an ongoing project, an 2610:("NIL" in Pascal), the statements would be: 2586:To create a new record and assign the value 1416:(i.e., a period) ends the whole program (or 1201:processor, but was later rewritten for DOS ( 1160:. It extends the language with function and 37: 4951:Nell Dale and Chip Weems, "Dangling Else", 2824:function (which has the same effect as the 1267:machine types in 1994, and exists today as 777:The Object Pascal extensions were added to 507:in the late 1980s and later developed into 406:Pascal was developed on the pattern of the 8959:Programming languages with an ISO standard 8853: 8587: 8573: 8565: 6258: 6244: 6236: 5962: 5943: 5929: 5921: 5646: 5571: 5557: 5549: 5518:N. Wirth, M. Broy, ed, and E. Denert, ed: 5417:. 35–63, Acta Informatica, Volume 1, 1971. 4995: 4993: 4723:(in German). Munich – Karlsruhe, Germany: 4529:: Macintosh Stories. Retrieved 2012-03-06. 3872:compiler. This language was documented in 3744:AmigaPascal is a free Pascal compiler for 1295:Pascal, in its original form, is a purely 1084:to let Pascal programmers use the C-based 987:was released in 1979 for the Apple II and 621:. This led to Pascal becoming the primary 503:(for the Lisa and Macintosh machines) and 36: 5299:"WDSibyl: Visual Development Environment" 4655:International Atomic Energy Agency (IEAE) 4064:and in 1989 for Turbo Pascal 5.5 for DOS. 3824:Fire (macOS) and Water (Windows) for the 1601:, the following functions are available: 1071:and faster than much of the competition. 480:during the late 1980s and early 1990s as 3725:Morfik Pascal allows the development of 1495: 1263:running on the Z80. It was moved to the 1111:Turbo Pascal and other derivatives with 499:was developed in 1985. This was used by 8903: 6195:Programming Languages Achievement Award 6082:Algorithms + Data Structures = Programs 5508:, Revised Edition, Addison-Wesley, 1980 5462:Algorithms + Data Structures = Programs 4326: 4230: 3966:Algorithms + Data Structures = Programs 3558:) is an Object Pascal compiler for the 2816:. It also removes some risks caused by 2296:{extra semicolon not strictly required} 548:. It included a number of features for 4824:(1st ed.). Bath, United Kingdom: 3518:(GNU GPL), while packages and runtime 2415:As shown in the example above, Pascal 1299:and includes the traditional array of 563:. The language was published in 1965. 8954:Programming languages created in 1970 5440:. Springer-Verlag, 1974, 1985, 1991, 5424:, pages 83–174. Academic Press, 1972. 4592:"Antique Software: Turbo Pascal v5.5" 4096:software development environment and 3755:systems. It was also supported under 3496:were added (D2009, D2010, Delphi XE). 3369:. However, in some dialects (such as 2022:An example of a variant record type: 1697:to store the data. For instance, the 1327:, ranging on a single statement or a 1194:Extensions for Scientific Computation 1104:, an address-of operator, and unsafe 414:efforts and proposed a version named 7: 5254:"Extended Pascal - Free Pascal wiki" 4822:Improving Floating-Point Programming 4436:(1978-12-21). Anderson, Kemp (ed.). 1972:An example of a Pascal record type: 842:compilers since have been similarly 6065:Wirth–Weber precedence relationship 5487:. IEEE Computer Society Press, 1980 5483:N. Wirth, and A. I. Wasserman, ed: 5434:Kathleen Jensen and Niklaus Wirth: 5328:"netlabs.org – Project: Open Sibyl" 5169:Extended Pascal: ISO/IEC 10206:1990 4937:Software: Practice and Experience 7 4343:We looked very carefully at Delphi 3623:Smart Mobile Studio is a Pascal to 3420:-like empty statements in the 1973 1011:Australian Atomic Energy Commission 916:and generated native machine code. 757:Multi-paradigm programming language 3891:ISO/IEC 10206:1990 Extended Pascal 3863:(NAG) Numerical Algorithms Library 3540:is a free Pascal compiler for the 3377:Semicolons as statement separators 2927:{no semicolon allowed before else} 2696:This could also be done using the 861:(QUB) in 1972. The target was the 25: 8944:Educational programming languages 4981:"VAX-11 Pascal V1.0 User's Guide" 4559:"RAD Studio Application Showcase" 4414:from the original on 16 July 2015 3544:family of microcontrollers, with 3524:GNU Lesser General Public License 1086:application programming interface 617:, where it saw widespread use as 609:, a version that ran on a custom 8949:High-level programming languages 8906: 8881: 8880: 8852: 8549: 8548: 6218: 6217: 4260: 3898: 3692:Vector Pascal is a language for 2439:. Write is introduced such that 686:Pascal, while applications like 5861:Comparison of Pascal and Delphi 5437:Pascal – User Manual and Report 5427:C. A. R. Hoare, Niklaus Wirth: 5415:The Programming Language Pascal 5309:from the original on 2020-02-12 4464:from the original on 2024-05-20 4438:"Obeisance to Pascal, inventor" 4373:Java Application Servers Report 4335:"About Microsoft's "Delegates"" 4286:Comparison of Pascal and Delphi 4221:) clauses for case statements. 1693:Normally the system will use a 1605:(which rounds to integer using 1381:Pascal programs start with the 863:International Computers Limited 684:Macintosh Programmer's Workshop 8934:Academic programming languages 2575:is a pointer to the data type 1259:DOS, but was moved rapidly to 1221:) and Microsoft/IBM (DOS with 1021:Object Pascal and Turbo Pascal 964:branched off Pascal-P2, where 741:Pascal Users Group Newsletters 1: 8939:Systems programming languages 8929:Pascal (programming language) 5297:Wolfgang (October 15, 2020). 4548:, Adobe Photoshop Source Code 4488:Modular Programming Languages 4301:Oberon (programming language) 4132:rapid application development 4016:Rapid Application Development 3976:Borland-like Pascal compilers 3799:rapid application development 3787:that was designed in Borland 3696:instruction sets such as the 3470:rapid application development 1424:is ignored in Pascal source. 859:Queen's University of Belfast 468:were also available for many 5144:Wirth, Niklaus (July 1973). 5088:. 2019-03-12. Archived from 4700:10.1016/0898-1221(87)90181-7 4364:TechMetrix Research (1999). 2834:automatic garbage collection 1247:distributed operating system 625:used for development in the 5580:Pascal programming language 5485:Programming Language Design 5352:Brian W. Kernighan (1981). 5230:10.1109/IEEESTD.1990.101061 5006:. VSI. 2017. Archived from 4912:. West Publishing Company. 4904:Mandell, Steven L. (1987). 4657:(Report). 1977. p. 22. 4449:. Dan McMillan. p. 6. 4268:Computer programming portal 2939:'Condition not met' 2782:Inside of the scope of the 2460:Pascal supports the use of 523:, both developed by Wirth. 497:object-oriented programming 94:; 54 years ago 18:Pascal programming language 8980: 5856:Comparison of Pascal and C 4826:John Wiley & Sons Ltd. 4291:Comparison of Pascal and C 4276:Ada (programming language) 4062:Turbo Pascal for Macintosh 4027:Turbo Pascal for Macintosh 3596:GNU General Public License 3516:GNU General Public License 3457:Compilers and interpreters 2828:library function found in 1552:equivalent to an array of 889:series by a team based at 850:to a new environment. The 637:were hand-translated into 635:Macintosh operating system 557:Euler programming language 29: 8848: 8625: 8602: 8544: 6277: 6213: 5851: 5521:Pascal and its Successors 5272:"Virtual Pascal for OS/2" 4156:List of related standards 4018:(RAD)) in this category: 3828:and the Elements Compiler 3655:Pascal-XT was created by 1532:the values True or False 1141:-compatible compiler for 1137:TMT Pascal was the first 1015:AAEC Pascal 8000 Compiler 751:During work on the Lisa, 276: 252: 224: 154: 5825:Visual Component Library 5515:, Chapman and Hall, 1982 5154:10.3929/ethz-a-000814158 5112:ISO/IEC 7185:1990 Pascal 4908:Pascal Programming Today 3848:ISO/IEC 7185:1990 Pascal 3711:and AMD processors, and 3177: 3169:Procedures and functions 2867: 2702: 2614: 2468: 2333: 2242: 2201: 2026: 1976: 1934: 1881: 1855: 1792: 1737: 1620: 1512:integer (whole) numbers 1435: 1388:with a list of external 1275:). It includes objects, 759:. This led initially to 698:were written in Delphi ( 633:. Parts of the original 6200:Computer History Museum 6167:de:Hanspeter Mössenböck 5528:Springer-Verlag, 2002, 5513:Pascal in Work and Play 5465:. Prentice-Hall, 1975, 4725:IDG Business Media GmbH 4482:Wirth, Niklaus (2000). 4143:IBM System Object Model 3592:GNU Compiler Collection 3580:, with support for the 3432:statement, because the 3367:single-pass compilation 2921:'Condition met' 2700:statement, as follows: 1613:(rounds towards zero). 1522:floating-point numbers 1465:'Hello, World!' 1429:"Hello, World!" program 1002:, was released for the 793:code to other systems. 536:Much of the history of 32:Pascal (disambiguation) 5805:Object Windows Library 5422:Structured Programming 4867:. 1991. Archived from 4520:Hungarian folklore.org 4189:, who popularized the 3522:come under a modified 3401:statement; before the 2853:structured programming 2445:f^ := x; put(f); 2437:x := f^; get(f); 1877:executes faster than: 968:used it to create the 941:redesigned to enhance 906:University of Illinois 891:Southampton University 550:structured programming 478:C programming language 393:structured programming 8596:Programming languages 6060:Wirth syntax notation 5506:Programming in Pascal 5376:, pp. 231–243 (1975). 4443:. Readers' comments. 4056:in consultation with 3934:Compiler is planned. 2978:'Iteration: ' 974:IBM Personal Computer 895:Manchester University 772:application framework 8913:Computer programming 6205:Marcel Benoist Prize 6128:University of Zurich 5511:Richard S. Forsyth: 5490:D. W. Barron (Ed.): 4939:, pp. 685–696 (1977) 4885:Pascal ISO 7185:1990 4199:forward declarations 3960:In the early 1990s, 3576:was a descendant of 3532:operator overloading 3506:compiler written in 3448:block must be used. 1245:project to design a 1167:The universities of 1162:operator overloading 995:60-bit word length. 696:Macromedia Captivate 669:literate programming 385:programming language 30:For other uses, see 27:Programming language 6122:Stanford University 5494:. John Wiley 1981, 5258:wiki.freepascal.org 4110:to varying degrees. 4036:range of computers. 4010:Software products ( 3650:Pascal's calculator 2859:, usually without ' 2581:forward declaration 1374:and suggestions by 1297:procedural language 1291:Language constructs 1273:Pascal's calculator 1121:modular programming 1013:; it was named the 947:backward compatible 920:The Pascal-P system 623:high-level language 491:A derivative named 89:First appeared 39: 6271:by standard number 6142:(1976–77, 1984–85) 5843:Pascal MicroEngine 5374:Acta Informatica 4 5360:2009-04-28 at the 5125:on 27 January 2016 4958:2017-03-18 at the 4890:2012-06-17 at the 4800:on 6 November 2015 4774:on 1 November 2015 4621:2017-05-10 at the 4577:2012-03-15 at the 4544:2014-05-07 at the 4525:2015-11-18 at the 4518:Hertzfeld, Andy. " 4496:10.1007/10722581_1 3953:, under Professor 3910:. You can help by 3763:is implemented in 3684:source code editor 3663:operating systems 3640:floppy disk drives 2847:Control structures 2571:Here the variable 2427:(for reading) and 1098:pointer arithmetic 1007:mainframe computer 875:Glasgow University 831:mainframe computer 600:structured fashion 421:On top of ALGOL's 169:Embarcadero Delphi 8894: 8893: 8876:Non-English-based 8562: 8561: 6285:ISO romanizations 6233: 6232: 6091: 6090: 6028:Operating systems 5918: 5917: 5771: 5770: 5622:Concurrent Pascal 5387:"Extended Pascal" 5278:on 30 August 2011 5239:978-0-7381-4247-0 4919:978-0-314-33935-5 4713:PI (1986-08-29). 4505:978-3-540-67958-5 4366:"History of Java" 4281:Concurrent Pascal 4124:Microsoft Windows 4052:by a team led by 3928: 3927: 3874:The Pascal Report 3819:Microsoft Windows 3707:, supporting all 2891:'Waiting' 2818:dangling pointers 2423:. The procedures 2193:Type declarations 1731:ordinal data type 1729:Subranges of any 1607:banker's rounding 1591: 1590: 1396:bracketed by the 1169:Wisconsin–Madison 1102:function pointers 1090:Microsoft Windows 1065:assembly language 1029:in 1985. In 1985 910:Donald B. Gillies 900:The first Pascal 818:The first Pascal 787:Microsoft Windows 671:system, based on 642:assembly language 629:, and later, the 538:computer language 513:Microsoft Windows 449:), Pascal allows 371: 370: 108:Typing discipline 16:(Redirected from 8971: 8911: 8910: 8902: 8884: 8883: 8856: 8855: 8589: 8582: 8575: 8566: 8552: 8551: 6272: 6260: 6253: 6246: 6237: 6221: 6220: 5963: 5945: 5938: 5931: 5922: 5909:Component Pascal 5869: 5748:Microsoft Pascal 5707:Pic Micro Pascal 5647: 5573: 5566: 5559: 5550: 5402: 5401: 5399: 5398: 5389:. Archived from 5383: 5377: 5370: 5364: 5350: 5344: 5343: 5341: 5339: 5330:. Archived from 5324: 5318: 5317: 5315: 5314: 5294: 5288: 5287: 5285: 5283: 5274:. Archived from 5268: 5262: 5261: 5250: 5244: 5243: 5218: 5212: 5211: 5209: 5207: 5198:. Archived from 5192: 5186: 5185: 5183: 5181: 5172:. Archived from 5164: 5158: 5157: 5141: 5135: 5134: 5132: 5130: 5124: 5118:. Archived from 5117: 5107: 5101: 5100: 5098: 5097: 5078: 5072: 5071: 5069: 5068: 5059:. Archived from 5053: 5047: 5046: 5044: 5043: 5034:. Archived from 5028: 5022: 5021: 5019: 5018: 5012: 5005: 4997: 4988: 4987: 4985: 4977: 4971: 4968: 4962: 4946: 4940: 4933: 4924: 4923: 4911: 4901: 4895: 4882: 4876: 4875: 4873: 4862: 4854: 4848: 4845: 4839: 4838: 4816: 4810: 4809: 4807: 4805: 4796:. Archived from 4790: 4784: 4783: 4781: 4779: 4770:. Archived from 4764: 4758: 4757: 4752:. Archived from 4746: 4740: 4739: 4737: 4736: 4727:. Archived from 4710: 4704: 4703: 4683: 4677: 4674: 4668: 4665: 4659: 4658: 4652: 4644: 4638: 4632: 4626: 4625:by Niklaus Wirth 4613: 4607: 4606: 4604: 4603: 4594:. Archived from 4588: 4582: 4569: 4563: 4562: 4555: 4549: 4536: 4530: 4516: 4510: 4509: 4479: 4473: 4472: 4470: 4469: 4463: 4442: 4430: 4424: 4423: 4421: 4419: 4404: 4398: 4397: 4388: 4387: 4381: 4375:. Archived from 4370: 4361: 4355: 4354: 4337:. Archived from 4331: 4270: 4265: 4264: 4247: 4235: 4220: 4203:mutual recursion 4195:static variables 4040:Borland Pascal 7 3989:Anders Hejlsberg 3923: 3920: 3902: 3895: 3801:(RAD). Based on 3727:Web applications 3554:(formerly named 3447: 3443: 3435: 3427: 3408: 3404: 3396: 3352: 3349: 3346: 3343: 3340: 3337: 3334: 3331: 3328: 3325: 3322: 3319: 3316: 3313: 3310: 3309:{ main program } 3307: 3304: 3301: 3298: 3295: 3292: 3289: 3286: 3283: 3280: 3277: 3274: 3271: 3268: 3265: 3262: 3259: 3256: 3253: 3250: 3247: 3244: 3241: 3238: 3235: 3232: 3229: 3226: 3223: 3220: 3217: 3214: 3211: 3208: 3205: 3202: 3199: 3196: 3193: 3190: 3187: 3184: 3181: 3162: 3159: 3156: 3153: 3150: 3147: 3144: 3141: 3138: 3135: 3132: 3129: 3126: 3123: 3120: 3117: 3114: 3111: 3108: 3105: 3102: 3099: 3096: 3093: 3090: 3087: 3084: 3081: 3078: 3075: 3072: 3069: 3066: 3063: 3060: 3057: 3054: 3051: 3048: 3045: 3042: 3039: 3036: 3033: 3030: 3027: 3024: 3021: 3018: 3015: 3012: 3009: 3006: 3003: 3000: 2997: 2994: 2991: 2988: 2985: 2982: 2979: 2976: 2973: 2970: 2967: 2964: 2961: 2958: 2955: 2952: 2949: 2946: 2943: 2940: 2937: 2934: 2931: 2928: 2925: 2922: 2919: 2916: 2913: 2910: 2907: 2904: 2901: 2898: 2895: 2892: 2889: 2886: 2883: 2880: 2877: 2874: 2871: 2778: 2775: 2772: 2769: 2766: 2763: 2760: 2757: 2754: 2751: 2748: 2745: 2742: 2739: 2736: 2733: 2730: 2727: 2724: 2721: 2718: 2715: 2712: 2709: 2706: 2699: 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: 2565: 2562: 2559: 2556: 2553: 2550: 2547: 2544: 2541: 2538: 2535: 2532: 2529: 2526: 2523: 2520: 2517: 2514: 2511: 2508: 2505: 2502: 2499: 2496: 2493: 2490: 2487: 2484: 2481: 2478: 2475: 2472: 2450: 2409: 2406: 2403: 2400: 2397: 2394: 2391: 2388: 2385: 2382: 2379: 2376: 2373: 2370: 2367: 2364: 2361: 2358: 2355: 2352: 2349: 2346: 2343: 2340: 2337: 2321: 2318: 2315: 2312: 2309: 2306: 2303: 2300: 2297: 2294: 2291: 2288: 2285: 2282: 2279: 2276: 2273: 2270: 2267: 2264: 2261: 2258: 2255: 2252: 2249: 2246: 2232: 2229: 2226: 2223: 2220: 2217: 2214: 2211: 2208: 2205: 2183: 2180: 2177: 2174: 2171: 2168: 2165: 2162: 2159: 2156: 2153: 2150: 2147: 2144: 2141: 2138: 2135: 2132: 2129: 2126: 2123: 2120: 2117: 2114: 2111: 2108: 2105: 2102: 2099: 2096: 2093: 2090: 2087: 2084: 2081: 2078: 2075: 2072: 2069: 2066: 2063: 2060: 2057: 2054: 2051: 2048: 2045: 2042: 2039: 2036: 2033: 2030: 2016: 2013: 2010: 2007: 2004: 2001: 1998: 1995: 1992: 1989: 1986: 1983: 1980: 1950: 1947: 1944: 1941: 1938: 1924: 1921: 1918: 1915: 1912: 1909: 1906: 1903: 1900: 1897: 1894: 1891: 1888: 1885: 1871: 1868: 1865: 1862: 1859: 1844: 1841: 1838: 1835: 1832: 1829: 1826: 1823: 1820: 1817: 1814: 1811: 1808: 1805: 1802: 1799: 1796: 1777: 1774: 1771: 1768: 1765: 1762: 1759: 1756: 1753: 1750: 1747: 1744: 1741: 1716: 1700: 1684: 1681: 1678: 1675: 1672: 1669: 1666: 1663: 1660: 1657: 1654: 1651: 1648: 1645: 1642: 1639: 1636: 1633: 1630: 1627: 1624: 1612: 1604: 1600: 1596: 1496: 1481: 1478: 1475: 1472: 1469: 1466: 1463: 1460: 1457: 1454: 1451: 1448: 1445: 1442: 1439: 1403: 1399: 1390:file descriptors 1384: 1334: 1330: 1326: 1322: 1318: 1314: 1310: 1306: 1038:Anders Hejlsberg 881:implementation. 822:was designed in 715:embedded systems 682:were written in 644:from the Pascal 611:operating system 451:nested procedure 397:data structuring 296:Component Pascal 102: 100: 95: 78:Designed by 40: 21: 8979: 8978: 8974: 8973: 8972: 8970: 8969: 8968: 8919: 8918: 8917: 8905: 8897: 8895: 8890: 8844: 8621: 8598: 8593: 8563: 8558: 8540: 8464: 8190: 7342: 6291: 6273: 6270: 6264: 6234: 6229: 6209: 6176: 6145: 6110: 6087: 6069: 6041: 6022: 5968: 5954: 5949: 5919: 5914: 5867: 5847: 5829: 5767: 5716: 5636: 5583: 5577: 5504:Peter Grogono: 5476:Niklaus Wirth: 5459:Niklaus Wirth: 5413:Niklaus Wirth: 5410: 5408:Further reading 5405: 5396: 5394: 5385: 5384: 5380: 5371: 5367: 5362:Wayback Machine 5351: 5347: 5337: 5335: 5334:on 4 March 2016 5326: 5325: 5321: 5312: 5310: 5296: 5295: 5291: 5281: 5279: 5270: 5269: 5265: 5252: 5251: 5247: 5240: 5220: 5219: 5215: 5205: 5203: 5194: 5193: 5189: 5179: 5177: 5166: 5165: 5161: 5143: 5142: 5138: 5128: 5126: 5122: 5115: 5109: 5108: 5104: 5095: 5093: 5080: 5079: 5075: 5066: 5064: 5055: 5054: 5050: 5041: 5039: 5030: 5029: 5025: 5016: 5014: 5010: 5003: 4999: 4998: 4991: 4983: 4979: 4978: 4974: 4969: 4965: 4960:Wayback Machine 4947: 4943: 4934: 4927: 4920: 4903: 4902: 4898: 4892:Wayback Machine 4883: 4879: 4871: 4860: 4856: 4855: 4851: 4846: 4842: 4835: 4818: 4817: 4813: 4803: 4801: 4792: 4791: 4787: 4777: 4775: 4766: 4765: 4761: 4748: 4747: 4743: 4734: 4732: 4712: 4711: 4707: 4685: 4684: 4680: 4675: 4671: 4666: 4662: 4650: 4646: 4645: 4641: 4633: 4629: 4623:Wayback Machine 4614: 4610: 4601: 4599: 4590: 4589: 4585: 4579:Wayback Machine 4570: 4566: 4557: 4556: 4552: 4546:Wayback Machine 4537: 4533: 4527:Wayback Machine 4517: 4513: 4506: 4481: 4480: 4476: 4467: 4465: 4461: 4440: 4432: 4431: 4427: 4417: 4415: 4406: 4405: 4401: 4385: 4383: 4379: 4368: 4363: 4362: 4358: 4341:on 2012-06-27. 4333: 4332: 4328: 4324: 4266: 4259: 4256: 4251: 4250: 4237:In an issue of 4236: 4232: 4227: 4218: 4187:Brian Kernighan 4182: 4180:Early criticism 4174: 4158: 4145:(SOM), WPS and 4092:version of the 3978: 3940: 3924: 3918: 3915: 3908:needs expansion 3893: 3850: 3845: 3835: 3777: 3548: 7 syntax. 3459: 3454: 3445: 3441: 3433: 3425: 3406: 3402: 3394: 3379: 3354: 3353: 3350: 3347: 3344: 3341: 3338: 3335: 3332: 3329: 3326: 3323: 3320: 3317: 3314: 3311: 3308: 3305: 3302: 3299: 3296: 3293: 3290: 3287: 3284: 3281: 3278: 3275: 3272: 3269: 3266: 3263: 3260: 3257: 3254: 3251: 3248: 3245: 3242: 3239: 3236: 3233: 3230: 3227: 3224: 3221: 3218: 3215: 3212: 3209: 3206: 3203: 3200: 3197: 3194: 3191: 3188: 3185: 3182: 3179: 3171: 3164: 3163: 3160: 3157: 3154: 3151: 3148: 3145: 3142: 3139: 3136: 3133: 3130: 3127: 3124: 3121: 3118: 3115: 3112: 3109: 3106: 3103: 3100: 3097: 3094: 3091: 3088: 3085: 3082: 3079: 3076: 3073: 3070: 3067: 3064: 3061: 3058: 3055: 3052: 3049: 3046: 3043: 3040: 3037: 3034: 3031: 3028: 3025: 3022: 3019: 3016: 3013: 3010: 3007: 3004: 3001: 2998: 2995: 2992: 2989: 2986: 2983: 2980: 2977: 2974: 2971: 2968: 2965: 2962: 2959: 2956: 2953: 2950: 2947: 2944: 2941: 2938: 2935: 2932: 2929: 2926: 2923: 2920: 2917: 2914: 2911: 2908: 2905: 2902: 2899: 2896: 2893: 2890: 2887: 2884: 2881: 2878: 2875: 2872: 2869: 2849: 2780: 2779: 2776: 2773: 2770: 2767: 2764: 2761: 2758: 2755: 2752: 2749: 2746: 2743: 2740: 2737: 2734: 2731: 2728: 2725: 2722: 2719: 2716: 2713: 2710: 2707: 2704: 2697: 2692: 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: 2567: 2566: 2563: 2560: 2557: 2554: 2551: 2548: 2545: 2542: 2539: 2536: 2533: 2530: 2527: 2524: 2521: 2518: 2515: 2512: 2509: 2506: 2503: 2500: 2497: 2494: 2491: 2488: 2485: 2482: 2479: 2476: 2473: 2470: 2458: 2443:is the same as 2435:is the same as 2411: 2410: 2407: 2404: 2401: 2398: 2395: 2392: 2389: 2386: 2383: 2380: 2377: 2374: 2371: 2368: 2365: 2362: 2359: 2356: 2353: 2350: 2347: 2344: 2341: 2338: 2335: 2330: 2323: 2322: 2319: 2316: 2313: 2310: 2307: 2304: 2301: 2298: 2295: 2292: 2289: 2286: 2283: 2280: 2277: 2274: 2271: 2268: 2265: 2262: 2259: 2256: 2253: 2250: 2247: 2244: 2234: 2233: 2230: 2227: 2224: 2221: 2218: 2215: 2212: 2209: 2206: 2203: 2195: 2185: 2184: 2181: 2178: 2175: 2172: 2169: 2166: 2163: 2160: 2157: 2154: 2151: 2148: 2145: 2142: 2139: 2136: 2133: 2130: 2127: 2124: 2121: 2118: 2115: 2112: 2109: 2106: 2103: 2100: 2097: 2094: 2091: 2088: 2085: 2082: 2079: 2076: 2073: 2070: 2067: 2064: 2061: 2058: 2055: 2052: 2049: 2046: 2043: 2040: 2037: 2034: 2031: 2028: 2018: 2017: 2014: 2011: 2008: 2005: 2002: 1999: 1996: 1993: 1990: 1987: 1984: 1981: 1978: 1970: 1952: 1951: 1948: 1945: 1942: 1939: 1936: 1926: 1925: 1922: 1919: 1916: 1913: 1910: 1907: 1904: 1901: 1898: 1895: 1892: 1889: 1886: 1883: 1873: 1872: 1869: 1866: 1863: 1860: 1857: 1846: 1845: 1842: 1839: 1836: 1833: 1830: 1827: 1824: 1821: 1818: 1815: 1812: 1809: 1806: 1803: 1800: 1797: 1794: 1786: 1779: 1778: 1775: 1772: 1769: 1766: 1763: 1760: 1757: 1754: 1751: 1748: 1745: 1742: 1739: 1727: 1686: 1685: 1682: 1679: 1676: 1673: 1670: 1667: 1664: 1661: 1658: 1655: 1652: 1649: 1646: 1643: 1640: 1637: 1634: 1631: 1628: 1625: 1622: 1610: 1602: 1598: 1594: 1490: 1483: 1482: 1479: 1476: 1473: 1470: 1467: 1464: 1461: 1458: 1455: 1452: 1449: 1446: 1443: 1440: 1437: 1401: 1397: 1382: 1332: 1328: 1324: 1320: 1316: 1312: 1308: 1304: 1293: 1129: 1119:structures are 1023: 922: 828:CDC 6000 series 816: 814:Early compilers 811: 809:Implementations 749: 723: 704:Apollo Computer 688:Total Commander 680:Adobe Photoshop 667:, the original 663:was written in 596: 534: 532:Earlier efforts 529: 367: 363:Structured text 267: 243: 213: 149:implementations 130: 98: 96: 93: 61: 35: 28: 23: 22: 15: 12: 11: 5: 8977: 8975: 8967: 8966: 8961: 8956: 8951: 8946: 8941: 8936: 8931: 8921: 8920: 8916: 8915: 8892: 8891: 8889: 8888: 8878: 8873: 8868: 8863: 8849: 8846: 8845: 8843: 8842: 8835: 8830: 8825: 8820: 8815: 8810: 8805: 8800: 8795: 8790: 8785: 8780: 8775: 8774: 8773: 8763: 8758: 8753: 8748: 8743: 8738: 8733: 8728: 8723: 8718: 8713: 8708: 8703: 8698: 8693: 8688: 8683: 8678: 8677: 8676: 8675: 8674: 8669: 8654: 8649: 8644: 8643: 8642: 8632: 8626: 8623: 8622: 8620: 8619: 8614: 8609: 8603: 8600: 8599: 8594: 8592: 8591: 8584: 8577: 8569: 8560: 8559: 8557: 8556: 8545: 8542: 8541: 8539: 8538: 8533: 8528: 8523: 8518: 8513: 8508: 8503: 8498: 8493: 8488: 8483: 8478: 8472: 8470: 8466: 8465: 8463: 8462: 8457: 8452: 8447: 8444: 8439: 8434: 8429: 8424: 8419: 8414: 8409: 8404: 8399: 8394: 8389: 8384: 8379: 8374: 8369: 8364: 8359: 8354: 8349: 8344: 8339: 8334: 8329: 8324: 8319: 8314: 8309: 8304: 8299: 8294: 8289: 8284: 8279: 8274: 8269: 8264: 8259: 8254: 8249: 8244: 8239: 8234: 8229: 8224: 8219: 8214: 8209: 8204: 8198: 8196: 8192: 8191: 8189: 8188: 8183: 8178: 8173: 8168: 8163: 8158: 8153: 8148: 8143: 8138: 8133: 8128: 8123: 8118: 8113: 8108: 8103: 8098: 8093: 8088: 8083: 8078: 8073: 8072: 8071: 8066: 8056: 8051: 8046: 8041: 8036: 8031: 8026: 8021: 8016: 8011: 8006: 8001: 7996: 7991: 7986: 7981: 7976: 7971: 7966: 7961: 7956: 7951: 7946: 7941: 7936: 7931: 7926: 7921: 7916: 7911: 7906: 7901: 7900: 7899: 7889: 7884: 7879: 7874: 7869: 7864: 7859: 7858: 7857: 7852: 7842: 7837: 7832: 7827: 7822: 7817: 7812: 7807: 7802: 7797: 7792: 7787: 7782: 7777: 7772: 7771: 7770: 7765: 7760: 7755: 7750: 7745: 7740: 7735: 7730: 7720: 7715: 7710: 7705: 7700: 7695: 7690: 7685: 7680: 7675: 7670: 7665: 7660: 7655: 7650: 7645: 7640: 7635: 7630: 7625: 7624: 7623: 7618: 7608: 7603: 7598: 7593: 7588: 7583: 7578: 7573: 7568: 7563: 7553: 7548: 7543: 7538: 7533: 7528: 7523: 7518: 7513: 7508: 7503: 7498: 7493: 7488: 7483: 7478: 7473: 7468: 7463: 7458: 7453: 7448: 7443: 7438: 7437: 7436: 7431: 7426: 7421: 7416: 7406: 7401: 7396: 7391: 7386: 7381: 7376: 7371: 7366: 7361: 7356: 7350: 7348: 7344: 7343: 7341: 7340: 7335: 7330: 7325: 7320: 7315: 7310: 7305: 7300: 7295: 7290: 7285: 7280: 7275: 7270: 7265: 7260: 7255: 7250: 7245: 7240: 7235: 7230: 7225: 7220: 7215: 7210: 7209: 7208: 7203: 7198: 7193: 7188: 7183: 7178: 7173: 7168: 7163: 7158: 7153: 7148: 7143: 7138: 7133: 7128: 7118: 7113: 7108: 7103: 7098: 7093: 7088: 7083: 7078: 7073: 7068: 7063: 7058: 7053: 7048: 7043: 7038: 7033: 7028: 7023: 7018: 7013: 7008: 7003: 6998: 6993: 6992: 6991: 6981: 6976: 6971: 6966: 6961: 6956: 6951: 6946: 6941: 6936: 6931: 6926: 6921: 6916: 6911: 6906: 6901: 6896: 6891: 6886: 6881: 6876: 6871: 6866: 6861: 6856: 6851: 6846: 6841: 6836: 6831: 6826: 6821: 6816: 6811: 6806: 6801: 6796: 6791: 6786: 6781: 6776: 6771: 6770: 6769: 6764: 6759: 6749: 6744: 6739: 6734: 6729: 6724: 6719: 6714: 6709: 6704: 6699: 6694: 6689: 6684: 6679: 6674: 6669: 6664: 6659: 6654: 6649: 6644: 6639: 6634: 6629: 6624: 6619: 6614: 6609: 6604: 6599: 6594: 6589: 6584: 6579: 6574: 6569: 6564: 6559: 6554: 6549: 6544: 6539: 6534: 6529: 6528: 6527: 6522: 6517: 6512: 6507: 6497: 6492: 6487: 6482: 6477: 6472: 6467: 6462: 6457: 6452: 6447: 6442: 6437: 6432: 6427: 6422: 6417: 6416: 6415: 6410: 6405: 6400: 6395: 6390: 6385: 6380: 6375: 6370: 6365: 6360: 6355: 6345: 6340: 6335: 6330: 6325: 6320: 6315: 6310: 6305: 6299: 6297: 6293: 6292: 6278: 6275: 6274: 6265: 6263: 6262: 6255: 6248: 6240: 6231: 6230: 6228: 6227: 6214: 6211: 6210: 6208: 6207: 6202: 6198:Fellow of the 6196: 6190: 6184: 6182: 6178: 6177: 6175: 6174: 6169: 6164: 6159: 6157:JĂĽrg Gutknecht 6153: 6151: 6147: 6146: 6144: 6143: 6137: 6131: 6125: 6118: 6116: 6112: 6111: 6101: 6099: 6093: 6092: 6089: 6088: 6086: 6085: 6077: 6075: 6071: 6070: 6068: 6067: 6062: 6057: 6051: 6049: 6043: 6042: 6032: 6030: 6024: 6023: 5973: 5971: 5960: 5956: 5955: 5950: 5948: 5947: 5940: 5933: 5925: 5916: 5915: 5913: 5912: 5906: 5900: 5894: 5888: 5882: 5876: 5870: 5864: 5863: 5858: 5852: 5849: 5848: 5846: 5845: 5839: 5837: 5831: 5830: 5828: 5827: 5822: 5817: 5812: 5807: 5802: 5797: 5792: 5787: 5781: 5779: 5773: 5772: 5769: 5768: 5766: 5765: 5760: 5755: 5750: 5745: 5740: 5735: 5730: 5728:Virtual Pascal 5724: 5722: 5718: 5717: 5715: 5714: 5709: 5704: 5699: 5694: 5689: 5679: 5674: 5669: 5664: 5653: 5651: 5644: 5638: 5637: 5635: 5634: 5629: 5624: 5619: 5614: 5609: 5604: 5599: 5593: 5591: 5585: 5584: 5578: 5576: 5575: 5568: 5561: 5553: 5547: 5546: 5536: 5516: 5509: 5502: 5488: 5481: 5474: 5457: 5432: 5425: 5418: 5409: 5406: 5404: 5403: 5378: 5365: 5345: 5319: 5289: 5263: 5245: 5238: 5213: 5187: 5159: 5148:. ETH ZĂĽrich. 5136: 5102: 5073: 5048: 5023: 4989: 4972: 4963: 4941: 4925: 4918: 4896: 4877: 4865:Chorus systems 4849: 4840: 4833: 4811: 4785: 4768:"XSC Software" 4759: 4756:on 2014-01-05. 4741: 4705: 4678: 4669: 4660: 4639: 4627: 4608: 4583: 4564: 4550: 4531: 4511: 4504: 4474: 4434:Wirth, Niklaus 4425: 4399: 4356: 4325: 4323: 4320: 4319: 4318: 4313: 4308: 4303: 4298: 4293: 4288: 4283: 4278: 4272: 4271: 4255: 4252: 4249: 4248: 4229: 4228: 4226: 4223: 4181: 4178: 4173: 4170: 4169: 4168: 4157: 4154: 4153: 4152: 4151: 4150: 4135: 4117: 4114:Virtual Pascal 4111: 4101: 4094:Borland Delphi 4083: 4077: 4071: 4065: 4050:Apple Computer 4043: 4037: 4030: 3996:shrink-wrapped 3977: 3974: 3955:Kenneth Bowles 3939: 3936: 3926: 3925: 3905: 3903: 3892: 3889: 3859:C. A. R. Hoare 3849: 3846: 3844: 3841: 3840: 3839: 3834: 3831: 3830: 3829: 3822: 3792: 3776: 3773: 3772: 3771: 3768: 3749: 3742: 3739: 3736: 3733: 3730: 3723: 3720:Emotion Engine 3690: 3687: 3672: 3653: 3643: 3632: 3621: 3618: 3612: 3606: 3602:Virtual Pascal 3599: 3585: 3571: 3549: 3535: 3504:cross-platform 3497: 3458: 3455: 3453: 3450: 3428:keyword in an 3422:Revised Report 3409:keyword of an 3378: 3375: 3356: 3355: 3330:PrintAnInteger 3315:PrintAnInteger 3216:PrintAnInteger 3178: 3170: 3167: 3166: 3165: 3047:'zero' 2868: 2848: 2845: 2703: 2694: 2693: 2615: 2594:to the fields 2590:and character 2569: 2568: 2469: 2457: 2454: 2413: 2412: 2334: 2329: 2326: 2325: 2324: 2243: 2236: 2235: 2202: 2194: 2191: 2187: 2186: 2027: 2020: 2019: 1977: 1969: 1966: 1954: 1953: 1935: 1928: 1927: 1882: 1875: 1874: 1856: 1848: 1847: 1793: 1785: 1782: 1781: 1780: 1738: 1726: 1725:Subrange types 1723: 1688: 1687: 1621: 1589: 1588: 1584: 1578: 1577: 1574: 1568: 1567: 1564: 1558: 1557: 1550: 1544: 1543: 1540: 1534: 1533: 1530: 1524: 1523: 1520: 1514: 1513: 1510: 1504: 1503: 1500: 1489: 1486: 1485: 1484: 1436: 1376:C. A. R. Hoare 1292: 1289: 1281:dynamic arrays 1183:developed the 1150:protected mode 1128: 1127:Other variants 1125: 1036:In the 1980s, 1022: 1019: 1004:IBM System/370 966:Kenneth Bowles 921: 918: 815: 812: 810: 807: 748: 745: 722: 719: 639:Motorola 68000 595: 592: 533: 530: 528: 525: 501:Apple Computer 470:microcomputers 387:, designed by 369: 368: 366: 365: 360: 355: 350: 345: 340: 335: 330: 321: 308: 303: 298: 293: 288: 283: 277: 274: 273: 269: 268: 266: 265: 259: 253: 250: 249: 245: 244: 242: 241: 236: 231: 225: 222: 221: 215: 214: 212: 211: 206: 201: 196: 194:IBM System/370 191: 186: 181: 176: 171: 166: 161: 155: 152: 151: 144: 143: 138: 132: 131: 129: 128: 123: 118: 112: 110: 104: 103: 90: 86: 85: 80: 74: 73: 67: 63: 62: 60: 59: 54: 48: 46: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 8976: 8965: 8964:1970 software 8962: 8960: 8957: 8955: 8952: 8950: 8947: 8945: 8942: 8940: 8937: 8935: 8932: 8930: 8927: 8926: 8924: 8914: 8909: 8904: 8900: 8887: 8879: 8877: 8874: 8872: 8869: 8867: 8864: 8862: 8859: 8851: 8850: 8847: 8841: 8840: 8836: 8834: 8831: 8829: 8826: 8824: 8821: 8819: 8816: 8814: 8811: 8809: 8806: 8804: 8801: 8799: 8796: 8794: 8791: 8789: 8786: 8784: 8781: 8779: 8776: 8772: 8771:Object Pascal 8769: 8768: 8767: 8764: 8762: 8759: 8757: 8754: 8752: 8749: 8747: 8744: 8742: 8739: 8737: 8734: 8732: 8729: 8727: 8724: 8722: 8719: 8717: 8714: 8712: 8709: 8707: 8704: 8702: 8699: 8697: 8694: 8692: 8689: 8687: 8684: 8682: 8679: 8673: 8670: 8668: 8665: 8664: 8663: 8660: 8659: 8658: 8655: 8653: 8650: 8648: 8645: 8641: 8638: 8637: 8636: 8633: 8631: 8628: 8627: 8624: 8618: 8615: 8613: 8610: 8608: 8605: 8604: 8601: 8597: 8590: 8585: 8583: 8578: 8576: 8571: 8570: 8567: 8555: 8547: 8546: 8543: 8537: 8534: 8532: 8529: 8527: 8524: 8522: 8519: 8517: 8514: 8512: 8509: 8507: 8504: 8502: 8499: 8497: 8494: 8492: 8489: 8487: 8484: 8482: 8479: 8477: 8474: 8473: 8471: 8467: 8461: 8458: 8456: 8453: 8451: 8448: 8445: 8443: 8440: 8438: 8435: 8433: 8430: 8428: 8425: 8423: 8420: 8418: 8415: 8413: 8410: 8408: 8405: 8403: 8400: 8398: 8395: 8393: 8390: 8388: 8385: 8383: 8380: 8378: 8375: 8373: 8370: 8368: 8365: 8363: 8360: 8358: 8355: 8353: 8350: 8348: 8345: 8343: 8340: 8338: 8335: 8333: 8330: 8328: 8325: 8323: 8320: 8318: 8315: 8313: 8310: 8308: 8305: 8303: 8300: 8298: 8295: 8293: 8290: 8288: 8285: 8283: 8280: 8278: 8275: 8273: 8270: 8268: 8265: 8263: 8260: 8258: 8255: 8253: 8250: 8248: 8245: 8243: 8240: 8238: 8235: 8233: 8230: 8228: 8225: 8223: 8220: 8218: 8215: 8213: 8210: 8208: 8205: 8203: 8200: 8199: 8197: 8193: 8187: 8184: 8182: 8179: 8177: 8174: 8172: 8169: 8167: 8164: 8162: 8159: 8157: 8154: 8152: 8149: 8147: 8144: 8142: 8139: 8137: 8134: 8132: 8129: 8127: 8124: 8122: 8119: 8117: 8114: 8112: 8109: 8107: 8104: 8102: 8099: 8097: 8094: 8092: 8089: 8087: 8084: 8082: 8079: 8077: 8074: 8070: 8067: 8065: 8062: 8061: 8060: 8057: 8055: 8052: 8050: 8047: 8045: 8042: 8040: 8037: 8035: 8032: 8030: 8027: 8025: 8022: 8020: 8017: 8015: 8012: 8010: 8007: 8005: 8002: 8000: 7997: 7995: 7992: 7990: 7987: 7985: 7982: 7980: 7977: 7975: 7972: 7970: 7967: 7965: 7962: 7960: 7957: 7955: 7952: 7950: 7947: 7945: 7942: 7940: 7937: 7935: 7932: 7930: 7927: 7925: 7922: 7920: 7917: 7915: 7912: 7910: 7907: 7905: 7902: 7898: 7895: 7894: 7893: 7890: 7888: 7885: 7883: 7880: 7878: 7875: 7873: 7870: 7868: 7865: 7863: 7860: 7856: 7853: 7851: 7848: 7847: 7846: 7843: 7841: 7838: 7836: 7833: 7831: 7828: 7826: 7823: 7821: 7818: 7816: 7813: 7811: 7808: 7806: 7803: 7801: 7798: 7796: 7793: 7791: 7788: 7786: 7783: 7781: 7778: 7776: 7773: 7769: 7766: 7764: 7761: 7759: 7756: 7754: 7751: 7749: 7746: 7744: 7741: 7739: 7736: 7734: 7731: 7729: 7726: 7725: 7724: 7721: 7719: 7716: 7714: 7711: 7709: 7706: 7704: 7701: 7699: 7696: 7694: 7691: 7689: 7686: 7684: 7681: 7679: 7676: 7674: 7671: 7669: 7666: 7664: 7661: 7659: 7656: 7654: 7651: 7649: 7646: 7644: 7641: 7639: 7636: 7634: 7631: 7629: 7626: 7622: 7619: 7617: 7614: 7613: 7612: 7609: 7607: 7604: 7602: 7599: 7597: 7594: 7592: 7589: 7587: 7584: 7582: 7579: 7577: 7574: 7572: 7569: 7567: 7564: 7561: 7557: 7554: 7552: 7549: 7547: 7544: 7542: 7539: 7537: 7534: 7532: 7529: 7527: 7524: 7522: 7519: 7517: 7514: 7512: 7509: 7507: 7504: 7502: 7499: 7497: 7494: 7492: 7489: 7487: 7484: 7482: 7479: 7477: 7474: 7472: 7469: 7467: 7464: 7462: 7459: 7457: 7454: 7452: 7449: 7447: 7444: 7442: 7439: 7435: 7432: 7430: 7427: 7425: 7422: 7420: 7417: 7415: 7412: 7411: 7410: 7407: 7405: 7402: 7400: 7397: 7395: 7392: 7390: 7387: 7385: 7382: 7380: 7377: 7375: 7372: 7370: 7367: 7365: 7362: 7360: 7357: 7355: 7352: 7351: 7349: 7345: 7339: 7336: 7334: 7331: 7329: 7326: 7324: 7321: 7319: 7316: 7314: 7311: 7309: 7306: 7304: 7301: 7299: 7296: 7294: 7291: 7289: 7286: 7284: 7281: 7279: 7276: 7274: 7271: 7269: 7266: 7264: 7261: 7259: 7256: 7254: 7251: 7249: 7246: 7244: 7241: 7239: 7236: 7234: 7231: 7229: 7226: 7224: 7221: 7219: 7216: 7214: 7211: 7207: 7204: 7202: 7199: 7197: 7194: 7192: 7189: 7187: 7184: 7182: 7179: 7177: 7174: 7172: 7169: 7167: 7164: 7162: 7159: 7157: 7154: 7152: 7149: 7147: 7144: 7142: 7139: 7137: 7134: 7132: 7129: 7127: 7124: 7123: 7122: 7119: 7117: 7114: 7112: 7109: 7107: 7104: 7102: 7099: 7097: 7094: 7092: 7089: 7087: 7084: 7082: 7079: 7077: 7074: 7072: 7069: 7067: 7064: 7062: 7059: 7057: 7054: 7052: 7049: 7047: 7044: 7042: 7039: 7037: 7034: 7032: 7029: 7027: 7024: 7022: 7019: 7017: 7014: 7012: 7009: 7007: 7004: 7002: 6999: 6997: 6994: 6990: 6987: 6986: 6985: 6982: 6980: 6977: 6975: 6972: 6970: 6967: 6965: 6962: 6960: 6957: 6955: 6952: 6950: 6947: 6945: 6942: 6940: 6937: 6935: 6932: 6930: 6927: 6925: 6922: 6920: 6917: 6915: 6912: 6910: 6907: 6905: 6902: 6900: 6897: 6895: 6892: 6890: 6887: 6885: 6882: 6880: 6877: 6875: 6872: 6870: 6867: 6865: 6862: 6860: 6857: 6855: 6852: 6850: 6847: 6845: 6842: 6840: 6837: 6835: 6832: 6830: 6827: 6825: 6822: 6820: 6817: 6815: 6812: 6810: 6807: 6805: 6802: 6800: 6797: 6795: 6792: 6790: 6787: 6785: 6782: 6780: 6777: 6775: 6772: 6768: 6765: 6763: 6760: 6758: 6755: 6754: 6753: 6750: 6748: 6745: 6743: 6740: 6738: 6735: 6733: 6730: 6728: 6725: 6723: 6720: 6718: 6715: 6713: 6710: 6708: 6705: 6703: 6700: 6698: 6695: 6693: 6690: 6688: 6685: 6683: 6680: 6678: 6675: 6673: 6670: 6668: 6665: 6663: 6660: 6658: 6655: 6653: 6650: 6648: 6645: 6643: 6640: 6638: 6635: 6633: 6630: 6628: 6625: 6623: 6620: 6618: 6615: 6613: 6610: 6608: 6605: 6603: 6600: 6598: 6595: 6593: 6590: 6588: 6585: 6583: 6580: 6578: 6575: 6573: 6570: 6568: 6565: 6563: 6560: 6558: 6555: 6553: 6550: 6548: 6545: 6543: 6540: 6538: 6535: 6533: 6530: 6526: 6523: 6521: 6518: 6516: 6513: 6511: 6508: 6506: 6503: 6502: 6501: 6498: 6496: 6493: 6491: 6488: 6486: 6483: 6481: 6478: 6476: 6473: 6471: 6468: 6466: 6463: 6461: 6458: 6456: 6453: 6451: 6448: 6446: 6443: 6441: 6438: 6436: 6433: 6431: 6428: 6426: 6423: 6421: 6418: 6414: 6411: 6409: 6406: 6404: 6401: 6399: 6396: 6394: 6391: 6389: 6386: 6384: 6381: 6379: 6376: 6374: 6371: 6369: 6366: 6364: 6361: 6359: 6356: 6354: 6351: 6350: 6349: 6346: 6344: 6341: 6339: 6336: 6334: 6331: 6329: 6326: 6324: 6321: 6319: 6316: 6314: 6311: 6309: 6306: 6304: 6301: 6300: 6298: 6294: 6290: 6289:IEC standards 6286: 6282: 6281:ISO standards 6276: 6268: 6261: 6256: 6254: 6249: 6247: 6242: 6241: 6238: 6226: 6225: 6216: 6215: 6212: 6206: 6203: 6201: 6197: 6194: 6191: 6189: 6186: 6185: 6183: 6179: 6173: 6170: 6168: 6165: 6163: 6160: 6158: 6155: 6154: 6152: 6150:Collaborators 6148: 6141: 6138: 6135: 6132: 6129: 6126: 6123: 6120: 6119: 6117: 6113: 6108: 6104: 6100: 6098: 6094: 6084: 6083: 6079: 6078: 6076: 6072: 6066: 6063: 6061: 6058: 6056: 6053: 6052: 6050: 6048: 6044: 6039: 6035: 6034:Oberon System 6031: 6029: 6025: 6020: 6016: 6015:Active Oberon 6012: 6008: 6004: 6000: 5999:Object Pascal 5996: 5992: 5988: 5984: 5980: 5976: 5972: 5970: 5964: 5961: 5957: 5953: 5952:Niklaus Wirth 5946: 5941: 5939: 5934: 5932: 5927: 5926: 5923: 5910: 5907: 5904: 5901: 5898: 5895: 5892: 5889: 5886: 5883: 5880: 5877: 5874: 5871: 5866: 5865: 5862: 5859: 5857: 5854: 5853: 5850: 5844: 5841: 5840: 5838: 5836: 5835:Microcomputer 5832: 5826: 5823: 5821: 5818: 5816: 5813: 5811: 5808: 5806: 5803: 5801: 5798: 5796: 5793: 5791: 5788: 5786: 5783: 5782: 5780: 5778: 5774: 5764: 5761: 5759: 5756: 5754: 5751: 5749: 5746: 5744: 5741: 5739: 5738:Borland Kylix 5736: 5734: 5731: 5729: 5726: 5725: 5723: 5719: 5713: 5710: 5708: 5705: 5703: 5700: 5698: 5695: 5693: 5692:PascalABC.NET 5690: 5687: 5683: 5680: 5678: 5675: 5673: 5670: 5668: 5665: 5662: 5658: 5655: 5654: 5652: 5648: 5645: 5643: 5639: 5633: 5630: 5628: 5625: 5623: 5620: 5618: 5615: 5613: 5610: 5608: 5607:Pascal Script 5605: 5603: 5602:Object Pascal 5600: 5598: 5595: 5594: 5592: 5590: 5586: 5581: 5574: 5569: 5567: 5562: 5560: 5555: 5554: 5551: 5544: 5542: 5537: 5535: 5534:3-540-43081-4 5531: 5527: 5523: 5522: 5517: 5514: 5510: 5507: 5503: 5501: 5500:0-471-27835-1 5497: 5493: 5489: 5486: 5482: 5479: 5475: 5472: 5471:0-13-022418-9 5468: 5464: 5463: 5458: 5455: 5454:3-540-97649-3 5451: 5447: 5446:0-387-97649-3 5443: 5439: 5438: 5433: 5430: 5426: 5423: 5419: 5416: 5412: 5411: 5407: 5393:on 2015-10-18 5392: 5388: 5382: 5379: 5375: 5369: 5366: 5363: 5359: 5355: 5349: 5346: 5333: 5329: 5323: 5320: 5308: 5304: 5300: 5293: 5290: 5277: 5273: 5267: 5264: 5259: 5255: 5249: 5246: 5241: 5235: 5231: 5227: 5223: 5217: 5214: 5202:on 2014-07-14 5201: 5197: 5191: 5188: 5176:on 2016-03-27 5175: 5171: 5170: 5163: 5160: 5155: 5151: 5147: 5140: 5137: 5121: 5114: 5113: 5106: 5103: 5092:on 2020-08-12 5091: 5087: 5086:eCube Systems 5083: 5077: 5074: 5063:on 2020-07-25 5062: 5058: 5052: 5049: 5038:on 2021-10-19 5037: 5033: 5027: 5024: 5013:on 2021-04-18 5009: 5002: 4996: 4994: 4990: 4982: 4976: 4973: 4967: 4964: 4961: 4957: 4954: 4950: 4945: 4942: 4938: 4932: 4930: 4926: 4921: 4915: 4910: 4909: 4900: 4897: 4893: 4889: 4886: 4881: 4878: 4870: 4866: 4859: 4853: 4850: 4844: 4841: 4836: 4834:0-471-92437-7 4830: 4827: 4823: 4815: 4812: 4799: 4795: 4789: 4786: 4773: 4769: 4763: 4760: 4755: 4751: 4745: 4742: 4731:on 2016-05-30 4730: 4726: 4722: 4721: 4720:Computerwoche 4716: 4709: 4706: 4701: 4697: 4693: 4689: 4682: 4679: 4673: 4670: 4664: 4661: 4656: 4649: 4643: 4640: 4636: 4631: 4628: 4624: 4620: 4617: 4612: 4609: 4598:on 2010-11-24 4597: 4593: 4587: 4584: 4580: 4576: 4573: 4568: 4565: 4561:. 2021-10-29. 4560: 4554: 4551: 4547: 4543: 4540: 4535: 4532: 4528: 4524: 4521: 4515: 4512: 4507: 4501: 4497: 4493: 4489: 4485: 4478: 4475: 4460: 4456: 4452: 4448: 4447: 4439: 4435: 4429: 4426: 4413: 4409: 4403: 4400: 4396: 4394: 4382:on 2010-12-29 4378: 4374: 4367: 4360: 4357: 4353: 4351: 4350:Object Pascal 4346: 4345:Object Pascal 4340: 4336: 4330: 4327: 4321: 4317: 4314: 4312: 4309: 4307: 4306:Object Pascal 4304: 4302: 4299: 4297: 4294: 4292: 4289: 4287: 4284: 4282: 4279: 4277: 4274: 4273: 4269: 4263: 4258: 4253: 4245: 4240: 4234: 4231: 4224: 4222: 4216: 4210: 4208: 4204: 4200: 4196: 4192: 4188: 4179: 4177: 4171: 4167: 4163: 4160: 4159: 4155: 4148: 4144: 4140: 4136: 4133: 4129: 4125: 4121: 4120: 4118: 4115: 4112: 4109: 4108:Object Pascal 4105: 4102: 4099: 4095: 4091: 4087: 4086:Borland Kylix 4084: 4081: 4080:PascalABC.NET 4078: 4075: 4072: 4069: 4066: 4063: 4059: 4058:Niklaus Wirth 4055: 4051: 4047: 4046:Object Pascal 4044: 4041: 4038: 4035: 4031: 4028: 4024: 4021: 4020: 4019: 4017: 4013: 4008: 4005: 4001: 4000:Object Pascal 3997: 3992: 3990: 3987:, written by 3986: 3982: 3975: 3973: 3971: 3967: 3963: 3958: 3956: 3952: 3948: 3945: 3937: 3935: 3933: 3922: 3919:February 2018 3913: 3909: 3906:This section 3904: 3901: 3897: 3896: 3890: 3888: 3884: 3882: 3877: 3875: 3871: 3866: 3864: 3860: 3854: 3847: 3842: 3837: 3836: 3832: 3827: 3823: 3820: 3816: 3812: 3808: 3804: 3800: 3796: 3793: 3790: 3786: 3782: 3779: 3778: 3774: 3769: 3766: 3762: 3758: 3754: 3750: 3747: 3743: 3740: 3737: 3734: 3731: 3728: 3724: 3721: 3718: 3717:PlayStation 2 3714: 3710: 3706: 3703: 3699: 3695: 3691: 3688: 3685: 3681: 3677: 3673: 3670: 3666: 3662: 3658: 3654: 3651: 3647: 3644: 3641: 3636: 3633: 3630: 3626: 3622: 3619: 3616: 3613: 3610: 3607: 3603: 3600: 3597: 3593: 3589: 3586: 3583: 3579: 3575: 3572: 3569: 3565: 3561: 3557: 3553: 3550: 3547: 3543: 3539: 3536: 3533: 3529: 3525: 3521: 3517: 3513: 3509: 3508:Object Pascal 3505: 3501: 3498: 3495: 3491: 3487: 3483: 3479: 3475: 3471: 3467: 3464: 3463: 3462: 3456: 3451: 3449: 3439: 3438:dangling else 3431: 3423: 3419: 3414: 3412: 3400: 3392: 3388: 3384: 3376: 3374: 3372: 3368: 3362: 3359: 3176: 3175: 3174: 3168: 3089:'two' 3068:'one' 2866: 2865: 2864: 2862: 2858: 2854: 2846: 2844: 2841: 2839: 2835: 2831: 2827: 2823: 2819: 2815: 2811: 2805: 2803: 2799: 2795: 2791: 2789: 2785: 2701: 2613: 2612: 2611: 2609: 2605: 2601: 2597: 2593: 2589: 2584: 2582: 2578: 2574: 2467: 2466: 2465: 2463: 2456:Pointer types 2455: 2453: 2446: 2442: 2438: 2434: 2430: 2426: 2422: 2418: 2332: 2331: 2327: 2241: 2240: 2239: 2200: 2199: 2198: 2192: 2190: 2025: 2024: 2023: 1975: 1974: 1973: 1967: 1965: 1963: 1959: 1933: 1932: 1931: 1880: 1879: 1878: 1854: 1853: 1852: 1791: 1790: 1789: 1783: 1736: 1735: 1734: 1732: 1724: 1722: 1720: 1711: 1709: 1704: 1696: 1691: 1619: 1618: 1617: 1614: 1608: 1585: 1583: 1580: 1579: 1575: 1573: 1570: 1569: 1565: 1563: 1560: 1559: 1555: 1551: 1549: 1546: 1545: 1541: 1539: 1536: 1535: 1531: 1529: 1526: 1525: 1521: 1519: 1516: 1515: 1511: 1509: 1506: 1505: 1501: 1498: 1497: 1494: 1487: 1434: 1433: 1432: 1430: 1425: 1423: 1419: 1415: 1411: 1407: 1395: 1391: 1387: 1379: 1377: 1373: 1369: 1368:Niklaus Wirth 1365: 1361: 1357: 1353: 1349: 1345: 1341: 1338: 1302: 1298: 1290: 1288: 1286: 1282: 1278: 1274: 1270: 1266: 1262: 1258: 1254: 1250: 1248: 1244: 1239: 1234: 1232: 1228: 1224: 1220: 1216: 1212: 1208: 1204: 1200: 1196: 1195: 1190: 1186: 1182: 1178: 1174: 1170: 1165: 1163: 1159: 1155: 1151: 1147: 1144: 1140: 1135: 1133: 1126: 1124: 1122: 1118: 1114: 1109: 1107: 1103: 1099: 1095: 1091: 1087: 1083: 1078: 1072: 1070: 1066: 1061: 1057: 1055: 1051: 1047: 1043: 1039: 1034: 1032: 1028: 1020: 1018: 1016: 1012: 1008: 1005: 1001: 996: 994: 990: 986: 982: 980: 975: 971: 967: 963: 959: 956: 953: 950: 948: 944: 939: 935: 931: 927: 919: 917: 915: 911: 907: 903: 898: 896: 892: 888: 882: 880: 876: 872: 868: 864: 860: 855: 853: 849: 845: 840: 836: 835:Niklaus Wirth 832: 829: 825: 821: 813: 808: 806: 804: 800: 796: 792: 791:cross-compile 788: 784: 780: 775: 773: 770: 766: 765:Object Pascal 762: 758: 754: 747:Object Pascal 746: 744: 742: 738: 735: 731: 730:FPC/Lazarus. 727: 720: 718: 716: 712: 707: 705: 701: 700:Object Pascal 697: 693: 689: 685: 681: 677: 674: 670: 666: 662: 658: 654: 649: 647: 643: 640: 636: 632: 628: 624: 620: 616: 612: 608: 603: 601: 593: 591: 589: 584: 582: 577: 573: 569: 564: 562: 558: 553: 551: 547: 543: 539: 531: 526: 524: 522: 518: 514: 510: 506: 502: 498: 495:designed for 494: 493:Object Pascal 489: 487: 483: 479: 475: 471: 467: 463: 458: 456: 452: 448: 444: 443:strong typing 441:. Pascal has 440: 436: 432: 428: 424: 419: 417: 413: 409: 404: 402: 401:Blaise Pascal 398: 394: 390: 389:Niklaus Wirth 386: 383: 379: 375: 364: 361: 359: 356: 354: 351: 349: 346: 344: 341: 339: 336: 334: 333:Object Pascal 331: 329: 325: 322: 320: 316: 312: 309: 307: 304: 302: 299: 297: 294: 292: 289: 287: 284: 282: 279: 278: 275: 270: 263: 260: 258: 255: 254: 251: 248:Influenced by 246: 240: 237: 235: 232: 230: 227: 226: 223: 220: 216: 210: 207: 205: 202: 200: 197: 195: 192: 190: 187: 185: 182: 180: 177: 175: 172: 170: 167: 165: 162: 160: 157: 156: 153: 150: 145: 142: 139: 137: 133: 127: 124: 122: 119: 117: 114: 113: 111: 109: 105: 91: 87: 84: 83:Niklaus Wirth 81: 79: 75: 71: 68: 64: 58: 55: 53: 50: 49: 47: 45: 41: 33: 19: 8871:Generational 8861:Alphabetical 8857: 8837: 8765: 8662:Visual Basic 8407:27000 series 6973: 6222: 6188:Turing Award 6172:Larry Tesler 6097:Workstations 6080: 5986: 5820:Turbo Vision 5743:Turbo Pascal 5733:Apple Pascal 5721:Discontinued 5596: 5579: 5540: 5525: 5520: 5512: 5505: 5491: 5484: 5477: 5460: 5435: 5428: 5421: 5414: 5395:. Retrieved 5391:the original 5381: 5373: 5368: 5348: 5336:. Retrieved 5332:the original 5322: 5311:. Retrieved 5302: 5292: 5280:. Retrieved 5276:the original 5266: 5257: 5248: 5221: 5216: 5206:16 September 5204:. Retrieved 5200:the original 5190: 5180:16 September 5178:. Retrieved 5174:the original 5168: 5162: 5145: 5139: 5129:16 September 5127:. Retrieved 5120:the original 5111: 5105: 5094:. Retrieved 5090:the original 5085: 5076: 5065:. Retrieved 5061:the original 5051: 5040:. Retrieved 5036:the original 5026: 5015:. Retrieved 5008:the original 4975: 4966: 4948: 4944: 4936: 4907: 4899: 4880: 4869:the original 4864: 4852: 4843: 4821: 4814: 4802:. Retrieved 4798:the original 4788: 4776:. Retrieved 4772:the original 4762: 4754:the original 4744: 4733:. Retrieved 4729:the original 4718: 4708: 4691: 4687: 4681: 4672: 4663: 4654: 4642: 4630: 4611: 4600:. Retrieved 4596:the original 4586: 4567: 4553: 4534: 4514: 4487: 4477: 4466:. Retrieved 4444: 4428: 4416:. Retrieved 4402: 4390: 4384:. Retrieved 4377:the original 4372: 4359: 4342: 4339:the original 4329: 4233: 4215:Turbo Pascal 4211: 4183: 4175: 4165: 4164:8651-2:1988 4122:WDSibyl for 4054:Larry Tesler 4023:Turbo Pascal 4009: 3993: 3985:Turbo Pascal 3979: 3965: 3959: 3949: 3941: 3929: 3916: 3912:adding to it 3907: 3885: 3878: 3873: 3867: 3855: 3851: 3783:is a Pascal 3635:Turbo Pascal 3555: 3546:Turbo Pascal 3528:Turbo Pascal 3512:self-hosting 3492:support and 3460: 3429: 3421: 3415: 3410: 3398: 3380: 3363: 3360: 3357: 3172: 2863:' commands. 2851:Pascal is a 2850: 2842: 2838:memory leaks 2825: 2821: 2806: 2794:Linked lists 2792: 2787: 2783: 2781: 2695: 2608:null pointer 2603: 2599: 2595: 2591: 2587: 2585: 2576: 2572: 2570: 2459: 2444: 2440: 2436: 2432: 2428: 2424: 2420: 2414: 2237: 2196: 2188: 2021: 1971: 1968:Record types 1955: 1929: 1876: 1849: 1787: 1728: 1712: 1692: 1689: 1615: 1592: 1491: 1426: 1417: 1380: 1352:enumerations 1346:, variants, 1294: 1251: 1235: 1192: 1188: 1184: 1166: 1136: 1132:Super Pascal 1130: 1116: 1112: 1110: 1073: 1067:, making it 1060:Turbo Pascal 1058: 1054:Turbo Pascal 1053: 1052:and renamed 1035: 1031:Larry Tesler 1024: 1014: 1000:object files 997: 985:Apple Pascal 977: 970:interpretive 960: 957: 954: 951: 937: 933: 925: 923: 899: 883: 856: 844:self-hosting 817: 779:Turbo Pascal 776: 753:Larry Tesler 750: 739: 736: 732: 728: 724: 708: 661:Donald Knuth 650: 619:Apple Pascal 604: 597: 585: 565: 554: 535: 490: 462:minicomputer 459: 420: 405: 373: 372: 326: / 317: / 313: / 234:Turbo Pascal 8866:Categorical 8195:20000–29999 7347:10000–19999 6055:Wirth's law 5967:Programming 5753:UCSD Pascal 5682:Free Pascal 5632:SuperPascal 5303:WDSibyl.org 4635:cbi.umn.edu 4446:Electronics 4393:UCSD Pascal 4316:Standard ML 4239:Electronics 4139:open source 4074:Free Pascal 3951:UCSD Pascal 3803:Free Pascal 3500:Free Pascal 3413:statement. 3152:'?' 2756:'A' 2665:'A' 2441:write(f, x) 1958:bit vectors 1840:'z' 1834:'a' 1773:'z' 1767:'a' 1644:signed_byte 1422:Letter case 1148:compatible 962:UCSD Pascal 943:portability 926:porting kit 867:1900 series 795:Free Pascal 785:system for 653:typesetting 646:source code 607:UCSD Pascal 455:subroutines 353:Standard ML 239:UCSD Pascal 204:Free Pascal 8923:Categories 8731:JavaScript 8607:Comparison 7974:16949 (TS) 7571:11941 (TR) 6269:standards 6162:Tony Hoare 6140:Xerox PARC 6134:ETH Zurich 6115:Workplaces 6047:Formalisms 5868:Related to 5795:FireMonkey 5763:Pascal/MT+ 5758:JRT Pascal 5697:GNU Pascal 5672:VSI Pascal 5538:N. Wirth: 5397:2015-10-17 5313:2020-04-20 5096:2022-02-07 5067:2022-05-28 5042:2022-05-28 5017:2022-02-07 4953:p. 160–161 4735:2016-05-30 4602:2018-05-17 4468:2024-08-13 4386:2009-10-16 4322:References 4311:PascalCase 4191:C language 4098:C++Builder 4014:, and IDE/ 3962:Alan Burns 3938:Variations 3932:FreePascal 3781:Dev-Pascal 3659:for their 3629:JavaScript 3588:GNU Pascal 3542:Intel 8051 2857:statements 2433:read(f, x) 2062:Dimensions 1960:. The set 1499:Data type 1488:Data types 1441:HelloWorld 1412:, and the 1410:statements 1406:Semicolons 1404:keywords. 1279:controls, 1269:Windows XP 1257:Micropolis 1231:GNU Pascal 1189:Pascal-XSC 852:GNU Pascal 839:FORTRAN 66 627:Apple Lisa 576:Tony Hoare 546:algorithms 474:university 382:procedural 378:imperative 272:Influenced 209:GNU Pascal 199:VSI Pascal 57:structured 52:Imperative 8828:Smalltalk 7929:15926 WIP 7293:9592/9593 7218:9000/9001 7106:8805/8806 6136:(1968–99) 6130:(1963–67) 6124:(1963–67) 6105:(1977) → 6036:(1987) → 6019:Oberon-07 6017:(1998) → 6013:(1995) → 6009:(1991) → 6005:(1987) → 6001:(1986) → 5997:(1978) → 5993:(1975) → 5989:(1970) → 5985:(1966) → 5981:(1966) → 5977:(1965) → 5969:languages 5677:IP Pascal 5642:Compilers 4804:11 August 4778:11 August 4694:: 53–69. 4688:Computers 4572:tiobe.com 4455:0013-5070 4418:11 August 4219:otherwise 4172:Reception 4012:compilers 3843:Standards 3833:Libraries 3661:mainframe 3646:IP Pascal 3615:Pascal-P5 3609:Pascal-P4 3452:Resources 3213:procedure 2447:The type 2328:File type 1962:operators 1784:Set types 1414:full stop 1408:separate 1277:namespace 1253:IP Pascal 1238:Unix-like 1185:Pascal-SC 1181:Wuppertal 1177:Karlsruhe 1106:typecasts 1088:(API) of 1077:Microsoft 989:Apple III 981:compilers 631:Macintosh 466:Compilers 8886:Category 8652:Assembly 8612:Timeline 8554:Category 6279:List of 6224:Category 6007:Oberon-2 5995:Modula-2 5959:Software 5903:Oberon-2 5897:Modula-3 5879:Modula-2 5810:OpenWire 5589:Dialects 5358:Archived 5307:Archived 5224:. 1990. 4956:Archived 4888:Archived 4619:Archived 4575:Archived 4542:Archived 4523:Archived 4459:Archived 4412:Archived 4296:Modula-2 4254:See also 4244:a device 4207:ALGOL 60 4034:Atari ST 3870:CDC 6000 3761:frontend 3748:systems. 3741:Pascal-S 3700:and the 3631:compiler 3510:(and is 3494:generics 3249:function 3183:Printing 2876:<> 2462:pointers 2134:Triangle 2095:Diameter 2053:Triangle 1708:Modula-2 1364:ALGOL 68 1348:pointers 1337:ALGOL 60 1243:ChorusOS 1225:, OS/2, 993:CDC 6600 979:bytecode 938:Pascal-P 912:for the 902:compiler 887:ICL 2900 833:family. 826:for the 820:compiler 721:Dialects 711:PC games 615:Apple II 588:ALGOL 68 542:ALGOL 60 517:Modula-2 464:market. 447:C-family 408:ALGOL 60 343:Power Fx 219:Dialects 179:Pascal-P 174:ICL 1900 164:CDC 6000 44:Paradigm 8839:more... 8818:Scratch 8721:Haskell 8711:Fortran 8667:classic 8617:History 8455:29199-2 8327:23094-2 8322:23094-1 8312:23090-3 8181:19794-5 8176:19775-1 7964:16612-2 7954:16355-1 7643:13406-2 7601:12234-2 7369:10118-3 6193:SIGPLAN 5983:ALGOL W 5702:Turbo51 5686:Lazarus 5667:Oxygene 5661:history 5650:Current 5617:Clascal 5612:Oxygene 5338:3 April 5282:3 April 4949:Pascal, 4147:OpenDoc 4104:Lazarus 3981:Borland 3826:Oxygene 3811:FreeBSD 3795:Lazarus 3753:OpenVMS 3676:Palm OS 3657:Siemens 3552:Oxygene 3538:Turbo51 3520:library 3490:Unicode 3486:Android 3474:Windows 3276:integer 3267:integer 3228:integer 3207:integer 3180:program 2972:WriteLn 2933:WriteLn 2915:WriteLn 2885:WriteLn 2822:dispose 2788:NodePtr 2726:NodePtr 2711:NodePtr 2671:NodePtr 2653:NodePtr 2635:NodePtr 2623:NodePtr 2606:to the 2573:NodePtr 2561:integer 2540:NodePtr 2504:integer 2372:integer 2351:integer 2281:integer 2260:integer 2213:integer 2009:integer 1997:integer 1599:integer 1556:values 1554:Boolean 1528:Boolean 1508:integer 1459:WriteLn 1438:program 1386:keyword 1383:program 1372:ALGOL W 1370:'s own 1344:records 1342:, like 1261:CP/M-80 1227:Windows 1139:Borland 1094:strings 1069:smaller 1050:Borland 1009:by the 934:virtual 885:to the 803:Lazarus 801:called 761:Clascal 655:system 581:ALGOL W 572:ALGOL X 527:History 511:on the 505:Borland 423:scalars 416:ALGOL W 412:ALGOL X 338:Oxygene 257:ALGOL W 141:Lexical 97: ( 8899:Portal 8858:Lists: 8793:Python 8788:Prolog 8766:Pascal 8756:MATLAB 8741:Kotlin 8701:Erlang 8640:Simula 8469:30000+ 7308:9797-1 7116:8820-5 7061:8501-1 6617:1073-2 6612:1073-1 6296:1–9999 6181:Awards 6109:(1985) 6103:Lilith 6040:(2008) 6021:(2007) 6003:Oberon 5991:Modula 5987:Pascal 5911:(1991) 5905:(1991) 5899:(1988) 5893:(1986) 5891:Oberon 5887:(1983) 5881:(1977) 5875:(1958) 5657:Delphi 5597:Pascal 5582:family 5532:  5498:  5469:  5452:  5444:  5236:  4916:  4831:  4502:  4453:  4068:Delphi 4004:Delphi 3970:P-code 3881:IBM PC 3789:Delphi 3705:3d Now 3665:BS2000 3578:Delphi 3556:Chrome 3484:, and 3466:Delphi 3371:Delphi 3336:triple 3285:triple 3252:triple 3189:output 2993:repeat 2802:queues 2798:stacks 2552:IntPtr 2495:record 2363:record 2272:record 2161:Angle2 2155:Angle1 2110:Square 2086:Circle 2074:Figure 2068:record 2047:Square 2041:Circle 1991:length 1988:record 1715:packed 1671:packed 1665:string 1609:) and 1582:string 1572:record 1447:output 1360:Simula 1354:, and 1323:, and 1205:) and 1179:, and 1173:ZĂĽrich 1156:, and 1146:MS-DOS 1143:32-bit 1117:module 1046:IBM PC 1042:Nascom 932:for a 930:p-code 914:PDP-11 908:under 879:16-bit 871:Multum 865:(ICL) 848:ported 824:ZĂĽrich 783:Delphi 769:MacApp 676:PDP-10 594:Pascal 568:string 521:Oberon 509:Delphi 439:graphs 427:arrays 376:is an 374:Pascal 324:Oberon 311:Modula 262:Simula 229:Delphi 189:PDP-10 184:PDP-11 147:Major 121:strong 116:Static 72:Pascal 66:Family 38:Pascal 8833:Swift 8823:Shell 8736:Julia 8706:Forth 8696:COBOL 8657:BASIC 8635:ALGOL 8536:80000 8531:56000 8526:55000 8521:50001 8516:45001 8511:42010 8506:40500 8501:39075 8496:38500 8491:37001 8486:32000 8481:31000 8476:30170 8460:29500 8450:29148 8446:29110 8442:28000 8437:27729 8432:27006 8427:27005 8422:27002 8417:27001 8412:27000 8402:26324 8397:26300 8392:26262 8387:26000 8382:25964 8377:25178 8372:24728 8367:24707 8362:24617 8357:24613 8352:24517 8347:23941 8342:23360 8337:23271 8332:23270 8317:23092 8307:23009 8302:23008 8297:23003 8292:23000 8287:22537 8282:22395 8277:22301 8272:22300 8267:22275 8262:22000 8257:21827 8252:21500 8247:21122 8242:21047 8237:21001 8232:21000 8227:20830 8222:20802 8217:20400 8212:20121 8207:20022 8202:20000 8186:19831 8171:19770 8166:19757 8161:19752 8156:19600 8151:19510 8146:19509 8141:19508 8136:19507 8131:19506 8126:19505 8121:19503 8116:19502 8111:19501 8106:19500 8101:19439 8096:19407 8091:19136 8086:19125 8081:19115 8076:19114 8059:19092 8054:19011 8049:19005 8044:18916 8039:18629 8034:18245 8029:18181 8024:18014 8019:18004 8014:17799 8009:17506 8004:17442 7999:17369 7994:17203 7989:17100 7984:17025 7979:17024 7969:16750 7959:16485 7949:16262 7944:16023 7939:15938 7934:15930 7924:15926 7919:15924 7914:15919 7909:15897 7904:15707 7892:15706 7887:15693 7882:15686 7877:15511 7872:15504 7867:15438 7862:15445 7845:15444 7840:15408 7835:15398 7830:15291 7825:15288 7820:15189 7815:15022 7810:14971 7805:14882 7800:14764 7795:14698 7790:14651 7785:14649 7780:14644 7775:14617 7723:14496 7718:14443 7713:14396 7708:14289 7703:14224 7698:14031 7693:14000 7688:13818 7683:13816 7678:13616 7673:13584 7668:13568 7663:13567 7658:13490 7653:13485 7648:13450 7638:13399 7633:13250 7628:13216 7611:13211 7606:12620 7596:12207 7591:12182 7586:12052 7581:12006 7576:11992 7566:11941 7556:11940 7551:11898 7546:11889 7541:11801 7536:11785 7531:11784 7526:11783 7521:11544 7516:11404 7511:11179 7506:11172 7501:11170 7496:11073 7491:10967 7486:10962 7481:10957 7476:10861 7471:10746 7466:10664 7461:10646 7456:10628 7451:10589 7446:10585 7441:10383 7409:10303 7404:10279 7399:10218 7394:10206 7389:10179 7384:10165 7379:10161 7374:10160 7364:10116 7359:10007 7354:10006 6107:Ceres 6074:Books 5979:PL360 5975:Euler 5873:ALGOL 5627:Joyce 5123:(PDF) 5116:(PDF) 5011:(PDF) 5004:(PDF) 4984:(PDF) 4872:(PDF) 4861:(PDF) 4651:(PDF) 4462:(PDF) 4441:(PDF) 4380:(PDF) 4369:(PDF) 4225:Notes 4090:Linux 3815:macOS 3807:Linux 3765:BLISS 3757:Tru64 3746:Amiga 3709:Intel 3669:SINIX 3625:HTML5 3582:Linux 3574:Kylix 3568:Prism 3502:is a 3478:macOS 3442:begin 3418:ALGOL 3403:until 3383:ALGOL 3306:begin 3282:begin 3258:const 3237:begin 3146:Write 3083:Write 3062:Write 3041:Write 3011:until 2870:while 2735:begin 2546:pNode 2528:pNode 2474:pNode 2417:files 2254:array 2119:Width 2080:Shape 2032:Shape 2003:width 1703:8-bit 1674:array 1611:trunc 1603:round 1562:array 1456:begin 1398:begin 1394:block 1340:types 1329:begin 1317:while 1301:ALGOL 1265:80386 1215:HP-UX 1211:SunOS 1207:68000 1158:Win32 692:Skype 435:trees 431:lists 348:Seed7 136:Scope 70:Wirth 8808:Rust 8803:Ruby 8778:Perl 8746:Lisp 8726:Java 8672:.NET 7434:-238 7338:9995 7333:9985 7328:9984 7323:9945 7318:9899 7313:9897 7303:9660 7298:9594 7288:9564 7283:9529 7278:9506 7273:9496 7268:9407 7263:9362 7258:9314 7253:9293 7248:9241 7243:9227 7238:9141 7233:9126 7228:9075 7223:9036 7213:8879 7166:-8-I 7121:8859 7111:8807 7101:8691 7096:8652 7091:8651 7086:8632 7081:8613 7076:8601 7071:8583 7066:8571 7056:8373 7051:8217 7046:8178 7041:8093 7036:8000 7031:7942 7026:7816 7021:7813 7016:7812 7011:7811 7006:7810 7001:7736 6996:7637 6984:7498 6979:7200 6974:7185 6969:7098 6964:7064 6959:7027 6954:7010 6949:7002 6944:7001 6939:6943 6934:6709 6929:6523 6924:6438 6919:6429 6914:6425 6909:6385 6904:6373 6899:6346 6894:6344 6889:6166 6884:5964 6879:5807 6874:5800 6869:5776 6864:5775 6859:5725 6854:5428 6849:5427 6844:5426 6839:5218 6834:4909 6829:4217 6824:4165 6819:4157 6814:4031 6809:3977 6804:3950 6799:3901 6794:3864 6789:3602 6784:3601 6779:3307 6774:3297 6752:3166 6747:3103 6742:3029 6737:2921 6732:2852 6727:2848 6722:2788 6717:2720 6712:2711 6707:2709 6702:2533 6697:2281 6692:2240 6687:2146 6682:2145 6677:2108 6672:2047 6667:2033 6662:2022 6657:2015 6652:2014 6647:1989 6642:1745 6637:1629 6632:1538 6627:1413 6622:1155 6607:1007 6602:1004 6597:1000 6420:68-1 6011:Lola 5530:ISBN 5496:ISBN 5467:ISBN 5450:ISBN 5448:and 5442:ISBN 5340:2016 5284:2016 5234:ISBN 5208:2014 5182:2014 5131:2014 4914:ISBN 4894:6.10 4829:ISBN 4806:2015 4780:2015 4500:ISBN 4451:ISSN 4420:2015 4128:OS/2 4126:and 4002:and 3994:The 3817:and 3775:IDEs 3713:Sony 3694:SIMD 3667:and 3564:Mono 3562:and 3560:.NET 3434:else 3426:else 3407:else 3399:case 3389:and 3387:PL/I 3026:case 2930:else 2912:then 2906:> 2861:goto 2826:free 2810:PL/I 2800:and 2784:with 2723:with 2698:with 2598:and 2577:Node 2516:char 2489:Node 2483:Node 2471:type 2449:text 2399:file 2384:char 2345:file 2336:type 2311:file 2293:char 2245:type 2204:type 2149:real 2143:Side 2125:real 2101:real 2071:case 2029:type 1979:type 1946:then 1920:then 1911:< 1893:> 1867:then 1822:Set2 1798:Set1 1719:word 1713:The 1699:byte 1695:word 1680:char 1626:byte 1623:type 1595:real 1538:char 1518:real 1418:unit 1400:and 1362:67, 1356:sets 1325:case 1313:else 1309:then 1241:the 1187:and 1154:OS/2 1113:unit 713:and 694:and 651:The 561:Lisp 519:and 482:UNIX 437:and 425:and 395:and 380:and 358:VHDL 306:Java 286:C/AL 126:safe 99:1970 92:1970 8813:SQL 8783:PHP 8751:Lua 8686:C++ 8647:APL 8630:Ada 7768:-20 7763:-17 7758:-14 7753:-12 7748:-11 7743:-10 7429:-28 7424:-22 7419:-21 7414:-11 7206:-16 7201:-15 7196:-14 7191:-13 7186:-12 7181:-11 7176:-10 6592:999 6587:965 6582:898 6577:860 6572:843 6567:838 6562:764 6557:732 6552:704 6547:690 6542:668 6537:657 6532:646 6500:639 6495:519 6490:518 6485:500 6480:361 6475:306 6470:302 6465:262 6460:261 6455:259 6450:233 6445:228 6440:226 6435:217 6430:216 6425:128 6413:-13 6408:-12 6403:-11 6398:-10 6267:ISO 5885:Ada 5815:RTL 5800:LCL 5790:FCL 5785:CLX 5777:API 5712:ACK 5524:in 5226:doi 5150:doi 4696:doi 4492:doi 4162:ISO 3983:'s 3944:ETH 3914:. 3785:IDE 3715:'s 3702:AMD 3698:MMX 3680:API 3482:iOS 3446:end 3444:... 3395:end 3348:end 3312:... 3300:end 3243:end 3240:... 3198:var 3158:end 2948:for 2840:). 2812:or 2777:... 2771:end 2768:nil 2720:... 2705:new 2689:... 2683:nil 2632:... 2617:new 2537:var 2531:end 2429:put 2425:get 2387:end 2299:end 2231:... 2179:end 2173:360 2012:end 1982:car 1949:... 1923:... 1902:and 1870:... 1828:set 1804:set 1795:var 1740:var 1659:127 1653:128 1638:255 1597:to 1548:set 1477:end 1420:). 1402:end 1333:end 1321:for 1223:EMX 1219:AIX 1203:x86 1199:Z80 1115:or 1027:MPW 799:IDE 702:). 673:DEC 665:WEB 659:by 657:TeX 486:C++ 281:Ada 159:BSD 8925:: 8761:ML 8716:Go 8691:C# 8069:-2 8064:-1 7897:-2 7855:-9 7850:-3 7738:-6 7733:-3 7728:-2 7621:-2 7616:-1 7560:-2 7171:-9 7161:-8 7156:-7 7151:-6 7146:-5 7141:-4 7136:-3 7131:-2 7126:-1 6989:-1 6767:-3 6762:-2 6757:-1 6525:-6 6520:-5 6515:-3 6510:-2 6505:-1 6393:-9 6388:-8 6383:-7 6378:-6 6373:-5 6368:-4 6363:-3 6358:-1 6353:-0 6348:31 6343:17 6338:16 6287:– 6283:– 5356:. 5305:. 5301:. 5256:. 5232:. 5084:. 4992:^ 4928:^ 4863:. 4692:14 4690:. 4653:. 4498:. 4486:. 4457:. 4410:. 4389:. 4371:. 3813:, 3809:, 3480:, 3476:, 3430:if 3411:if 3345:)) 3288::= 3140:10 3032:of 3020:10 2999::= 2966:do 2963:10 2960:to 2954::= 2900:if 2882:do 2796:, 2765::= 2753::= 2744:10 2741::= 2732:do 2680::= 2674:^. 2662::= 2656:^. 2647:10 2644::= 2638:^. 2588:10 2464:: 2421:f^ 2402:of 2348:of 2314:of 2257:of 2170:.. 2083:of 1943:in 1937:if 1914:11 1884:if 1864:in 1858:if 1837:.. 1831:of 1816:10 1813:.. 1807:of 1770:.. 1755:10 1752:.. 1677:of 1656:.. 1635:.. 1431:: 1378:. 1366:, 1350:, 1319:, 1315:, 1311:, 1307:, 1305:if 1285:C# 1249:. 1233:. 1217:, 1213:, 1175:, 1171:, 1164:. 1152:, 1108:. 1100:, 1096:, 1056:. 983:. 805:. 743:. 690:, 648:. 583:. 488:. 433:, 403:. 328:-2 319:-3 315:-2 301:Go 291:C# 264:67 8901:: 8798:R 8681:C 8588:e 8581:t 8574:v 7562:) 7558:( 6333:9 6328:7 6323:6 6318:4 6313:3 6308:2 6303:1 6259:e 6252:t 6245:v 5944:e 5937:t 5930:v 5688:) 5684:( 5663:) 5659:( 5572:e 5565:t 5558:v 5543:. 5473:. 5456:. 5400:. 5342:. 5316:. 5286:. 5260:. 5242:. 5228:: 5210:. 5184:. 5156:. 5152:: 5133:. 5099:. 5070:. 5045:. 5020:. 4986:. 4922:. 4837:. 4808:. 4782:. 4738:. 4702:. 4698:: 4605:. 4508:. 4494:: 4471:. 4422:. 4352:. 4149:. 4100:. 4029:. 3921:) 3917:( 3821:. 3767:. 3722:. 3686:. 3671:. 3627:/ 3570:. 3391:C 3351:. 3342:i 3339:( 3333:( 3327:; 3324:) 3321:i 3318:( 3303:; 3297:3 3294:* 3291:x 3279:; 3273:: 3270:) 3264:: 3261:x 3255:( 3246:; 3234:; 3231:) 3225:: 3222:j 3219:( 3210:; 3204:: 3201:i 3195:; 3192:) 3186:( 3161:; 3155:) 3149:( 3143:: 3137:, 3134:9 3131:, 3128:8 3125:, 3122:7 3119:, 3116:6 3113:, 3110:5 3107:, 3104:4 3101:, 3098:3 3095:; 3092:) 3086:( 3080:: 3077:2 3074:; 3071:) 3065:( 3059:: 3056:1 3053:; 3050:) 3044:( 3038:: 3035:0 3029:i 3023:; 3017:= 3014:a 3008:1 3005:+ 3002:a 2996:a 2990:; 2987:) 2984:i 2981:, 2975:( 2957:1 2951:i 2945:; 2942:) 2936:( 2924:) 2918:( 2909:b 2903:a 2897:; 2894:) 2888:( 2879:b 2873:a 2830:C 2814:C 2774:; 2762:c 2759:; 2750:b 2747:; 2738:a 2729:^ 2717:; 2714:) 2708:( 2686:; 2677:c 2668:; 2659:b 2650:; 2641:a 2629:; 2626:) 2620:( 2604:c 2600:b 2596:a 2592:A 2564:; 2558:^ 2555:: 2549:; 2543:: 2534:; 2525:: 2522:c 2519:; 2513:: 2510:b 2507:; 2501:: 2498:a 2492:= 2486:; 2480:^ 2477:= 2408:; 2405:b 2396:= 2393:c 2390:; 2381:: 2378:y 2375:; 2369:: 2366:x 2360:= 2357:b 2354:; 2342:= 2339:a 2320:; 2317:a 2308:= 2305:c 2302:; 2290:: 2287:y 2284:; 2278:: 2275:x 2269:= 2266:b 2263:; 2251:= 2248:a 2228:; 2225:x 2222:= 2219:y 2216:; 2210:= 2207:x 2182:; 2176:) 2167:0 2164:: 2158:, 2152:; 2146:: 2140:( 2137:: 2131:; 2128:) 2122:: 2116:( 2113:: 2107:; 2104:) 2098:: 2092:( 2089:: 2077:: 2065:= 2059:; 2056:) 2050:, 2044:, 2038:( 2035:= 2015:; 2006:: 2000:; 1994:: 1985:= 1940:i 1917:) 1908:i 1905:( 1899:) 1896:4 1890:i 1887:( 1861:i 1843:; 1825:: 1819:; 1810:1 1801:: 1776:; 1764:: 1761:y 1758:; 1749:1 1746:: 1743:x 1683:; 1668:= 1662:; 1650:- 1647:= 1641:; 1632:0 1629:= 1480:. 1468:) 1462:( 1453:; 1450:) 1444:( 1331:- 1191:( 1082:C 101:) 34:. 20:)

Index

Pascal programming language
Pascal (disambiguation)
Paradigm
Imperative
structured
Wirth
Designed by
Niklaus Wirth
Typing discipline
Static
strong
safe
Scope
Lexical
implementations
BSD
CDC 6000
Embarcadero Delphi
ICL 1900
Pascal-P
PDP-11
PDP-10
IBM System/370
VSI Pascal
Free Pascal
GNU Pascal
Dialects
Delphi
Turbo Pascal
UCSD Pascal

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑