Generated by GPT-5-mini| ISO/IEC 7185 | |
|---|---|
| Title | ISO/IEC 7185 |
| Status | Published |
| Year | 1990 |
| Organization | ISO, IEC |
| Domain | Programming language |
ISO/IEC 7185 is the international standard defining the original Pascal programming language. It codifies the syntax, semantics, and lexical conventions for a language widely used in academic, industrial, and embedded contexts. The standard provides normative specifications for language features, reserved words, and standard procedures intended to promote portability across implementations.
The standard specifies a procedural, strongly typed language influenced by earlier work of Niklaus Wirth, aligning with design goals similar to those in ALGOL 60, ALGOL W, Edsger W. Dijkstra-influenced languages, and contemporaneous work at institutions like ETH Zurich and Stanford University. It defines lexical tokens, reserved identifiers, syntax in a form resembling Backus–Naur form, and semantics for structured programming constructs used in textbooks such as those by Wirth and curricula at universities including Massachusetts Institute of Technology, University of Cambridge, and University of California, Berkeley. The standard was produced under the auspices of International Organization for Standardization and International Electrotechnical Commission technical committees with participation from national bodies such as British Standards Institution and American National Standards Institute.
The language standardized originates from Pascal implementations developed at ETH Zurich in the late 1960s and early 1970s by Niklaus Wirth, with antecedents traceable to design discussions surrounding ALGOL 60 and projects at Stanford Research Institute. Academic adoption accelerated via textbooks at Carnegie Mellon University, Princeton University, and University of Edinburgh, prompting calls for formal standardization involving organizations including ISO, IEC, and national committees like DIN and AFNOR. Drafts circulated among vendors such as Digital Equipment Corporation, IBM, Siemens, and compiler authors associated with Turbo Pascal and UCSD Pascal led to a consensus text that became the published tabulation of syntax and semantics. The standardization process intersected with parallel efforts embodied in language committees at European Computer Manufacturers Association and working groups connected to ISO/IEC JTC 1.
The specification presents lexical grammar, including token classes and comment delimiters, structured in a grammar notation akin to that used in Backus–Naur form and influenced by notation from ISO 1539 and earlier ALGOL reports. It enumerates reserved words and standard identifiers used in runtime environments of commercial compilers produced by firms like Borland and Apple Computer. The type system is statically checked and supports scalar types, subranges, arrays, records, files, and sets, reflecting concepts found in implementations at ETH Zurich and courseware at Massachusetts Institute of Technology and Stanford University. Control structures include conditional and iterative constructs similar to those in ALGOL 60; block structure and scope rules echo the lexical scoping principles advocated by Tony Hoare and others. Standard procedures and functions for input/output, arithmetic, and type conversion resemble libraries shipped with compilers from Borland International and vendor-specific runtime packages.
Commercial and academic compilers sought conformance to the specification, including products from Borland International, Apple Computer, Microsoft Corporation (early macro- and teaching tools), and research compilers at ETH Zurich and University of California, Berkeley. Portable implementations such as p-code-based systems, including the UCSD Pascal system, targeted multiple platforms like IBM PC, DEC VAX, and Apple II. Conformance test suites and validation tools were developed by national bodies such as British Standards Institution and industry consortia; compiler implementers referenced the standard when producing compatibility matrices for platforms including Sun Microsystems workstations and Compaq servers. Some vendors implemented extensions that diverged from the normative core while claiming partial conformity; formal conformance classes were discussed in working groups within ISO/IEC JTC 1.
The standard influenced university curricula at institutions like Massachusetts Institute of Technology, Harvard University, Princeton University, and ETH Zurich, where Pascal served as an introductory language in courses alongside ALGOL-derived languages. It shaped compiler development in companies such as Borland International and spurred textbook authors including Niklaus Wirth and educators at Carnegie Mellon University to align examples with the normative language. The standard's clarity aided portability across hardware architectures produced by manufacturers like Intel, Motorola, and National Semiconductor, but some criticized its conservatism relative to vendor extensions popularized by Turbo Pascal and systems like UCSD Pascal. The existence of a formal standard contributed to debates in standards forums including ISO meetings and influenced subsequent language standardization efforts for languages such as Ada and C.
Extensions and dialects arose from both academia and industry: Turbo Pascal added language features and integrated development environments championed by Borland International; UCSD Pascal introduced a p-code intermediate format influencing virtual machine designs like those discussed at Princeton University and University of California, Berkeley. Related standardization work includes subsequent ISO/IEC standards for other languages and reports addressing programming language portability in forums involving ISO/IEC JTC 1 and national committees like DIN and AFNOR. Work on later Pascal revisions and successors, including efforts at ISO for extended dialects, interacted with compiler vendors, academic projects, and organizations such as IEEE and European Computer Manufacturers Association.