Valid HTML 4.0! Valid CSS!
%%% -*-BibTeX-*-
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "1.17",
%%%     date            = "05 July 2024",
%%%     time            = "12:49:51 MDT",
%%%     filename        = "wirth-niklaus.bib",
%%%     address         = "University of Utah
%%%                        Department of Mathematics, 110 LCB
%%%                        155 S 1400 E RM 233
%%%                        Salt Lake City, UT 84112-0090
%%%                        USA",
%%%     telephone       = "+1 801 581 5254",
%%%     URL             = "https://www.math.utah.edu/~beebe",
%%%     checksum        = "06653 29421 131806 1343124",
%%%     email           = "beebe at math.utah.edu, beebe at acm.org,
%%%                        beebe at computer.org (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "ACM Turing Award (1984); Algol 60
%%%                        (programming language); Algol W (programming
%%%                        language); Algol 68 (programming language);
%%%                        BC NELIAC (programming language);
%%%                        bibliography; BibTeX; bucky bit; Ceres
%%%                        workstation; Ceres-3 workstation; Ceres-Net
%%%                        network; Component Pascal; computer science
%%%                        teaching; Euclid (programming language);
%%%                        Euler (programming language); Extended
%%%                        Backus--Naur form (EBNF); International
%%%                        Algorithmic Language (IAL); Lilith
%%%                        workstation; Lola digital hardware design and
%%%                        simulation system; Lola (programming
%%%                        language); Modula (programming language);
%%%                        Modula-2 (programming language); Modula-3
%%%                        (programming language); Niklaus Emil Wirth;
%%%                        Oberon (programming language); Oberon
%%%                        (operating system); Oberon-2 (programming
%%%                        language); Oberon Project workstation; Object
%%%                        Oberon (programming language); Pascal
%%%                        (programming language); PL/360 (programming
%%%                        language); programming languages; Richard
%%%                        Ohran (Lilith architect); stepwise
%%%                        refinement; Wirth--Weber precedence
%%%                        relations",
%%%     license         = "public domain",
%%%     supported       = "yes",
%%%     docstring       = "This is a bibliography of publications by,
%%%                        and about, the influential Swiss computer
%%%                        scientist Niklaus Wirth (15 November 1934--1
%%%                        January 2024), honored with the 1984 ACM
%%%                        Turing Award, and designer of several
%%%                        significant programming languages, three
%%%                        workstations and their operating and
%%%                        windowing systems, and drone helicopter
%%%                        flight control software.
%%%
%%%                        Niklaus Wirth was born in Winterthur,
%%%                        Switzerland.  He earned a Bachelor of Science
%%%                        (B.S.) degree in electronic engineering from
%%%                        the Swiss Federal Institute of Technology
%%%                        (ETH) Zurich in 1959, a Master of Science
%%%                        (M.Sc.) from Universit{\'e} Laval in
%%%                        Qu{\'e}bec City, QC, Canada in 1960, and a
%%%                        Ph.D. in electrical engineering and computer
%%%                        science (EECS) from the University of
%%%                        California, Berkeley in 1963.  During his
%%%                        career, he served on the faculties of
%%%                        Stanford University, the University of
%%%                        Zurich, and ETH Zurich. He also spent a
%%%                        sabbatical year at Stanford (1971--1972), and
%%%                        two sabbatical years (1976--1977 and
%%%                        1984--1985) at Xerox PARC Laboratories in
%%%                        Palo Alto, CA, USA, where he was introduced
%%%                        to the Cedar and Mesa programming languages,
%%%                        and the Xerox Alto and Dorado workstations
%%%                        that influenced much of his later work. He
%%%                        was elected a Fellow of the ACM in 1994.  He
%%%                        retired in 1999, but continued to work and
%%%                        write in computer science.
%%%
%%%                        Niklaus Wirth was a member of the committee
%%%                        that defined Algol 68. He left that work in
%%%                        disagreement over its complexity (as did
%%%                        Frederick L. Bauer and some of his fellow
%%%                        committee members), and went on to develop
%%%                        Euler, Algol W, Pascal, and several other
%%%                        programming languages. In all of those, he
%%%                        emphasized simplicity of design, and
%%%                        elimination of complex features for which
%%%                        compiler design and implementation is
%%%                        difficult, and that are hard for programmers
%%%                        to understand and use reliably.
%%%
%%%                        The first Algol 68 compiler, for a subset of
%%%                        the language that could be processed in one
%%%                        pass, took several years to develop, and was
%%%                        not delivered until 1970:
%%%
%%%                            https://en.wikipedia.org/wiki/ALGOL_68-R
%%%
%%%                        Compilers for the full Algol 68 language were
%%%                        not available until 1972.
%%%
%%%                        By contrast, the first Pascal compiler was
%%%                        completed in just 14 months, with a team of
%%%                        four (Niklaus Wirth, Urs Ammann, Edouard
%%%                        Marmier, and R. Schild), and required just
%%%                        one pass over the input source file
%%%                        [Ammann:1977:CGP].  That compiler was itself
%%%                        written in a subset of Pascal that was then
%%%                        translated by hand to CDC 6400 assembly code
%%%                        in one month in order to bootstrap the
%%%                        compiler.  The compiler source code was about
%%%                        4000 lines and it required only 19,000 60-bit
%%%                        words of memory to run [Wirth:1971:DPC,
%%%                        pp. 321--322],
%%%
%%%                        The Pascal language design was started in
%%%                        1968, using a compiler written in Fortran.
%%%                        That was found impractical and restrictive,
%%%                        and a fresh design, with language tweaks,
%%%                        began in 1969, with the compiler itself now
%%%                        written in Pascal.
%%%
%%%                        Niklaus Wirth's first publication on Pascal
%%%                        [Wirth:1971:PLP] in 1971, following a successful
%%%                        compiler implementation on the CDC 6400 at
%%%                        ETH in 1970, introduced the language. In
%%%                        1973, he published an assessment of Pascal
%%%                        [Wirth:1975:APLa, Wirth:1975:APLb]. He later
%%%                        reflected on the history of Pascal
%%%                        [Wirth:1993:RADa], on its successes and
%%%                        failures, and he discussed criticisms of the
%%%                        language [Habermann:1973:CCP,
%%%                        Welsh:1977:AIP], and rebuttals
%%%                        [Lecarme:1974:RPH, Lecarme:1975:MCP,
%%%                        Lecarme:1984:MCP].  Other criticisms appeared
%%%                        later [Boom:1976:CCS, Boom:1980:CCS,
%%%                        Kernighan:1981:WPM, Johnson:1984:PDF,
%%%                        Kernighan:1984:WPM].
%%%
%%%                        The language Pascal was named after the
%%%                        pascaline, a mechanical calculator for
%%%                        addition and subtraction that was constructed
%%%                        by Blaise Pascal (1623--1662), at the young
%%%                        age of 19. About 50 of his machines were
%%%                        built:
%%%
%%%                            https://en.wikipedia.org/wiki/Blaise_Pascal#Pascaline
%%%
%%%                        The small size of the Pascal language, and in
%%%                        particular the development of the P-Code
%%%                        system, a stack-based virtual machine
%%%                        assembly language, in Zurich in 1974
%%%                        [Nori:1974:PPC, Nori:1976:PPC] and its
%%%                        adoption by Kenneth L. Bowles (ca. 1929--15
%%%                        August 2018)
%%%
%%%                            https://en.wikipedia.org/wiki/Kenneth_Bowles
%%%
%%%                        and his group at the University of
%%%                        California, San Diego, in 1975
%%%                        [Bowles:1977:MPS, Gilbert:1978:PCI,
%%%                        Bowles:1984:PSU, Nouspikel:2005:TTP] made it
%%%                        possible to quickly port Pascal compilers to
%%%                        new microprocessors that were developed in
%%%                        the 1970s and 1980s, as well as to the major
%%%                        mainframe systems of the time.  P-Codes could
%%%                        be either interpreted at run-time, or else
%%%                        translated once to the native CPU instruction
%%%                        set, and proved suitable for use on both
%%%                        register- and stack-based computer
%%%                        architectures.  They were even implemented on
%%%                        the Cray-1 vector supercomputer at Los Alamos
%%%                        National Laboratory [Nelson:1979:CPI], and as
%%%                        the output of a Fortran 66 compiler
%%%                        [Castaneda:1979:PTP, Chow:1980:UFU].  The
%%%                        compiler required as little as 8KB of memory
%%%                        to run on some microprocessors.
%%%
%%%                        Borland Software and other companies marketed
%%%                        Pascal compilers that were sold at modest
%%%                        cost into the emerging desktop computer
%%%                        market.  As a result, the Pascal language was
%%%                        soon available to beginning programmers, and
%%%                        provided a superior replacement for the
%%%                        dismal Basic ``language'' that was often the
%%%                        first one available above assembly code on
%%%                        such systems.
%%%
%%%                        Because vendor-supplied Algol compilers, if
%%%                        even available, were often costly licensed
%%%                        products, Pascal was the first block
%%%                        structured programming language, with
%%%                        recursion, and defined by a rigorous grammar,
%%%                        to be widely available on machines from
%%%                        microprocessors to departmental minicomputers
%%%                        to mainframes.  Additionally, the language
%%%                        can be recognized with a lookahead of at most
%%%                        one token, easing the development of tools
%%%                        that process Pascal source code, such as
%%%                        compilers, lexical analyzers, prettyprinters,
%%%                        syntax checkers, and text editors.  Language
%%%                        keywords are reserved, and cannot be usurped
%%%                        by users for identifier names.
%%%
%%%                        At some academic sites, use of Pascal soon
%%%                        surpassed that of Fortran [Wirth:1993:RADa]
%%%                        for student programming projects.
%%%
%%%                        After his first implementation in 1977--1978
%%%                        of the METAFONT and TeX systems for font
%%%                        design and typesetting, written in the SAIL
%%%                        language at Stanford that ran only on PDP-10
%%%                        mainframe computers, Donald Knuth chose a
%%%                        portable subset of Pascal as the basis for a
%%%                        major revision of those systems in 1982.
%%%                        Today, well-supported Pascal compilers are
%%%                        hard to find in modern operating system
%%%                        distributions.  Consequently, since the
%%%                        mid-1990s, the Pascal code in METAFONT and
%%%                        TeX has been automatically translated to the
%%%                        C language, which is universally available.
%%%                        The Pascal-to-C conversion software is
%%%                        written in C.  However, the master source
%%%                        files preserve Pascal for the source code
%%%                        embedded in the Web literate programming
%%%                        system of documentation and programming.
%%%
%%%                        Pascal support was dropped from the GNU gcc
%%%                        compiler family after version 3.4 in 2006,
%%%                        and most O/S distributions no longer offer a
%%%                        GNU Pascal compiler.  Thus, the independently
%%%                        developed Free Pascal Compiler (fpc) package,
%%%                        when available, remains the primary source of
%%%                        support for that language on modern systems.
%%%
%%%                        There is another connection of Pascal with
%%%                        TeX and METAFONT that should be noted here
%%%                        for historical purposes, and for the broad
%%%                        influence of Niklaus Wirth. Barry Smith
%%%                        (1 September 1953--8 October 2012)
%%%
%%%                            https://tug.org/TUGboat/tb34-2/tb107smith.pdf
%%%
%%%                        was one of the founders of Oregon Software, a
%%%                        company that developed Pascal compilers for
%%%                        the microcomputer market in the early 1980s.
%%%                        Barry used his compiler expertise to port TeX
%%%                        and METAFONT to the new Apple Macintosh
%%%                        desktop computer, introduced in January 1984,
%%%                        and then used profiling and hand optimization
%%%                        of the compiler-generated assembly code on
%%%                        the Motorola 68000 CPU to produce highly
%%%                        tuned implementations of those two programs.
%%%                        He then marketed them under the name MacTeX,
%%%                        and later, TeXtures, sold by his sucessor
%%%                        company, BlueSky Research.  His software was
%%%                        able to instantly connect any word in the
%%%                        typeset output display with its input file
%%%                        location in a text editor.  The combination
%%%                        of Macintosh + Pascal + TeX was a
%%%                        self-reinforcing ecosystem, as customers
%%%                        bought Apple hardware because they needed
%%%                        low-cost typesetting.
%%%
%%%                        GNU gcc versions 12 (2021), 13 (2022), and 14
%%%                        (2023) can supply a Modula-2 compiler, gm2.
%%%                        It supports versions of Modula-2 from the
%%%                        four editions of Niklaus Wirth's book,
%%%                        ``Programming in Modula-2'', as well as the
%%%                        ISO Modula-2 Standard.  gm2 is mostly written
%%%                        in a subset of Modula-2, and at build time, a
%%%                        separate bootstrap compiler written in C and
%%%                        C++ translates the Modula-2 code to C++,
%%%                        which is then compiled to produce a native
%%%                        Modula-2 compiler.  The use of C and C++ as
%%%                        high-level machine languages potentially
%%%                        allows gm2 to be available on every platform
%%%                        for which other GNU gcc family compilers can
%%%                        be built.
%%%
%%%                        With the approval of Niklaus Wirth, a
%%%                        significant revision has been defined for
%%%                        release R10 of that language, but gm2 does
%%%                        not yet support that dialect.  See
%%%
%%%                            http://modula-2.net/m2r10/
%%%                            http://modula-2.net/m2r10/pmwiki.php?n=Project.FAQ
%%%                            https://github.com/m2sf/PDFs/blob/master/M2BSK%20Language%20Description.pdf
%%%
%%%                        Its developers intentionally chose to base
%%%                        their work on Modula-2, rather than on
%%%                        Modula-3 or Oberon-2, for reasons discussed
%%%                        in the FAQ at the second of those links.
%%%
%%%                        Translators from Modula-2 to C, C++, C#, and
%%%                        Java have been reported on the Internet, and
%%%                        might still be available at some sites.  Some
%%%                        Modula-* and Oberon-* compilers translate
%%%                        those languages to C code, instead of native
%%%                        assembly code, and that C code can generally
%%%                        be captured.
%%%
%%%                        The later Modula-3 language was suggested by
%%%                        Cambridge computer scientist Maurice Wilkes
%%%                        (the second ACM Turing Award honoree, in
%%%                        1967).  According to the book ``Systems
%%%                        Programming with Modula-3'' (see entry
%%%                        Nelson:1991:SPM), Wilkes wrote to Niklaus
%%%                        Wirth on 6 November 1986, suggesting a
%%%                        successor to the extended Modula-2+ language,
%%%                        and received Wirth's approval for the idea.
%%%                        The Modula-3 committee was formed, and
%%%                        several teams from industry contributed to
%%%                        the language and library design, and their
%%%                        implementations.  That work was completely
%%%                        independent of Wirth's research at ETH, but
%%%                        this bibliography includes several references
%%%                        about Modula-3 because of its evolution from
%%%                        Modula-2.
%%%
%%%                        In his Algol work, Niklaus Wirth developed
%%%                        the Extended Backus--Naur (or Backus Normal)
%%%                        Form (EBNF).  It is a rigorous specification
%%%                        of the lexical grammar of programming
%%%                        languages that later made it possible to
%%%                        write correct parsers using hand-coded
%%%                        recursive descent, or via efficient
%%%                        machine-generated table-driven parsers using
%%%                        tools like bison, byacc, lex, flex, occs,
%%%                        yacc, and many others.  Stuart Feldman, the
%%%                        author of the first Fortran compiler in Unix,
%%%                        reported that, thanks to a yacc grammar, he
%%%                        was able to implement the IF-THEN-ELSE-ENDIF
%%%                        statement in Fortran in less than a day,
%%%                        repairing a two-decades-old defect of that
%%%                        language that no other compiler writers had
%%%                        chosen to tackle because of its apparent
%%%                        parsing difficulty with older compiler
%%%                        techniques.
%%%
%%%                        Niklaus Wirth wrote nearly 30 popular books,
%%%                        some of which have appeared in multiple
%%%                        editions and have been translated to other
%%%                        languages, including at least these:
%%%
%%%                            1972  Systematisches Programmieren
%%%                            1973  Systematic Programming: an Introduction
%%%                            1974  PASCAL: user manual and report
%%%                            1974  Pascal User Manual and Report
%%%                            1975  PASCAL, user manual and report
%%%                            1975  Algorithmen und Datenstrukturen
%%%                            1975  Systematisches Programmieren
%%%                            1976  Algorithms + Data Structures = Programs
%%%                            1976  Revidierter Bericht ueber die Programmiersprache PASCAL
%%%                            1977  Compilerbau: Eine Einfuehrung
%%%                            1982  Programming in Modula-2
%%%                            1983  Algorithmen und Datenstrukturen
%%%                            1983  Programming in Modula-2
%%%                            1985  Pascal User Manual and Report: ISO Pascal Standard
%%%                            1985  Programmieren in Modula-2
%%%                            1985  Programming in Modula-2
%%%                            1986  Algorithmen und Datenstrukturen mit Modula-2
%%%                            1986  Algorithms and Data Structures
%%%                            1988  Programming in Modula-2
%%%                            1991  Pascal User Manual and Report: ISO Pascal Standard
%%%                            1992  Programming in Oberon: Steps beyond Pascal and Modula
%%%                            1992  Project Oberon: The Design of an Operating System and Compiler
%%%                            1994  Programmieren in Oberon --- das neue Pascal
%%%                            1995  Digital Circuit Design for Computer Science Students
%%%                            1996  Compiler Construction
%%%                            1996  Grundlagen und Techniken des Compilerbaus
%%%                            1999  Algorithmen und Datenstrukturen --- Pascal-Version
%%%                            2004  Algorithms and Data Structures: Oberon version
%%%                            2008  Grundlagen und Techniken des Compilerbaus
%%%
%%%                        Three short-lived journals grew out of the wide
%%%                        interest in Pascal and its descendants:
%%%
%%%                            Pascal Newsletter
%%%                            Issue 1 (January 1974) to issue 27
%%%                            (November 1982)
%%%                            https://www.standardpascaline.org/pug.html
%%%
%%%                            Journal of Pascal and Ada
%%%                            CODEN JOPAD5, ISSN 0735-1232, ISSN-L 0735-1232
%%%                            volume 1, number 1 (1982)--volume 3, number 1 (1984)
%%%                            no online archives known
%%%
%%%                            Journal of Pascal, Ada & Modula-2
%%%                            CODEN JOPAD5, ISSN 0747-1351, ISSN-L 0747-1351
%%%                            volume 3, number 2 (1984)--volume 9, number 5 (1990)
%%%                            Archives for volume 4, number 3 (1985) to
%%%                            volume 9, number 5 (1990) are at
%%%
%%%                                https://dl.acm.org/loi/jpam
%%%                                https://typeset.io/journals/journal-of-pascal-ada-modula-2-archive-3j09fxk2
%%%
%%%                        NB: The journals with BibTeX string
%%%                        abbreviations j-SOFTW-CONCEPTS-TOOLS and
%%%                        j-STRUCT-PROGRAM, both published by Springer,
%%%                        do not appear to have online archives of
%%%                        their contents, except for volume 19 of the
%%%                        first of those. The second now has complete
%%%                        coverage in structprogram.bib in this
%%%                        archive. Their subject area suggests that
%%%                        they may have additional articles related to
%%%                        the work of Niklaus Wirth, but until
%%%                        electronic archives are available, it may be
%%%                        difficult to identify such articles.  The
%%%                        bibliographer does not have access to print
%%%                        versions of those journals.
%%%
%%%                        At version 1.17, the year coverage looked
%%%                        like this:
%%%
%%%                             1963 (   3)    1984 (  51)    2005 (   6)
%%%                             1964 (   2)    1985 (  35)    2006 (   6)
%%%                             1965 (  12)    1986 (  45)    2007 (   6)
%%%                             1966 (  10)    1987 (  35)    2008 (  12)
%%%                             1967 (   7)    1988 (  33)    2009 (   0)
%%%                             1968 (   6)    1989 (  27)    2010 (   4)
%%%                             1969 (   3)    1990 (  37)    2011 (   4)
%%%                             1970 (   4)    1991 (  29)    2012 (   3)
%%%                             1971 (   7)    1992 (  20)    2013 (   1)
%%%                             1972 (  11)    1993 (  24)    2014 (   2)
%%%                             1973 (   8)    1994 (  24)    2015 (   8)
%%%                             1974 (  18)    1995 (  25)    2016 (   2)
%%%                             1975 (  19)    1996 (  25)    2017 (   2)
%%%                             1976 (  19)    1997 (  18)    2018 (   2)
%%%                             1977 (  20)    1998 (  15)    2019 (   1)
%%%                             1978 (  15)    1999 (  10)    2020 (   0)
%%%                             1979 (  34)    2000 (  29)    2021 (   6)
%%%                             1980 (  18)    2001 (  11)    2022 (   0)
%%%                             1981 (  35)    2002 (  12)    2023 (   0)
%%%                             1982 (  25)    2003 (   7)    2024 (  20)
%%%                             1983 (  22)    2004 (   3)
%%%                             20xx (   3)
%%%
%%%                             Article:        459
%%%                             Book:           102
%%%                             InBook:           1
%%%                             InCollection:    64
%%%                             InProceedings:   98
%%%                             Manual:           3
%%%                             MastersThesis:    1
%%%                             Misc:            33
%%%                             PhdThesis:        5
%%%                             Proceedings:     14
%%%                             TechReport:     121
%%%
%%%                             Total entries:  901
%%%
%%%                        There are 211 ETH technical reports for the
%%%                        decade 1990--1999 available at
%%%
%%%                            http://www.inf.ethz.ch/research/technical-reports/1990-1999.html
%%%
%%%                        Unfortunately, they are presented in batches
%%%                        of just 10 at time, with no search
%%%                        capability, and most of the PDF files are not
%%%                        searchable either.  All of those reports that
%%%                        are authored by Niklaus Wirth are recorded in
%%%                        this bibliography, but some about the Modula
%%%                        and Oberon programming languages may have
%%%                        been missed.
%%%
%%%                        Searches of the 1828 pages of contents of the
%%%                        25 PDF files for the complete publication
%%%                        record of the Pascal Newsletter located
%%%                        mentions of several articles and reports that
%%%                        had not been found elsewhere.  Regrettably,
%%%                        the scans of that publication are severely
%%%                        problematic: pages are sometimes displayed
%%%                        two-up or rotated, page images are often
%%%                        smeared in portions, and print quality is
%%%                        mostly poor.  That made optical character
%%%                        recognition flawed and unreliable, and
%%%                        consequently, it is possible that there are
%%%                        publication references in the Pascal
%%%                        Newsletter to works of Niklaus Wirth that
%%%                        have been missed by the bibliographer.
%%%
%%%                        There are numerous Web sites about Niklaus
%%%                        Wirth and his works, including at least
%%%                        these:
%%%
%%%                            http://pascal.hansotten.com/niklaus-wirth/articles-on-pascal/
%%%                            https://dblp.org/pid/w/NiklausWirth.html
%%%                            https://en.wikipedia.org/wiki/ALGOL_W
%%%                            https://en.wikipedia.org/wiki/Bucky_bit
%%%                            https://en.wikipedia.org/wiki/Ceres_(workstation)
%%%                            https://en.wikipedia.org/wiki/Euler_(programming_language)
%%%                            https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form
%%%                            https://en.wikipedia.org/wiki/List_of_minor_planets:_21001%E2%80%9322000#655
%%%                            https://en.wikipedia.org/wiki/Meanings_of_minor_planet_names:_21001%E2%80%9322000#655
%%%                            https://en.wikipedia.org/wiki/Modula-2
%%%                            https://en.wikipedia.org/wiki/Niklaus_Wirth
%%%                            https://en.wikipedia.org/wiki/Oberon-2
%%%                            https://en.wikipedia.org/wiki/Oberon_(operating_system)
%%%                            https://en.wikipedia.org/wiki/Oberon_(programming_language)
%%%                            https://en.wikipedia.org/wiki/Object_Oberon
%%%                            https://github.com/Oleg-N-Cher/OfrontPlus/
%%%                            https://modula-2.net/m2r10
%%%                            https://oberon-lang.github.io
%%%                            https://oberon-lang.github.io/2021/07/16/comparing-oberon+-with-oberon-2-and-07.html
%%%                            https://people.inf.ethz.ch/wirth/
%%%                            https://www.modula-2.net/
%%%                            https://www.modula-2.net/resources/books.shtml
%%%                            https://www.modula-2.net/resources/compilers.shtml
%%%                            https://www.softwarepreservation.org/projects/ALGOL/standards/
%%%
%%%                        From one of those: ``The term [bucky bit] was
%%%                        invented at Stanford and is based on Niklaus
%%%                        Wirth's nickname `Bucky'. Niklaus Wirth was
%%%                        first to suggest an EDIT key to set the
%%%                        eighth bit of a 7-bit ASCII character
%%%                        sometime in 1964 or 1965''.
%%%
%%%                        The name Oberon was borrowed from that of one
%%%                        of the moons of the planet Uranus.
%%%
%%%                        Oberon-2 is a strict superset of Oberon, and
%%%                        adopted, with changes, features first tested
%%%                        in Object Oberon.  Web sites about Oberon-2
%%%                        include:
%%%
%%%                            http://www.edm2.com/0608/oberon2.html
%%%                            https://cseweb.ucsd.edu/classes/fa00/cse131a/oberon2.htm
%%%                            https://free.oberon.org/docs/en
%%%                            https://github.com/vishaps/voc/
%%%                            https://oberoncore.ru/_media/blackbox/tut-tot.en.pdf
%%%                            https://rsdoiel.github.io/blog/2020/04/18/Mostly-Oberon-Basic-Types.html
%%%
%%%                        The Oberon language syntax is similar to that
%%%                        of Pascal and Modula, so converting code from
%%%                        one to another can be a simple editing task.
%%%                        However, the built-in or module functions for
%%%                        I/O are quite different, and take more work
%%%                        to convert code that needs them.
%%%
%%%                        The Vishap Oberon Compiler (voc)
%%%
%%%                            https://github.com/vishaps/voc
%%%
%%%                        is written in C, and compiles Oberon to C
%%%                        that in turn is automatically compiled to
%%%                        native code by clang, gcc, or tcc.  voc runs
%%%                        on FreeBSD, GNU/Linux, macOS, and Windows
%%%                        operating systems.  Unlike the GNU Modula-2
%%%                        compiler, gm2, which maps the types SHORTREAL
%%%                        to C float, REAL to C double, and both
%%%                        LONGREAL and REAL128 to C long double, voc
%%%                        lacks SHORTREAL and REAL128, and maps REAL to
%%%                        C float and LONGREAL to C double.
%%%
%%%                        In gm2, SHORTINT is mapped to C short int (2
%%%                        bytes), INTEGER to C int (4 bytes), and
%%%                        LONGINTEGER to C long int (often 8 bytes).
%%%                        With voc, however, SHORTINT, INTEGER, and
%%%                        LONGINT are 1-, 2-, and 4-byte types
%%%                        respectively, by default, or explicitly with
%%%                        the -O2 compiler option.  With the -OC
%%%                        compiler option, they are instead 2-, 4-, and
%%%                        8-byte types.  With both options, the type
%%%                        HUGEINT is an 8-byte type.  Care is therefore
%%%                        needed when converting Modula-2 code to
%%%                        Oberon-2!
%%%
%%%                        Here are some notable quotes from Niklaus
%%%                        Wirth's writing:
%%%
%%%                            ``... the guiding idea in the layout of
%%%                            the syntax of PASCAL was simplicity due
%%%                            to the recognition that structures
%%%                            difficult to process by computers are
%%%                            often also difficult to master by human
%%%                            readers and writers, and that the
%%%                            presence of a complicated syntax does not
%%%                            only make more complex and less efficient
%%%                            parsing algorithms necessary, but also
%%%                            increases the likelihood of human
%%%                            misunderstandings and programming
%%%                            errors.''
%%%                            The Design of a PASCAL Compiler
%%%                            [Wirth:1971:DPC, p. 320]
%%%
%%%                            ``In spite of the small number of only 64
%%%                            instructions of the CDC 6000 computer,
%%%                            the compiler uses only 42 of them (66 per
%%%                            cent) in generated code; the percentage
%%%                            figure is expected to be even much
%%%                            smaller for computers with elaborate
%%%                            instruction sets. ... only four
%%%                            instructions account for 64 per cent of
%%%                            the entire code (including the most
%%%                            frequent NOOP).''
%%%                            The Design of a PASCAL Compiler
%%%                            [Wirth:1971:DPC, p. 325]
%%%
%%%                            ``The one major flaw of the CDC 6000
%%%                            computer is the absence of automatic
%%%                            traps upon overflow conditions on integer
%%%                            arithmetic. Such conditions are simply
%%%                            ignored, and there is no way to detect
%%%                            them. This is even the more aggravating,
%%%                            since some instructions operate on 60-bit
%%%                            integers, some on 48-bit integers, some
%%%                            on 18-bit integers, some extending, some
%%%                            extracting one representation from the
%%%                            other with correct treatment of the sign,
%%%                            but without testing for overflow. This
%%%                            very serious deficiency makes
%%%                            computations using integers rather
%%%                            hazardous.''
%%%                            The Design of a PASCAL Compiler
%%%                            [Wirth:1971:DPC, p. 325]
%%%
%%%                            ``Our first Pascal compiler was
%%%                            implemented for the CDC 6000 computer
%%%                            family. It was written in Pascal
%%%                            itself. No PL6000 was necessary, and I
%%%                            considered this a substantial step
%%%                            forward.''
%%%                            ACM Turing Award Lecture: From Programming
%%%                            Language Design to Computer Construction
%%%                            [Wirth:1985:PLD, p. 162]
%%%
%%%                            ``Instead of sharing a large, monolithic
%%%                            computer with many others and fighting
%%%                            for a share via a wire with a 3KHz
%%%                            bandwidth, I now used my own computer
%%%                            placed under my desk over a 15MHz
%%%                            channel.  The influence of a 5000-fold
%%%                            increase in anything is not foreseeable;
%%%                            it is overwhelming. The most elating
%%%                            sensation was that after 16 years of
%%%                            working for computers, the computer now
%%%                            seemed to work for me.''
%%%                            ACM Turing Award Lecture: From Programming
%%%                            Language Design to Computer Construction
%%%                            [Wirth:1985:PLD, p. 162]
%%%
%%%                            ``Within the Euler, ALGOL W, and PL360
%%%                            projects, much consideration was given to
%%%                            the development of table-driven,
%%%                            bottom-up syntax analysis techniques.
%%%                            Later, I switched back to the simple
%%%                            recursive-descent, top-down method, which
%%%                            is easily comprehensible and
%%%                            unquestionably sufficiently powerful, if
%%%                            the syntax of the language is wisely
%%%                            chosen.''
%%%                            ACM Turing Award Lecture: From Programming
%%%                            Language Design to Computer Construction
%%%                            [Wirth:1985:PLD, p. 164]
%%%
%%%                            ``They [Algol 68 dissenting team members]
%%%                            hesitated to incorporate novel, untested
%%%                            ideas into an official language, well
%%%                            aware that otherwise a milestone might
%%%                            easily turn into a millstone.''
%%%                            Recollections about the development of
%%%                            Pascal [Wirth:1993:RADa, p. 98]
%%%
%%%                            ``Q: The current ISO draft of Modula-2
%%%                            contains a full formal semantics. Do you
%%%                            consider this useful?
%%%                            A: Not really. It makes the report too
%%%                            voluminous for the reader. The Modula-2
%%%                            report is 45 pages and the formal
%%%                            standardization document is about one
%%%                            thousand pages long. The definition of
%%%                            the empty statement alone takes a full
%%%                            page. The difference is intolerable.''
%%%                            Recollections about the development of
%%%                            Pascal [Wirth:1993:RADa, p. 117].
%%%
%%%                            ``The first ideas leading to Oberon were
%%%                            drafted in 1985, and the language was
%%%                            fully defined in early 1986 in close
%%%                            cooperation with J. Gutknecht. The Report
%%%                            was only 16 pages long!''
%%%                            [Wirth:2007:MO, p. 3.8]
%%%
%%%                            ``... interest in our demanding text
%%%                            remained disappointingly small.  This may
%%%                            be explained in part by the custom in
%%%                            Computer Science of learning to write
%%%                            programs before reading any.
%%%                            Consequently, literature containing
%%%                            programs worth reading is rather
%%%                            scarce.''
%%%                            [Wirth:2007:MO, p. 3.8]
%%%
%%%                            ``The entire Oberon System, including its
%%%                            compiler, text editor and window system
%%%                            occupied less than 200K bytes of main
%%%                            memory, and compiled itself in less than
%%%                            40 seconds on a computer with a clock
%%%                            frequency of 25 MHz.''
%%%                            [Wirth:2007:MO, p. 3.9]
%%%
%%%                            ``I rarely had to seek funding, nor write
%%%                            innumerable proposals and
%%%                            justifications. Therefore I could
%%%                            concentrate on teaching and research. I
%%%                            felt free of industrial pressures and
%%%                            prejudices, I could design what I
%%%                            considered right, and not necessarily
%%%                            what was requested, conventional, or
%%%                            simply fashionable.  ... ETH's long
%%%                            tradition of keeping teaching and
%%%                            research closely tied together was of
%%%                            considerable importance.''
%%%                            [Wirth:2007:MO, p. 3.9]
%%%
%%%                            ``The cancerous growth of complexity is
%%%                            not a thing to be admired; it must be
%%%                            fought wherever possible.''
%%%                            A Brief History of Software Engineering
%%%                            [Wirth:2008:BHS, p. 38]
%%%
%%%                            ``The crazy drive for more complexity ---
%%%                            euphemistically called sophistication ---
%%%                            long ago had also afflicted the most
%%%                            essential tool of the software engineer:
%%%                            the programming language.''
%%%                            A Brief History of Software Engineering
%%%                            [Wirth:2008:BHS, p. 38]
%%%
%%%                        The bibliographer gratefully acknowledges
%%%                        many useful e-mail exchanges with Paul
%%%                        McJones, who in the late 1980s and early
%%%                        1990s was part of the team that designed
%%%                        libraries for Modula-3.  Other industry teams
%%%                        handled language design and compiler
%%%                        implementation.  Paul McJones is a founding
%%%                        member of the Software Preservation Group,
%%%                        and a contributor to the Computer History
%%%                        Museum in Mountain View, CA, USA.  He
%%%                        reported the existence and location of the
%%%                        Pascal Newsletter archive, and was helpful in
%%%                        locating a compiler for Modula-3.  He also
%%%                        provided access to page scans of issues of
%%%                        the ALGOL Bulletin (2332 separate pages from
%%%                        63 issues) that we were able to convert from
%%%                        GIF images to PDF files, and then to do
%%%                        optical character recognition (OCR) to obtain
%%%                        searchable PDF files that in turn could be
%%%                        further converted to plain text with
%%%                        ``pdftotext -layout''.  While there are a
%%%                        substantial number of errors in the
%%%                        recognized text due to the quality of the
%%%                        original page images, which were produced on
%%%                        typewriter devices from the first in March
%%%                        1959 to the final issue in August 1988, there
%%%                        is still sufficient correct text to make
%%%                        searching feasible, and reasonably reliable.
%%%
%%%                        The checksum field above contains a CRC-16
%%%                        checksum as the first value, followed by the
%%%                        equivalent of the standard UNIX wc (word
%%%                        count) utility output of lines, words, and
%%%                        characters.  This is produced by Robert
%%%                        Solovay's checksum utility.",
%%%  }
%%% ====================================================================
@Preamble{
    "\ifx \undefined \booktitle \def \booktitle #1{{{\em #1}}}    \fi" #
    "\ifx \undefined \cprime    \def \cprime {$'$}                \fi" #
    "\ifx \undefined \cyr       \let \cyr = \rm                   \fi" #
    "\ifx \undefined \mathbb    \def \mathbb    #1{{\bf #1}}      \fi" #
    "\ifx \undefined \pkg       \def \pkg       #1{{{\tt #1}}}    \fi" #
    "\ifx \undefined \TM        \def \TM          {${}^{\sc TM}$} \fi"
}

%%% ====================================================================
%%% Acknowledgement abbreviations:
@String{ack-nhfb = "Nelson H. F. Beebe,
                    University of Utah,
                    Department of Mathematics, 110 LCB,
                    155 S 1400 E RM 233,
                    Salt Lake City, UT 84112-0090, USA,
                    Tel: +1 801 581 5254,
                    e-mail: \path|beebe@math.utah.edu|,
                            \path|beebe@acm.org|,
                            \path|beebe@computer.org| (Internet),
                    URL: \path|https://www.math.utah.edu/~beebe/|"}

@String{ack-pm = "Paul McJones,
                  e-mail: \path|paul@mcjones.org|"}

%%% ====================================================================
%%% Institute abbreviations:
@String{inst-ATT-BELL           = "AT\&T Bell Laboratories"}
@String{inst-ATT-BELL:adr       = "Murray Hill, NJ, USA"}

@String{inst-BERKELEY           = "University of California"}
@String{inst-BERKELEY:adr       = "Berkeley, CA, USA"}

@String{inst-ETH                = "ETH Z{\"u}rich"}
@String{inst-ETH:adr            = "Z{\"u}rich, Switzerland"}

@String{inst-STAN-CS            = "Stanford University, Department of
                                  Computer Science"}
@String{inst-STAN-CS:adr        = "Stanford, CA, USA"}

%%% ====================================================================
%%% Journal abbreviations:
@String{j-ABSTR-APPL-ANAL       = "Abstract and Applied Analysis"}

@String{j-ACM-SIGSOFT           = "ACM SIGSOFT Software Engineering Notes"}

@String{j-ACTA-INFO             = "Acta Informatica"}

@String{j-ADA-USER              = "Ada User"}

@String{j-ADV-COMPUT-MATH       = "Advances in Computational Mathematics"}

@String{j-ALGOL-BULLETIN        = "ALGOL Bulletin (Amsterdam: Mathematisch
                                  Centrum)"}

@String{j-ANN-MATH-STAT         = "Annals of Mathematical Statistics"}

@String{j-ANNU-REV-AUTOM-PROGRAM = "Annual Review in Automatic Programming"}

@String{j-APPL-MATH-COMP        = "Applied Mathematics and Computation"}

@String{j-APPL-MATH-LETT        = "Applied Mathematics Letters"}

@String{j-APPL-NUM-MATH         = "Applied Numerical Mathematics: Transactions
                                  of IMACS"}

@String{j-BIT                   = "BIT (Nordisk tidskrift for
                                  informationsbehandling)"}

@String{j-BIT-NUM-MATH          = "BIT Numerical Mathematics"}

@String{j-BULL-INST-MATH-APPL   = "Bulletin of the Institute of Mathematics and
                                  its Applications"}

@String{j-BYTE                  = "Byte Magazine"}

@String{j-C-R-ACAD-SCI-PARIS-SER-AB = "Comptes Rendus Hebdomadaires des
                                  S{\'e}ances de l'Acad{\'e}mie des
                                  Sciences. S{\'e}ries A et B"}

@String{j-CACM                  = "Communications of the ACM"}

@String{j-CALCOLO               = "Calcolo: a quarterly on numerical analysis
                                  and theory of computation"}

@String{j-CAN-J-MATH            = "Canadian Journal of Mathematics = Journal
                                  canadien de math{\'e}matiques"}

@String{j-COMP-ARCH-NEWS        = "ACM SIGARCH Computer Architecture News"}

@String{j-COMP-J                = "The Computer Journal"}

@String{j-COMP-LANG-MAG         = "Computer Language Magazine"}

@String{j-COMP-LANGS            = "Computer Languages"}

@String{j-COMP-PHYS-COMM        = "Computer Physics Communications"}

@String{j-COMP-STANDARDS-INTERFACES = "Computer Standards and Interfaces"}

@String{j-COMP-SURV             = "ACM Computing Surveys"}

@String{j-COMPUTER              = "Computer"}

@String{j-COMPUTING             = "Computing"}

@String{j-COMPUT-MATH-APPL      = "Computers and Mathematics and Applications"}

@String{j-COMPUT-MATH-APPL-B    = "Computers and Mathematics with Applications.
                                  Part B"}

@String{j-COMPUT-PHYS           = "Computers in Physics"}

@String{j-CUJ                   = "C Users Journal"}

@String{j-DATA-PROCESS          = "Data Processing"}

@String{j-DDJ                   = "Dr. Dobb's Journal of Software Tools"}

@String{j-ELECTRON-TRANS-NUMER-ANAL = "Electronic Transactions on Numerical
                                  Analysis"}

@String{j-ELECTRONICS           = "Electronics"}

@String{j-ENG-ANAL-BOUND-ELEM   = "Engineering Analysis with Boundary Elements"}

@String{j-FAR-EAST-J-APPL-MATH  = "Far East Journal of Applied Mathematics"}

@String{j-FIB-QUART             = "Fibonacci Quarterly"}

@String{j-GUARDIAN              = "The Guardian"}

@String{j-IEEE-ANN-HIST-COMPUT  = "IEEE Annals of the History of Computing"}

@String{j-IEEE-SIGNAL-PROCESS-LETT = "IEEE Signal Processing Letters"}

@String{j-IEEE-SOFTWARE         = "IEEE Software"}

@String{j-IEEE-TRANS-COMPUT     = "IEEE Transactions on Computers"}

@String{j-IEEE-TRANS-ELEC-COMPUT = "IEEE Transactions on Electronic Computers"}

@String{j-IEEE-TRANS-SIG-PROC   = "IEEE Transactions on Signal Processing"}

@String{j-IEEE-TRANS-SOFTW-ENG  = "IEEE Transactions on Software Engineering"}

@String{j-IMA-J-NUMER-ANAL      = "IMA Journal of Numerical Analysis"}

@String{j-INDAG-MATH            = "Indagationes Mathematic{\ae}"}

@String{j-INFO-PROC-LETT        = "Information Processing Letters"}

@String{j-INFO-SOFTWARE-TECH    = "Information and Software Technology"}

@String{j-INT-J-COMPUT-MATH     = "International Journal of Computer
                                  Mathematics"}

@String{j-INTERVAL-COMP         = "Interval Computations = Interval'nye
                                  vychisleniia"}

@String{j-IZV-VYSS-UCEBN-ZAVED-MAT = "Izvestiia Vysshikh Uchebnykh Zavedenii.
                                  Matematika"}

@String{j-J-ACM                 = "Journal of the ACM"}

@String{j-J-APPROX-THEORY       = "Journal of Approximation Theory"}

@String{j-J-COMPUT-APPL-MATH    = "Journal of Computational and Applied
                                  Mathematics"}

@String{j-J-COMPUT-GRAPH-STAT = "Journal of Computational and Graphical
                                Statistics"}

@String{j-J-COMPUT-PHYS         = "Journal of Computational Physics"}

@String{j-J-FRANKLIN-INST       = "Journal of {The Franklin Institute}"}

@String{j-J-FUNCT-PROGRAM       = "Journal of Functional Programming"}

@String{j-J-INF-OPTIM-SCI       = "Journal of Information \& Optimization
                                  Sciences"}

@String{j-J-INST-MATH-APPL      = "Journal of the Institute of Mathematics and
                                  its Applications"}

@String{j-J-MATH-ANAL-APPL      = "Journal of Mathematical Analysis and
                                  Applications"}

@String{j-J-MATH-PHYS           = "Journal of Mathematical Physics"}

@String{j-J-PAS-ADA-MOD         = "Journal of Pascal, Ada and Modula-2"}

@String{j-J-RES-NATL-BUR-STAND-B = "Journal of Research of the National Bureau
                                  of Standards. Section B, Mathematics and
                                  Mathematical Physics"}

@String{j-J-RES-NATL-INST-STAND-TECHNOL = "Journal of research of the National
                                  Institute of Standards and Technology"}

@String{j-J-UCS                 = "J.UCS: Journal of Universal Computer
                                  Science"}

@String{j-LECT-NOTES-COMP-SCI   = "Lecture Notes in Computer Science"}

@String{j-LECT-NOTES-MATH       = "Lecture Notes in Mathematics"}

@String{j-LINUX-J               = "Linux Journal"}

@String{j-LOGIN                 = ";login: the USENIX Association newsletter"}

@String{j-MATH-COMP-SIM         = "Mathematics and Computers in Simulation"}

@String{j-MATH-COMPUT           = "Mathematics of Computation"}

@String{j-MATH-TABLES-OTHER-AIDS-COMPUT = "Mathematical Tables and Other Aids to
                                  Computation"}

@String{j-MICROPROC-MICROPROG   = "Microprocessing and Microprogramming"}

@String{j-MICROPROC-MICROSYS    = "Microprocessors and Microsystems"}

@String{j-NAMS                  = "Notices of the American Mathematical
                                  Society"}

@String{j-NORDIC-J-COMPUT       = "Nordic Journal of Computing"}

@String{j-NUM-MATH              = "{Numerische Mathematik}"}

@String{j-NUMER-ALGORITHMS      = "Numerical Algorithms"}

@String{j-OPER-SYS-REV          = "Operating Systems Review"}

@String{j-PARALLEL-COMPUTING    = "Parallel Computing"}

@String{j-PHILOS-TRANS-R-SOC-LOND-SER-A = "Philosophical Transactions of the
                                  Royal Society A: Mathematical,
                                  Physical, and Engineering Sciences"}

@String{j-PROC-AM-MATH-SOC      = "Proceedings of the American Mathematical
                                  Society"}

@String{j-PROC-CAMBRIDGE-PHIL-SOC = "Proceedings of the Cambridge Philosophical
                                  Society. Mathematical and physical sciences"}

@String{j-PROC-NATL-ACAD-SCI-USA = "Proc. Natl. Acad. Sci. USA"}

@String{j-QUART-J-MECH-APPLIED-MATH = "Quarterly Journal of Mechanics and
                                  Applied Mathematics"}

@String{j-ROCKY-MOUNTAIN-J-MATH = "Rocky Mountain Journal of Mathematics"}

@String{j-SCI-AMER              = "Scientific American"}

@String{j-SCI-COMPUT-PROGRAM    = "Science of Computer Programming"}

@String{j-SIAM-J-NUM-ANALYSIS-B = "Journal of the Society for Industrial and
                                  Applied Mathematics: Series B, Numerical
                                  Analysis"}

@String{j-SIAM-J-NUMER-ANAL     = "SIAM Journal on Numerical Analysis"}

@String{j-SIAM-J-SCI-COMP       = "SIAM Journal on Scientific Computing"}

@String{j-SIAM-REVIEW           = "SIAM Review"}

@String{j-SIGCSE                = "SIGCSE Bulletin (ACM Special Interest Group
                                  on Computer Science Education)"}

@String{j-SIGMICRO              = "ACM SIG Micro Newsletter"}

@String{j-SIGNUM                = "ACM SIGNUM Newsletter"}

@String{j-SIGPLAN               = "ACM SIG{\-}PLAN Notices"}

@String{j-SIGSAM                = "SIGSAM Bulletin"}

@String{j-SIGSOFT               = "ACM SIGSOFT Software Engineering Notes"}

@String{j-SOFTW-CONCEPTS-TOOLS  = "Software --- Concepts and Tools"}

@String{j-SPE                   = "Soft\-ware\emdash Prac\-tice and Experience"}

@String{j-STRUCT-PROGRAM        = "Structured Programming"}

@String{j-TAMKANG-J-MATH        = "Tamkang Journal of Mathematics"}

@String{j-THEOR-COMP-SCI        = "Theoretical Computer Science"}

@String{j-TOMS                  = "ACM Transactions on Mathematical Software"}

@String{j-TOPLAS                = "ACM Transactions on Programming
                                  Languages and Systems"}

@String{j-TUGboat               = "TUGboat"}

@String{j-Z-ANGE-MATH-MECH      = "{Zeitschrift f{\"u}r Angewandte Mathematik
                                  und Mechanik}"}

@String{j-ZASTOS-MAT            = "Zastosowania Matematyki"}

%%% ====================================================================
%%% Publisher abbreviations:
@String{pub-ACADEMIC            = "Academic Press"}
@String{pub-ACADEMIC:adr        = "New York, USA"}

@String{pub-ACM                 = "ACM Press"}
@String{pub-ACM:adr             = "New York, NY 10036, USA"}

@String{pub-AKADEMIE-VERLAG     = "Akademie-Verlag"}
@String{pub-AKADEMIE-VERLAG:adr = "Berlin, Germany"}

@String{pub-ANSI                = "American National Standards Institute"}
@String{pub-ANSI:adr            = "1430 Broadway, New York, NY 10018, USA"}

@String{pub-ATT-BELL            = "AT\&T Bell Laboratories"}
@String{pub-ATT-BELL:adr        = "Murray Hill, NJ 07974, USA"}

@String{pub-AW                  = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}
@String{pub-AW:adr              = "Reading, MA, USA"}

@String{pub-BC                  = "Brooks\slash Cole"}
@String{pub-BC:adr              = "Pacific Grove, CA, USA"}

@String{pub-BIBLIO-INST         = "Bibliographisches Institut"}
@String{pub-BIBLIO-INST:adr     = "Mannheim, Germany"}

@String{pub-BIRKHAUSER          = "Birkh{\"a}user"}
@String{pub-BIRKHAUSER:adr      = "Cambridge, MA, USA; Berlin, Germany; Basel,
                                  Switzerland"}

@String{pub-BSI                 = "British Standards Institute"}
@String{pub-BSI:adr             = "London, UK"}

@String{pub-CAMBRIDGE           = "Cambridge University Press"}
@String{pub-CAMBRIDGE:adr       = "Cambridge, UK"}

@String{pub-DOVER               = "Dover"}
@String{pub-DOVER:adr           = "New York, NY, USA"}

@String{pub-ELSEVIER            = "Elsevier"}
@String{pub-ELSEVIER:adr        = "Amsterdam, The Netherlands"}

@String{pub-FSF                 = "{Free Software Foundation, Inc.}"}
@String{pub-FSF:adr             = "51 Franklin Street, Fifth Floor, Boston,
                                  MA 02110-1301, USA, Tel: (617) 876-3296"}

@String{pub-HAYDEN              = "Hayden Books"}
@String{pub-HAYDEN:adr          = "4300 West 62nd Street,
                                  Indianapolis, IN 46268, USA"}

@String{pub-HMSO                = "Her Majesty's Stationery Office"}
@String{pub-HMSO:adr            = "London, UK"}

@String{pub-IEEE                = "IEEE Computer Society Press"}
@String{pub-IEEE:adr            = "1109 Spring Street, Suite 300,
                                  Silver Spring, MD 20910, USA"}

@String{pub-IEEE-STD            = "IEEE"}
@String{pub-IEEE-STD:adr        = "New York, NY, USA"}

@String{pub-ISO                 = "International Organization for
                                  Standardization"}
@String{pub-ISO:adr             = "Geneva, Switzerland"}

@String{pub-JW                  = "John Wiley"}
@String{pub-JW:adr              = "New York, NY, USA"}

@String{pub-MACMILLAN           = "MacMillan Publishing Company"}
@String{pub-MACMILLAN:adr       = "New York, NY, USA"}

@String{pub-NBS                 = "U.S. National Bureau of Standards"}
@String{pub-NBS:adr             = "Gaithersburg, MD, USA"}

@String{pub-NORTH-HOLLAND       = "North-Hol{\-}land"}
@String{pub-NORTH-HOLLAND:adr   = "Amsterdam, The Netherlands"}

@String{pub-OLDENBOURG          = "R. Oldenbourg"}
@String{pub-OLDENBOURG:adr      = "M{\"u}nchen, Germany"}

@String{pub-OXFORD              = "Oxford University Press"}
@String{pub-OXFORD:adr          = "Walton Street, Oxford OX2 6DP, UK"}

@String{pub-PH                  = "Pren{\-}tice-Hall"}
@String{pub-PH:adr              = "Upper Saddle River, NJ 07458, USA"}

@String{pub-PHI                 = "Pren{\-}tice-Hall International"}
@String{pub-PHI:adr             = "Upper Saddle River, NJ 07458, USA"}

@String{pub-REIDEL              = "D. Reidel"}
@String{pub-REIDEL:adr          = "Dordrecht, The Netherlands; Boston, MA, USA;
                                  Lancaster, UK; Tokyo, Japan"}

@String{pub-SIAM                = "Society for Industrial and Applied
                                  Mathematics"}
@String{pub-SIAM:adr            = "Philadelphia, PA, USA"}

@String{pub-SV                  = "Springer-Verlag"}
@String{pub-SV:adr              = "Berlin, Germany~/ Heidelberg, Germany~/
                                   London, UK~/ etc."}

@String{pub-TEUBNER             = "B. G. Teubner"}
@String{pub-TEUBNER:adr         = "Stuttgart, Germany; Leipzig, Germany"}

@String{pub-USENIX              = "USENIX"}
@String{pub-USENIX-EL-CERRITO:adr = "P.O. Box 7, El Cerrito 94530, CA,
                                  USA"}

@String{pub-WILEY               = "Wiley"}
@String{pub-WILEY:adr           = "New York, NY, USA"}

%%% ====================================================================
%%% Series abbreviations:
@String{ser-LNCS                = "Lecture Notes in Computer Science"}

%%% ====================================================================
%%%              Part 1: Publications by Niklaus Wirth
%%%
%%% Bibliography entries, sorted by year, and then by citation label:
@Article{Huskey:1963:SDB,
  author =       "H. D. Huskey and Ralph Love and Niklaus Wirth",
  title =        "A Syntactic Description of {BC NELIAC}",
  journal =      j-CACM,
  volume =       "6",
  number =       "7",
  pages =        "367--375",
  month =        jul,
  year =         "1963",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/366663.366664",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Fri Nov 25 18:19:47 MST 2005",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib",
  abstract =     "In 1958, at the time of the formation of an
                 International Algorithmic Language for Computing
                 Machines (subsequently named Algol), a project was
                 started at the U.S. Naval Electronics Laboratory in San
                 Diego to develop a translator for IAL. Overtaking the
                 definition effort, they defined their own language,
                 doing so with a particular control application in mind.
                 Thus, a problem-oriented language based on Algol was
                 defined and translators were built for a number of
                 computers (Sperry-Rand. Datatron, CDC, and IBM, among
                 others). The resulting language (named NELIAC) was
                 algebraic in character (like Algol) but much simpler
                 and straightforward (and consequently, much easier to
                 learn and to use). Minimum effort principles were used
                 in the design --- thus, things that are said frequently
                 can be said simply, and historical mathematical
                 notations are respected as far as feasible. Using
                 load-and-go techniques, single-pass fast compilation
                 was possible (more than 5000 object commands per
                 minute), and fast-running programs were obtained.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  numpages =     "9",
}

@PhdThesis{Wirth:1963:GAa,
  author =       "Niklaus Emil Wirth",
  title =        "A Generalization of {Algol}",
  type =         "{Ph.D.} thesis",
  school =       "University of California, Berkeley",
  address =      "Berkeley, CA",
  pages =        "107",
  year =         "1963",
  ISBN =         "1-0851-1027-3",
  ISBN-13 =      "978-1-0851-1027-3",
  MRclass =      "99-05",
  MRnumber =     "2613866",
  bibdate =      "Thu Jan 04 16:56:48 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.proquest.com/pqdtglobal/docview/302115469",
  acknowledgement = ack-nhfb,
  advisor =      "Harry Douglas Huskey and Edward Albert Feigenbaum",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Not online outside Berkeley, but there are papers on
                 that work \cite{Wirth:1966:EGAa, Wirth:1966:EEG,
                 Wirth:1966:EGAb, Wirth:1985:PLD}",
}

@Article{Wirth:1963:GAb,
  author =       "Niklaus Wirth",
  title =        "A Generalization of {ALGOL}",
  journal =      j-CACM,
  volume =       "6",
  number =       "9",
  pages =        "547--554",
  month =        sep,
  year =         "1963",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/367593.367619",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Fri Nov 25 18:19:49 MST 2005",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib",
  abstract =     "The publication of the Report on the Algorithmic
                 Language ALGOL 60 (1) was one of the very important and
                 subsequently most discussed events in the field of
                 programming techniques. ALGOL was designed to spare the
                 programmer from the myriad of tedious detail
                 considerations required for machine-language coding; it
                 achieves this aim to an extremely high degree and
                 should therefore be expected to have become the
                 dominant tool in the art of programming, not only for
                 publication purposes but as the actual source language
                 of processing systems.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  numpages =     "8",
}

@Article{Wirth:1964:CAM,
  author =       "Niklaus Wirth",
  title =        "Certification of {Algorithm 146}: {Multiple}
                 integration",
  journal =      j-CACM,
  volume =       "7",
  number =       "5",
  pages =        "296--296",
  month =        may,
  year =         "1964",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/364099.364320",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Fri Nov 25 18:19:53 MST 2005",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  numpages =     "3",
}

@Article{Wirth:1964:PSM,
  author =       "N. Wirth",
  title =        "A Proposal on String Manipulation within {ALGOL 60}",
  journal =      j-ALGOL-BULLETIN,
  number =       "17",
  publisher =    "Computer History Museum",
  address =      "Mountain View, CA, USA",
  pages =        "13--17",
  month =        jul,
  year =         "1964",
  CODEN =        "ALGOBG",
  ISSN =         "0084-6198",
  ISSN-L =       "0084-6198",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "See comments \cite{vandeLaarschot:1965:SCS} and reply
                 \cite{Wirth:1965:RFC}.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "ALGOL Bulletin (Amsterdam: Mathematisch Centrum)",
  journal-URL =  "http://portal.acm.org/affiliated/ALGOL",
  numpages =     "5",
}

@TechReport{Forsythe:1965:AGPa,
  author =       "George E. Forsythe and Niklaus Wirth",
  title =        "Automatic Grading Programs",
  type =         "Technical Report",
  number =       "CS-TR-65-17",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "ii + 17",
  month =        feb,
  year =         "1965",
  bibdate =      "Fri Jan 12 06:41:18 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/f/forsythe-george-elmer.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://i.stanford.edu/pub/cstr/reports/cs/tr/65/17/CS-TR-65-17.pdf",
  abstract =     "The ALGOL grader programs are presented for the
                 computer evaluation of student ALGOL programs. One is
                 for a beginner's program; it furnishes random data and
                 checks answers. The other provides a searching test of
                 the reliability and efficiency of a rootfinding
                 procedure. There is a statement of the essential
                 properties of a computer system, in order that grader
                 programs can be effectively used.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Forsythe:1965:AGPb,
  author =       "George E. Forsythe and Niklaus Wirth",
  title =        "Automatic Grading Programs",
  journal =      j-CACM,
  volume =       "8",
  number =       "5",
  pages =        "275--278",
  month =        may,
  year =         "1965",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/364914.364937",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Sun Sep 18 23:26:09 1994",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/bevan.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/f/forsythe-george-elmer.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib",
  abstract =     "Two ALGOL grader programs are presented for the
                 computer evaluation of student ALGOL programs. One is
                 for a beginner's program; it furnishes random data and
                 checks answers. The other provides a searching test of
                 the reliability and efficiency of an integration
                 procedure. There is a statement of the essential
                 properties of a computer system, in order that grader
                 programs can be effectively used.",
  acknowledgement = ack-nhfb,
  author-dates = "George Elmer Forsythe (8 January 1917--9 April 1972);
                 Niklaus Wirth (15 February 1934--1 January 2024)",
  checked =      "19940405",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  numpages =     "4",
}

@Article{Wirth:1965:AFP,
  author =       "Niklaus Wirth",
  title =        "{Algorithm 265}: {Find} precedence functions [{L2}]",
  journal =      j-CACM,
  volume =       "8",
  number =       "10",
  pages =        "604--605",
  month =        oct,
  year =         "1965",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/365628.365647",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Fri Nov 25 18:20:02 MST 2005",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  numpages =     "2",
}

@Article{Wirth:1965:AO,
  author =       "Niklaus E. Wirth",
  title =        "{Algorithm 249}: {Outreal} {$N$} [15]",
  journal =      j-CACM,
  volume =       "8",
  number =       "2",
  pages =        "104--104",
  month =        feb,
  year =         "1965",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/363744.363754",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Fri Nov 25 18:19:58 MST 2005",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  numpages =     "4",
}

@TechReport{Wirth:1965:CDA,
  author =       "Niklaus Wirth and C. A. R. Hoare",
  title =        "A Contribution to the Development of {ALGOL}",
  type =         "Report",
  number =       "35",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  month =        dec,
  year =         "1965",
  bibdate =      "Tue May 14 17:10:58 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Revised February 1966. Published in
                 \cite{Wirth:1966:CDA}.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Cited in ALGOL Bulletin {\bf 23}, page 12.",
}

@Article{Wirth:1965:CPV,
  author =       "N. Wirth",
  title =        "Comments on a Paper by {A. van Wijngaarden}",
  journal =      j-ALGOL-BULLETIN,
  number =       "19",
  publisher =    "Computer History Museum",
  address =      "Mountain View, CA, USA",
  pages =        "11--12",
  month =        jan,
  year =         "1965",
  CODEN =        "ALGOBG",
  ISSN =         "0084-6198",
  ISSN-L =       "0084-6198",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "ALGOL Bulletin (Amsterdam: Mathematisch Centrum)",
  journal-URL =  "http://portal.acm.org/affiliated/ALGOL",
  numpages =     "2",
}

@TechReport{Wirth:1965:EGA,
  author =       "Niklaus Wirth and Helmut Weber",
  title =        "{EULER}: a Generalization of {ALGOL}, and its Formal
                 Definition",
  type =         "Technical Report",
  number =       "CS20",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "xv + 115",
  day =          "27",
  month =        apr,
  year =         "1965",
  bibdate =      "Fri Jan 12 06:49:18 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://i.stanford.edu/pub/cstr/reports/cs/tr/65/20/CS-TR-65-20.pdf",
  abstract =     "A method for defining programming languages is
                 developed which introduces a rigorous relationship
                 between structure and meaning. The structure of a
                 language is defined by a phrase structure syntax, the
                 meaning in terms of the effects which the execution of
                 a sequence of interpretation rules exerts upon a fixed
                 set of variables, called the Environment. There exists.
                 a one-to-one correspondence between syntactic rules and
                 interpretation rules, and the sequence of executed
                 interpretation rules is determined by the sequence of
                 corresponding syntactic reductions which constitute a
                 parse.\par

                 The individual interpretation rules are explained in
                 terms of an elementary and obvious algorithmic
                 notation. A constructive method for evaluating a text
                 is provided, and for certain decidable classes of
                 languages their unambiguity is proven. As an example, a
                 generalization of ALGOL is described in full detail to
                 demonstrate that concepts like block-structure,
                 procedures, parameters etc. can be defined adequately
                 and precisely by this method.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:1965:PLC,
  author =       "Niklaus Wirth",
  title =        "A Programming Language for the 360 Computers",
  type =         "Report",
  number =       "CS-33",
  institution =  "Department of Computer Science, Stanford University",
  address =      "Stanford, CA 94305, USA",
  pages =        "ii + 25",
  day =          "24",
  month =        dec,
  year =         "1965",
  bibdate =      "Thu Jan 11 15:46:36 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://bitsavers.org/pdf/stanford/cs_techReports/CS33_Wirth_PL360_Dec65.pdf",
  abstract =     "This paper is a preliminary definition of a
                 programming language which is specifically designed for
                 use on IBM 360 computers, and is therefore
                 appropriately called PL360.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:1965:PRS,
  author =       "Niklaus Wirth",
  title =        "A Proposal for a Report on a Successor of {ALGOL 60}",
  type =         "Report",
  number =       "MR75",
  institution =  "Mathematisch Centrum",
  address =      "Amsterdam, The Netherlands",
  pages =        "ii + 36",
  month =        aug,
  year =         "1965",
  bibdate =      "Mon May 13 09:07:20 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "IFIP WG 2.1 Working Document.",
  URL =          "https://ir.cwi.nl/pub/9209",
  abstract =     "This paper contains in the sequel a proposal for a
                 report on a successor of ALGOL 60. It was prepared upon
                 the suggestion of the IFIP Working Group 2.1 on ALGOL,
                 and is intended to be a Working Document of WG 2.1. As
                 far as possible, i.e., without infringing on the
                 consistency of the proposed language, opinions and
                 suggestions expressed at the WG 2.1 meeting at
                 Princeton in May 1965 were used as guide lines. The
                 following are a few comments on important issues in the
                 design of the language.",
  acknowledgement = ack-nhfb # " and " # ack-pm,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  tableofcontents = "Introductory Comments / 1 \\
                 Contents / 7 \\
                 1. Introduction / 8 \\
                 2. The sets of basic symbols and syntactic entities /
                 11 \\
                 2.1. Basic symbols / 11 \\
                 2.2. Syntactic entities / 11 \\
                 3. Identifiers / 12 \\
                 4. Quantities, values, and types / 14 \\
                 4.1. Numbers / 15 \\
                 4.2. Logical values / 15 \\
                 4.3. Bit sequences / 15 \\
                 4.4. Strings / 16 \\
                 5. Declarations / 17 \\
                 5.1. Simple variable declarations / 17 \\
                 5.2. Tree and array declarations / 18 \\
                 5.3. Procedure declarations / 19 \\
                 6. Expressions / 21 \\
                 6.1. Variables / 22 \\
                 6.2. Function designators / 22 \\
                 6.3. Arithmetic expressions 6.4. Logical expressions /
                 25 \\
                 6.5. Bit expressions / 26 \\
                 6.6. String expressions / 27 \\
                 6.7. Tree expressions / 28 \\
                 7. Statements / 29 \\
                 7.1. Blocks / 29 \\
                 7.2. Assignment statements / 30 \\
                 7.3. Procedure statements 7.4. Goto statements / 30 \\
                 7.5. If statements / 33 \\
                 7.6. Case statements / 33 \\
                 7.7. Iterative statements / 34 \\
                 8. Standard procedures / 35",
}

@Article{Wirth:1965:RFC,
  author =       "N. Wirth",
  title =        "Reply to the foregoing comments [on the
                 string-handling proposal]",
  journal =      j-ALGOL-BULLETIN,
  number =       "19",
  publisher =    "Computer History Museum",
  address =      "Mountain View, CA, USA",
  pages =        "14--14",
  month =        jan,
  year =         "1965",
  ISSN =         "0084-6198",
  ISSN-L =       "0084-6198",
  bibdate =      "Mon May 13 09:48:42 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "See \cite{Wirth:1964:PSM,vandeLaarschot:1965:SCS}.",
  URL =          "https://dl.acm.org/doi/pdf/10.5555/1060998.1061002",
  acknowledgement = ack-nhfb # " and " # ack-pm,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "ALGOL Bulletin (Amsterdam: Mathematisch Centrum)",
  journal-URL =  "http://portal.acm.org/affiliated/ALGOL",
}

@Article{Wirth:1965:RIF,
  author =       "N. Wirth",
  title =        "{R65-24} Introduction to {FORMAC}",
  journal =      j-IEEE-TRANS-ELEC-COMPUT,
  volume =       "EC-14",
  number =       "2",
  pages =        "278--278",
  month =        apr,
  year =         "1965",
  CODEN =        "IEECA8",
  DOI =          "https://doi.org/10.1109/PGEC.1965.263977",
  ISSN =         "0367-7508",
  ISSN-L =       "0367-7508",
  bibdate =      "Thu Jul 14 06:26:23 MDT 2011",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ieeetranscomput.bib",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4038432",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "IEEE Transactions on Electronic Computers",
  journal-URL =  "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=4037753",
}

@Article{Hoare:1966:PSA,
  author =       "C. A. R. Hoare and N. Wirth",
  title =        "A proposal for a Successor to {ALGOL 60}",
  journal =      j-CACM,
  volume =       "9",
  number =       "7",
  pages =        "??--??",
  month =        jul,
  year =         "1966",
  DOI =          "????",
  bibdate =      "Thu May 16 07:51:20 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "????",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Cited in ALGOL Bulletin {\bf 24} 27 September (1966),
                 but not found in ACM Portal database. Perhaps another
                 paper \cite{Wirth:1966:CDA} meant?",
}

@Article{Wirth:1966:ANC,
  author =       "N. Wirth",
  title =        "Additional Notes on ``{A} Contribution to the
                 Development of {ALGOL}",
  journal =      j-ALGOL-BULLETIN,
  number =       "24",
  publisher =    "Computer History Museum",
  address =      "Mountain View, CA, USA",
  pages =        "13--17",
  month =        sep,
  year =         "1966",
  CODEN =        "ALGOBG",
  ISSN =         "0084-6198",
  ISSN-L =       "0084-6198",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "See comments \cite{Kral:1966:NHP}.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "ALGOL Bulletin (Amsterdam: Mathematisch Centrum)",
  journal-URL =  "http://portal.acm.org/affiliated/ALGOL",
  numpages =     "5",
}

@Article{Wirth:1966:CDA,
  author =       "Niklaus Wirth and C. A. R. Hoare",
  title =        "A Contribution to the Development of {ALGOL}",
  journal =      j-CACM,
  volume =       "9",
  number =       "6",
  pages =        "413--432",
  month =        jun,
  year =         "1966",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/365696.365702",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Fri Nov 25 18:20:07 MST 2005",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib",
  note =         "See errata \cite{Wirth:1966:ECD}. This is the defining
                 document for the Algol W language; see
                 \cite{Bauer:1969:AWI}.",
  abstract =     "A programming language similar in many respects to
                 ALGOL 60, but incorporating a large number of
                 improvements based on six years' experience with that
                 language, is described in detail. Part I consists of an
                 introduction to the new language and a summary of the
                 changes made to ALGOL 60, together with a discussion of
                 the motives behind the revisions. Part II is a rigorous
                 definition of the proposed language. Part III describes
                 a set of proposed standard procedures to be used with
                 the language, including facilities for input/output.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  checked =      "4 September 1990",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  numpages =     "20",
}

@Article{Wirth:1966:ECD,
  author =       "Niklaus Wirth and C. A. R. Hoare",
  title =        "Errata: {``A Contribution to the Development of
                 ALGOL''}",
  journal =      j-CACM,
  volume =       "9",
  number =       "12",
  pages =        "878--878",
  month =        dec,
  year =         "1966",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/365916.365942",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Thu Dec 08 10:01:50 2005",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib",
  note =         "See \cite{Wirth:1966:CDA}.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
}

@Article{Wirth:1966:EEG,
  author =       "Niklaus Wirth and Helmut Weber",
  title =        "Errata: {``EULER: a generalization of ALGOL and it
                 formal definition: Part 1''}",
  journal =      j-CACM,
  volume =       "9",
  number =       "12",
  pages =        "878--878",
  month =        dec,
  year =         "1966",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/365916.365942",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Thu Dec 08 10:01:50 2005",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib",
  note =         "See \cite{Wirth:1966:EGAa}.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
}

@Article{Wirth:1966:EGAa,
  author =       "Niklaus Wirth and Helmut Weber",
  title =        "{EULER}: a Generalization of {ALGOL} and Its Formal
                 Definition: {Part 1}",
  journal =      j-CACM,
  volume =       "9",
  number =       "1",
  pages =        "13--25",
  month =        jan,
  year =         "1966",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/365153.365162",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Fri Nov 25 18:20:04 MST 2005",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib",
  note =         "See errata \cite{Wirth:1966:EEG}.",
  abstract =     "A method for defining programming languages is
                 developed which introduces a rigorous relationship
                 between structure and meaning. The structure of a
                 language is defined by a phrase structure syntax, the
                 meaning in terms of the effects which the execution of
                 a sequence of interpretation rules exerts upon a fixed
                 set of variables, called the Environment. There exists
                 a one-to-one correspondence between syntactic rules and
                 interpretation rules, and the sequence of executed
                 interpretation rules is determined by the sequence of
                 corresponding syntactic reductions which constitute a
                 parse. The individual interpretation rules are
                 explained in terms of an elementary and obvious
                 algorithmic notation. A constructive method for
                 evaluating a text is provided, and for certain
                 decidable classes of languages their unambiguity is
                 proved. As an example, a generalization of ALGOL is
                 described in full detail to demonstrate that concepts
                 like block-structure, procedures, parameters, etc. can
                 be defined adequately and precisely by this method.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  numpages =     "13",
}

@Article{Wirth:1966:EGAb,
  author =       "Niklaus Wirth and Helmut Weber",
  title =        "{EULER}: a Generalization of {ALGOL}, and Its Formal
                 Definition: {Part II}",
  journal =      j-CACM,
  volume =       "9",
  number =       "2",
  pages =        "89--99",
  month =        feb,
  year =         "1966",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/365170.365202",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Fri Nov 25 18:20:04 MST 2005",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib",
  abstract =     "In this section the algorithmic language EULER is
                 described first informally and then formally by its
                 syntax and semantics. An attempt has been made to
                 generalize and extend some of the concepts of ALGOL,
                 thus creating a language which is simpler and yet more
                 flexible than ALGOL 60. A second objective in
                 developing this language was to show that a useful
                 programming language which can be processed with
                 reasonable efficiency can be defined in rigorous
                 formality.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  numpages =     "11",
}

@Article{Wirth:1966:LEN,
  author =       "Niklaus Wirth",
  title =        "Letter to the {Editor}: {A} note on {``Program
                 structures for parallel processing''}",
  journal =      j-CACM,
  volume =       "9",
  number =       "5",
  pages =        "320--321",
  month =        may,
  year =         "1966",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/355592.365594",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Fri Nov 25 18:20:06 MST 2005",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  numpages =     "2",
}

@TechReport{Wirth:1966:PLC,
  author =       "Niklaus Wirth",
  title =        "A Programming Language for the 360 Computers",
  type =         "Technical Report",
  number =       "CS53",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "ii + 81",
  day =          "20",
  month =        dec,
  year =         "1966",
  bibdate =      "Fri Jan 12 06:32:44 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://i.stanford.edu/pub/cstr/reports/cs/tr/66/53/CS-TR-66-53.pdf",
  abstract =     "A programming language for the IBM 360 computers and
                 its implementation are described. The language, called
                 PL360, provides the facilities of a symbolic machine
                 language, but displays a structure defined by a
                 recursive syntax. The compiler, consisting of a
                 precedence syntax analyser and a set of interpretation
                 rules with strict one-to-one correspondence to the set
                 of syntactic rules directly reflects the definition of
                 the language.\par

                 $k$-th syntax rule: $ S_0 : := S_1 S_2 \ldots {} S_n$
                 \par

                 $k$-th interpretation rule: $ V_0 := f_k(V_1, V_2,
                 \ldots {}, V_n)$ \par

                 PL360 was designed to improve the readability of
                 programs which must take into account specific
                 characteristics and limitations of a particular
                 computer. It represents an attempt to further the state
                 of the art of programming by encouraging and even
                 forcing the programmer to improve his style of
                 exposition and his principles and discipline in program
                 organization, and not by merely providing a multitude
                 of `new' features and facilities. The language is
                 therefore particularly well suited for tutorial
                 purposes.\par

                 The attempt to present a computer as a systematically
                 organized entity is also hoped to be of interest to
                 designers of future computers.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:1967:CBC,
  author =       "Niklaus Wirth",
  title =        "On certain basic concepts of programming languages",
  type =         "Technical Report",
  number =       "CS-TR-67-65",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "ii + 30",
  day =          "1",
  month =        may,
  year =         "1967",
  bibdate =      "Fri Jan 12 06:27:41 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://i.stanford.edu/pub/cstr/reports/cs/tr/67/65/CS-TR-67-65.pdf",
  abstract =     "Recent developments of programming languages have led
                 to the emergence of languages whose growth showed
                 cancerous symptoms: the proliferation of new elements
                 defied every control exercised by the designers, and
                 the nature of the new cells often proved to be
                 incompatible with the existing body. In order that a
                 language be free from such symptoms, it is necessary
                 that it be built upon basic concepts which are sound
                 and mutually independent. The rules governing the
                 language must be simple, generally applicable and
                 consistent. In order that simplicity and consistency
                 can be achieved, the fundamental concepts of a language
                 must be well-chosen and defined with utmost clarity. In
                 practice, it turns out that there exists an optimum in
                 the number of basic concepts, below which not only
                 implementability of these concepts on actual computers,
                 but also their appeal to human intuition becomes
                 questionable because of their high degree of
                 generalization. These informal notes do not abound with
                 ready-made solutions, but it is hoped they shed some
                 light on several related subjects and inherent
                 difficulties. They are intended to summarize and
                 interrelate various ideas which are partly present in
                 existing languages, partly debated within the IFIP
                 Working Group 2.1, and partly new. While emphasis is
                 put on clarification of conceptual issues,
                 consideration of notation cannot be ignored. However,
                 no formal or concise definitions of notation (syntax)
                 will be given or used; the concepts will instead be
                 illustrated by examples, using notation based on Algol
                 as far as possible.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Wirth:1967:IA,
  author =       "Niklaus Wirth",
  title =        "Information for authors",
  journal =      j-IEEE-TRANS-ELEC-COMPUT,
  volume =       "EC-14",
  number =       "3",
  pages =        "c2--c2",
  month =        jun,
  year =         "1967",
  CODEN =        "IEECA8",
  ISSN =         "0367-7508",
  ISSN-L =       "0367-7508",
  bibdate =      "Fri Jan 5 16:24:48 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "IEEE Transactions on Electronic Computers",
  journal-URL =  "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=4037753",
}

@TechReport{Wirth:1967:PLC,
  author =       "Niklaus Wirth",
  title =        "A Programming Language for the 360 Computers",
  type =         "Report",
  number =       "CS-TR-65",
  institution =  "Department of Computer Science, Stanford University",
  address =      "Stanford, CA 94305, USA",
  year =         "1967",
  bibdate =      "Thu Jan 11 15:46:36 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  abstract =     "This report describes the use and the organization of
                 the operating system which serves as the environment of
                 the PL360 language defined in the Companion Report CS
                 53.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:1967:PS,
  author =       "Niklaus Wirth",
  title =        "The {PL360} System",
  type =         "Report",
  number =       "CS-TR-67-68",
  institution =  "Department of Computer Science, Stanford University",
  address =      "Stanford, CA 94305, USA",
  pages =        "ix + 63",
  day =          "5",
  month =        jun,
  year =         "1967",
  bibdate =      "Thu Jan 11 15:42:06 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://i.stanford.edu/pub/cstr/reports/cs/tr/67/68/CS-TR-67-68.pdf;
                 http://infolab.stanford.edu/TR/CS-TR-67-68.html",
  abstract =     "This report describes the use and the organization of
                 the operating system which serves as the environment of
                 the PL360 language defined in the companion report, CS
                 53 [Niklaus Wirth, ``A Programming Language for the 360
                 Computers'']",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:1967:SCT,
  author =       "Niklaus Wirth",
  title =        "{Soviet} cybernetics technology: {IX}, {ALGEC} ---
                 summary and critique",
  type =         "Memorandum",
  number =       "RM-5157-PR",
  institution =  "Rand Corporation",
  address =      "Santa Monica, CA, USA",
  pages =        "viii + 43",
  year =         "1967",
  LCCN =         "Q180 .A1R36 no. 5157",
  bibdate =      "Sat Jan 13 13:05:53 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  keywords =     "ALGEC (Computer program language)",
}

@Article{Wirth:1968:ANC,
  author =       "Niklaus Wirth",
  title =        "An Extension of {ALGOL} on the 360 Computer",
  journal =      j-ALGOL-BULLETIN,
  number =       "27",
  publisher =    "Computer History Museum",
  address =      "Mountain View, CA, USA",
  pages =        "4--5",
  month =        feb,
  year =         "1968",
  CODEN =        "ALGOBG",
  ISSN =         "0084-6198",
  ISSN-L =       "0084-6198",
  bibdate =      "Wed May 15 12:22:36 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  abstract =     "The development of a compiler for an extension of
                 ALGOL has been completed at the Computer Science
                 Department of Stanford University. The language, now
                 called ALGOL W, is essentially the one described in the
                 article ``A Contribution to the Development of ALGOL''
                 by Niklaus Wirth and C. A. R. Hoare
                 [\cite{Wirth:1966:CDA}], with some further additions.
                 It is now being used in the introductory programming
                 courses at Stanford.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "ALGOL Bulletin (Amsterdam: Mathematisch Centrum)",
  journal-URL =  "http://portal.acm.org/affiliated/ALGOL",
  keywords =     "ALGOL W; IBM System/360; PL360; S360",
  numpages =     "2",
  remark =       "From page 4: ``The entire system has been written in
                 the language PL360.''",
}

@Article{Wirth:1968:ACC,
  author =       "Niklaus Wirth",
  title =        "{ALGOL} Colloquium -- Closing Word",
  journal =      j-ALGOL-BULLETIN,
  number =       "29",
  publisher =    "Computer History Museum",
  address =      "Mountain View, CA, USA",
  pages =        "16--19",
  day =          "31",
  month =        may,
  year =         "1968",
  CODEN =        "ALGOBG",
  ISSN =         "0084-6198",
  ISSN-L =       "0084-6198",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://archive.computerhistory.org/resources/text/algol/ACM_Algol_bulletin/1061166/p16-wirth.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "ALGOL Bulletin (Amsterdam: Mathematisch Centrum)",
  journal-URL =  "http://portal.acm.org/affiliated/ALGOL",
  numpages =     "4",
  remark-1 =     "This article contains some of Niklaus Wirth's
                 criticisms of the Algol 68 language that was then being
                 developed. He deplores its complexity, and points out
                 the need for a small, understandable, language with
                 which students can learn good programming habits that
                 can carry over to other languages that they use in the
                 future. The Pascal language \cite{Wirth:1970:PLP} is
                 his later contribution to a solution of that important
                 problem.",
  remark-2 =     "From p. 17: ``I met a scientist who since many years
                 is engaged in problems of numeric computation and large
                 scale number crushing. `What is your programming
                 language?', I asked: `FORTRAN. It is the only tool,
                 except pure machine code (which I abhore), that
                 guarantees reasonable efficiency. Our main computations
                 are floating point arithmetic and indexing. FORTRAN is
                 sufficiently restrictive in its indexing facility so
                 that extensive automatic optimization is possible
                 inside loops. We are not very much interested in new
                 and supposedly more powerful languages (such as ALGOL),
                 because we have already such a large program library
                 that any change-over would be out of question because
                 of the necessarily large reprogramming effort.'\,''",
  remark-3 =     "From p.18, asking a college teacher: ``\,`And what do
                 you think of the new Algol?', I continued. `New Algol?'
                 I pulled out my copy of the draft report on Algol 68
                 and showed it to her. She fainted.''",
}

@Article{Wirth:1968:CPP,
  author =       "Niklaus Wirth",
  title =        "Corrigendum: ``{PL360}, a Programming Language for the
                 360 Computers''",
  journal =      j-J-ACM,
  volume =       "15",
  number =       "3",
  pages =        "489--489",
  month =        jul,
  year =         "1968",
  CODEN =        "JACOAH",
  DOI =          "https://doi.org/10.1145/321466.321478",
  ISSN =         "0004-5411 (print), 1557-735X (electronic)",
  ISSN-L =       "0004-5411",
  bibdate =      "Sat Oct 22 22:00:48 1994",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/jacm.bib",
  note =         "See \cite{Wirth:1968:PPL}. An appendix was duplicated,
                 but with quite different typography.",
  acknowledgement = ack-nhfb,
  ajournal =     "J. Assoc. Comput. Mach.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Journal of the Association for Computing Machinery",
  journal-URL =  "https://dl.acm.org/loi/jacm",
  numpages =     "1",
}

@Article{Wirth:1968:PPL,
  author =       "Niklaus Wirth",
  title =        "{PL360}, a Programming Language for the 360
                 Computers",
  journal =      j-J-ACM,
  volume =       "15",
  number =       "1",
  pages =        "37--74",
  month =        jan,
  year =         "1968",
  CODEN =        "JACOAH",
  DOI =          "https://doi.org/10.1145/321439.321442",
  ISSN =         "0004-5411 (print), 1557-735X (electronic)",
  ISSN-L =       "0004-5411",
  bibdate =      "Sat Oct 22 22:10:10 1994",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/jacm.bib",
  note =         "See also \cite{Wirth:1968:CPP}.",
  abstract =     "A programming language for the IBM 360 computers and
                 aspects of its implementation are described. The
                 language, called PL360, provides the facilities of a
                 symbolic machine language, but displays a structure
                 defined by a recursive syntax. PL360 was designed to
                 improve the readability of programs which must take
                 into account specific characteristics and limitations
                 of a particular computer. It represents an attempt to
                 further the state of the art of programming by
                 encouraging and even forcing the programmer to improve
                 his style of exposition and his principles and
                 discipline in program organization. Because of its
                 inherent simplicity, the language is particularly well
                 suited for tutorial purposes. The attempt to present a
                 computer as a systematically organized entity is also
                 hoped to be of interest to designers of future
                 computers.",
  acknowledgement = ack-nhfb,
  ajournal =     "J. Assoc. Comput. Mach.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Journal of the Association for Computing Machinery",
  journal-URL =  "https://dl.acm.org/loi/jacm",
  numpages =     "38",
}

@TechReport{Wirth:1968:PS,
  author =       "Niklaus Wirth and Joseph W. {Wells, Jr.} and Edwin H.
                 {Satterthwaite, Jr.}",
  title =        "The {PL360} System",
  type =         "Technical Report",
  number =       "CS 91",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "viii + 89",
  day =          "1",
  month =        apr,
  year =         "1968",
  bibdate =      "Fri Jan 12 06:18:22 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://i.stanford.edu/pub/cstr/reports/cs/tr/68/91/CS-TR-68-91.pdf",
  abstract =     "This report describes the use of two operating systems
                 which serve as environments for the PL360 language
                 defined in the companion report CS 53 [1]. Some
                 additions to that language, not described in CS 53, are
                 documented in the Appendix. One of the systems is a
                 stand-alone, self-loading program specifically designed
                 for PL360; the other is a subsystem operating under
                 IBM's Operating System/360 (0S). With the 2 minor
                 exceptions noted in Chapter 5, these two systems were
                 designed to be entirely compatible at the source
                 language level.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Wirth:1969:BCC,
  author =       "Niklaus Wirth",
  title =        "A Basic Course on Compiler Principles",
  journal =      j-BIT,
  volume =       "9",
  number =       "4",
  pages =        "362--386",
  month =        dec,
  year =         "1969",
  CODEN =        "BITTEL, NBITAB",
  DOI =          "https://doi.org/10.1007/BF01935867",
  ISSN =         "0006-3835 (print), 1572-9125 (electronic)",
  ISSN-L =       "0006-3835",
  bibdate =      "Wed Jan 4 18:52:11 MST 2006",
  bibsource =    "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0006-3835&volume=9&issue=4;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/bit.bib",
  URL =          "http://www.springerlink.com/openurl.asp?genre=article&issn=0006-3835&volume=9&issue=4&spage=362",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  journal-URL =  "http://link.springer.com/journal/10543",
}

@Article{Wirth:1969:MMC,
  author =       "Niklaus Wirth",
  title =        "On Multiprogramming, Machine Coding, and Computer
                 Organization",
  journal =      j-CACM,
  volume =       "12",
  number =       "9",
  pages =        "489--498",
  month =        sep,
  year =         "1969",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/363219.363222",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Fri Nov 25 18:20:28 MST 2005",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1970.bib",
  note =         "See corrigendum \cite{Wirth:1970:CMM}.",
  abstract =     "The author feels that the interrupt feature which is
                 available in most modern computers is a potent source
                 of programming pitfalls and errors, and that it
                 therefore may heavily contribute to the unreliability
                 of programs making use of it. A programming scheme is
                 presented which avoids the concept of the interrupt and
                 permits the specification of concurrent (or
                 pseudoconcurrent) activities in a supposedly more
                 perspicuous manner. It is intended to serve as a basis
                 for the construction of operating systems, which are
                 prime examples of programs with concurrent activities.
                 The scheme includes a set of basic instructions for the
                 generation, termination, and synchronization of
                 parallel processes. A set of routines representing
                 these instructions and thereby simulating a
                 hypothetical machine organization has been implemented
                 and tested on the IBM System/360. Two programs using
                 these instructions, written in PL360, are presented.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "Eidgen{\"o}ssische Technische Hochschule, Z{\"u}rich,
                 Switzerland",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  keywords =     "complete computer programs; computer organization;
                 file handling; input-output; interrupt;
                 multiprogramming; operating; parallel processing;
                 parallelism; PL360; systems (computers)",
  numpages =     "10",
}

@TechReport{Wirth:1970:ADP,
  author =       "Niklaus Wirth",
  title =        "An Axiomatic Definition of the Programming Language
                 {PASCAL}",
  type =         "Report",
  number =       "6",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "????",
  month =        dec,
  year =         "1970",
  bibdate =      "Mon Jan 29 19:12:05 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Referenced in Pascal Newsletter number 2, not yet
                 found online. Later version in \cite{Hoare:1972:ADP}.
                 Published in \cite{Hoare:1973:ADP}.",
}

@Article{Wirth:1970:CMM,
  author =       "N. Wirth",
  title =        "Corrigenda: {``On Multiprogramming, Machine Coding,
                 and Computer Organization''}",
  journal =      j-CACM,
  volume =       "13",
  number =       "4",
  pages =        "266--266",
  month =        apr,
  year =         "1970",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/362258.362301",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Tue Jan 06 09:47:03 1998",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1970.bib",
  note =         "See \cite{Wirth:1969:MMC}.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
}

@TechReport{Wirth:1970:PLP,
  author =       "Niklaus Wirth",
  title =        "The Programming Language {PASCAL}",
  type =         "Report",
  number =       "1",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "v + 58",
  month =        nov,
  year =         "1970",
  bibdate =      "Mon Jan 29 19:12:05 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/The_Programming_Language_Pascal_1970%20001.pdf;
                 https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/68712/eth-3290-01.pdf",
  abstract =     "A programming language called Pascal is described
                 which was developed on the basis of Algol 60. Compared
                 to Algol 60, its range of applicability is considerably
                 increased due to a variety of data structuring
                 facilities. In view of its intended usage both as a
                 convenient basis to teach programming and as an
                 efficient tool to write large programs, emphasis was
                 placed on keeping the number of fundamental concepts
                 reasonably small, on a simple and systematic language
                 structure, and on efficient implementability. A
                 one-pass compiler has been constructed for the CDC 6000
                 computer family; it is expressed entirely in terms of
                 Pascal itself",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Wirth:1971:DPC,
  author =       "Niklaus Wirth",
  title =        "The Design of a {PASCAL} Compiler",
  journal =      j-SPE,
  volume =       "1",
  number =       "4",
  pages =        "309--333",
  month =        oct # "\slash " # dec,
  year =         "1971",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380010403",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/mathcw.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
  received =     "2 July 1971",
  revised =      "15 July 1971",
}

@TechReport{Wirth:1971:PDSa,
  author =       "Niklaus Wirth",
  title =        "Program Development by Stepwise Refinement",
  type =         "Report",
  number =       "2",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "iii + 22",
  month =        jan,
  year =         "1971",
  bibdate =      "Sat Feb 03 06:47:40 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Program%20development%20by%20step-wise%20refinement%20jan%201971%20002.pdf",
  abstract =     "The creative activity of programming --- to be
                 distinguished from coding --- is usually taught by
                 examples serving to exhibit certain techniques. It is
                 here considered as a sequence of design decisions
                 concerning the decomposition of tasks into subtasks and
                 of data into data structures. The process of successive
                 refinement of specifications is illustrated by a short
                 but nontrivial example, from which a number of
                 conclusions are drawn regarding the art and the
                 instruction of programming.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Listed, without years, at the end of
                 \cite{Wirth:1979:CPP}.",
}

@Article{Wirth:1971:PDSb,
  author =       "Niklaus Wirth",
  title =        "Program Development by Stepwise Refinement",
  journal =      j-CACM,
  volume =       "14",
  number =       "4",
  pages =        "221--227",
  month =        apr,
  year =         "1971",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/362575.362577",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Mon Jan 22 07:30:25 MST 2001",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Parallel/conc.scientific.computing.bib;
                 http://dblp.uni-trier.de/db/journals/cacm/cacm14.html#Wirth71;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1970.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1980.bib",
  abstract =     "The creative activity of programming --- to be
                 distinguished from coding --- is usually taught by
                 examples serving to exhibit certain techniques. It is
                 here considered as a sequence of design decisions
                 concerning the decomposition of tasks into subtasks and
                 of data into data structures. The process of successive
                 refinement of specifications is illustrated by a short
                 but nontrivial example, from which a number of
                 conclusions are drawn regarding the art and the
                 instruction of programming.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  classcodes =   "C6110 (Systems analysis and programming)",
  corpsource =   "Eidgen{\"o}ssische Tech. Hochschule, Z{\"u}rich,
                 Switzerland",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  keywords =     "development; education; education in programming;
                 programming; programming techniques; refinement;
                 stepwise; stepwise program construction",
  numpages =     "7",
  oldlabel =     "Wirth71",
  treatment =    "P Practical",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Wirth71",
}

@Article{Wirth:1971:PLP,
  author =       "Niklaus Wirth",
  title =        "The Programming Language {Pascal}",
  journal =      j-ACTA-INFO,
  volume =       "1",
  number =       "1",
  pages =        "35--63",
  month =        jan,
  year =         "1971",
  CODEN =        "AINFA2",
  DOI =          "https://doi.org/10.1007/BF00264291",
  ISSN =         "0001-5903 (print), 1432-0525 (electronic)",
  ISSN-L =       "0001-5903",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/bevan.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Math/sparse.linear.systems.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/allison.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/leavens.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Theory/CLiCS.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Theory/dershowitz.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/actainfo.bib;
                 https://www.math.utah.edu/pub/tex/bib/mathcw.bib",
  note =         "See comments
                 \cite{Habermann:1973:CCP,Lecarme:1975:MCP}.",
  URL =          "http://link.springer.com/article/10.1007/BF00264291",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  checked =      "4 September 1990",
  fjournal =     "Acta Informatica",
  journal-URL =  "http://link.springer.com/journal/236",
  keywords =     "imperative programming language definition; Pascal;
                 PLD",
  received =     "30 October 1970",
  remark =       "British standard 1982; Australian standard 1983; ISO
                 standards 7185-1982, 7185-1983, 7185:1990, 10206:1990,
                 and 10206:1991.",
  xxnote =       "See comments
                 \cite{Habermann:1973:CCP,Lecarme:1975:MCP}.",
}

@TechReport{Hoare:1972:ADP,
  author =       "C. A. R. Hoare and Niklaus Wirth",
  title =        "An Axiomatic Definition of the Programming Language
                 {PASCAL}",
  type =         "Report",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "v + 29",
  month =        nov,
  year =         "1972",
  bibdate =      "Mon Jan 29 19:12:05 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/68663/eth-3028-01.pdf",
  abstract =     "The axiomatic definition method proposed in reference
                 [3] (Hoare:1969:ABC in hoare-c-a-r.bib) is extended and
                 applied to define the meaning of the programming
                 language PASCAL [1] (Wirth:1971:PLP). The whole
                 language is covered with the exception of real
                 (floating-point) arithmetic and go to statements.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Published in \cite{Hoare:1973:ADP}.",
}

@Article{Wirth:1972:GES,
  author =       "Niklaus Wirth",
  title =        "Guest Editorial: Software and its portability",
  journal =      j-SPE,
  volume =       "2",
  number =       "4",
  pages =        "311--312",
  month =        oct,
  year =         "1972",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380020402",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@TechReport{Wirth:1972:PCG,
  author =       "Niklaus Wirth",
  title =        "On ``{Pascal}'', Code Generation, and the {CDC 6000}
                 Computer",
  type =         "Report",
  number =       "STAN-CS-72-257",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "i + 38",
  month =        feb,
  year =         "1972",
  LCCN =         "QA76.73.P35 W57",
  bibdate =      "Thu Jan 04 12:57:12 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/fparith.bib",
  URL =          "http://infolab.stanford.edu/pub/cstr/reports/cs/tr/72/257/CS-TR-72-257.pdf",
  abstract =     "``PASCAL'' is a general purpose programming language
                 with characteristics similar to ALGOL 60, but with an
                 enriched set of program- and data structuring
                 facilities. It has been implemented on the CDC 6000
                 computer. This paper discusses selected topics of code
                 generation, in particular the selection of instruction
                 sequences to represent simple operations on arithmetic,
                 Boolean, and powerset operands. Methods to implement
                 recursive procedures are briefly described, and it is
                 hinted that the more sophisticated solutions are not
                 necessarily also the best. The CDC 6000 architecture
                 appears as a frequent source of pitfalls and nuisances,
                 and its main trouble spots are scrutinized and
                 discussed.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "This report contains an interesting discussion of the
                 problems for compiler writers with a hardware
                 arithmetic design that subsumes integer arithmetic
                 inside one's complement floating-point arithmetic, and
                 is unable to detect integer overflow. The CDC 6000 and
                 7000, and Burroughs 5000 and 6000 families, share some
                 of these difficulties.",
}

@TechReport{Wirth:1972:PCP,
  author =       "N. Wirth",
  title =        "Planned changes to the programming language {PASCAL}",
  type =         "Report",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "5",
  month =        jun,
  year =         "1972",
  bibdate =      "Tue Jan 30 11:21:21 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Planned_Changes_To_The_Programming_Language_PASCAL_Jun72.pdf;
                 http://www.bitsavers.org/pdf/eth/pascal/Planned_Changes_To_The_Programming_Language_PASCAL_Jun72.pdf",
  abstract =     "The programming language PASCAL has now been in use at
                 ETH since two years. During this time, the language has
                 been extended by a few features --- packed records,
                 external files, read and write procedures --- and the
                 compiler has undergone many improvements. However,
                 there have been practically no changes; the language
                 has been kept as stable as possible.

                 With two years experience in the use of PASCAL, we now
                 contemplate to introduce a few features which cannot be
                 classified as mere extensions but which will cause some
                 true changes in the language. The purpose of this note
                 is to inform the users of PASCAL of our intentions
                 before the fact. We briefly explain the new facilities
                 and summarise the changes which must be made in
                 existing programs. We will try to give a motivation to
                 these changes; however, it is not possible to describe
                 the entire set of arguments in extenso within this
                 short communication.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:1972:PLPa,
  author =       "Niklaus Wirth",
  title =        "The Programming Language {PASCAL}",
  type =         "Report",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "????",
  month =        aug,
  year =         "1972",
  bibdate =      "Mon Jan 29 19:12:05 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Referenced in Pascal Newsletter number 1, not yet
                 found online.",
}

@TechReport{Wirth:1972:PLPb,
  author =       "Niklaus Wirth",
  title =        "The Programming Language {PASCAL} (Revised Report)",
  type =         "Report",
  number =       "5",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "viii + 48",
  month =        nov,
  year =         "1972",
  bibdate =      "Mon Jan 29 19:12:05 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/The_Programming_Language_Pascal_1972.pdf",
  abstract =     "A programming language called Pascal is described
                 which was developed on the basis of Algol 60. Compared
                 to Algol 60, its range of applicability is considerably
                 increased due to a variety of data structuring
                 facilities. In view of its intended usage both as a
                 convenient basis to teach programming and as an
                 efficient tool to write large programs, emphasis was
                 placed on keeping the number of fundamental concepts
                 reasonably small, on a simple and systematic language
                 structure, and on efficient implementability. A
                 one-pass compiler has been constructed for the CDC 6000
                 computer family. This Report may serve as a programmers
                 manual for PASCAL 6000.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Wirth:1972:PLPc,
  author =       "N. Wirth",
  booktitle =    "High Level Languages: International Computer State of
                 the Art Report",
  title =        "The Programming Language {Pascal} and Its Design
                 Criteria",
  volume =       "7",
  publisher =    "Infotech",
  address =      "Maidenhead, UK",
  bookpages =    "iv + 500",
  pages =        "451--473",
  year =         "1972",
  ISBN =         "0-85539-060-3",
  ISBN-13 =      "978-0-85539-060-0",
  LCCN =         "QA76.7 .H52",
  bibdate =      "Tue Jan 30 07:18:42 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{Wirth:1972:SPG,
  author =       "N. Wirth",
  title =        "{Systematisches Programmieren}. ({German})
                 [{Systematic} Programming]",
  volume =       "17",
  publisher =    pub-TEUBNER,
  address =      pub-TEUBNER:adr,
  pages =        "160",
  year =         "1972",
  ISBN =         "3-519-02327-X",
  ISBN-13 =      "978-3-519-02327-2",
  LCCN =         "QA76.6 .W57",
  bibdate =      "Sat Jan 6 13:49:55 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Leitfaden der angewandten Mathematik und Mechanik",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "German",
  subject =      "Computer programming; Programmation (Informatique);
                 computer programming.; Computer programming.;
                 Programmierung; Methode; Einf{\"u}hrung",
}

@Article{Hoare:1973:ADP,
  author =       "C. A. R. Hoare and Niklaus Wirth",
  title =        "An Axiomatic Definition of the Programming Language
                 {Pascal}",
  journal =      j-ACTA-INFO,
  volume =       "2",
  number =       "4",
  pages =        "335--355",
  month =        dec,
  year =         "1973",
  CODEN =        "AINFA2",
  DOI =          "https://doi.org/10.1007/bf00289504",
  ISSN =         "0001-5903 (print), 1432-0525 (electronic)",
  ISSN-L =       "0001-5903",
  bibdate =      "Mon Aug 1 14:46:37 2022",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/bevan.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Compiler/Collberg.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Compiler/prog.lang.theory.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Compiler/reynolds.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/allison.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/Hypatia/H/HoareCAR.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/leavens.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/actainfo.bib",
  note =         "See addenda and corrigenda \cite{Hoare:1974:ACA}.",
  abstract =     "The axiomatic definition method proposed in reference
                 [5] is extended and applied to define the meaning of
                 the programming language Pascal. The whole language is
                 covered with the exception of real arithmetic and go to
                 statements.",
  acknowledgement = ack-nhfb,
  annote =       "8 references.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  checked =      "4 January 1994",
  fjournal =     "Acta Informatica",
  journal-URL =  "http://link.springer.com/journal/236",
  keywords =     "axiomatic; Pascal; PROGLANG; proof; SEMANTIC",
}

@TechReport{Wirth:1973:IPS,
  author =       "Niklaus Wirth",
  title =        "Implementations of {Pascal} on Systems With No Control
                 Characters",
  type =         "Report",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "2",
  day =          "26",
  month =        jun,
  year =         "1973",
  bibdate =      "Sat Feb 03 07:09:50 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "The paper refers to the CDC 6400 with the SCOPE 3.4
                 operating system and a 64-element 6-bit character
                 set.",
}

@TechReport{Wirth:1973:PLP,
  author =       "Niklaus Wirth",
  title =        "The Programming Language {PASCAL}, (Revised Report)",
  type =         "Report",
  number =       "5",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "iv + 49",
  month =        jul,
  year =         "1973",
  DOI =          "https://doi.org/10.3929/ethz-a-000814158",
  bibdate =      "Thu Jan 11 07:36:31 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/The_Programming_Language_Pascal_1973.pdf;
                 https://www.research-collection.ethz.ch/handle/20.500.11850/68910",
  abstract =     "A programming language called Pascal 1s described
                 which was developed on the basis of Algol 60. Compared
                 to Algol 60, its range of applicability is considerably
                 increased due to a variety of data structuring
                 facilities. In view of its intended usage both as a
                 convenient basis to teach programming and as an
                 efficient tool to write large programs, emphasis was
                 placed on keeping the number of fundamental concepts
                 reasonably small, on a simple and systematic language
                 structure, and on efficient implementability. A
                 one-pass compiler has been constructed for the CDC 6000
                 computer family. This Report may serve as a
                 programmers' manual for PASCAL 6000.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{Wirth:1973:SPI,
  author =       "Niklaus Wirth",
  title =        "Systematic Programming: an Introduction",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xiv + 169",
  year =         "1973",
  ISBN =         "0-13-880369-2",
  ISBN-13 =      "978-0-13-880369-8",
  LCCN =         "QA76.6 .W5713",
  bibdate =      "Fri Jan 5 11:30:57 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Prentice-Hall series in automatic computation",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  subject =      "Computer programming; Programmation (Informatique)",
  tableofcontents = "Introduction \\
                 Fundamental notions \\
                 The structure of computers \\
                 Programming aid and systems \\
                 Some simple programs \\
                 Finiteness of programs \\
                 Sequential notation and programming languages \\
                 Data types \\
                 Programs based on recurrence relations \\
                 The file data structure \\
                 The array data structure \\
                 Subroutines, procedures, and functions \\
                 Transformations of number representations \\
                 Processing of text using array and file structures \\
                 Stepwise program development \\
                 Appendices \\
                 A. The programming language PASCAL \\
                 B. The ASCII character code",
}

@Article{Hoare:1974:ACA,
  author =       "C. A. R. Hoare and N. Wirth",
  title =        "Addenda and Corrigenda to {{\em An Axiomatic
                 Definition of the Programming Language Pascal}}",
  journal =      j-ACTA-INFO,
  volume =       "3",
  number =       "3",
  pages =        "296--296",
  day =          "22",
  month =        jul,
  year =         "1974",
  CODEN =        "AINFA2",
  DOI =          "https://doi.org/10.1007/BF00288641",
  ISSN =         "0001-5903 (print), 1432-0525 (electronic)",
  ISSN-L =       "0001-5903",
  bibdate =      "Fri Oct 08 22:02:37 1999",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/actainfo.bib",
  note =         "See \cite{Hoare:1973:ADP}.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Acta Informatica",
  journal-URL =  "http://link.springer.com/journal/236",
}

@Book{Jensen:1974:PUMa,
  author =       "Kathleen Jensen and Niklaus Wirth",
  title =        "{PASCAL}: user manual and report",
  volume =       "18",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "vii + 170",
  year =         "1974",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/3-540-06950-X",
  ISBN =         "0-387-06950-X",
  ISBN-13 =      "978-0-387-06950-0",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  LCCN =         "QA267.A1 L43 no.18",
  bibdate =      "Wed Feb 14 06:00:56 MST 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/lncs.bib",
  series =       ser-LNCS,
  URL =          "http://link.springer-ny.com/link/service/series/0558/tocs/t0018.htm;
                 http://www.springerlink.com/content/978-0-387-06950-0;
                 http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=18",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  keywords =     "Pascal (computer program language)",
  tableofcontents = "Front Matter / n1--vii \\
                 User Manual / 1--129 \\
                 Report / 131--170 \\
                 Back Matter / 171--171",
}

@Book{Jensen:1974:PUMb,
  author =       "Kathleen Jensen and Niklaus Wirth",
  title =        "{Pascal} User Manual and Report",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  edition =      "Second",
  pages =        "viii + 167",
  year =         "1974",
  DOI =          "https://doi.org/10.1007/978-3-540-37500-5",
  ISBN =         "0-387-90144-2, 3-540-90144-2, 3-540-07167-9 (print),
                 3-540-37500-7 (e-book)",
  ISBN-13 =      "978-0-387-90144-2, 978-3-540-90144-0,
                 978-3-540-07167-9 (print), 978-3-540-37500-5 (e-book)",
  LCCN =         "QA76.73.P35 J461 1975",
  bibdate =      "Sun May 02 07:49:16 1999",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  note =         "See also \cite{Jensen:1985:PUM,ANSI:pascal}.",
  URL =          "http://link.springer.com/10.1007/978-3-540-37500-5",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  tableofcontents = "User Manual \\
                 0. Introduction \\
                 1. Notation and Vocabulary \\
                 2. The Concept of Data \\
                 3. The Program Heading and the Declaration Part \\
                 4. The Concept of Action \\
                 5. Scalar and Subrange Types \\
                 6. Structured Types in General: The Array in Particular
                 \\
                 7. Record Types \\
                 8. Set Types \\
                 9. File Types \\
                 10. Pointer Types \\
                 11. Procedures and Functions \\
                 12. Input and Output \\
                 13. PASCAL 6000-3.4 \\
                 14. How to Use the PASCAL 6000-3.4 System \\
                 Report \\
                 15. Index",
}

@Article{Wirth:1974:CWS,
  author =       "Niklaus Wirth",
  title =        "On the Composition of Well-Structured Programs",
  journal =      j-COMP-SURV,
  volume =       "6",
  number =       "4",
  pages =        "247--259",
  month =        dec,
  year =         "1974",
  CODEN =        "CMSVAN",
  DOI =          "https://doi.org/10.1145/356635.356639",
  ISSN =         "0010-4892",
  ISSN-L =       "0010-4892",
  bibdate =      "Thu Jun 19 09:18:24 MDT 2008",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/surveys/;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/compsurv.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/StructuredPrograms.pdf",
  abstract =     "Recently, the subject of programming methods,
                 generally applicable rules and patterns of development,
                 has received considerable attention. ``Structured
                 programming'' is the formulation of programs as
                 hierarchical, nested structures of statements and
                 objects of computation. The author gives brief examples
                 of structured programs, shows the essence of this
                 approach, discusses its relationship with program
                 verification, and comments on the role of structured
                 languages.",
  acknowledgement = ack-nhfb,
  ajournal =     "ACM Comput. Surv.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  classification = "723",
  fjournal =     "ACM Computing Surveys",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
  keywords =     "computer programming; programming methods",
  numpages =     "13",
}

@InProceedings{Wirth:1974:DPL,
  author =       "Niklaus Wirth",
  booktitle =    "{Information Processing 74 (Proc. IFIP Congress,
                 Stockholm, 1974)}",
  title =        "On the design of programming languages",
  publisher =    pub-NORTH-HOLLAND,
  address =      pub-NORTH-HOLLAND:adr,
  pages =        "386--393",
  year =         "1974",
  MRclass =      "68A05",
  MRnumber =     "426490",
  MRreviewer =   "Immo O. Kerner",
  bibdate =      "Thu Jan 4 17:49:43 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/On%20the%20Design%20of%20Prog%20Languages%20Wirth.PDF",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Wirth:1974:P,
  author =       "Niklaus Wirth",
  title =        "{Pascal 6000-3.4}",
  journal =      "Pascal Newsletter",
  number =       "2",
  pages =        "6--17",
  month =        may,
  year =         "1974",
  bibdate =      "Sat Feb 03 08:12:01 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/pug/02_Pascal_Newsletter_May74.pdf",
  abstract =     "An entirely new compiler for the CDC 6000 series of
                 computers has been under development at ETH Zurich for
                 the last 18 months. As predicted last fall and
                 announced in the first issue of the NEWSLETTER, it is
                 released in May 1974. An important development is the
                 definition of a {\em Standard Pascal}: in the interest
                 of portability of programs. we wish to make a clear
                 distinction between Pascal and Pascal-like languages,
                 as several of these have already been proposed. The new
                 compiler adheres to this Standard, and includes some
                 additional facilities clearly as {\em extensions},
                 (3.5--3.6). This Standard also includes the definition
                 of a program representation in terms of the {\em ASCII
                 character set}.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InProceedings{Wirth:1974:SSU,
  author =       "Niklaus Wirth",
  editor =       "Clemens Hackl",
  booktitle =    "Programming Methodology, {4th Informatik Symposium,
                 IBM Germany, Wildbad, September 25--27, 1974}",
  title =        "{Systemprogramming aus der Sicht der Universit{\"a}t}.
                 ({German}) [{System} programming from the university's
                 perspective]",
  volume =       "23",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "192--202",
  year =         "1974",
  DOI =          "https://doi.org/10.1007/3-540-07131-8_26",
  bibdate =      "Mon Jan 8 09:50:36 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       ser-LNCS,
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/conf/ibm/Wirth74.bib",
  dblp-id =      "DBLP:conf/ibm/Wirth74",
  language =     "German",
  timestamp =    "Fri Jul  5 12:49:51 2024",
}

@Book{Jensen:1975:PUM,
  author =       "Kathleen Jensen and Niklaus Wirth",
  title =        "{PASCAL}, User Manual and Report",
  volume =       "18",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  edition =      "Second",
  pages =        "vi + 167",
  year =         "1975",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/978-3-540-37500-5",
  ISBN =         "0-387-07167-9 (New York), 3-540-07167-9 (Berlin),
                 0-387-90144-2",
  ISBN-13 =      "978-0-387-07167-1 (New York), 978-3-540-07167-9
                 (Berlin), 978-0-387-90144-2",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  LCCN =         "QA76.73.P35 .J461 1974",
  bibdate =      "Wed Feb 14 06:00:56 MST 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/lncs.bib",
  price =        "US\$5.90",
  series =       ser-LNCS,
  URL =          "http://link.springer-ny.com/link/service/series/0558/tocs/t0018.htm;
                 http://www.springerlink.com/content/978-0-387-07167-1;
                 http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=18",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  keywords =     "Pascal (computer program language)",
  tableofcontents = "Front Matter / i--vi \\
                 User Manual \\
                 Front Matter / 1--1 \\
                 Introduction / 3--8 \\
                 Notation and Vocabulary / 9--11 \\
                 The Concept of Data / 12--15 \\
                 The Program Heading and the Declaration Part / 16--19
                 \\
                 The Concept of Action / 20--33 \\
                 Scalar and Subrange Types / 34--35 \\
                 Structured Types in General --- the Array in Particular
                 / 36--41 \\
                 Record Types / 42--49 \\
                 The Set Types / 50--54 \\
                 File Types / 55--61 \\
                 Pointer Types / 62--66 \\
                 Procedures and Functions / 67--83 \\
                 Input and Output / 84--87 \\
                 Pascal 6000 3,4 / 88--99 \\
                 How to Use the PASCAL 6000-3.4 System / 100--103 \\
                 Report \\
                 Report / 131--165 \\
                 Back Matter / 166--171",
}

@Book{Wirth:1975:AD,
  author =       "Niklaus Wirth",
  title =        "{Algorithmen und Datenstrukturen}. ({German})
                 [{Algorithms} and Data Structures]",
  publisher =    pub-TEUBNER,
  address =      pub-TEUBNER:adr,
  pages =        "376",
  year =         "1975",
  ISBN =         "3-519-02330-X",
  ISBN-13 =      "978-3-519-02330-2",
  LCCN =         "QA76.9.D35 W57",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/hash.bib",
  price =        "DM26.80",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  descriptor =   "Algorithmus; Baum; Datenstruktur; Digitalrechner;
                 Grundstruktur; Hashing; Liste; Programmierung;
                 Referenz; Rekursion; Sortieralgorithmus; Sortieren;
                 Zeiger",
  language =     "German",
  tableofcontents = "1. Fundamentale Datenstrukturen \\
                 2. Sortieren \\
                 3. Rekursive Algorithmen \\
                 4. Dynamische Informationsstrukturen Einf{\"u}hrung in
                 Theorie und Praxis Fundamentaler Algorithmen. \\
                 Ausfuehrliche Anleitung zur Wahl Geeigneter
                 Datenstrukturen. \\
                 Methodik Rekursiver Programme, Suchen und Sortieren.
                 \\
                 Beispielprogramme in Pascal-notation.",
}

@InProceedings{Wirth:1975:APLa,
  author =       "Niklaus Wirth",
  booktitle =    "Proceedings of the International Conference on
                 Reliable Software",
  title =        "An Assessment of the Programming Language {PASCAL}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "23--30",
  year =         "1975",
  DOI =          "https://doi.org/10.1145/800027.808421",
  ISBN =         "1-4503-7385-2",
  ISBN-13 =      "978-1-4503-7385-2",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  abstract =     "The programming language PASCAL is assessed in the
                 light of reliable programming and with the background
                 of five years of experience with the language. Some
                 features are selected to point out remaining problems,
                 either inherent or specific, from which some guidelines
                 for the design or choice of languages for reliable
                 programming are derived. Among the discussed features
                 are the concept of data type, the sequential file
                 structure, and the type union.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  keywords =     "Files and sequences, Program correctness vs.
                 reliability, Language evaluation, Parametrised types,
                 Type union, Data types, Language and reliable
                 programming, PASCAL",
  location =     "Los Angeles, California",
  numpages =     "8",
}

@Article{Wirth:1975:APLb,
  author =       "Niklaus Wirth",
  title =        "An Assessment of the Programming Language {PASCAL}",
  journal =      j-SIGPLAN,
  volume =       "10",
  number =       "6",
  pages =        "23--30",
  month =        jun,
  year =         "1975",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/390016.808421",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:13:49 MST 2003",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1970.bib",
  abstract =     "The programming language PASCAL is assessed in the
                 light of reliable programming and with the background
                 of five years of experience with the language. Some
                 features are selected to point out remaining problems,
                 either inherent or specific, from which some guidelines
                 for the design or choice of languages for reliable
                 programming are derived. Among the discussed features
                 are the concept of data type, the sequential file
                 structure, and the type union.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  classification = "C6110 (Systems analysis and programming); C6140D
                 (High level languages)",
  conflocation = "Los Angeles, CA, USA; 21-23 April 1975",
  conftitle =    "International Conference on Reliable Software",
  corpsource =   "Inst. of Technol., Zurich, Switzerland",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  keywords =     "data type; Data types; design; fault tolerant
                 computing; Files and sequences; Language and reliable
                 programming; Language evaluation; language evaluation;
                 Parametrised types; PASCAL; Program correctness vs.
                 reliability; program correctness vs. reliability;
                 programming; programming language PASCAL; programming
                 languages; reliable programming; sequential file
                 structure; Type union; type union",
  numpages =     "8",
  sponsororg =   "IEEE; ACM; et al",
  treatment =    "A Application; P Practical",
}

@Article{Wirth:1975:APLc,
  author =       "N. Wirth",
  title =        "An assessment of the programming language {Pascal}",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "SE-1",
  number =       "2",
  pages =        "192--198",
  month =        jun,
  year =         "1975",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.1975.6312839",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 08:07:37 MST 2018",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng1970.bib",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6312839",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Wirth:1975:GRW,
  author =       "N. Wirth",
  title =        "A Generalization of the Read and Write Procedures",
  journal =      "Pascal Newsletter",
  number =       "3",
  pages =        "11--12",
  month =        feb,
  year =         "1975",
  bibdate =      "Tue Jan 30 06:32:09 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  journal-URL =  "https://www.standardpascaline.org/pug.html",
}

@TechReport{Wirth:1975:MLM,
  author =       "Niklaus Wirth",
  title =        "{MODULA}: a language for multiprogramming",
  type =         "Report",
  number =       "18",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  year =         "1975 (??)",
  bibdate =      "Sat Feb 03 06:51:52 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Listed, without years, at the end of
                 \cite{Wirth:1979:CPP}.",
}

@TechReport{Wirth:1975:PPC,
  author =       "N. Wirth",
  title =        "The {PASCAL(P)} Compiler: Implementation Notes",
  type =         "Report",
  number =       "??",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  year =         "1975",
  bibdate =      "Tue Jan 30 06:53:39 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Referenced in Pascal Newsletter number 5 (1976), not
                 yet found online. Author could be Wirth group member.
                 Year could be 1975 or 1976",
}

@TechReport{Wirth:1975:PSI,
  author =       "N. Wirth",
  title =        "{PASCAL-S}: a Subset and its Implementation",
  type =         "Report",
  number =       "12",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "63",
  month =        jun,
  year =         "1975",
  bibdate =      "Tue Jan 30 06:44:59 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Referenced in Pascal Newsletter number 5, not yet
                 found online.",
}

@Book{Wirth:1975:SPE,
  author =       "Niklaus Wirth",
  title =        "{Systematisches Programmieren eine Einf{\"u}hrung}.
                 ({German}) [{Systematic programming an introduction}]",
  volume =       "17",
  publisher =    pub-TEUBNER,
  address =      pub-TEUBNER:adr,
  edition =      "Second",
  pages =        "160",
  year =         "1975",
  ISBN =         "3-519-12327-4",
  ISBN-13 =      "978-3-519-12327-9",
  LCCN =         "QA76.6 .W57 1975",
  bibdate =      "Sat Jan 6 13:45:23 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Leitf{\"a}den der angewandten Mathematik und Mechanik;
                 Teubner-Studienb{\"u}cher",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "German",
  subject =      "Programmierung (Datenverarbeitung); Programmierung;
                 Einf{\"u}hrung",
}

@TechReport{Wirth:1975:UMD,
  author =       "Niklaus Wirth",
  title =        "The Use of {MODULA} and Design and Implementation of
                 {MODULA}",
  type =         "Report",
  number =       "19",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  year =         "1975 (??)",
  bibdate =      "Sat Feb 03 06:55:04 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{Wirth:1976:ADS,
  author =       "Niklaus Wirth",
  title =        "Algorithms $+$ Data Structures $=$ Programs",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  edition =      "Second",
  pages =        "xvii + 366",
  year =         "1976",
  ISBN =         "0-13-022418-9",
  ISBN-13 =      "978-0-13-022418-7",
  LCCN =         "QA76.6 .W561",
  MRclass =      "68-01",
  MRnumber =     "440982",
  MRreviewer =   "Arnold L. Rosenberg",
  bibdate =      "Sat Jan 26 12:46:16 MST 2013",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/datacompression.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/mathcw.bib",
  series =       "Prentice-Hall Series in Automatic Computation",
  acknowledgement = ack-ds # " and " # ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  rawdata =      "Wirth, N. (1976) {\it Algorithms + Data Structures =
                 Programs}, 2nd ed., Englewood Cliffs, NJ,
                 Prentice-Hall.",
  subject =      "Computer programming; Data structures (Computer
                 science); Computer algorithms; Computers; Programmation
                 (Informatique); Algorithmes; Structures de donn{\'e}es
                 (Informatique); Computer algorithms; Computer
                 programming; Data structures (Computer science);
                 Programmeren (computers); Datastructuren; Algoritmen;
                 PASCAL; Algorithmus; Datenstruktur; PASCAL
                 (Programmiersprache); Programmiersprache;
                 Programmierung; Softwareentwicklung",
  tableofcontents = "Fundamental data structures \\
                 Sorting \\
                 Recursive algorithms \\
                 Dynamic information structures \\
                 Language structures and compilers",
}

@Article{Wirth:1976:CE,
  author =       "N. Wirth",
  title =        "Corrections to the 2nd Edition",
  journal =      "Pascal Newsletter",
  number =       "5",
  pages =        "6--6",
  month =        sep,
  year =         "1976",
  bibdate =      "Tue Jan 30 06:40:32 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  journal-URL =  "https://www.standardpascaline.org/pug.html",
}

@Article{Wirth:1976:CND,
  author =       "N. Wirth",
  title =        "Comment on a Note on Dynamic Arrays in {PASCAL}",
  journal =      j-SIGPLAN,
  volume =       "11",
  number =       "1",
  pages =        "37--38",
  month =        jan,
  year =         "1976",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/987324.987330",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 16:07:50 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1970.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "SIGPLAN Not.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  classification = "C6140D (High level languages)",
  corpsource =   "ETH, Zurich, Switzerland",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  keywords =     "dynamic arrays; PASCAL; problem oriented languages",
  numpages =     "2",
  treatment =    "A Application; P Practical",
}

@TechReport{Wirth:1976:PLW,
  author =       "N. Wirth",
  title =        "Programming languages: what to demand and how to
                 assess them, and {Professor Cleverbyte}'s visit to
                 {Heaven}",
  type =         "Report",
  number =       "17",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "i + 32",
  year =         "1976",
  bibdate =      "Tue Jan 30 07:35:56 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Programming_Languages_What_To_Demand_And_How_To_Assess_Them_Apr76.pdf",
  abstract =     "The software inflation has led to a software crisis
                 which has stimulated a search for better methods and
                 tools. This includes the design of adequate system
                 development languages.\par

                 This paper contains some hints on how such languages
                 should be designed and proposes some criteria for
                 judging them. It also contains suggestions for
                 evaluating their implementations. and emphasizes that a
                 clear distinction must be made between a language and
                 its implementation. The paper ends with concrete
                 figures about a Pascal implementation that may be used
                 as yardstick for objective evaluations",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Paper presented at the Symposium on Software
                 Engineering, Belfast, 6--9 April 1976.",
}

@Book{Wirth:1976:RBP,
  author =       "Niklaus Wirth",
  title =        "{Revidierter Bericht {\"u}ber die Programmiersprache
                 PASCAL}. ({German}) [{Revised} report on the {PASCAL}
                 programming language]",
  publisher =    pub-AKADEMIE-VERLAG,
  address =      pub-AKADEMIE-VERLAG:adr,
  pages =        "x + 48",
  year =         "1976",
  ISBN =         "3-11-257911-9 (print), 3-11-257912-7",
  ISBN-13 =      "978-3-11-257911-4 (print), 978-3-11-257912-1",
  LCCN =         "QA76.73.P2 W57",
  bibdate =      "Sat Jan 06 14:23:08 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "German",
  remark =       "German translation of \cite{Jensen:1975:PUM}.",
  tableofcontents = "1. Einleitung / 1 \\
                 2. {\"U}berblick {\"u}ber die Sprache / 2 \\
                 3. Notation, Terminologie und Vokabular / 5 \\
                 4. Bezeichnungen, Zahlen und Zeichenketten / 6 \\
                 6. Konstantendefinitionen / 7 \\
                 6. Definitionen f{\"u}r Datentypen / 8 \\
                 6.1. Einfache Typen / 8 \\
                 6.2. Strukturierte Typen / 9 \\
                 6.3. Zeigertypen / 11 \\
                 7. Vereinbarungen und Darstellungen von Variablen / 12
                 \\
                 7.1. Vollst{\"a}ndige Variablen / 13 \\
                 7.2. Komponentenvariablen / 13 \\
                 7.3. Dynamische Variablen / 14 \\
                 8. Ausdr{\"u}cke / 15 \\
                 8.1. Operatoren / 16 \\
                 8.2. Funktionsaufrufe / 17 \\
                 9. Anweisungen / 17 \\
                 9.1. Einfache Anweisungen / 18 \\
                 9.2. Strukturierte Anweisungen / 19 \\
                 10. Prozedurvereinbarungen / 24 \\
                 10.1. Standardprozeduren / 26 \\
                 11. Funktionsvereinbarungen / 28 \\
                 11.1. Standardfunktionen / 29 \\
                 12. Eingabe und Ausgabe / 30 \\
                 12.1. Prozedur read / 31 \\
                 12.2. Prozedur readln / 31 \\
                 12.3. Prozedur write / 31 \\
                 12.4. Prozedur writeln / 32 \\
                 12.5. Zus{\"a}tzliche Prozedur / 32 \\
                 13. Programme / 32 \\
                 14. Ein Standard f{\"u}r Implementation und
                 Programmaustausch / 33 \\
                 15. Index / 35 \\
                 Anhang: Syntaxdiagramme / 41",
}

@Book{Wirth:1977:CE,
  author =       "Niklaus Wirth",
  title =        "{Compilerbau: Eine Einf{\"u}hrung}. ({German})
                 [{Compiler} Construction: an Introduction]",
  volume =       "36",
  publisher =    pub-TEUBNER,
  address =      pub-TEUBNER:adr,
  pages =        "94",
  year =         "1977",
  ISBN =         "3-519-02338-5",
  ISBN-13 =      "978-3-519-02338-8",
  LCCN =         "QA76.6 .W563",
  bibdate =      "Sat Jan 6 13:57:49 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Leitf{\"a}den der angewandten Mathematik und Mechanik
                 LAMM, Band; Teubner Studienb{\"u}cher: Informatik",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "German",
}

@Article{Wirth:1977:DIM,
  author =       "Niklaus Wirth",
  title =        "Design and Implementation of {Modula}",
  journal =      j-SPE,
  volume =       "7",
  number =       "1",
  pages =        "67--84",
  month =        jan # "\slash " # mar,
  year =         "1977",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380070104",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Wirth:1977:GEG,
  author =       "N. Wirth",
  title =        "Guest Editorial: Guest editorial extract from
                 {Professor Cleverbyte}'s visit to heaven",
  journal =      j-SPE,
  volume =       "7",
  number =       "2",
  pages =        "155--158",
  month =        mar,
  year =         "1977",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380070202",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Wirth:1977:MLM,
  author =       "Niklaus Wirth",
  title =        "{Modula}: a Language for Modular Multiprogramming",
  journal =      j-SPE,
  volume =       "7",
  number =       "1",
  pages =        "3--35",
  month =        jan # "\slash " # mar,
  year =         "1977",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380070102",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Wirth:1977:TDRa,
  author =       "N. Wirth",
  title =        "Towards a Discipline of Real-Time Programming",
  journal =      j-SIGSOFT,
  volume =       "2",
  number =       "2",
  pages =        "142--142",
  month =        mar,
  year =         "1977",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/390019.808324",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:11:19 MDT 2018",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigsoft1970.bib",
  abstract =     "Programming is divided into three major categories
                 with increasing complexity of reasoning in program
                 validation: sequential programming, multi-programming,
                 and real-time programming. By adhering to a strict
                 programming discipline and by using a suitable
                 high-level language molded after this discipline, we
                 may drastically reduce the complexity of reasoning
                 about concurrency and execution time constraints. This
                 may be the only practical way to make real-time systems
                 analytically verifiable and ultimately reliable. A
                 possible discipline is outlined and expressed in terms
                 of the language Modula.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
  keywords =     "Real-time programming, Processor sharing, Program
                 validation, Process synchronization, Modula,
                 Multiprogramming",
  numpages =     "1",
  remark =       "Proceedings of an ACM conference on Language design
                 for reliable software.",
}

@Article{Wirth:1977:TDRb,
  author =       "N. Wirth",
  title =        "Towards a Discipline of Real-Time Programming",
  journal =      j-OPER-SYS-REV,
  volume =       "11",
  number =       "2",
  pages =        "142--142",
  month =        apr,
  year =         "1977",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/390018.808324",
  ISSN =         "0163-5980 (print), 1943-586x (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Sat Aug 26 08:55:38 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/opersysrev.bib",
  abstract =     "Programming is divided into three major categories
                 with increasing complexity of reasoning in program
                 validation: sequential programming, multi-programming,
                 and real-time programming. By adhering to a strict
                 programming discipline and by using a suitable
                 high-level language molded after this discipline, we
                 may drastically reduce the complexity of reasoning
                 about concurrency and execution time constraints. This
                 may be the only practical way to make real-time systems
                 analytically verifiable and ultimately reliable. A
                 possible discipline is outlined and expressed in terms
                 of the language Modula.",
  acknowledgement = ack-nhfb,
  ajournal =     "SIGOPS Oper. Syst. Rev.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "ACM SIGOPS Operating Systems Review",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J597",
  keywords =     "Program validation, Modula, Processor sharing,
                 Real-time programming, Process synchronization,
                 Multiprogramming",
  numpages =     "1",
  xxmonth =      mar,
}

@InProceedings{Wirth:1977:TDRc,
  author =       "N. Wirth",
  booktitle =    "Proceedings of an {ACM} Conference on Language Design
                 for Reliable Software",
  title =        "Towards a Discipline of Real-Time Programming",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "142",
  year =         "1977",
  DOI =          "https://doi.org/10.1145/800022.808324",
  ISBN =         "1-4503-7380-1",
  ISBN-13 =      "978-1-4503-7380-7",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  abstract =     "Programming is divided into three major categories
                 with increasing complexity of reasoning in program
                 validation: sequential programming, multi-programming,
                 and real-time programming. By adhering to a strict
                 programming discipline and by using a suitable
                 high-level language molded after this discipline, we
                 may drastically reduce the complexity of reasoning
                 about concurrency and execution time constraints. This
                 may be the only practical way to make real-time systems
                 analytically verifiable and ultimately reliable. A
                 possible discipline is outlined and expressed in terms
                 of the language Modula.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  keywords =     "Modula, Program validation, Multiprogramming,
                 Real-time programming, Process synchronization,
                 Processor sharing",
  location =     "Raleigh, North Carolina",
}

@Article{Wirth:1977:TDRd,
  author =       "N. Wirth",
  title =        "Towards a Discipline of Real-Time Programming",
  journal =      j-SIGPLAN,
  volume =       "12",
  number =       "3",
  pages =        "142--142",
  month =        mar,
  year =         "1977",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/390017.808324",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:14:02 MST 2003",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1970.bib",
  abstract =     "Programming is divided into three major categories
                 with increasing complexity of reasoning in program
                 validation: sequential programming, multi-programming,
                 and real-time programming. By adhering to a strict
                 programming discipline and by using a suitable
                 high-level language molded after this discipline, we
                 may drastically reduce the complexity of reasoning
                 about concurrency and execution time constraints. This
                 may be the only practical way to make real-time systems
                 analytically verifiable and ultimately reliable. A
                 possible discipline is outlined and expressed in terms
                 of the language Modula.",
  acknowledgement = ack-nhfb,
  ajournal =     "SIGPLAN Not.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  classification = "C6110 (Systems analysis and programming); C6140D
                 (High level languages); C6150G (Diagnostic, testing,
                 debugging and evaluating systems); C6150J (Operating
                 systems)",
  conflocation = "Raleigh, NC, USA; 28-30 March 1977",
  conftitle =    "Proceedings of an ACM Conference on Language Design
                 for Reliable Software",
  corpsource =   "Federal Inst. of Technol., Zurich, Switzerland",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  keywords =     "concurrency; Modula; Multiprogramming;
                 multiprogramming; process synchronisation; Process
                 synchronization; Processor sharing; processor sharing;
                 Program validation; program validation; Real-time
                 programming; realtime programming; time-sharing
                 programs",
  numpages =     "1",
  sponsororg =   "ACM",
  treatment =    "P Practical",
}

@Article{Wirth:1977:TDRe,
  author =       "Niklaus Wirth",
  title =        "Toward a Discipline of Real-Time Programming",
  journal =      j-CACM,
  volume =       "20",
  number =       "8",
  pages =        "577--583",
  month =        aug,
  year =         "1977",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/359763.359798",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Mon Jan 22 07:30:26 MST 2001",
  bibsource =    "Compendex database;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/Discrete.event.bib;
                 http://dblp.uni-trier.de/db/journals/cacm/cacm20.html#Wirth77;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1970.bib",
  abstract =     "Programming is divided into three major categories
                 with increasing complexity of reasoning in program
                 validation: sequential programming, multiprogramming,
                 and real-time programming. By adhering to a strict
                 programming discipline and by using a suitable
                 high-level language molded after this discipline, the
                 complexity of reasoning about concurrency and execution
                 time constraints may be drastically reduced. This may
                 be the only practical way to make real-time systems
                 analytically verifiable and ultimately reliable. A
                 possible discipline is outlined and expressed in terms
                 of the language Modula.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  classcodes =   "C6110 (Systems analysis and programming); C6150J
                 (Operating systems)",
  classification = "722; 723",
  corpsource =   "ETH, Zurich, Switzerland",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  journalabr =   "Commun ACM",
  keywords =     "computer programming languages; computer systems,
                 digital; concurrency; discipline; execution time;
                 Modula; multiprogramming; online operation; process
                 synchronization; processor sharing; program testing;
                 program validation; programming; real time; real-time
                 programming",
  numpages =     "7",
  oldlabel =     "Wirth77",
  treatment =    "P Practical",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Wirth77",
}

@Article{Wirth:1977:UM,
  author =       "Niklaus Wirth",
  title =        "The Use of {Modula}",
  journal =      j-SPE,
  volume =       "7",
  number =       "1",
  pages =        "37--65",
  month =        jan # "\slash " # mar,
  year =         "1977",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380070103",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Wirth:1977:WCW,
  author =       "Niklaus Wirth",
  title =        "What Can We Do about the Unnecessary Diversity of
                 Notation for Syntactic Definitions?",
  journal =      j-CACM,
  volume =       "20",
  number =       "11",
  pages =        "822--823",
  month =        nov,
  year =         "1977",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/359863.359883",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Mon Jan 22 07:30:27 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/journals/cacm/cacm20.html#Wirth77a;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1970.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/What%20can%20we%20do%20Notation%20EBNF.pdf",
  abstract =     "The population of programming languages is steadily
                 growing, and there is no end of this growth in sight.
                 Many language definitions appear in journals, many are
                 found in technical reports, and perhaps an even greater
                 number remains confined to proprietary circles. After
                 frequent exposure to these definitions, one cannot fail
                 to notice the lack of common denominators. The only
                 widely accepted fact is that the language structure is
                 defined by a syntax. But even notation for syntactic
                 description eludes any commonly agreed standard form,
                 although the underlying ancestor is invariably the
                 Backus-Naur Form of the Algol 60 report. As variations
                 are often only slight, they become annoying for their
                 very lack of an apparent motivation.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  classcodes =   "C4210 (Formal logic); C4240 (Programming and algorithm
                 theory); C6140D (High level languages)",
  corpsource =   "Federal Inst. of Technol., ETH, Zurich, Switzerland",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  keywords =     "extended BNF; notation; programming languages;
                 syntactic definitions; syntactic description language",
  numpages =     "2",
  oldlabel =     "Wirth77a",
  treatment =    "T Theoretical or Mathematical",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Wirth77a",
}

@TechReport{Wirth:1978:M,
  author =       "N. Wirth",
  title =        "{MODULA-2}",
  type =         "Report",
  number =       "27",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  month =        dec,
  year =         "1978",
  bibdate =      "Tue Jan 30 07:40:19 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Referenced in Pascal Newsletter number 17, not yet
                 found online.",
}

@Article{Wirth:1978:OPI,
  author =       "N. Wirth",
  title =        "Obeisance to {Pascal} Inventor",
  journal =      "Electronics: the International Magazine of Electronics
                 Technology",
  volume =       "51",
  number =       "26",
  pages =        "6--6",
  day =          "21",
  month =        dec,
  year =         "1978",
  ISSN =         "0883-4989",
  ISSN-L =       "0883-4989",
  bibdate =      "Tue Jan 30 07:29:57 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.worldradiohistory.com/Archive-Electronics/70s/78/Electronics-1978-12-21.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Electronics",
  remark =       "Referenced in Pascal Newsletter number 15. In this
                 half-column letter, Niklaus Wirth explains the choice
                 of the name Pascal for the programming language: it was
                 for the Pascaline calculator, not the philosophy or
                 religion of Blaise Pascal. This journal, Electronics,
                 was published by McGraw-Hill in 11 volumes, from volume
                 58, number 24 (June 17, 1985) to volume 68, number 6
                 (27 March 1995), and is NOT the journal of that same
                 name published since 2012 by MDPI.",
  xx-journal-url = "https://www.mdpi.com/journal/electronics",
}

@Article{Wirth:1978:TCI,
  author =       "Niklaus Wirth",
  title =        "Technical Correspondence: Interlude on Signals and
                 Semaphores Revisited. Author's Response",
  journal =      j-CACM,
  volume =       "21",
  number =       "7",
  pages =        "592--592",
  month =        jul,
  year =         "1978",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/359545.383404",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  numpages =     "3",
}

@TechReport{Wirth:1979:CPP,
  author =       "N. Wirth",
  title =        "A Collection of {Pascal} Programs",
  type =         "Report",
  number =       "33",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "iii + 75",
  month =        jul,
  year =         "1979",
  bibdate =      "Tue Jan 30 07:41:23 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/A%20Collection%20of%20Pascal%20Programs%20Wirth%201979%20033.pdf",
  abstract =     "This is a collection of a wide variety of Pascal
                 programs. They range in complexity from simple examples
                 used in introductory courses to illustrate design
                 principles and language features to intricate examples
                 discussed in courses on algorithms and data structures.
                 The programs, however, are grouped according to subject
                 matter rather than complexity. Many are taken from the
                 literature listed below, where they are explained and
                 analyzed in detail.\par

                 The main purpose of this booklet is to provide the
                 teacher of programming with a condensed collection of
                 exemplary programs and thereby to exhibit a preferred
                 style of programming using a structured language. Al
                 the same time, the booklet may serve as a guide in
                 inventing other, perhaps similar exercises. Lastly, it
                 may be a helpful reference lo some widely used,
                 fundamental algorithms, formulated in detail in a
                 widely available language.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Referenced in Pascal Newsletter number 17, not yet
                 found online.",
  tableofcontents = "0. Preface \\
                 1. Integer arithmetic \\
                 power, divide, gcd-lcm, binary gcd, i-sqrt \\
                 2. Integer arithmetic and arrays \\
                 palindromes, magic squares, powers of two, fractions,
                 harmonic function, prime numbers, sieve of Eratosthenes
                 \\
                 3. Real (floating-point) arithmetic \\
                 sum10000, complex multiplication, Fibonacci numbers \\
                 4. Analytic functions and iteration \\
                 sqrt, logarithm, reciprocal value, exp, sin, cos,
                 arcsin, arctan, ln \\
                 6. Text processing \\
                 printerplot, edit, count wordlengths, crunch, hitparade
                 \\
                 6. Recursion \\
                 permute, infix-postfix, Hilbert curves, Sierpinski
                 curves \\
                 7. Sorting arrays \\
                 straight insertion, binary insertion, Shellsort,
                 straight selection, heapsort, bubblesort, shakersort,
                 quicksort, mergesort \\
                 8. Sequential sorting \\
                 natural merge, balanced merge, polyphase merge \\
                 9. ``Problem solving'', backtracking \\
                 eight queens, nonrepeating sequences, sum of cubes,
                 knight's tour, stable marriages, optimal selection \\
                 10. List and tree structures, pointers \\
                 search and insertion in ordered list, search and
                 insertion in reordering list, topological sorting,
                 insertion and deletion in binary tree, insertion and
                 deletion in balanced tree, insertion and deletion in
                 B-tree, optimal search tree \\
                 11. Cross reference generators \\
                 cross-reference generator using binary tree
                 cross-reference generator using hash table \\
                 12. Syntax analysis \\
                 Syntax analyser and scanner for language PL/0",
}

@InProceedings{Wirth:1979:MSS,
  author =       "Niklaus Wirth",
  editor =       "Jeffrey M. Tobias",
  booktitle =    "Language Design and Programming Methodology,
                 Proceedings of a Symposium Held in {Sydney, Australia,
                 10--11 September, 1979}",
  title =        "The Module: a System Structuring Facility in
                 High-Level Programming Languages",
  volume =       "79",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "1--24",
  year =         "1979",
  DOI =          "https://doi.org/10.1007/3-540-09745-7_1",
  bibdate =      "Mon Jan 8 09:43:25 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       ser-LNCS,
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/conf/ldpm/Wirth79.bib",
  dblp-id =      "DBLP:conf/ldpm/Wirth79",
  timestamp =    "Fri, 17 Jul 2020 16:12:45 +0200",
}

@InProceedings{Wirth:1979:PCB,
  author =       "Niklaus Wirth",
  editor =       "Jeffrey M. Tobias",
  booktitle =    "Language Design and Programming Methodology,
                 Proceedings of a Symposium Held in {Sydney, Australia,
                 10--11 September, 1979}",
  title =        "A Personal Computer Based on a High-Level Language",
  volume =       "79",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "191--194",
  year =         "1979",
  DOI =          "https://doi.org/10.1007/3-540-09745-7_14",
  bibdate =      "Mon Jan 8 09:45:12 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       ser-LNCS,
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/conf/ldpm/Wirth79a.bib",
  dblp-id =      "DBLP:conf/ldpm/Wirth79a",
  timestamp =    "Fri, 17 Jul 2020 16:12:45 +0200",
}

@InProceedings{Wirth:1979:PCD,
  author =       "Niklaus Wirth",
  editor =       "Werner Remmele and Heinz Schecher",
  booktitle =    "Microcomputing, {Tagung III/1979 des German Chapter of
                 the ACM am 24. und 25.10.1979 in M{\"u}nchen}",
  title =        "A Personal Computer Designed for Use with a High-Level
                 Language",
  volume =       "3",
  publisher =    pub-TEUBNER,
  address =      pub-TEUBNER:adr,
  pages =        "115--134",
  year =         "1979",
  bibdate =      "Mon Jan 8 09:46:43 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Berichte des German Chapter of the {ACM}",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/conf/microcomputing/Wirth79.bib",
  dblp-id =      "DBLP:conf/microcomputing/Wirth79",
  timestamp =    "Thu, 04 Nov 2004 10:00:40 +0100",
}

@Article{Wirth:1980:CRG,
  author =       "N. Wirth",
  title =        "[{Cross} Reference Generator for {Pascal} Programs]:
                 Program {Xref}",
  journal =      "Pascal Newsletter",
  number =       "17",
  pages =        "41--46",
  month =        mar,
  year =         "1980",
  bibdate =      "Tue Jan 30 07:42:47 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Program dated 10 February 1976.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  journal-URL =  "https://www.standardpascaline.org/pug.html",
}

@TechReport{Wirth:1980:M,
  author =       "N. Wirth",
  title =        "{MODULA-2}",
  type =         "Report",
  number =       "36",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  year =         "1980",
  bibdate =      "Tue Jan 30 07:40:19 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Referenced in Pascal Newsletter number 26, not yet
                 found online.",
}

@Article{Wirth:1980:PP,
  author =       "N. Wirth",
  title =        "Program {PASCAL-S}",
  journal =      "Pascal Newsletter",
  number =       "19",
  pages =        "30--40",
  month =        sep,
  year =         "1980",
  bibdate =      "Tue Jan 30 07:50:44 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  journal-URL =  "https://www.standardpascaline.org/pug.html",
}

@InCollection{Brauer:1981:BM,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Back Matter",
  crossref =     "Brauer:1981:PLA",
  pages =        "207--243",
  year =         "1981",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/content/pdf/bbm:978-3-540-38620-9/1",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:DT,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Declarations and Types",
  crossref =     "Brauer:1981:PLA",
  pages =        "15--45",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6_3",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/chapter/10.1007/3-540-10693-6_3",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:E,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Exceptions",
  crossref =     "Brauer:1981:PLA",
  pages =        "143--153",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6_11",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/chapter/10.1007/3-540-10693-6_11",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:FM,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Front Matter",
  crossref =     "Brauer:1981:PLA",
  pages =        "i--x",
  year =         "1981",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/content/pdf/bfm:978-3-540-38620-9/1",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:GPU,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Generic Program Units",
  crossref =     "Brauer:1981:PLA",
  pages =        "155--167",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6_12",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/chapter/10.1007/3-540-10693-6_12",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:I,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Introduction",
  crossref =     "Brauer:1981:PLA",
  pages =        "1--6",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6_1",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/chapter/10.1007/3-540-10693-6_1",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:IO,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Input-Output",
  crossref =     "Brauer:1981:PLA",
  pages =        "183--206",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6_14",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/chapter/10.1007/3-540-10693-6_14",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:LE,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Lexical Elements",
  crossref =     "Brauer:1981:PLA",
  pages =        "7--13",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6_2",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/chapter/10.1007/3-540-10693-6_2",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:NE,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Names and Expressions",
  crossref =     "Brauer:1981:PLA",
  pages =        "47--71",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6_4",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/chapter/10.1007/3-540-10693-6_4",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:P,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Packages",
  crossref =     "Brauer:1981:PLA",
  pages =        "93--103",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6_7",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/chapter/10.1007/3-540-10693-6_7",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:PSC,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Program Structure and Compilation Issues",
  crossref =     "Brauer:1981:PLA",
  pages =        "131--141",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6_10",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/chapter/10.1007/3-540-10693-6_10",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:RSI,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Representation Specifications and Implementation
                 Dependent Features",
  crossref =     "Brauer:1981:PLA",
  pages =        "169--181",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6_13",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/chapter/10.1007/3-540-10693-6_13",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:Sa,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Statements",
  crossref =     "Brauer:1981:PLA",
  pages =        "73--82",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6_5",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/chapter/10.1007/3-540-10693-6_5",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:Sb,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Subprograms",
  crossref =     "Brauer:1981:PLA",
  pages =        "83--92",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6_6",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/chapter/10.1007/3-540-10693-6_6",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:T,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Tasks",
  crossref =     "Brauer:1981:PLA",
  pages =        "115--130",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6_9",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/chapter/10.1007/3-540-10693-6_9",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Brauer:1981:VR,
  author =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  title =        "Visibility Rules",
  crossref =     "Brauer:1981:PLA",
  pages =        "105--114",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6_8",
  bibdate =      "Tue Jul 26 11:31:56 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://link.springer.com/chapter/10.1007/3-540-10693-6_8",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{Jensen:1981:PMS,
  author =       "Kathleen Jensen and Niklaus Wirth",
  title =        "{Pascal}: manuale e standard del linguaggio.
                 ({Italian}) [{Pascal}: manual and standard of the
                 language]",
  publisher =    "Gruppo editoriale Jackson",
  address =      "Milano",
  pages =        "v + 179",
  year =         "1981",
  ISBN =         "88-7056-096-1",
  ISBN-13 =      "978-88-7056-096-1",
  LCCN =         "????",
  MRclass =      "68",
  bibdate =      "Thu Jul 4 16:37:49 MDT 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "Italian",
  subject =      "Elaboratori elettronici; Linguaggio Pascal; Pascal
                 (Linguaggio)",
}

@InProceedings{Wirth:1981:LPCa,
  author =       "N. Wirth",
  booktitle =    "Proceedings of the 5th International Conference on
                 Software Engineering",
  title =        "{Lilith}: a Personal Computer for the Software
                 Engineer",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "2--15",
  year =         "1981",
  ISBN =         "0-89791-146-6",
  ISBN-13 =      "978-0-89791-146-7",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "ICSE '81",
  abstract =     "The personal work station offers significant
                 advantages over the large-scale, central computing
                 facility accessed via a terminal. Among them are
                 availability, reliability, simplicity of operation, and
                 a high bandwidth to the user. Modern technology allows
                 to build systems for high-level language programming
                 with significant computing power for a reasonable
                 price. At the Institut fur Informatik of ETH we have
                 designed and built such a personal computer tailored to
                 the language Modula-2. This paper is a report on this
                 project which encompasses language design, development
                 of a compiler and a single-user operating system,
                 design of an architecture suitable for compiling and
                 yielding a high density of code, and the development
                 and construction of the hardware. 20 Lilith computers
                 are now in use at ETH.A principal theme is that the
                 requirements of software engineering influence the
                 design of the language, and that its facilities are
                 reflected by the architecture of the computer and the
                 structure of the hardware. The module structure is used
                 to exemplify this theme. That the hardware should be
                 designed according to the programming language, instead
                 of vice-versa, is particularly relevant in view of the
                 trend towards VLSI technology.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  location =     "San Diego, California, USA",
  numpages =     "14",
}

@InProceedings{Wirth:1981:LPCb,
  author =       "Niklaus Wirth",
  editor =       "Michael J. Flynn and Neville Harris and Daniel P.
                 McCarthy",
  booktitle =    "Microcomputer System Design, An Advanced Course,
                 {Trinity College Dublin, Ireland, June 1981}",
  title =        "{LILITH}: a personal computer for the software
                 engineer",
  volume =       "126",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "349--397",
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-11172-7_10",
  bibdate =      "Mon Jan 8 09:26:37 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       ser-LNCS,
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/conf/ac/Wirth81.bib",
  dblp-id =      "DBLP:conf/ac/Wirth81",
  timestamp =    "Tue, 14 May 2019 10:00:49 +0200",
}

@InProceedings{Wirth:1981:PSI,
  author =       "Niklaus Wirth",
  title =        "{Pascal-S}: a Subset and its Implementation",
  crossref =     "Barron:1978:PLI",
  pages =        "199--259",
  year =         "1981",
  bibdate =      "Mon Jan 8 09:29:00 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/conf/pascal/Wirth81.bib",
  dblp-id =      "DBLP:conf/pascal/Wirth81",
  timestamp =    "Sat, 11 May 2019 14:10:32 +0200",
}

@Book{Wirth:1982:PM,
  author =       "Niklaus Wirth",
  title =        "Programming in {Modula-2}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "176",
  year =         "1982",
  DOI =          "https://doi.org/10.1007/978-3-642-96717-7",
  ISBN =         "0-387-11674-5 (New York), 3-540-11674-5 (Berlin)",
  ISBN-13 =      "978-0-387-11674-7 (New York), 978-3-540-11674-5
                 (Berlin)",
  LCCN =         "QA76.73.M63 W5713 1982",
  bibdate =      "Sat Jan 6 14:17:50 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  subject =      "MODULA 2; Programmierung",
  tableofcontents = "Preface \\
                 I \\
                 1 Introduction \\
                 2 A first example \\
                 3 A notation to describe syntax \\
                 4 Representation of Modula programs \\
                 5 Statements and expressions \\
                 6 Control structures \\
                 7 Elementary data types \\
                 8 Constant and variable declarations \\
                 9 The data structure Array \\
                 2 \\
                 10 Procedures \\
                 11 The concept of locality \\
                 12 Parameters \\
                 13 Function procedures \\
                 14 Recursion \\
                 3 \\
                 15 Type declarations \\
                 16 Enumeration types \\
                 17 Subrange types \\
                 18 Set types \\
                 19 Record types \\
                 20 Records with variant parts \\
                 21 Dynamic structures and pointers \\
                 22 Procedure types \\
                 4 \\
                 23 Modules \\
                 24 Definition and implementation parts \\
                 25 Program decomposition into modules \\
                 26 Local modules \\
                 27 Sequential input and output \\
                 28 Screen-oriented input and output \\
                 5 \\
                 29 Low-level facilities \\
                 30 Concurrent processes and coroutines \\
                 31 Device handling, concurrency, and interrupts \\
                 Report on the Programming Language Modula-2 \\
                 Appendix 1: The Syntax of Modula-2 \\
                 Appendix 2: The ASCII character set",
}

@Book{Wirth:1983:AD,
  author =       "N. Wirth",
  title =        "{Algorithmen und Datenstrukturen}. ({German})
                 [{Algorithms} and Data Structures]",
  publisher =    pub-TEUBNER,
  address =      pub-TEUBNER:adr,
  edition =      "Third",
  pages =        "320",
  year =         "1983",
  DOI =          "https://doi.org/10.1007/978-3-322-94704-8",
  ISBN =         "3-519-02250-8, 3-322-94704-1",
  ISBN-13 =      "978-3-519-02250-3, 978-3-322-94704-8",
  LCCN =         "????",
  MRclass =      "68-01 (68B15 68C05)",
  MRnumber =     "698608",
  bibdate =      "Fri Sep 16 11:55:58 1994",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/hash.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  descriptor =   "Algorithmus; Back Tracking; Baum; Datenstruktur;
                 Datentyp; File; Hashing; Liste; Rekursion; Sortieren;
                 Suchbaum; Suchen; Zeiger",
  language =     "German",
  tableofcontents = "Vorwort / 7 \\
                 \\
                 Inhalt / 13 \\
                 \\
                 1. Fundamentale Datenstrukturen / 17 \\
                 \\
                 1.1. Einleitung / 17 \\
                 1.2. Der Begriff des Datentyps / 21 \\
                 1.3. Einfache Datentypen / 25 \\
                 1.4. Einfache Standard-Typen / 27 \\
                 1.5. Unterbereich-Typen / 30 \\
                 1.6. Die Strukturart Array / 31 \\
                 1.7. Die Strukturart Record / 36 \\
                 1.8. Die Strukturart des Varianten Record / 41 \\
                 1.9. Die Strukturart Set (Menge) / 44 \\
                 1.10. Darstellung von fundamentalen Strukturen / 49 \\
                 1.10.1. Darstellung von Arrays / 50 \\
                 1.10.2. Darstellung von Records / 52 \\
                 1.10.3. Darstellung von Sets / 53 \\
                 1.11. Die Struktur des sequentiellen Files / 55 \\
                 1.11.1. Elementare File-Operatoren / 58 \\
                 1.11.2. Files mit Unterstrukturen / 60 \\
                 1.11.3. Texte / 62 \\
                 1.11.4. Ein Programm zum {\"A}ndern eines Files / 70
                 \\
                 {\"U}bungen / 74 \\
                 \\
                 2. Sortieren / 77 \\
                 \\
                 2.1. Einleitung / 77 \\
                 2.2. Sortieren von Arrays / 80 \\
                 2.2.1. Sortieren durch direktes Einf{\"u}gen / 80 \\
                 2.2.2. Sortieren durch direktes Ausw{\"a}hlen / 83 \\
                 2.2.3. Sortieren durch direktes Austauschen / 86 \\
                 2.2.4. Sortieren durch Einf{\"u}gen mit abnehmender
                 Schrittweite / 89 \\
                 2.2.5. Sortieren mit B{\"a}umen / 91 \\
                 2.2.6. Sortieren durch Zerlegen (Partition) / 96 \\
                 2.2.7. Bestimmung des mittleren Elementes / 103 \\
                 2.2.8. Ein Vergleich der Sortiermethoden mit Arrays /
                 105 \\
                 2.3. Sortieren sequentieller Files / 108 \\
                 2.3.1. Direktes Mischen / 108 \\
                 2.3.2. Nat{\"u}rliches Mischen / 113 \\
                 2.3.3. Ausgeglichenes n-Weg-Mischen / 120 \\
                 2.3.4. Mehrphasen-Sortieren / 127 \\
                 2.3.5. Verteilung der urspr{\"u}nglichen L{\"a}ufe /
                 138 \\
                 {\"U}bungen / 145 \\
                 \\
                 3. Rekursive Algorithmen / 149 \\
                 \\
                 3.1. Einleitung / 149 \\
                 3.2. Wo Rekursion zu vermeiden ist / 152 \\
                 3.3. Zwei Beispiele rekursiver Programme / 155 \\
                 3.4. Backtracking Algorithmen / 162 \\
                 3.4.1. Das Problem der acht Damen / 168 \\
                 3.4.2. Das Problem der stabilen Heirat / 174 \\
                 3.4.3. Das optimale Auswahlproblem / 180 \\
                 {\"U}bungen / 186 \\
                 \\
                 4. Dynamische Informationsstrukturen / 189 \\
                 \\
                 4.1. Rekursive Datentypen / 189 \\
                 4.2. Zeiger / 193 \\
                 4.3. Lineare Listen / 199 \\
                 4.3.1. Grundoperationen / 199 \\
                 4.3.2. Geordnete Listen und Neuordnung von Listen / 203
                 \\
                 4.3.3. Eine Anwendung: Topologisches Sortieren / 210
                 \\
                 4.4. Baumstrukturen / 219 \\
                 4.4.1. Grundlegende Konzepte und Definitionen / 219 \\
                 4.4.2. Elementare Operationen auf bin{\"a}ren
                 B{\"a}umen / 227 \\
                 4.4.3. Durchsuchen eines Baumes und Einf{\"u}gen in
                 einen Baum / 231 \\
                 4.4.4. L{\"o}schen in B{\"a}umen / 240 \\
                 4.4.5. Analyse des Durchsuchens und Einf{\"u}gens / 241
                 \\
                 4.4.6. Ausgeglichene B{\"a}ume / 244 \\
                 4.4.7. Einf{\"u}gen in ausgeglichene B{\"a}ume / 247
                 \\
                 4.4.8. L{\"o}schen in ausgeglichenen B{\"a}umen / 252
                 \\
                 4.4.9. Optimale Suchb{\"a}ume / 256 \\
                 4.4.10. Ausgabe einer Baumstruktur / 262 \\
                 4.5. Vielweg-B{\"a}ume / 273 \\
                 4.5.1. B-B{\"a}ume / 275 \\
                 4.5.2. Bin{\"a}re B-B{\"a}ume / 288 \\
                 4.6. Schl{\"u}ssel-Transformationen / 296 \\
                 4.6.1. Wahl einer Transformationsfunktion / 297 \\
                 4.6.2. Behandlung der Kollision / 298 \\
                 4.6.3. Analyse der Schl{\"u}ssel-Transformation / 303
                 \\
                 {\"U}bungen / 307 \\
                 \\
                 Der ASCII-Zeichensatz / 312 \\
                 \\
                 Literatur / 313 \\
                 \\
                 Verzeichnis der Programme / 316 \\
                 \\
                 Sachverzeichnis / 318",
}

@Article{Wirth:1983:PDS,
  author =       "Niklaus Wirth",
  title =        "Program Development by Stepwise Refinement (Reprint)",
  journal =      j-CACM,
  volume =       "26",
  number =       "1",
  pages =        "70--74",
  month =        jan,
  year =         "1983",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/357980.358010",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Mon Jan 27 13:11:24 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1980.bib",
  note =         "Reprint of \cite{Wirth:1971:PDS}.",
  abstract =     "The creative activity of programming to be
                 distinguished from coding is usually taught by examples
                 serving to exhibit certain techniques. It is here
                 considered as a sequence of design decisions concerning
                 the decomposition of tasks into subtasks and of data
                 into data structures. The process of successive
                 refinement of specifications is illustrated by a short
                 but nontrivial example, from which a number of
                 conclusions are drawn regarding the art and the
                 instruction of programming.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  keywords =     "programming techniques, stepwise program construction,
                 education in programming",
  numpages =     "5",
}

@Book{Wirth:1983:PM,
  author =       "Niklaus Wirth",
  title =        "Programming in {Modula-2}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  edition =      "Second",
  pages =        "176",
  year =         "1983",
  DOI =          "https://doi.org/10.1007/978-3-642-96757-3",
  ISBN =         "0-387-12206-0 (New York), 3-540-12206-0 (Berlin),
                 3-540-15078-1, 3-642-96757-4 (e-book), 3-642-96759-0
                 (print), 3-642-96880-5 (print)",
  ISBN-13 =      "978-0-387-12206-9 (New York), 978-3-540-12206-7
                 (Berlin), 978-3-540-15078-7, 978-3-642-96757-3
                 (e-book), 978-3-642-96759-7 (print), 978-3-642-96880-8
                 (print)",
  LCCN =         "QA76.73.M63 W5713 1983",
  bibdate =      "Wed Dec 15 10:59:11 1993",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  abstract =     "This is the third corrected printing of a successful
                 book which first appeared in 1982. It is an
                 introduction to programming in general as well as a
                 manual for programming with the language Modula-2 in
                 particular.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  tableofcontents = "Preface \\
                 1 Introduction / 9 \\
                 2 A First Example / 11 \\
                 3 A Notation to Describe the Syntax of Modula / 14 \\
                 4 Representation of Modula Programs / 16 \\
                 5 Statements and Expressions / 19 \\
                 6 Control Structures / 22 \\
                 7 Elementary Data Types / 28 \\
                 8 Constant and Variable Declarations / 36 \\
                 9 The Data Structure Array / 37 \\
                 10 Procedures / 47 \\
                 11 The Concept of Locality / 49 \\
                 12 Parameters / 51 \\
                 13 Function Procedures / 54 \\
                 14 Recursion / 56 \\
                 15 Type Declarations / 62 \\
                 16 Enumeration Types / 64 \\
                 17 Subrange Types / 65 \\
                 18 Set Types / 66 \\
                 19 Record Types / 68 \\
                 20 Records with Variant Parts / 71 \\
                 21 Dynamic Structures and Pointers / 74 \\
                 22 Procedure Types / 79 \\
                 23 Modules / 81 \\
                 24 Definition and Implementation Parts / 83 \\
                 25 Program Decomposition into Modules / 87 \\
                 26 Local Modules / 94 \\
                 27 Sequential Input and Output / 101 \\
                 28 Screen-Oriented Input and Output / 109 \\
                 29 Low-Level Facilities / 119 \\
                 30 Concurrent Processes and Coroutines / 122 \\
                 31 Device Handling, Concurrency, and Interrupts / 129
                 \\
                 Report on the Programming Language Modula-2 / 133 \\
                 Appendix 1: The Syntax of Modula-2 / 157 \\
                 Appendix 2: Standard Utility Modules / 161 \\
                 Appendix 3: The ASCII Character Set / 170 \\
                 Appendix 4: Syntax Diagrams / 171 \\
                 Index / 181",
  xxpages =      "182",
}

@Book{Wirth:1983:SPE,
  author =       "Niklaus Wirth",
  title =        "{Systematisches Programmieren: Eine Einf{\"u}hrung}.
                 ({German}) [{Systematic} Programming: An
                 Introduction]",
  volume =       "17",
  publisher =    "Vieweg + Teubner Verlag",
  address =      "Wiesbaden, Germany",
  edition =      "Sixth",
  pages =        "160",
  year =         "1983",
  DOI =          "https://doi.org/10.1007/978-3-322-89538-7",
  ISBN =         "3-322-89538-6, 3-519-02375-X",
  ISBN-13 =      "978-3-322-89538-7, 978-3-519-02375-3",
  LCCN =         "TA1-2040",
  bibdate =      "Thu Jul 4 16:44:34 MDT 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Leitf{\"a}den der angewandten Mathematik und Mechanik
                 LAMM",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "German",
  subject =      "Engineering; Engineering, general",
  tableofcontents = "1. Einleitung \\
                 2. Grundbegriffe \\
                 3. {\"U}bersicht {\"u}ber den Aufbau eines Computers
                 \\
                 4. Programmierhilfen und Programmiersysteme \\
                 5. Einfache Beispiele von Programmen \\
                 6. Endlichkeit von Programmen \\
                 7. Lineare Notation, Programmiersprachen \\
                 7.1. {\"U}bersicht \\
                 7.2. Ausdr{\"u}cke und Anweisungen \\
                 7.3. Einfache Programme in linearer Notation \\
                 8. Datentypen \\
                 8.1. Der Typ 'Boolean' \\
                 8.2. Der Typ 'integer' \\
                 8.3. Der Typ 'char' \\
                 8.4. Der Typ 'real' \\
                 9. Programme mit Rekursionsrelationen \\
                 9.1. Folgen \\
                 9.2. Reihen \\
                 10. Die Strukturart 'File' \\
                 10.1. Der Begriff des F{\"u}e \\
                 10.2. Generierung eines File \\
                 10.3. Inspektion eines File \\
                 10.4. Text-F{\"u}es \\
                 11. Die Strukturart 'Array' \\
                 12. Unterprogramme \\
                 Prozeduren und Funktionen \\
                 12.1. Konzept und Terminologie \\
                 12.2. Lokale Gr{\"o}{\ss}en \\
                 12.3. Prozedur-Parameter \\
                 12.4. Parametrische Prozeduren und Funktionen \\
                 13. Transformationen von Zahlendarstellungen \\
                 13.1. Eingabe von positiven ganzen Zahlen in dezimaler
                 Darstellung \\
                 13.2. Ausgabe von positiven ganzen Zahlen in dezimaler
                 Darstellung \\
                 13.3. Ausgabe von gebrochenen Zahlen in dezimaler
                 Darstellung \\
                 13.4. Transformation von Gleitkomma-Darstellungen \\
                 14. Textverarbeitung mit Array- und File-Strukturen \\
                 14.1. Begrenzung der Zeilenl{\"a}nge in einem Text-File
                 \\
                 14.2. Editieren einer Textzeile \\
                 14.3. Erkennen von regul{\"a}ren Zeichenmustern \\
                 15. Schrittweise Programmentwicklung \\
                 15.1. L{\"o}sung eines linearen Gleichungssystems \\
                 15.2. Ermittlung der kleinsten Zahl, die sich auf zwei
                 Arten als Summe von zwei dritten Potenzen
                 nat{\"u}rlicher Zahlen darstellen l{\"a}{\ss}t \\
                 15.3. Berechnung der ersten n Primzahlen \\
                 15.4. Ein Beispiel eines heuristischen Algorithmus \\
                 Anhang A. Die Programmiersprache PASCAL \\
                 Anhang B. ASCII-Steuerzeichen \\
                 Literatur",
}

@InCollection{Wirth:1984:APL,
  author =       "Niklaus Wirth",
  title =        "An assessment of the programming language {Pascal}",
  crossref =     "Feuer:1984:CAP",
  pages =        "??--??",
  year =         "1984",
  bibdate =      "Wed Jan 10 09:42:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{Wirth:1984:CEG,
  author =       "Niklaus Wirth",
  title =        "{Compilerbau: Eine Einf{\"u}hrung}. ({German})
                 [{Compiler} Construction: An Introduction]",
  volume =       "36",
  publisher =    "Vieweg + Teubner Verlag",
  address =      "Wiesbaden, Germany",
  edition =      "Fourth",
  pages =        "118",
  year =         "1984",
  DOI =          "https://doi.org/10.1007/978-3-322-89543-1",
  ISBN =         "3-322-89543-2, 3-519-32338-9",
  ISBN-13 =      "978-3-322-89543-1, 978-3-519-32338-9",
  LCCN =         "QA76.76.C65",
  bibdate =      "Fri Jul 5 07:06:59 MDT 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Leitf{\"a}den der angewandten Mathematik und Mechanik
                 LAMM",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "German",
  tableofcontents = "0. Einleitung \\
                 1. Definition und Struktur formaler Sprachen \\
                 2. Satzanalyse \\
                 3. Syntax Graphen \\
                 4. Aufbau eines Parsers f{\"u}r eine gegebene Syntax
                 \\
                 5. Tabellen-gesteuerte Syntax Analyse \\
                 6. Die {\"u}bersetzung von BNF-Produktionen in Tabellen
                 \\
                 7. Die Programmiersprache PL/0 \\
                 8. Ein Parser f{\"u}r PL/0 \\
                 9. Die Behandlung von syntaktischen Fehlern \\
                 10. Ein Interpreter f{\"u}r PL/0 \\
                 11. Die Erzeugung von Befehls-Code \\
                 12. Eine Spracherweiterung: Prozesse \\
                 13. Technik der Compilerentwicklung und
                 -{\"u}bertragung \\
                 14. Aufgabensammlung \\
                 Literaturhinweise \\
                 Anhang: Der ASCII Zeichensatz \\
                 Stichwortverzeichnis",
}

@TechReport{Wirth:1984:DSAa,
  author =       "Niklaus Wirth",
  title =        "Data Structures and Algorithms",
  type =         "Report",
  number =       "60",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "18",
  year =         "1984",
  bibdate =      "Sat Feb 03 07:02:28 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Data%20Structures%20Algorithms%20Informatics%20060.pdf",
  abstract =     "This article attempts to outline the basic concepts of
                 structuring data and of constructing algorithms in a
                 methodical manner. The methods are explained with a few
                 simple and typical examples. The programmer's principal
                 concerns for correctness and efficiency require precise
                 mathematical reasoning. Predicate calculus and
                 probability calculus emerge as the indispensable tools
                 for the modern professional programmer.\par

                 This is the original version of the copy-edited and
                 improved article to be published in the September 1984
                 issue of Scientific American.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Wirth:1984:DSAb,
  author =       "Niklaus Wirth",
  title =        "Data Structures and Algorithms",
  journal =      j-SCI-AMER,
  volume =       "251",
  number =       "3",
  pages =        "60--69 (Intl. ed. 48--57)",
  month =        sep,
  year =         "1984",
  CODEN =        "SCAMAC",
  DOI =          "https://doi.org/10.1038/scientificamerican0984-60",
  ISSN =         "0036-8733 (print), 1946-7087 (electronic)",
  ISSN-L =       "0036-8733",
  bibdate =      "Wed May 22 15:03:25 MDT 2013",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sciam1980.bib",
  URL =          "http://www.nature.com/scientificamerican/journal/v251/n3/pdf/scientificamerican0984-60.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  classification = "C4240 (Programming and algorithm theory); C6120
                 (File organisation)",
  fjournal =     "Scientific American",
  journal-URL =  "http://www.nature.com/scientificamerican",
  keywords =     "algorithm theory; algorithms; arrays; binary trees;
                 computer programming; computer software; data
                 structure; data structures; lists; procedures; search
                 algorithm; searching; sets; verifying",
  treatment =    "G General Review",
}

@Article{Wirth:1984:HGM,
  author =       "N. Wirth",
  title =        "History and Goals of {Modula-2}",
  journal =      j-BYTE,
  volume =       "9",
  number =       "??",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "145--152",
  month =        aug,
  year =         "1984",
  CODEN =        "BYTEDJ",
  ISSN =         "0360-5280 (print), 1082-7838 (electronic)",
  ISSN-L =       "0360-5280",
  bibdate =      "Mon Feb 24 12:15:59 1986",
  bibsource =    "/usr/local/src/bib/bibliography/Misc/arch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/byte1980.bib",
  note =         "Modula-2",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  owner =        "kotliar",
}

@InCollection{Wirth:1984:PLW,
  author =       "Niklaus Wirth",
  title =        "Programming languages: what to demand and how to
                 assess them",
  crossref =     "Feuer:1984:CAP",
  pages =        "??--??",
  year =         "1984",
  bibdate =      "Wed Jan 10 09:42:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{Jensen:1985:PUM,
  author =       "Kathleen Jensen and Niklaus Wirth",
  title =        "{Pascal} User Manual and Report: {ISO Pascal
                 Standard}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  edition =      "Third",
  pages =        "xvi + 266",
  year =         "1985",
  ISBN =         "0-387-96048-1, 3-540-96048-1",
  ISBN-13 =      "978-0-387-96048-7, 978-3-540-96048-5",
  LCCN =         "QA76.73.P2 J46 1985",
  bibdate =      "Sun May 02 07:49:43 1999",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/bibnet/subjects/acc-stab-num-alg.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  note =         "Revised by Andrew B. Mickel and James F. Miner. See
                 \cite{ANSI:pascal,Jensen:1974:PUMa,Jensen:1974:PUMb}.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  tableofcontents = "Notation: symbols and separators \\
                 The concept of data: simple data types \\
                 The program heading and the declaration part \\
                 The concept of action \\
                 Enumerated and subrange types \\
                 Structured types in general \\
                 array types in particular \\
                 Record types \\
                 Set types \\
                 File types \\
                 Pointer types \\
                 Procedures and functions \\
                 Textfile input and output",
  xxtitle =      "Pascal User Manual and Report. {Revised} for the {ISO
                 Pascal Standard}",
}

@Article{Knuth:1985:PPI,
  author =       "Donald E. Knuth and Niklaus Wirth",
  title =        "Programming philosophy (interviews by {Ken Takara})",
  journal =      j-COMP-LANG-MAG,
  volume =       "2",
  number =       "5",
  pages =        "25--35",
  month =        may,
  year =         "1985",
  CODEN =        "COMLEF",
  ISSN =         "0749-2839",
  ISSN-L =       "0749-2839",
  bibdate =      "Fri Sep 23 02:17:02 1994",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/complang.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  xxnote =       "Check author order.",
  xxnote2 =      "Journal not available at U of Utah for checking.",
}

@Article{Wirth:1985:PLD,
  author =       "Niklaus Wirth",
  title =        "From Programming Language Design to Computer
                 Construction",
  journal =      j-CACM,
  volume =       "28",
  number =       "2",
  pages =        "160--164",
  month =        feb,
  year =         "1985",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/2786.2789",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Thu May 30 09:41:10 MDT 1996",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/acm-turing-awards.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1980.bib",
  URL =          "http://www.acm.org/pubs/toc/Abstracts/0001-0782/2789.html",
  abstract =     "From NELIAC (via ALGOL 60) to Euler and ALGOL W, to
                 Pascal and Modula-2, and ultimately Lilith, Wirth's
                 search for an appropriate formalism for systems
                 programming yields intriguing insights and surprising
                 results.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  keywords =     "design; human factors; languages",
  numpages =     "5",
  remark =       "This is the 1984 Turing Award Lecture. NELIAC is a
                 dialect of ALGOL 58.",
  subject =      "{\bf K.2}: Computing Milieux, HISTORY OF COMPUTING,
                 Software. {\bf D.3.2}: Software, PROGRAMMING LANGUAGES,
                 Language Classifications.",
}

@Book{Wirth:1985:PM,
  author =       "Niklaus Wirth",
  title =        "Programming in {Modula-2}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  edition =      "Third corrected",
  pages =        "176",
  year =         "1985",
  DOI =          "https://doi.org/10.1007/978-3-642-96878-5",
  ISBN =         "0-387-15078-1, 3-540-15078-1 (West Germany)",
  ISBN-13 =      "978-0-387-15078-9, 978-3-540-15078-7",
  LCCN =         "QA76.73.M63 W5713 1983",
  bibdate =      "Sat Jan 6 14:15:02 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  subject =      "Modula-2 (Computer program language); Modula-2
                 (Langage de programmation); Modula-2 (Computer program
                 language)",
  tableofcontents = "Preface \\
                 1 \\
                 1. Introduction \\
                 2. A first example \\
                 3. A notation to describe the syntax of Modula \\
                 4. Representation of Modula programs \\
                 5. Statements and expressions \\
                 6. Control structures \\
                 7. Elementary data types \\
                 8. Constant and variable declarations \\
                 9. The data structure Array \\
                 2 \\
                 10. Procedures \\
                 11. The concept of locality \\
                 12. Parameters \\
                 13. Function procedures \\
                 14. Recursion \\
                 3 \\
                 15. Type declarations \\
                 16. Enumeration types \\
                 17. Subrange types \\
                 18. Set types \\
                 19. Record types \\
                 20. Records with variant parts \\
                 21. Dynamic data structures and pointers \\
                 22. Procedure types \\
                 4 \\
                 23. Modules \\
                 24. Definition and implementation parts \\
                 25. Program decomposition into modules \\
                 26. Local modules \\
                 27. Sequential input and output \\
                 28. Screen-oriented input and output \\
                 5 \\
                 29. Low-level facilities \\
                 30. Concurrent processes and coroutines \\
                 31. Device handling, concurrency, and interrupts \\
                 Report on the Programming Language Modula-2 \\
                 Appendix 1: The Syntax of Modula-2 \\
                 Appendix 2: Standard Utility Modules \\
                 Terminal \\
                 FileSystem \\
                 InOut \\
                 RealInOut \\
                 Windows \\
                 TextWindows \\
                 GraphicWindows \\
                 CursorMouse \\
                 Menu \\
                 Storage \\
                 MathLib0 \\
                 Appendix 3: The ASCII Character Set \\
                 Appendix 4",
}

@Book{Wirth:1985:PMG,
  author =       "Niklaus Wirth",
  title =        "{Programmieren in Modula-2}. ({German}) [{Programming}
                 in {Modula-2}]",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  edition =      "Third corrected",
  pages =        "xiv + 220",
  year =         "1985",
  DOI =          "https://doi.org/10.1007/978-3-642-96878-5",
  ISBN =         "0-387-13301-1 (New York), 3-540-13301-1 (Berlin)",
  ISBN-13 =      "978-0-387-13301-0 (New York), 978-3-540-13301-8
                 (Berlin)",
  LCCN =         "????",
  bibdate =      "Mon Jan 8 09:20:07 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Texts and Monographs in Computer Science",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/books/sp/Wirth85.bib",
  dblp-id =      "DBLP:books/sp/Wirth85",
  language =     "German",
  remark =       "German translation by Guido Pfeiffer of
                 \cite{Wirth:1985:PM}.",
  tableofcontents = "Teil 1 \\
                 1 Einleitung / 1 \\
                 2 Ein erstes Beispiel / 4 \\
                 3 Eine Notation zur Beschreibung der Syntax von Modula
                 / 8 \\
                 4 Die Repr{\"a}sentation von Modula-Programmen / 10 \\
                 5 Anweisungen und Ausdr{\"u}cke / 14 \\
                 6 Kontrollstrukturen / 18 \\
                 6.1 Wiederholungsanweisungen / 18 \\
                 6.2 Bedingte Anweisungen / 20 \\
                 7 Einfache Datentypen / 26 \\
                 7.1 Der Typ INTEGER / 26 \\
                 7.2 Der Typ CARDINAL / 27 \\
                 7.3 Der Typ REAL / 28 \\
                 7.4 Der Typ BOOLEAN / 30 \\
                 7.5 Der Typ CHAR / 32 \\
                 7.6 Der Typ BITSET / 34 \\
                 8 Konstanten- und Variablen-Deklarationen / 36 \\
                 9 Die Datenstruktur Array / 38 \\
                 \\
                 Teil 2 \\
                 10 Prozeduren / 51 \\
                 11 Das Konzept der Lokalit{\"a}t / 53 \\
                 12 Parameter / 55 \\
                 12.1 Variable Parameter / 56 \\
                 12.2 Wertparameter / 57 \\
                 12.3 Offene Array-Parameter / 58 \\
                 13 Funktionsprozeduren / 59 \\
                 14 Rekursion / 62 \\
                 \\
                 Teil 3 \\
                 15 Typdeklarationen / 70 \\
                 16 Aufz{\"a}hlungstypen / 72 \\
                 17 Unterbereichstypen / 73 \\
                 18 Mengentypen / 75 \\
                 19 Rekordtypen / 77 \\
                 20 Variante Rekords / 80 \\
                 21 Dynamische Datenstrukturen und Zeiger / 83 \\
                 22 Prozedurtypen / 89 \\
                 \\
                 Teil 4 \\
                 23 Module / 91 \\
                 24 Definitions- und Implementations-Teile / 94 \\
                 25 Unterteilung von Programmen in Module / 98 \\
                 26 Lokale Module / 107 \\
                 27 Sequentielle Ein- und Ausgabe / 116 \\
                 28 Bildschirmorientierte Ein- und Ausgabe / 126 \\
                 \\
                 Teil 5 \\
                 29 Maschinennahe (niedere) Sprachelemente / 139 \\
                 30 Nebenl{\"a}ufige Prozesse und Coroutinen / 144 \\
                 31 Ger{\"a}te-Prozesse, Nebenl{\"a}ufigkeit und
                 Interrupts / 153 \\
                 {\"U}bersicht {\"u}ber die Programmierung in Modula-2 /
                 159 \\
                 Anhang 1: Die Syntax von Modula-2 / 193 \\
                 Anhang 2: Standard Hilfs-Module / 202 \\
                 Anhang 3: Der ASCII-Zeichensatz / 215 \\
                 Sachverzeichnis / 217",
  timestamp =    "Tue, 16 May 2017 14:01:44 +0200",
}

@Book{Wirth:1986:ADM,
  author =       "Niklaus Wirth",
  title =        "{Algorithmen und Datenstrukturen mit Modula-2}.
                 ({German}) [{Algorithms} and Data Structures with
                 {Modula-2}]",
  publisher =    pub-TEUBNER,
  address =      pub-TEUBNER:adr,
  edition =      "Fourth",
  pages =        "299",
  year =         "1986",
  DOI =          "https://doi.org/10.1007/978-3-322-96663-6",
  ISBN =         "3-519-02260-5",
  ISBN-13 =      "978-3-519-02260-2",
  MRclass =      "68-01",
  MRnumber =     "920174",
  bibdate =      "Thu Jan 4 17:49:43 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Leitf{\"{a}}den und Monographien der Informatik.
                 [Guides and Monographs in Information Science]",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "German",
  tableofcontents = "Vorwort \\
                 Notation \\
                 \\
                 1. Fundamentale Datenstrukturen \\
                 1.1. Einleitung / 17 \\
                 1.2. Der Begriff des Datentyps / 20 \\
                 1.3. Elementare Datentypen / 22 \\
                 1.4. Standard-Typen / 23 \\
                 1.5. Unterbereich-Typen / 27 \\
                 1.6. Die Strukturart Array / 28 \\
                 1.7. Die Strukturart Record / 31 \\
                 1.8. Die Strukturart des Varianten Record / 34 \\
                 1.9. Die Strukturart Set / 36 \\
                 1.10. Darstellung von fundamentalen Strukturen / 37 \\
                 1.10.1. Darstellung von Arrays / 38 \\
                 1.10.2. Darstellung von Records / 40 \\
                 1.10.3. Darstellung von Sets / 40 \\
                 1.11. Die Sequenz-Struktur / 42 \\
                 1.11.1. Elementare Sequenz-Operatoren / 43 \\
                 1.11.2. Das Puffern von Sequenzen / 46 \\
                 1.11.3. Standard Ein- und Ausgabe Operationen / 51 \\
                 1.12 Such-Algorithmen / 55 \\
                 1.12.1 Lineares Suchen / 55 \\
                 1.12.2 Bin{\"a}res Suchen / 56 \\
                 1.12.3 Tabellen-Suchen / 58 \\
                 1.12.4 Direktes Muster-Suchen in Zeichenfolgen / 60 \\
                 1.12.5 Der Knuth-Morris-Pratt Suchalgorithmus / 62 \\
                 1.12.6 Der Boyer-Moore Algorithmus / 67 \\
                 {\"U}bungen / 72 \\
                 \\
                 2. Sortieren \\
                 2.1. Einleitung / 75 \\
                 2.2. Sortieren von Arrays / 78 \\
                 2.2.1. Sortieren durch direktes Einf{\"u}gen / 78 \\
                 2.2.2. Sortieren durch direktes Ausw{\"a}hlen / 81 \\
                 2.2.3. Sortieren durch direktes Austauschen / 83 \\
                 2.3 Schnelle Sortiermethoden / 87 \\
                 2.3.1. Sortieren durch Einf{\"u}gen mit abnehmender
                 Schrittweite / 89 \\
                 2.3.2. Sortieren mit B{\"a}umen / 89 \\
                 2.3.3. Sortieren durch Zerlegen (Partition) / 94 \\
                 2.3.4. Bestimmung des mittleren Elementes / 99 \\
                 2.3.5. Ein Vergleich der Sortiermethoden mit Arrays /
                 101 \\
                 2.4. Sortieren von Sequenzen / 104 \\
                 2.4.1. Direktes Mischen / 104 \\
                 2.4.2. Nat{\"u}rliches Mischen / 108 \\
                 2.4.3. Ausgeglichenes n-Weg-Mischen / 115 \\
                 2.4.4. Mehrphasen-Sortieren / 121 \\
                 2.4.5. Verteilung der urspr{\"u}nglichen L{\"a}ufe /
                 131 \\
                 {\"U}bungen / 137 \\
                 \\
                 3. Rekursive Algorithmen \\
                 3.1. Einleitung / 139 \\
                 3.2. Wo Rekursion zu vermeiden ist / 141 \\
                 3.3. Zwei Beispiele rekursiver Programme / 144 \\
                 3.4. Backtracking Algorithmen / 150 \\
                 3.5. Das Problem der acht Damen / 156 \\
                 3.6. Das Problem der stabilen Heirat / 160 \\
                 3.7. Das Problem der optimalen Auswahl / 167 \\
                 {\"U}bungen / 171 \\
                 \\
                 4. Dynamische Datenstrukturen \\
                 4.1. Rekursive Datentypen / 174 \\
                 4.2. Zeiger / 177 \\
                 4.3. Lineare Listen / 183 \\
                 4.3.1. Grundoperationen / 183 \\
                 4.3.2. Geordnete Listen und Neuordnung von Listen / 186
                 \\
                 4.3.3. Eine Anwendung: Topologisches Sortieren / 193
                 \\
                 4.4. Baumstrukturen / 200 \\
                 4.4.1. Grundlegende Konzepte und Definitionen / 200 \\
                 4.4.2. Elementare Operationen auf bin{\"a}ren
                 B{\"a}umen / 206 \\
                 4.4.3. Durchsuchen eines Baumes und Einf{\"u}gen in
                 einen Baum / 210 \\
                 4.4.4. L{\"o}schen in B{\"a}umen / 217 \\
                 4.4.5. Analyse des Durchsuchens und Einf{\"u}gens / 219
                 \\
                 4.5. Ausgeglichene B{\"a}ume / 223 \\
                 4.5.1. Einf{\"u}gen in ausgeglichene B{\"a}ume / 224
                 \\
                 4.5.2. L{\"o}schen in ausgeglichenen B{\"a}umen / 230
                 \\
                 4.6. Optimale Suchb{\"a}ume / 234 \\
                 \\
                 4.7. B-B{\"a}ume / 247 \\
                 4.7.1. Vielweg-B-B{\"a}ume / 249 \\
                 4.7.2. Bin{\"a}re B-B{\"a}ume / 260 \\
                 4.8. Suchb{\"a}ume mit Priorit{\"a}ten / 267 \\
                 {\"U}bungen / 272 \\
                 \\
                 5 Schl{\"u}ssel-Transformationen \\
                 5.1. Einleitung / 277 \\
                 5.2. Wahl einer Transformationsfunktion / 278 \\
                 5.3. Behandlung der Kollision / 279 \\
                 5.4. Analyse der Schl{\"u}ssel-Transformation / 284 \\
                 {\"U}bungen / 288 \\
                 \\
                 A. Modula-2 / 289 \\
                 B. Der ASCII-Zeichensatz / 292 \\
                 Literaturverzeichnis / 293 \\
                 Programmverzeichnis / 296 \\
                 Sachverzeichnis / 298",
}

@Book{Wirth:1986:ADS,
  author =       "Niklaus Wirth",
  title =        "Algorithms and Data Structures",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "288",
  year =         "1986",
  ISBN =         "0-13-021999-1, 0-13-022005-1",
  ISBN-13 =      "978-0-13-021999-2, 978-0-13-022005-9",
  LCCN =         "QA76.9.D35 W58 1986",
  MRclass =      "68-01 (68P05)",
  MRnumber =     "808586",
  bibdate =      "Mon Jul 18 23:54:15 1994",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/hash.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  price =        "US\$32.95",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  descriptor =   "Algorithmus, Baum, Datenstruktur, Datentyp, Hashing,
                 Liste, Modula-2, Programmierung, Rekursiver
                 Algorithmus, Sortieren, Suchen, Textsuche",
  remark =       "Lehrbuch; Gegen{\"u}ber Fr{\"u}heren Auflagen
                 {\"U}berarbeitet; Programmiersprache: Modula-2.",
  tableofcontents = "Fundamental data structures \\
                 Sorting \\
                 Recursive algorithms \\
                 Dynamic information structures \\
                 Key transformations (hashing)",
  zz-isbn =      "0-13-022005-1",
}

@Article{Wirth:1986:MAC,
  author =       "Niklaus Wirth",
  title =        "Microprocessor Architectures: a Comparison Based on
                 Code Generation by Compiler",
  journal =      j-CACM,
  volume =       "29",
  number =       "10",
  pages =        "978--990",
  month =        oct,
  year =         "1986",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/6617.6619",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Thu May 30 09:41:10 MDT 1996",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1980.bib",
  URL =          "http://www.acm.org/pubs/toc/Abstracts/0001-0782/6619.html",
  abstract =     "By carefully tuning computer and compiler, it is
                 possible to avoid the otherwise inevitable compromises
                 between complex compiling algorithms and
                 less-than-optimal compiled code, where the key to
                 performance appears to lie neither in sophisticated nor
                 drastically reduced architectures, but in the key
                 concepts of regularity and completeness.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  keywords =     "design; performance",
  numpages =     "13",
  review =       "ACM CR 8803-0181",
  subject =      "{\bf C.4}: Computer Systems Organization, PERFORMANCE
                 OF SYSTEMS, Performance attributes. {\bf C.1.0}:
                 Computer Systems Organization, PROCESSOR ARCHITECTURES,
                 General. {\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
                 Processors, Code generation. {\bf D.3.4}: Software,
                 PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
                 C.5.3}: Computer Systems Organization, COMPUTER SYSTEM
                 IMPLEMENTATION, Microcomputers, Microprocessors.",
}

@Article{Wirth:1987:ERT,
  author =       "Niklaus Wirth",
  title =        "Extension of Record Types",
  journal =      j-SIGCSE,
  volume =       "19",
  number =       "2",
  pages =        "2--9",
  month =        jun,
  year =         "1987",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/24728.24729",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sun Nov 18 07:38:29 MST 2012",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse1980.bib",
  abstract =     "Software systems represent a hierarchy of modules.
                 Client modules contain sets of procedures that extend
                 the capabilities of imported modules. This concept of
                 extension is here applied to data types. Extended types
                 are related to their ancestor in terms of a set
                 hierarchy. Variables of an extended type form a subset
                 of the variables of the ancestor type. This scheme is
                 easily and efficiently implementable, and is manifest
                 by two new language constructs only: the type test and
                 the type guard.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "8",
}

@Article{Wirth:1987:HAPa,
  author =       "Niklaus Wirth",
  title =        "Hardware Architectures for Programming Languages and
                 Programming Languages for Hardware Architectures",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "15",
  number =       "5",
  pages =        "2--8",
  month =        oct,
  year =         "1987",
  CODEN =        "CANED2",
  DOI =          "https://doi.org/10.1145/36177.36178",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Fri May 12 09:41:25 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigarch.bib",
  abstract =     "Programming Languages and Operating Systems introduce
                 abstractions which allow the programmer to ignore
                 details of an implementation. Support of an abstraction
                 must not only concentrate on promoting the efficiency
                 of an implementation, but also on providing the
                 necessary guards against violations of the
                 abstractions. In the frantic drive for efficiency the
                 second goal has been neglected. There are indications
                 that recent designs which are claimed to be both simple
                 and powerful, achieve efficiency by shifting the
                 complex issues of code generation and of appropriate
                 guards onto compilers. Complexity has become the common
                 hallmark of software as well as hardware designs. It
                 cannot be mastered by the common practices of testing
                 and simulation. Hardware design may profit from
                 developments in programming methodology by adopting
                 proof techniques similar to those used in
                 programming.",
  acknowledgement = ack-nhfb,
  ajournal =     "SIGARCH Comput. Archit. News",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "https://dl.acm.org/loi/sigarch",
  numpages =     "7",
  xxISSN =       "0163-5964 (ACM), 0884-7495 (IEEE)",
}

@Article{Wirth:1987:HAPb,
  author =       "Niklaus Wirth",
  title =        "Hardware Architectures for Programming Languages and
                 Programming Languages for Hardware Architectures",
  journal =      j-OPER-SYS-REV,
  volume =       "21",
  number =       "4",
  pages =        "2--8",
  month =        oct,
  year =         "1987",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/36204.36178",
  ISSN =         "0163-5980 (print), 1943-586X (electronic)",
  ISSN-L =       "0163-5980",
  bibdate =      "Sat Aug 26 08:55:50 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/opersysrev.bib",
  abstract =     "Programming Languages and Operating Systems introduce
                 abstractions which allow the programmer to ignore
                 details of an implementation. Support of an abstraction
                 must not only concentrate on promoting the efficiency
                 of an implementation, but also on providing the
                 necessary guards against violations of the
                 abstractions. In the frantic drive for efficiency the
                 second goal has been neglected. There are indications
                 that recent designs which are claimed to be both simple
                 and powerful, achieve efficiency by shifting the
                 complex issues of code generation and of appropriate
                 guards onto compilers. Complexity has become the common
                 hallmark of software as well as hardware designs. It
                 cannot be mastered by the common practices of testing
                 and simulation. Hardware design may profit from
                 developments in programming methodology by adopting
                 proof techniques similar to those used in
                 programming.",
  acknowledgement = ack-nhfb,
  ajournal =     "SIGOPS Oper. Syst. Rev.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "ACM SIGOPS Operating Systems Review",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J597",
  numpages =     "7",
}

@Article{Wirth:1987:HAPc,
  author =       "Niklaus Wirth",
  title =        "Hardware Architectures for Programming Languages and
                 Programming Languages for Hardware Architectures",
  journal =      j-SIGPLAN,
  volume =       "22",
  number =       "10",
  pages =        "2--8",
  month =        oct,
  year =         "1987",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/36205.36178",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:15:15 MST 2003",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  abstract =     "Programming Languages and Operating Systems introduce
                 abstractions which allow the programmer to ignore
                 details of an implementation. Support of an abstraction
                 must not only concentrate on promoting the efficiency
                 of an implementation, but also on providing the
                 necessary guards against violations of the
                 abstractions. In the frantic drive for efficiency the
                 second goal has been neglected. There are indications
                 that recent designs which are claimed to be both simple
                 and powerful, achieve efficiency by shifting the
                 complex issues of code generation and of appropriate
                 guards onto compilers. Complexity has become the common
                 hallmark of software as well as hardware designs. It
                 cannot be mastered by the common practices of testing
                 and simulation. Hardware design may profit from
                 developments in programming methodology by adopting
                 proof techniques similar to those used in
                 programming.",
  acknowledgement = ack-nhfb,
  ajournal =     "SIGPLAN Not.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "7",
}

@InProceedings{Wirth:1987:HAPd,
  author =       "Niklaus Wirth",
  booktitle =    "Proceedings of the Second International Conference on
                 Architectural Support for Programming Languages and
                 Operating Systems",
  title =        "Hardware Architectures for Programming Languages and
                 Programming Languages for Hardware Architectures",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "2--8",
  year =         "1987",
  DOI =          "https://doi.org/10.1145/36206.36178",
  ISBN =         "0-8186-0805-6",
  ISBN-13 =      "978-0-8186-0805-6",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "ASPLOS II",
  abstract =     "Programming Languages and Operating Systems introduce
                 abstractions which allow the programmer to ignore
                 details of an implementation. Support of an abstraction
                 must not only concentrate on promoting the efficiency
                 of an implementation, but also on providing the
                 necessary guards against violations of the
                 abstractions. In the frantic drive for efficiency the
                 second goal has been neglected. There are indications
                 that recent designs which are claimed to be both simple
                 and powerful, achieve efficiency by shifting the
                 complex issues of code generation and of appropriate
                 guards onto compilers. Complexity has become the common
                 hallmark of software as well as hardware designs. It
                 cannot be mastered by the common practices of testing
                 and simulation. Hardware design may profit from
                 developments in programming methodology by adopting
                 proof techniques similar to those used in
                 programming.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  location =     "Palo Alto, California, USA",
  numpages =     "7",
}

@InCollection{Wirth:1987:PLD,
  author =       "Niklaus Wirth",
  title =        "From programming language design to computer
                 construction",
  crossref =     "Ashenhurst:1987:ATA",
  pages =        "??--??",
  year =         "1987",
  DOI =          "https://doi.org/10.1145/1283920.1283941",
  bibdate =      "Tue Jun 21 11:01:04 2011",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/acm-turing-awards.bib",
  note =         "ACM Turing Award lecture, reprinted from
                 \cite{Wirth:1985:PLD}",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Wirth:1988:MO,
  author =       "Niklaus Wirth",
  title =        "From {Modula} to {Oberon}",
  journal =      j-SPE,
  volume =       "18",
  number =       "7",
  pages =        "661--670",
  month =        jul,
  year =         "1988",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380180706",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@TechReport{Wirth:1988:OS,
  author =       "Niklaus Wirth and J{\"u}rg Gutknecht",
  title =        "The {Oberon} System",
  type =         "Report",
  number =       "88",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "32 + 13 figures",
  year =         "1988 (??)",
  bibdate =      "Wed Feb 07 12:16:55 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Undated, and no online archive known. Published in
                 \cite{Wirth:1989:OS}.",
}

@Article{Wirth:1988:OSW,
  author =       "N. Wirth",
  title =        "{Oberon}: a system for workstations",
  journal =      j-MICROPROC-MICROPROG,
  volume =       "24",
  number =       "1--5",
  pages =        "3--8",
  month =        aug,
  year =         "1988",
  CODEN =        "MMICDT",
  DOI =          "https://doi.org/10.1016/0165-6074(88)90017-8",
  ISSN =         "0165-6074 (print), 1878-7061 (electronic)",
  ISSN-L =       "0165-6074",
  bibdate =      "Sat Jan 6 13:38:59 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Microprocessing and Microprogramming",
}

@Article{Wirth:1988:PLO,
  author =       "Niklaus Wirth",
  title =        "The Programming Language {Oberon}",
  journal =      j-SPE,
  volume =       "18",
  number =       "7",
  pages =        "671--690",
  month =        jul,
  year =         "1988",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380180707",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@Book{Wirth:1988:PM,
  author =       "Niklaus Wirth",
  title =        "Programming in {Modula-2}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  edition =      "Fourth",
  pages =        "182",
  year =         "1988",
  DOI =          "https://doi.org/10.1007/978-3-642-83565-0",
  ISBN =         "0-387-50150-9, 3-540-50150-9",
  ISBN-13 =      "978-0-387-50150-5, 978-3-540-50150-3",
  LCCN =         "QA76.73.M63 W5713 1988",
  bibdate =      "Sat Jan 6 15:23:56 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Texts and Monographs in Computer Science",
  URL =          "http://freepages.modula2.org/report4/modula-2.html",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  subject =      "Modula-2 (Lenguaje de programaci{\'o}n); Modula-2
                 (Lenguaje de programaci{\'o}n)",
  tableofcontents = "Preface \\
                 1 Introduction / 9 \\
                 2 A First Example / 11 \\
                 3 A Notation to Describe the Syntax of Modula / 14 \\
                 4 Representation of Modula Programs / 16 \\
                 5 Statements and Expressions / 19 \\
                 6 Control Structures / 22 \\
                 7 Elementary Data Types / 28 \\
                 8 Constant and Variable Declarations / 36 \\
                 9 The Data Structure Array / 37 \\
                 10 Procedures / 47 \\
                 11 The Concept of Locality / 49 \\
                 12 Parameters / 51 \\
                 13 Function Procedures / 54 \\
                 14 Recursion / 56 \\
                 15 Type Declarations / 62 \\
                 16 Enumeration Types / 64 \\
                 17 Subrange Types / 65 \\
                 18 Set Types / 66 \\
                 19 Record Types / 68 \\
                 20 Records with Variant Parts / 71 \\
                 21 Dynamic Structures and Pointers / 74 \\
                 22 Procedure Types / 79 \\
                 23 Modules / 81 \\
                 24 Definition and Implementation Parts / 83 \\
                 25 Program Decomposition into Modules / 87 \\
                 26 Local Modules / 94 \\
                 27 Sequential Input and Output / 101 \\
                 28 Screen-Oriented Input and Output / 109 \\
                 29 Low-Level Facilities / 119 \\
                 30 Concurrent Processes and Coroutines / 122 \\
                 31 Device Handling, Concurrency, and Interrupts / 129
                 \\
                 Report on the Programming Language Modula-2 / 133 \\
                 Appendix 1: The Syntax of Modula-2 / 157 \\
                 Appendix 2: Standard Utility Modules / 161 \\
                 Appendix 3: The ASCII Character Set / 170 \\
                 Appendix 4: Syntax Diagrams / 171 \\
                 Index / 181",
}

@Article{Wirth:1988:TE,
  author =       "Niklaus Wirth",
  title =        "Type Extensions",
  journal =      j-TOPLAS,
  volume =       "10",
  number =       "2",
  pages =        "204--214",
  month =        apr,
  year =         "1988",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/42190.46167",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue May 17 14:16:02 1988",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/toplas.bib;
                 Misc/IMMD_IV.bib; Misc/softeng.bib",
  note =         "See remarks \cite{Cohen:1991:TCT,Wirth:1991:TCR}.",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Type%20Extensions%20nw1988.pdf;
                 http://www.acm.org/pubs/toc/Abstracts/0164-0925/46167.html",
  abstract =     "Software systems represent a hierarchy of modules.
                 Client modules contain sets of procedures that extend
                 the capabilities of imported modules. This concept of
                 extension is here applied to data types. Extended types
                 are related to their ancestor in terms of a hierarchy.
                 Variables of an extended type are compatible with
                 variables of the ancestor type. This scheme is
                 expressed by three language constructs only: the
                 declaration of extended record types, the type test,
                 and the type guard. The facility of extended types,
                 which closely resembles the class concept, is defined
                 in rigorous and concise terms, and an efficient
                 implementation is presented.",
  acknowledgement = ack-nhfb,
  ajournal =     "ACM Trans. Program. Lang. Syst.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "Extensible data type; languages; Modula-2",
  numpages =     "11",
  owner =        "manning",
  subject =      "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
                 Constructs and Features, Data types and structures.
                 {\bf D.3.4}: Software, PROGRAMMING LANGUAGES,
                 Processors, Code generation.",
}

@Book{Wirth:1989:AED,
  author =       "Niklaus Wirth",
  title =        "Algoritmos e Estruturas de Dados. ({Portuguese})
                 [Algorithms and Data Structures]",
  publisher =    "LTC",
  address =      "??, Brazil",
  pages =        "????",
  year =         "1989",
  ISBN =         "85-216-1190-0",
  ISBN-13 =      "978-85-216-1190-5",
  LCCN =         "????",
  bibdate =      "Thu Jul 04 16:00:38 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "Portuguese",
}

@Article{Wirth:1989:DSS,
  author =       "Niklaus Wirth",
  title =        "Designing a System from Scratch",
  journal =      j-STRUCT-PROGRAM,
  volume =       "10",
  number =       "1",
  pages =        "10--18",
  year =         "1989",
  CODEN =        "STPGEM",
  ISSN =         "0935-1183",
  ISSN-L =       "0935-1183",
  bibdate =      "Sat Jan 6 12:49:28 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/structprogram.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/journals/stp/Wirth89.bib",
  dblp-id =      "DBLP:journals/stp/Wirth89",
  fjournal =     "Structured Programming",
  timestamp =    "Tue, 26 May 2020 08:52:29 +0200",
}

@Article{Wirth:1989:OS,
  author =       "Niklaus Wirth and J{\"u}rg Gutknecht",
  title =        "The {Oberon} System",
  journal =      j-SPE,
  volume =       "19",
  number =       "9",
  pages =        "857--893",
  month =        sep,
  year =         "1989",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380190905",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@Book{Wirth:1990:CSC,
  author =       "Niklaus Wirth",
  title =        "Compiladores. ({Spanish}) [{Compilers}]",
  publisher =    "Rueda",
  address =      "Alcorc{\'o}n, Madrid, Spain",
  pages =        "126 + 5",
  year =         "1990",
  ISBN =         "84-7207-060-3",
  ISBN-13 =      "978-84-7207-060-8",
  LCCN =         "????",
  bibdate =      "Fri Jul 5 07:27:17 MDT 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Translated by Gerardo {Mart{\'y}in Gonz{\"a}lez} and
                 Pedro Pablo {L{\"o}pez Rodr{\'y}iguez}",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "Spanish",
  subject =      "Compiladors (Programes d'ordinador)",
  tableofcontents = "Presentaci{\'o}n \\
                 Pr{\'o}logo \\
                 Introducci{\'o}n \\
                 Definici{\'o}n y estructura de los lenguajes formales
                 \\
                 An{\'a}lisis de frases \\
                 Grafos sint{\'a}cticos \\
                 Construcci{\'o}n de un analizador para una sintaxis
                 dada \\
                 An{\'a}lisis sint{\'a}ctico dirigido por tabla \\
                 La traducci{\'o}n de las producciones BNF a tablas \\
                 El lenguaje de programaci{\'o}n PL/0 \\
                 \ldots{}",
}

@Article{Wirth:1990:CNL,
  author =       "Niklaus Wirth",
  title =        "{Ceres-Net}: a Low-cost Computer Network",
  journal =      j-SPE,
  volume =       "20",
  number =       "1",
  pages =        "13--24",
  month =        jan,
  year =         "1990",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380200105",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@InCollection{Wirth:1990:DLC,
  author =       "Niklaus Wirth",
  title =        "Drawing Lines, Circles, and Ellipses in a Raster",
  crossref =     "Feijen:1990:BOB",
  chapter =      "51",
  pages =        "427--434",
  year =         "1990",
  DOI =          "https://doi.org/10.1007/978-1-4612-4476-9_52",
  bibdate =      "Sun Mar 27 17:53:57 1994",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  note =         "This paper rederives the Bresenham line and circle
                 drawing algorithms, and then extends the latter to
                 handle ellipses.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{Anonymous:1990:MIPb,
  author =       "Niklaus Wirth",
  title =        "{Modula-2}: an Integrated Programming Environment",
  publisher =    pub-MACMILLAN,
  address =      pub-MACMILLAN:adr,
  pages =        "????",
  year =         "1990",
  ISBN =         "0-02-380810-1",
  ISBN-13 =      "978-0-02-380810-4",
  LCCN =         "QA76.73.M63 M6 1990",
  bibdate =      "Thu Jul 4 16:14:37 MDT 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Wirth:1990:MOO,
  author =       "N. Wirth",
  title =        "{MODULA-2} and object-oriented programming",
  journal =      j-MICROPROC-MICROSYS,
  volume =       "14",
  number =       "3",
  pages =        "149--152",
  month =        apr,
  year =         "1990",
  CODEN =        "MIMID5",
  DOI =          "https://doi.org/10.1016/0141-9331(90)90065-4",
  ISSN =         "0141-9331 (print), 1872-9436 (electronic)",
  ISSN-L =       "0141-9331",
  bibdate =      "Sat Jan 6 13:37:35 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.sciencedirect.com/science/article/abs/pii/0141933190900654",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Microprocessors and Microsystems",
}

@TechReport{Wirth:1990:MOP,
  author =       "Niklaus Wirth",
  title =        "From {Modula} to {Oberon}: The programming language
                 {Oberon}",
  type =         "Technical report",
  number =       "143",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "i + 28",
  month =        nov,
  year =         "1990",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000564136",
  bibdate =      "Sat Jan 6 08:16:17 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68901",
  abstract =     "The programming language Oberon is the result of a
                 concentrated effort to increase the power of Modula-2
                 and simultaneously to reduce its complexity. Several
                 features were eliminated, and a few were added in order
                 to increase the expressive power and flexibility of the
                 language. This paper describes and motivates the
                 changes. The language is defined in a concise report.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  keywords =     "computer science; Data processing;
                 info:eu-repo/classification/ddc/004; Modula
                 (Programmiersprachen); Modula (programming languages);
                 Oberon (Programmiersprachen); Oberon (programming
                 languages); object-oriented programming (programming
                 methods); objektorientierte Programmierung
                 (Programmiermethoden)",
}

@TechReport{Wirth:1990:PLO,
  author =       "Niklaus Wirth",
  title =        "The Programming Language {Oberon}",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "16",
  day =          "1",
  month =        oct,
  year =         "1990",
  bibdate =      "Tue Jan 09 08:06:48 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/Oberon/Oberon.Report.pdf",
  abstract =     "Oberon is a general-purpose programming language that
                 evolved from Modula-2. Its principal new feature is the
                 concept of type extension. It permits the construction
                 of new data types on the basis of existing ones and to
                 relate them.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Also available as file {\tt Docu/Oberon.Report.pdf} in
                 \url{https://github.com/Oleg-N-Cher/OfrontPlus/}",
}

@TechReport{Wirth:1990:POG,
  author =       "Niklaus Wirth",
  title =        "{Die Programmiersprache Oberon}. ({German}) [{The}
                 {Oberon} programming language]",
  type =         "Technical report",
  number =       "140",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  month =        oct,
  year =         "1990",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000561428",
  bibdate =      "Sat Jan 6 08:15:13 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68703",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  keywords =     "computer science; Data processing;
                 info:eu-repo/classification/ddc/004; Oberon
                 (Programmiersprachen); Oberon (programming languages);
                 object-oriented programming (programming methods);
                 objektorientierte Programmierung
                 (Programmiermethoden)",
  language =     "German",
}

@Book{Jensen:1991:PBB,
  author =       "Kathleen Jensen and Niklaus Wirth and Andrew B.
                 Mickel",
  title =        "{Pascal-Benutzerhandbuch [unter Ber{\'y}ucksichtigung
                 der DIN-Norm 66256]}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xvi + 243",
  year =         "1991",
  ISBN =         "0-387-52052-X, 3-540-52052-X",
  ISBN-13 =      "978-0-387-52052-0, 978-3-540-52052-8",
  LCCN =         "QA76.76.C65",
  bibdate =      "Thu Jul 4 16:25:44 MDT 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Reihe ``Informationstechnik und Datenverarbeitung''",
  URL =          "http://www3.ub.tu-berlin.de/ihv/000093023.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "German",
  subject =      "Pascal (Programming language); PASCAL;
                 Programmiersprache; Pascal.",
  tableofcontents = "Kapitel 0. Einleitung / 2 \\
                 0.A Ein {\"U}berblick {\"u}ber Pascal-Programme / 2 \\
                 0.B Syntaxdiagramme / 2 \\
                 0.C EBNF / 5 \\
                 0.D G{\"u}ltigkeitsbereich / 5 \\
                 0.E Verschiedenes / 7 \\
                 Kapitel 1. Notation: Symbole und Trenner / 9 \\
                 1.A Trenner / 9 \\
                 1.B Spezialsymbole und Wortsymbole / 9 \\
                 1.C Bezeichner / 10 \\
                 1.D Zahlen / 11 \\
                 1.E Zeichenketten / 12 \\
                 1.F Marken / 13 \\
                 1.G Direktiven / 13 \\
                 Kapitel 2. Das Datenkonzept: Einfache Datentypen / 14
                 \\
                 2.A Ordinale Datentypen / 15 \\
                 2.B Der Typ Boolean / 16 \\
                 2.C Der Typ Integer / 16 \\
                 2.D DerTypChar / 17 \\
                 2.E Der Typ Real / 18 \\
                 Kapitel 3. Der Programmkopf und der Vereinbarungsteil /
                 20 \\
                 3.A Die Programmkopf / 20 \\
                 3.B Der Markendeklarationsteil / 21 \\
                 3.C Der Konstantendefinitionsteil / 21 \\
                 3.D Der Typendefinitionsteil / 22 \\
                 3.E Der Variablendeklarationsteil / 23 \\
                 3.F Der Prozedur- und Funktionsdeklarationsteil / 25
                 \\
                 3.G G{\"u}ltigkeitsbereiche von Bezeichnern und Marken
                 / 25 \\
                 Kapitel 4. Das Verarbeitungskonzept / 26 \\
                 4.A Zuweisungen und Ausdr{\"u}cke / 27 \\
                 4.B Der Prozeduraufruf / 31 \\
                 4.C Die Verbundanweisung und die Leeranweisung / 31 \\
                 4.D Wiederholungs-Anweisungen / 32 \\
                 4.D.1 Die While-Anweisung / 32 \\
                 4.D.2 Die Repeat-Anweisung / 32 \\
                 4.D.3 Die For-Anweisung / 34 \\
                 4.E Bedingte Anweisungen / 40 \\
                 4.E.1 Die If-Anweisung / 40 \\
                 4.E.2 Die Case-Anweisung / 42 \\
                 4.F Die With-Anweisung / 43 \\
                 4.G Die Goto-Anweisung / 43 \\
                 Kapitel 5. Aufz{\"a}hlungs- und Teilbereichstypen / 46
                 \\
                 5.A Aufz{\"a}hlungstypen / 46 \\
                 5.B Teilbereichstypen / 48 \\
                 Kapitel 6. Strukturierte Typen im allgemeinen --- Der
                 Reihungstyp im besonderen / 50 \\
                 6.A Der Reihungstyp / 51 \\
                 6.B Zeichenketten-Typen / 57 \\
                 6.C Pack und Unpack / 57 \\
                 Kapitel 7. Verbundtypen / 59 \\
                 7.A Feste Verb{\"u}nde / 59 \\
                 7.B Variante Verb{\"u}nde / 63 \\
                 7.C Die With-Anweisung / 66 \\
                 Kapitel 8. Mengentypen / 69 \\
                 8.A Mengenbildner / 69 \\
                 8.B Mengenoperationen / 70 \\
                 8.C {\"U}ber Programmentwicklung / 73 \\
                 Kapitel 9. Dateitypen / 77 \\
                 9.A Die Strukturart Datei / 77 \\
                 9.B Textdateien / 81 \\
                 Kapitel 10. Zeigertypen / 84 \\
                 10.A Zeigervariablen und dynamische Variablen / 84 \\
                 10.B New und Dispose / 89 \\
                 Kapitel 11. Prozeduren und Funktionen / 92 \\
                 11.A Prozeduren / 92 \\
                 11.A.1 Parameterlisten / 95 \\
                 11.A.2 Konformreihungsparameter / 100 \\
                 11.A.3 Rekursive Prozeduren / 103 \\
                 11.A.4 Prozedurparameter / 107 \\
                 ll.B Funktionen / 110 \\
                 11.B.1 Funktionsparameter / 111 \\
                 11.B.2 Nebenwirkungen / 113 \\
                 11.C Vorw{\"a}rtsdeklarationen / 114 \\
                 Kapitel 12. Die Textdateien Liput und Output / 115 \\
                 12.A Die Standarddateien Input und Output ; / 116 \\
                 12.B Die Prozeduren Read und Readln / 120 \\
                 12.C Die Prozeduren Write und Writeln / 122 \\
                 12.D Die Prozedur Page / 126 \\
                 Sprachbericht (Pascal-Definition) von N. Wirth \\
                 1. Einleitung / 128 \\
                 2. Zusammenfassung der Sprache / 128 \\
                 3. Notation und Terminologie / 132 \\
                 4. Symbole und Symboltrenner / 133 \\
                 5. Konstanten / 135 \\
                 6. Typen / 136 \\
                 6.1 Einfache Typen / 136 \\
                 6.1.1 Aufz{\"a}hlungstypen / 137 \\
                 6.1.2 Einfache Standardtypen / 137 \\
                 6.1.3 Teilbereichstypen / 137 \\
                 6.2 Strukturierte Typen / 138 \\
                 6.2.1 Reihungstypen / 138 \\
                 6.2.2 Verbundtypen / 139 \\
                 6.2.3 Mengentypen / 140 \\
                 6.2.4 Dateitypen / 141 \\
                 6.3 Zeigertypen / 141 \\
                 6.4 Beispiel eines Typ-Definitionsteils / 142 \\
                 6.5 Typ-Vertr{\"a}glichkeit / 142 \\
                 7. Variablen / 143 \\
                 7.1 Ganzvariablen / 144 \\
                 7.2 Komponentenvariablen / 144 \\
                 7.2.1 Indizierte Variablen / 144 \\
                 7.2.2 Feldauswahl / 145 \\
                 7.3 Dynamische Variablen / 145 \\
                 7.4 Puffervariablen / 146 \\
                 8. Ausdr{\"u}cke / 146 \\
                 8.1 Operanden / 147 \\
                 8.2 Operatoren / 148 \\
                 8.2.1 Arithmetische Operatoren / 148 \\
                 8.2.2 Boolesche Operatoren / 149 \\
                 8.2.3 Mengenoperatoren / 149 \\
                 8.2.4 Vergleichsoperatoren / 150 \\
                 9. Anweisungen / 151 \\
                 9.1 Einfache Anweisungen / 151 \\
                 9.1.1 Zuweisungen / 151 \\
                 9.1.2 Prozeduraufrufe / 152 \\
                 9.1.3 Goto-Anweisungen / 152 \\
                 9.2 Strukturierte Anweisungen / 153 \\
                 9.2.1 Verbundanweisungen / 153 \\
                 9.2.2 Bedingte Anweisungen / 153 \\
                 9.2.3 Wiederholungsanweisungen / 154 \\
                 9.2.4 With-Anweisungen / 157 \\
                 10. Bl{\"o}cke, G{\"u}ltigkeitsbereiche und
                 Ausf{\"u}hrung / 158 \\
                 10.1 Bl{\"o}cke / 158 \\
                 10.2 G{\"u}ltigkeitsbereiche / 158 \\
                 10.3 Ausf{\"u}hrung / 159 \\
                 11. Prozeduren und Funktionen / 160 \\
                 11.1 Prozedurdeklarationen / 161 \\
                 11.2 Funktionsdeklarationen / 162 \\
                 11.3 Parameter / 164 \\
                 11.3.1 Formalparameterlisten / 164 \\
                 11.3.2 Aktualparameterlisten / 166 \\
                 11.3.3 {\"U}bereinstimmung von Parameterlisten / 167
                 \\
                 11.3.4 Konformit{\"a}t und konforme Typen / 167 \\
                 11.4 Vordeklarierte Prozeduren / 168 \\
                 11.4.1 Prozeduren zur Dateihandhabung / 168 \\
                 11.4.2 Prozeduren zur dynamischen Speicherverwaltung /
                 169 \\
                 11.4.3 Umwandlungsprozeduren / 169 \\
                 11.5 Vordeklarierte Funktionen / 170 \\
                 11.5.1 Arithmetische Funktionen / 170 \\
                 11.5.2 Boolesche Funktionen / 170 \\
                 11.5.3 Umwandlungsfunktionen / 171 \\
                 11.5.4 Ordinale Funktionen / 171 \\
                 12. Die Textdateien Input und Output / 171 \\
                 12.1 Die Prozedur Read / 171 \\
                 12.1.1 Zeichen lesen / 172 \\
                 12.1.2 Ganzzahlige Werte lesen / 172 \\
                 12.1.3 Reelle Werte lesen / 172 \\
                 12.2 Die Prozedur Readln / 172 \\
                 12.3 Die Prozedur Write / 173 \\
                 12.3.1 Zeichen schreiben / 173 \\
                 12.3.2 Ganzzahlige Werte schreiben / 174 \\
                 12.3.3 Reelle Werte schreiben / 174 \\
                 12.3.4 Boolesche Werte schreiben / 174 \\
                 12.3.5 Zeichenketten schreiben / 175 \\
                 12.4 Die Prozedur Writeln / 175 \\
                 12.5 Die Prozedur Page / 175 \\
                 13. Programme / 175 \\
                 14. Normkonformit{\"a}t / 176 \\
                 Literatur / 179 \\
                 Anhang A \\
                 Vordeklarierte Prozeduren und Funktionen / 181 \\
                 Anhang B \\
                 Zusammenfassung der Operatoren / 185 \\
                 Arithmetische Operatoren / 185 \\
                 Vergleichsoperatoren / 185 \\
                 Boolesche Operatoren / 185 \\
                 Mengenoperatoren / 186 \\
                 Operatorenrangfolge in Ausdr{\"u}cken / 186 \\
                 Andere Operationen / 186 \\
                 Anhang C \\
                 Tabellen / 187 \\
                 Tabelle der Standardbezeichner / 187 \\
                 Tabelle der Symbole / 188 \\
                 Anhang D \\
                 Syntax / 189 \\
                 Hierarchische Zusammenstellung der EBNF / 191 \\
                 Querverweise der EBNF / 198 \\
                 Alphabetische Zusammenstellung der EBNF / 203 \\
                 Syntaxdiagramme / 208 \\
                 Anhang E \\
                 Zusammenfassung der {\"A}nderungen des
                 Pascal-Benutzerhandbuchs und des Sprachberichts, die
                 durch die ISO-Norm 7185 n{\"o}tig wurden / 217",
}

@Book{Jensen:1991:PUM,
  author =       "Kathleen Jensen and Niklaus Wirth",
  title =        "{Pascal} User Manual and Report: {ISO Pascal}
                 Standard",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  edition =      "Fourth",
  pages =        "xvi + 266",
  year =         "1991",
  DOI =          "https://doi.org/10.1007/978-1-4612-4450-9",
  ISBN =         "0-387-97649-3, 3-540-97649-3",
  ISBN-13 =      "978-0-387-97649-5, 978-3-540-97649-3",
  LCCN =         "QA76.73.P2 J46 1991",
  bibdate =      "Mon Apr 17 19:02:07 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/mathcw.bib;
                 melvyl.cdlib.org:210/CDL90",
  note =         "Revised by Andrew B. Mickel and James F. Miner.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  subject =      "Pascal (Computer program language)",
  tableofcontents = "Forewords / v \\
                 Preface / vii \\
                 Table of Contents / ix \\
                 List of Figures / xv \\
                 User Manual (Pascal Tutorial) / by K. Jensen and N.
                 Wirth \\
                 \\
                 Chapter 0 \\
                 Introduction / 1 \\
                 O.A. An Overview of Pascal Programs / 1 \\
                 O.B. Syntax Diagrams / 3 \\
                 O.C. EBNF / 3 \\
                 O.D. Scope / 5 \\
                 O.E. Miscellaneous / 6 \\
                 \\
                 Chapter 1 \\
                 Notation: Symbols and Separators / 9 \\
                 1.A. Separators / 9 \\
                 1.B. Special Symbols and Word Symbols / 9 \\
                 1.C. Identifiers / 10 \\
                 1.D. Numbers / 12 \\
                 1.E. Character Strings / 12 \\
                 1.F. Labels / 13 \\
                 1.G. Directives / 13 \\
                 \\
                 Chapter 2 \\
                 The Concept of Data: Simple Data Types / 14 \\
                 2.A. Ordinal Data Types / 15 \\
                 2.B. The Type Boolean / 16 \\
                 2.C. The Type Integer / 17 \\
                 2.D. The Type Char / 18 \\
                 2.E. The Type Real / 19 \\
                 \\
                 Chapter 3 \\
                 The Program Heading and the Declaration Part / 21 \\
                 3.A. Program Heading / 22 \\
                 3.B. Label Declaration Part / 22 \\
                 3.C. Constant Definition Part / 23 \\
                 3.D. Type Definition Part / 24 \\
                 3.E. Variable Declaration Part / 25 \\
                 3.F. Procedure and Function Declaration Part / 27 \\
                 3.G. Scope of Identifiers and Labels / 27 \\
                 \\
                 Chapter 4 \\
                 The Concept of Action / 28 \\
                 4.A. The Assignment Statement and Expressions / 28 \\
                 4.B. The Procedure Statement / 33 \\
                 4.C. The Compound Statement and the Empty Statement /
                 34 \\
                 4.D. Repetitive Statements / 35 \\
                 4.D.1 The While Statement / 35 \\
                 4.D.2 The Repeat Statement / 35 \\
                 4.D.3 The For Statement / 37 \\
                 4.E Conditional Statements / 43 \\
                 4.E.1 The If Statement / 43 \\
                 4.E.2 The Case Statement / 46 \\
                 4.F. The With Statement / 47 \\
                 4.G. The Goto Statement / 47 \\
                 \\
                 Chapter 5 \\
                 Enumerated and Subrange Types / 50 \\
                 5.A. Enumerated Types / 50 \\
                 5.B. Subrange Types / 53 \\
                 \\
                 Chapter 6 \\
                 Structured Types in General Array Types in Particular /
                 55 \\
                 6.A. The Array Type / 56 \\
                 6.B. String Types / 63 \\
                 6.C. Pack and Unpack / 64 \\
                 \\
                 Chapter 7 \\
                 Record Types / 65 \\
                 7.A. Fixed Records / 65 \\
                 7.B. Variant Records / 69 \\
                 7.C. The With Statement / 73 \\
                 \\
                 Chapter 8 \\
                 Set Types / 76 \\
                 8.A. Set Constructors / 77 \\
                 8.B. Set Operations / 78 \\
                 8.C. On Program Development / 80 \\
                 \\
                 Chapter 9 \\
                 File Types / 86 \\
                 9.A. The File Structure / 86 \\
                 9.B. Textfiles / 92 \\
                 \\
                 Chapter 10 \\
                 Pointer Types / 94 \\
                 10.A. Pointer Variables and Identified (Dynamic)
                 Variables / 94 \\
                 10.B. New and Dispose / 99 \\
                 \\
                 Chapter 11 \\
                 Procedures and Functions / 102 \\
                 11.A. Procedures / 103 \\
                 11.A.1 Parameter Lists / 106 \\
                 11.A.2 Conformant-Array Parameters / 112 \\
                 11.A.3 Recursive Procedures / 113 \\
                 11.A.4 Procedural Parameters / 117 \\
                 11.B. Functions / 122 \\
                 11.B.1 Functional Parameters / 124 \\
                 11.B.2 Side Effects / 125 \\
                 11.C. Forward Declarations / 126 \\
                 \\
                 Chapter 12 * \\
                 Textfile Input and Output / 127 \\
                 12.A. The Predeclared Files Input and Output / 128 \\
                 12.B. The Procedures Read and Readln / 133 \\
                 12.C. The Procedures Write and Writeln / 135 \\
                 12.D. The Procedure Page / 140 \\
                 \\
                 Report (Pascal Reference) by N. Wirth \\
                 1. Introduction / 142 \\
                 2. Summary of the Language / 143 \\
                 3. Notation and Terminology / 147 \\
                 4. Symbols and Symbol Separators / 148 \\
                 5. Constants / 151 \\
                 6. Types / 152 \\
                 6.1 Simple Types / 153 \\
                 6.1.1 Enumerated Types / 154 \\
                 6.1.2 Predefined Simple Types / 154 \\
                 6.1.3 Subrange Types / 155 \\
                 6.2 Structured Types / 155 \\
                 6.2.1 Array Types / 156 \\
                 6.2.2 Record Types / 156 \\
                 6.2.3 Set Types / 158 \\
                 6.2.4 File Types / 158 \\
                 6.3 Pointer Types / 159 \\
                 6.4 Example of Type Definition Part / 159 \\
                 6.5 Type Compatibility / 160 \\
                 7. Variables / 161 \\
                 7.1 Entire Variables / 162 \\
                 7.2 Component Variables / 162 \\
                 7.2.1 Indexed Variables / 162 \\
                 7.2.2 Field Designators / 163 \\
                 7.3 Identified Variables / 163 \\
                 7.4 Buffer Variables / 164 \\
                 8. Expressions / 165 \\
                 8.1 Operands / 165 \\
                 8.2 Operators / 167 \\
                 8.2.1. Arithmetic Operators / 167 \\
                 8.2.2. Boolean Operators / 168 \\
                 8.2.3. Set Operators / 168 \\
                 8.2.4. Relational Operators / 169 \\
                 9. Statements / 170 \\
                 9.1 Simple Statements / 170 \\
                 9.1.1 Assignment Statements / 170 \\
                 9.1.2 Procedure Statements / 170 \\
                 9.1.3 Goto Statements / 171 \\
                 9.2 Structured Statements / 172 \\
                 9.2.1 Compound Statements / 172 \\
                 9.2.2 Conditional Statements / 172 \\
                 9.2.3 Repetitive Statements / 173 \\
                 9.2.4 With Statements / 176 \\
                 10. Blocks, Scope, and Activations / 177 \\
                 10.1 Blocks / 177 \\
                 10.2 Scope / 178 \\
                 10.3 Activations / 179 \\
                 11. Procedures and Functions / 181 \\
                 11.1 Procedure Declarations / 181 \\
                 11.2 Function Declarations / 183 \\
                 11.3 Parameters / 184 \\
                 11.3.1 Formal Parameter Lists / 185 \\
                 11.3.2 Actual Parameter Lists / 187 \\
                 11.3.3 Parameter-List Congruity / 188 \\
                 11.3.4 Conformability and Conformant Types / 189 \\
                 11.4 Predeclared Procedures / 190 \\
                 11.4.1 File Handling Procedures / 190 \\
                 11.4.2 Dynamic Allocation Procedures / 191 \\
                 11.4.3 Data Transfer Procedures / 192 \\
                 11.5 Predeclared Functions / 192 \\
                 11.5.1 Arithmetic Functions / 192 \\
                 11.5.2 Boolean Functions / 193 \\
                 11.5.3 Transfer Functions / 193 \\
                 11.5.4 Ordinal Functions / 193 \\
                 12. Textfile Input and Output / 194 \\
                 12.1 Read / 194 \\
                 12.1.1 Char Read / 195 \\
                 12.1.2 Integer Read / 195 \\
                 12.1.3 Real Read / 195 \\
                 12.2 Readln / 195 \\
                 12.3 Write / 196 \\
                 12.3.1 Char Write / 197 \\
                 12.3.2 Integer Write / 197 \\
                 12.3.3 Real Write / 197 \\
                 12.3.4 Boolean Write / 198 \\
                 12.3.5 String Write / 198 \\
                 12.4 Writeln / 198 \\
                 12.5 Page / 199 \\
                 13. Programs / 199 \\
                 14. Compliance with ISO 7185 / 200 \\
                 \\
                 References / 202 \\
                 \\
                 Appendix A Predeclared Procedures and Functions / 204
                 \\
                 \\
                 Appendix B Summary of Operators / 208 \\
                 Operator Precedence in Expressions / 209 \\
                 Other Operations / 209 \\
                 \\
                 Appendix C Tables / 210 \\
                 Table of Standard Identifiers / 211 \\
                 Table of Symbols / 212 \\
                 \\
                 Appendix D Syntax / 213 \\
                 Collected EBNF: Hierarchical / 215 \\
                 Cross Reference of EBNF Indexed To Report / 221 \\
                 Collected EBNF: Alphabetical / 225 \\
                 Syntax Diagrams / 230 \\
                 \\
                 Appendix E Summary of Changes to Pascal User Manual and
                 Report Necessitated by the ISO 7185 Standard / 240 \\
                 \\
                 Appendix F Programming Examples / 242 \\
                 \\
                 Appendix G ASCII Character Set / 247 \\
                 \\
                 Index to Programs, Program Fragments, and Program
                 Schemata / 249 \\
                 \\
                 Index / 254",
}

@Article{Mossenbock:1991:DBOb,
  author =       "Hanspeter M{\"o}ssenb{\"o}ck and Niklaus Wirth",
  title =        "Differences between {Oberon} and {Oberon-2}",
  journal =      j-STRUCT-PROGRAM,
  volume =       "12",
  number =       "4",
  pages =        "175--178",
  year =         "1991",
  CODEN =        "STPGEM",
  ISSN =         "0935-1183",
  ISSN-L =       "0935-1183",
  bibdate =      "Sat Jan 6 18:01:36 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/structprogram.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/journals/stp/MossenbockW91.bib",
  dblp-id =      "DBLP:journals/stp/MossenbockW91",
  fjournal =     "Structured Programming",
  timestamp =    "Tue, 26 May 2020 08:52:30 +0200",
}

@Article{Mossenbock:1991:PLO,
  author =       "H. M{\"o}ssenb{\"o}ck and N. Wirth",
  title =        "The Programming Language {Oberon-2}",
  journal =      j-STRUCT-PROGRAM,
  volume =       "12",
  number =       "4",
  pages =        "179--195",
  month =        "????",
  year =         "1991",
  CODEN =        "STPGEM",
  ISSN =         "0935-1183",
  ISSN-L =       "0935-1183",
  bibdate =      "Fri Jan 05 10:45:47 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/structprogram.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Structured Programming",
}

@Article{Wirth:1991:PCS,
  author =       "Niklaus Wirth",
  title =        "Perspectives on computer science education",
  journal =      "Education and Computing",
  volume =       "7",
  number =       "1--2",
  pages =        "105--109",
  month =        jan,
  year =         "1991",
  DOI =          "https://doi.org/10.1016/s0167-9287(05)80086-x",
  ISSN =         "0167-9287 (print), 1878-304X (electronic)",
  ISSN-L =       "0167-9287",
  bibdate =      "Sat Jan 6 13:26:34 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Wirth:1991:RTE,
  author =       "N. Wirth",
  title =        "Reply to {Type-Extension Tests Can Be Performed in
                 Constant Time}",
  journal =      j-TOPLAS,
  volume =       "13",
  number =       "4",
  pages =        "630--630",
  month =        oct,
  year =         "1991",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/115372.214521",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "See \cite{Cohen:1991:TCT}.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  numpages =     "1",
}

@Article{Wirth:1991:TCR,
  author =       "Niklaus Wirth",
  title =        "Technical Correspondence: Reply to ``{Type}-Extension
                 Tests Can Be Performed In Constant Time''",
  journal =      j-TOPLAS,
  volume =       "13",
  number =       "4",
  pages =        "630--630",
  month =        oct,
  year =         "1991",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/toplas.bib",
  note =         "See \cite{Wirth:1988:TE,Cohen:1991:TCT}.",
  URL =          "http://www.acm.org/pubs/toc/Abstracts/0164-0925/214521.html",
  acknowledgement = ack-pb,
  ajournal =     "ACM Trans. Program. Lang. Syst.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "performance",
  subject =      "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
                 Constructs and Features, Data types and structures.",
}

@Book{Reiser:1992:POS,
  author =       "Martin Reiser and Niklaus Wirth",
  title =        "Programming in {Oberon}: Steps beyond {Pascal} and
                 {Modula}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "xvi + 320",
  year =         "1992",
  ISBN =         "0-201-56543-9 (paperback)",
  ISBN-13 =      "978-0-201-56543-0 (paperback)",
  LCCN =         "QA76.76.O63 R46 1992",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  tableofcontents = "Why Oberon? \\
                 A First Oberon Program \\
                 Tokens and basic types \\
                 Declarations, expressions and assignments \\
                 Control structures \\
                 Procedures and modules \\
                 Input and output \\
                 Type declarations, array and record types \\
                 Dynamic data structures and pointer types \\
                 Stepwise refinement and data abstraction \\
                 Type extension and procedure types \\
                 Object-orientation \\
                 A simulation package Oberon-2",
}

@Book{Wirthautor:1992:AED,
  author =       "Niklaus Wirth",
  title =        "Algoritmos y Estructuras de Datos. ({Spanish})
                 [{Algorithms} and Data Structures]",
  publisher =    "Prentice-Hall Hispanoamericana",
  address =      "M{\'e}xico, Mexico",
  pages =        "305",
  year =         "1992",
  ISBN =         "968-880-113-5",
  ISBN-13 =      "978-968-880-113-0",
  LCCN =         "QA76.9.D35 W5718 1987",
  bibdate =      "Thu Jul 4 16:41:20 MDT 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  tableofcontents = "Concepto de tipo de datos \\
                 Clasificaci{\'y}on de inserci{\'y}on directa \\
                 Cuando no utilizar recursi{\'y}on \\
                 Tipos de datos recursivos \\
                 Elecci{\'y}on de una funci{\'y}on de
                 transformaci{\'y}on de llaves.",
}

@Book{Wirth:1992:POD,
  author =       "Niklaus Wirth and J{\"u}rg Gutknecht",
  title =        "{Project Oberon}: The Design of an Operating System
                 and Compiler",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xi + 548",
  year =         "1992",
  ISBN =         "0-201-54428-8",
  ISBN-13 =      "978-0-201-54428-2",
  LCCN =         "QA76.76.O63 W58 1992",
  bibdate =      "Wed Sep 29 18:54:37 1993",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  tableofcontents = "Preface \\
                 1: Historical background and motivation / 1 \\
                 2: Basic concepts and structure of the system / 7 \\
                 3: The tasking system / 26 \\
                 4: The display system / 52 \\
                 5: The text system / 98 \\
                 6: The module loader / 178 \\
                 7: The file system / 194 \\
                 8: Storage layout and management / 240 \\
                 9: Device drivers / 256 \\
                 10: The network / 277 \\
                 11: a dedicated file-distribution, mail, and printer
                 server / 289 \\
                 12: The compiler / 332 \\
                 13: a graphics editor / 456 \\
                 14: Building and maintenance tools / 526 \\
                 Index / 535",
}

@Misc{Mossenbock:1993:PLO,
  author =       "H. M{\"o}ssenb{\"o}ck and N. Wirth",
  title =        "The Programming Language {Oberon-2}",
  howpublished = "Web site and PDF documentation",
  pages =        "20",
  month =        oct,
  year =         "1993",
  bibdate =      "Sat Jan 06 07:28:33 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://cseweb.ucsd.edu/classes/fa00/cse131a/oberon2.htm;
                 https://cseweb.ucsd.edu/~wgg/CSE131B/oberon2.htm;
                 https://github.com/shitikanth/Oberon2-Compiler/blob/master/Oberon2-Report.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:1993:EBF,
  author =       "Niklaus Wirth and Stefan Ludwig",
  title =        "An Extension-Board with an {FPGA} for Experimental
                 Circuit Design",
  type =         "Technical report",
  number =       "198",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "44",
  year =         "1993",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000900466",
  bibdate =      "Sat Jan 6 08:04:52 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68988",
  abstract =     "We describe the design of an extension board for the
                 workstation Ceres-3 containing a Concurrent Logic
                 Cli6002 FPGA. The board is used in a laboratory for an
                 introductory digital design course equipped with
                 Ceres-3 workstations. An analogous board was designed
                 for PCs.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  keywords =     "circuit design (microelectronics); computer science;
                 Data processing; Electric engineering; extension boards
                 (hardware); info:eu-repo/classification/ddc/004;
                 info:eu-repo/classification/ddc/621.3; pld (computer
                 systems); program editors (software products);
                 programmable logic devices; Programmeditoren
                 (Softwareprodukte); programmierbare logische Elemente
                 (Computersysteme); Schaltkreisentwurf
                 (Mikroelektronik); Steckkarten + Erweiterungskarten
                 (hardware)",
}

@Article{Wirth:1993:RADa,
  author =       "N. Wirth",
  title =        "Recollections about the development of {Pascal}",
  journal =      j-SIGPLAN,
  volume =       "28",
  number =       "3",
  pages =        "333--342",
  month =        mar,
  year =         "1993",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/155360.155378",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:16:34 MST 2003",
  bibsource =    "http://portal.acm.org/; http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
  URL =          "http://www.acm.org:80/pubs/citations/proceedings/plan/154766/p333-wirth/",
  abstract =     "Pascal was defined in 1970 and, after a slow start,
                 became one of the most widely used languages in
                 introductory programming courses. This article first
                 summarises the events leading to Pascal's design and
                 implementation, and then proceeds with a discussion of
                 some of the language's merits and deficiencies. In the
                 last part, developments that followed its release are
                 recounted. Its influence chiefly derived from its being
                 a vehicle for structured programming and a basis for
                 further development of languages and for experiments in
                 program verification.",
  acknowledgement = ack-nhfb,
  affiliation =  "Inst. fur Computersyst., ETH Zurich, Switzerland",
  ajournal =     "SIGPLAN Not.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  classification = "C6140D (High level languages)",
  confdate =     "20-23 April 1993",
  conflocation = "Cambridge, MA, USA",
  confname =     "HOPL-II. The second ACM SIGPLAN conference on History
                 of programming languages, April 20--23, 1993,
                 Cambridge, MA",
  confsponsor =  "ACM",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  keywords =     "design; History; Introductory programming courses;
                 languages; management; Pascal; Program verification;
                 Structured programming",
  numpages =     "10",
  subject =      "{\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal. {\bf K.6.3} Computing Milieux,
                 MANAGEMENT OF COMPUTING AND INFORMATION SYSTEMS,
                 Software Management, Software development. {\bf D.3.3}
                 Software, PROGRAMMING LANGUAGES, Language Constructs
                 and Features.",
  thesaurus =    "History; Pascal",
}

@InProceedings{Wirth:1993:RADb,
  author =       "N. Wirth",
  booktitle =    "The {Second ACM SIGPLAN Conference on History of
                 Programming Languages}",
  title =        "Recollections about the Development of {Pascal}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "333--342",
  year =         "1993",
  DOI =          "https://doi.org/10.1145/154766.155378",
  ISBN =         "0-89791-570-4",
  ISBN-13 =      "978-0-89791-570-0",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "HOPL-II",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Recollection%20On%20Dev%20of%20Pascal.pdf",
  abstract =     "Pascal was defined in 1970 and, after a slow start,
                 became one of the most widely used languages in
                 introductory programming courses. This article first
                 summarises the events leading to Pascal's design and
                 implementation, and then proceeds with a discussion of
                 some of the language's merits and deficiencies. In the
                 last part, developments that followed its release are
                 recounted. Its influence chiefly derived from its being
                 a vehicle for structured programming and a basis for
                 further development of languages and for experiments in
                 program verification.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  location =     "Cambridge, Massachusetts, USA",
  numpages =     "10",
}

@Article{Gehring:1994:LDD,
  author =       "S. Gehring and S. Ludwig and N. Wirth",
  title =        "A Laboratory for a Digital Design Course Using
                 {FPGAs}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "849",
  pages =        "385--??",
  year =         "1994",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon May 13 11:52:14 MDT 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/lncs1994.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{Reiser:1994:PON,
  author =       "Martin Reiser and Niklaus Wirth",
  title =        "{Programmieren in Oberon --- das neue Pascal}.
                 ({German}) [{Programming} in {Oberon} --- the new
                 {Pascal}]",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxi + 343",
  year =         "1994",
  ISBN =         "3-89319-657-9",
  ISBN-13 =      "978-3-89319-657-9",
  MRclass =      "68N15 68-01",
  MRnumber =     "0816.68038",
  bibdate =      "Mon Jan 8 08:43:10 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  ZMnumber =     "0816.68038",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/books/daglib/0074167.bib",
  dblp-id =      "DBLP:books/daglib/0074167",
  language =     "German",
  timestamp =    "Wed, 27 Apr 2011 17:30:29 +0200",
  xxpages =      "xxi + 338",
}

@Article{Wirth:1994:GSE,
  author =       "Niklaus Wirth",
  title =        "{Gedanken zur Software-Explosion}. ({German})
                 [{Thoughts on the Software Explosion}]",
  journal =      "Informatik-Spektrum",
  volume =       "17",
  number =       "1",
  pages =        "5--10",
  year =         "1994",
  ISSN =         "0170-6012 (print), 1432-122X (electronic)",
  ISSN-L =       "0170-6012",
  bibdate =      "Mon Jan 08 08:47:17 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Inform. Spektrum",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/journals/insk/Wirth94.bib",
  dblp-id =      "DBLP:journals/insk/Wirth94",
  language =     "German",
  timestamp =    "Thu, 13 Aug 2020 12:37:59 +0200",
}

@TechReport{Wirth:1994:LLD,
  author =       "Niklaus Wirth",
  title =        "{Lola-2}: a Logic Description Language",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "4",
  year =         "1994",
  bibdate =      "Tue Jan 09 08:54:39 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Revised 1 September 2015",
  URL =          "https://people.inf.ethz.ch/wirth/Lola/Lola2.pdf",
  abstract =     "Lola is a notation (language) for specifying digital
                 circuits (logic). In many ways it resembles a
                 programming language. However, Lola texts describe
                 static circuits rather than dynamic processes. Objects
                 occurring in a description can be variables
                 representing signals or registers. Their values are
                 defined as expressions of other objects and operators
                 representing gates",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  onlinedate =   "4",
}

@Book{Wirth:1995:ADP,
  author =       "Niklaus Wirth",
  title =        "{Algorithmen und Datenstrukturen: Pascal-Version}.
                 ({German}) [{Algorithms} and Data Structures: {Pascal}
                 Version]",
  publisher =    pub-TEUBNER,
  address =      pub-TEUBNER:adr,
  edition =      "Fourth",
  pages =        "320",
  year =         "1995",
  DOI =          "https://doi.org/10.1007/978-3-322-96756-5",
  ISBN =         "3-322-96756-5, 3-519-12250-2 (print)",
  ISBN-13 =      "978-3-322-96756-5, 978-3-519-12250-0 (print)",
  ISSN =         "1615-5432",
  LCCN =         "TA1-2040",
  bibdate =      "Thu Jul 04 16:08:28 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "German",
  tableofcontents = "1. Fundamentale Datenstrukturen \\
                 2. Sortieren \\
                 3. Rekursive Algorithmen \\
                 4. Dynamische Informationsstrukturen \\
                 Der ASCII-Zeichensatz \\
                 Literatur \\
                 Verzeichnis der Programme",
}

@Book{Wirth:1995:DCD,
  author =       "N. Wirth",
  title =        "Digital Circuit Design for Computer Science Students:
                 an Introductory Textbook",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xiii + 204 + 147",
  year =         "1995",
  DOI =          "https://doi.org/10.1007/978-3-642-57780-2",
  ISBN =         "3-540-58577-X (paperback), 3-642-57780-6 (e-book)",
  ISBN-13 =      "978-3-540-58577-0 (paperback), 978-3-642-57780-2
                 (e-book)",
  LCCN =         "TK7888.4 .W57 199",
  bibdate =      "Sat Jan 6 13:42:49 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  ZMnumber =     "0828.68032",
  abstract =     "This textbook provides a thorough and systematic
                 introduction to designing digital circuits. The author
                 is the leading programming language designer of our
                 time and in this book, based on a course for 2nd-year
                 students at the Federal Institute of Technology (ETH)
                 in Z{\"u}rich, he aims to close the gap between
                 hardware and software design. He encourages the student
                 to put the theory to work in exercises that include lab
                 work culminating in the design of a simple yet complete
                 computer. The lab work is based on a workstation
                 equipped with a single field programmable gate array
                 chip and software tools for entering, editing, and
                 analyzing designs. This text is a modern introduction
                 to designing circuits using state-of-the-art technology
                 and a concise, easy to master hardware description
                 language (Lola).",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  subject =      "Digital electronics; Electronic digital computers;
                 Computers; {\'E}lectronique num{\'e}rique; Ordinateurs;
                 computers.; Digital electronics.; Electronic digital
                 computers.",
  tableofcontents = "1. Transistors and Gates \\
                 1.1. Gates with Bipolar Transistors \\
                 1.2. Gates with Field Effect Transistors \\
                 1.3. Electrical Characteristics of Gates \\
                 2. Combinational Circuits \\
                 2.1. Boolean Algebra \\
                 2.2. Graphical Notations \\
                 2.3. Circuit Simplification \\
                 2.4. The Decoder or Demultiplexer \\
                 2.5. The Multiplexer \\
                 2.6. The Adder \\
                 2.7. The Adder with Fast Carry Generation \\
                 2.8. The Multiplier \\
                 2.9. The Read-Only Memory (ROM) \\
                 2.10. The Combinational PLD \\
                 2.11. The Programmable Gate Array \\
                 2.12. Dynamic Behaviour of Combinational Circuits \\
                 3. Latches and Registers \\
                 3.1. The SR-Latch \\
                 3.2. The D-Latch \\
                 3.3. The D-Register \\
                 3.4. The JK Register \\
                 4. Synchronous, Sequential Circuits \\
                 4.1. The State Machine \\
                 4.2. The Shift Register \\
                 4.3. The Synchronous Binary Counter \\
                 4.4. A Design Methodology for State Machines \\
                 4.5. The PLD and the FPGA with Registers \\
                 4.6. Timing and Practical Considerations \\
                 5. Bus Systems \\
                 5.1. The Concept of a Bus \\
                 5.2. The Open-Collector Circuit \\
                 5.3. The Tri-state Gate \\
                 6. Memories \\
                 6.1. Static Memories \\
                 6.2. Dynamic Memories \\
                 6.3. Dual-Port Memories \\
                 7. Formal Description of Synchronous Circuits \\
                 7.1. Motivation \\
                 7.2. Lola: A Formal Notation for Synchronous Circuits
                 \\
                 7.3. Examples of Textual Circuit Descriptions \\
                 8. Design of an Elementary Computer \\
                 8.1. The Design of von Neumann \\
                 8.2. Choice of a Specific Architecture \\
                 8.3. The Arithmetic-Logic Unit (ALU) \\
                 8.4. The Control Unit \\
                 8.5. Phase Control and Instruction Decoding \\
                 8.6. An Implementation Using Standard Parts \\
                 8.7. Interrupts \\
                 9. Multiplication and Division \\
                 9.1. Multiplication of Natural Numbers \\
                 9.2. Division of Natural Numbers \\
                 9.3. Extending the ALU by a Multiplier-Quotient
                 Register \\
                 10. Design of a Computer Based on a Microprocessor \\
                 11. Interfaces Between Asynchronous Units \\
                 11.1. The Handshake Protocol \\
                 11.2. Processor-Bus Interfaces \\
                 11.3. Adding an I/O Interface to the Hercules Computer
                 \\
                 12. Serial Data Transmission \\
                 12.1. Introduction \\
                 12.2. Synchronous Transmission \\
                 12.3. Asynchronous Transmission \\
                 12.4. A Buffered Transmitter and Receiver \\
                 Appendix 1: Implementations Based on the Programmable
                 Gate Array AT6002 \\
                 1. The Laboratory \\
                 2. The Structure of the Gate Array \\
                 3. The FPGA Extension Board \\
                 4. A Set of Design Examples \\
                 Appendix 2: Syntax of Lola \\
                 Selected Design Exercises",
}

@Article{Wirth:1995:ETT,
  author =       "Niklaus Wirth",
  title =        "Effective Technology Transfer",
  journal =      "The Oberon Tribune",
  volume =       "1",
  number =       "1",
  pages =        "1--2",
  month =        jul,
  year =         "1995",
  bibdate =      "Sat Feb 03 08:23:51 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Effective%20Technology%20transfer%20nw1995.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:1995:LSN,
  author =       "Niklaus Wirth",
  title =        "{Lola System} notes",
  type =         "Technical report",
  number =       "236",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "iii + 40",
  day =          "3",
  month =        jun,
  year =         "1995",
  DOI =          "https://doi.org/10.3929/ETHZ-A-006651386",
  bibdate =      "Sat Jan 06 08:01:12 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/69287",
  abstract =     "These notes describe the Lola System, a collection of
                 tools supporting the design of digital circuits. Rather
                 than a manual for the user, they are an explanation of
                 the system's structure and algorithms, intended as a
                 guide to the implementor of additional tools. Such
                 tools are integrated into the Lola System by their use
                 of the common data structure representing digital
                 circuits",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  keywords =     "logischer Entwurf + logische Schaltkreise (hardware);
                 programming environments + compilers (software
                 products); Programmierumgebungen + Compiler
                 (Softwareprodukte); specialized reference works +
                 specialized encyclopaedias + handbooks (document type);
                 digitale integrierte Schaltungen (Mikroelektronik);
                 fachliche Nachschlagewerke + Fachlexika +
                 Handb{\"u}cher (Dokumententyp); logic design + logic
                 circuits (hardware); support programs + utilities +
                 software tools (software products); Hilfsprogramme +
                 Softwarewerkzeuge (Softwareprodukte); digital
                 integrated circuits (microelectronics);
                 info:eu-repo/classification/ddc/004; Data processing;
                 computer science",
}

@Article{Wirth:1995:PLS,
  author =       "Niklaus Wirth",
  title =        "A Plea for Lean Software",
  journal =      j-COMPUTER,
  volume =       "28",
  number =       "2",
  pages =        "64--68",
  month =        feb,
  year =         "1995",
  CODEN =        "CPTRB4",
  DOI =          "https://doi.org/10.1109/2.348001",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Mon Feb 3 07:26:10 MST 1997",
  bibsource =    "Compendex database;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/computer1990.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/A%20Plea%20for%20Lean%20Software.pdf;
                 http://pascal.hansotten.com/uploads/wirth/wirth%20a%20plea%20for%20lean%20software.pdf",
  abstract =     "Software's girth has surpassed its functionality,
                 largely because hardware advances make this possible.
                 The way to streamline software lies in disciplined
                 methodologies and a return to the essentials.",
  acknowledgement = ack-nhfb,
  affiliation =  "Eidgen{\"o}ssische Tech. Hochschule, Z{\"u}rich,
                 Switzerland",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  classification = "722.1; 722.4; 723.1; 723.1.1; 723.2; 902.3; C0310F
                 (Software development management); C6110B (Software
                 engineering techniques)",
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
  journalabr =   "Computer",
  keywords =     "Computer hardware; Computer programming; Computer
                 programming languages; Computer software; Computer
                 workstations; Data storage equipment; Data structures;
                 Disciplined methodologies; Fat software; Hardware
                 advances; Laws and legislation; Lean software; Memory
                 capacity; Oberon system; Performance; Processor power;
                 Software engineering; Software flexibility; Software
                 functionality; Software girth; Software modules;
                 Software research; Software streamlining; Streamline
                 software; Subroutines; User convenience",
  thesaurus =    "Software development management; Software engineering;
                 Software quality",
}

@Book{Wirth:1996:ADM,
  author =       "Niklaus Wirth",
  title =        "{Algorithmen und Datenstrukturen mit Modula-2 mit
                 zahlreichen Tabellen, {\"U}bungen und Programmen}.
                 ({German}) [{Algorithms} and Data Structures with
                 {Modula-2} with Numerous Tables, Exercises and
                 Programs]",
  publisher =    pub-TEUBNER,
  address =      pub-TEUBNER:adr,
  edition =      "Fifth",
  pages =        "299",
  year =         "1996",
  DOI =          "https://doi.org/10.1007/978-3-322-91855-0",
  ISBN =         "3-519-12260-X",
  ISBN-13 =      "978-3-519-12260-9",
  LCCN =         "TA1-2040",
  bibdate =      "Thu Jul 4 16:48:17 MDT 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Leitf{\"a}den der Informatik",
  acknowledgement = ack-nhfb,
  author-dates = "1934--",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "German",
  subject =      "Datenstruktur; Algorithmus; Programmierung; Modula 2",
  tableofcontents = "1. Fundamentale Datenstrukturen \\
                 1.1. Einleitung \\
                 1.2. Der Begriff des Datentyps \\
                 1.3. Elementare Datentypen \\
                 1.4. Standard-Typen \\
                 1.5. Unterbereich-Typen \\
                 1.6. Die Strukturart Array \\
                 1.7. Die Strukturart Record \\
                 1.8. Die Strukturart des Varianten Record \\
                 1.9. Die Strukturart Set \\
                 1.10. Darstellung von fundamentalen Strukturen \\
                 1.11. Die Sequenz-Struktur \\
                 1.12 Such-Algorithmen \\
                 {\"U}bungen \\
                 2. Sortieren \\
                 2.1. Einleitung \\
                 2.2. Sortieren von Arrays \\
                 2.3 Schnelle Sortiermethoden \\
                 2.4. Sortieren von Sequenzen \\
                 {\"U}bungen \\
                 3. Rekursive Algorithmen \\
                 3.1. Einleitung \\
                 3.2. Wo Rekursion zu vermeiden ist \\
                 3.3. Zwei Beispiele rekursiver Programme \\
                 3.4. Backtracking Algorithmen \\
                 3.5. Das Problem der acht Damen \\
                 3.6. Das Problem der stabilen Heirat \\
                 3.7. Das Problem der optimalen Auswahl \\
                 {\"U}bungen \\
                 4. Dynamische Datenstrukturen \\
                 4.1. Rekursive Datentypen \\
                 4.2. Zeiger \\
                 4.3. Lineare Listen \\
                 4.4. Baumstrukturen \\
                 4.5. Ausgeglichene B{\"a}ume \\
                 4.6. Optimale Suchb{\"a}ume \\
                 4.7. B-B{\"a}ume \\
                 4.8. Suchb{\"a}ume mit Priorit{\"a}ten \\
                 {\"U}bungen \\
                 5 Schl{\"u}ssel-Transformationen \\
                 5.1. Einleitung \\
                 5.2. Wahl einer Transformationsfunktion \\
                 5.3. Behandlung der Kollision \\
                 5.4. Analyse der Schl{\"u}ssel-Transformation \\
                 {\"U}bungen \\
                 A. Modula-2 \\
                 B. Der ASCII-Zeichensatz \\
                 Programmverzeichnis",
}

@Book{Wirth:1996:CC,
  author =       "Niklaus Wirth",
  title =        "Compiler Construction",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xi + 176",
  year =         "1996",
  ISBN =         "0-201-40353-6 (paperback)",
  ISBN-13 =      "978-0-201-40353-4 (paperback)",
  LCCN =         "QA76.76.C65 W5713 1996",
  bibdate =      "Fri Jan 05 10:27:27 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  abstract =     "A refreshing antidote to heavy theoretical tomes, this
                 book is a concise, practical guide to modern compiler
                 design and construction by an acknowledged master.
                 Readers are taken step-by-step through each stage of
                 compiler design, using the simple yet powerful method
                 of recursive descent to create a compiler for Oberon-0,
                 a subset of the author's Oberon language. A disk
                 provided with the book gives full listings of the
                 Oberon-0 compiler and associated tools. The hands-on,
                 pragmatic approach makes the book equally attractive
                 for project-oriented courses in compiler design and for
                 software engineers wishing to develop their skills in
                 system software.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  tableofcontents = "1. Introduction / 1 \\
                 2. Language and Syntax / 5 \\
                 3. Regular Languages / 12 \\
                 4. Analysis of Context-free Languages / 17 \\
                 5. Attributed Grammars and Semantics / 27 \\
                 6. The Programming Language Oberon-0 / 33 \\
                 7. A Parser for Oberon-0 / 36 \\
                 8. Consideration of Context Specified by Declarations /
                 46 \\
                 9. A RISC Architecture as Target / 55 \\
                 10. Expressions and Assignments / 61 \\
                 11. Conditional and Repeated Statements and Boolean
                 Expressions / 75 \\
                 12. Procedures and the Concept of Locality / 88 \\
                 13. Elementary Data Types / 103 \\
                 14. Open Arrays, Pointers and Procedure Types / 109 \\
                 15. Modules and Separate Compilation / 117 \\
                 16. Code Optimizations and the Frontend/Backend
                 Structure / 128 \\
                 Appendix A Syntax / 139 \\
                 Appendix B The ASCII character set / 143 \\
                 Appendix C The Oberon-0 compiler/ 144 \\
                 References / 173 \\
                 Index / 175",
}

@Book{Wirth:1996:GTC,
  author =       "Niklaus Wirth",
  title =        "{Grundlagen und Techniken des Compilerbaus}.
                 ({German}) [{Fundamentals} and Techniques of Compiler
                 Construction]",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "ix + 195",
  year =         "1996",
  ISBN =         "3-89319-931-4",
  ISBN-13 =      "978-3-89319-931-0",
  bibdate =      "Mon Jan 8 08:36:04 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/books/daglib/0082254.bib",
  dblp-id =      "DBLP:books/daglib/0082254",
  language =     "German",
  timestamp =    "Tue, 12 Apr 2011 15:08:31 +0200",
}

@InProceedings{Wirth:1996:LLF,
  author =       "N. Wirth",
  title =        "The Language {Lola}, {FPGAs}, and {PLDs} in Teaching
                 Digital Circuit Design",
  crossref =     "Bjorner:1996:PSI",
  pages =        "2--20",
  year =         "1996",
  DOI =          "https://doi.org/10.1007/3-540-62064-8_2",
  bibdate =      "Fri Aug 22 11:59:49 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/lncs1996b.bib",
  series =       ser-LNCS,
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InProceedings{Wirth:1996:RAD,
  author =       "N. Wirth",
  editor =       "T. J. Bergin and R. G. Gibson",
  booktitle =    "History of Programming Languages---{II} [{Proceedings
                 of the Second Conference on the History of Programming
                 Languages, Cambridge, Massachusetts, April 1993}]",
  title =        "Recollections about the Development of {Pascal}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "97--120",
  year =         "1996",
  DOI =          "https://doi.org/10.1145/234286.1057812",
  ISBN =         "0-201-89502-1",
  ISBN-13 =      "978-0-201-89502-5",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/niklaus-wirth/recollections-about-the-development-of-pascal/;
                 http://pascal.hansotten.com/uploads/wirth/recollections.pdf",
  abstract =     "Pascal was defined in 1970 and, after a slow start,
                 became one of the most widely used languages in
                 introductory programming courses. This article first
                 summarizes the events leading to Pascal's design and
                 implementation, and then proceeds with a discussion of
                 some of the language's merits and deficiencies. In the
                 last part, developments that followed its release are
                 recounted. Its influence chiefly derived from its being
                 a vehicle for structured programming and a basis for
                 further development of languages and for experiments in
                 program verification.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  numpages =     "24",
}

@Article{Wirth:1996:TVT,
  author =       "Niklaus Wirth",
  title =        "Tasks versus Threads: an Alternative Multiprocessing
                 Paradigm",
  journal =      j-SOFTW-CONCEPTS-TOOLS,
  volume =       "17",
  number =       "1",
  pages =        "6--12",
  year =         "1996",
  CODEN =        "SCOTE5",
  ISSN =         "0945-8115 (print), 1432-2188 (electronic)",
  ISSN-L =       "0945-8115",
  bibdate =      "Sat Jan 6 12:49:28 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/structprogram.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/journals/stp/Wirth96.bib",
  dblp-id =      "DBLP:journals/stp/Wirth96",
  fjournal =     "Software---Concepts and Tools",
  journal-URL =  "https://link.springer.com/journal/378",
  timestamp =    "Fri, 06 Mar 2020 21:59:06 +0100",
}

@TechReport{Wirth:1998:CSMa,
  author =       "Niklaus Wirth",
  title =        "A computer system for model helicopter flight control:
                 Technical Memo Nr. 1: the hardware core",
  type =         "Report",
  number =       "284",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "ii + 9",
  month =        jan,
  year =         "1998",
  DOI =          "https://doi.org/10.3929/ETHZ-A-006652245",
  bibdate =      "Sat Jan 6 07:53:23 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68999;
                 https://people.inf.ethz.ch/wirth/Oberon/284.pdf",
  abstract =     "This memorandum is the first in a series giving an
                 account of the design and structure of the on-board
                 computer system for controlling a model helicopter. The
                 aircraft itself is designed by a research group of the
                 Institut f{\"u}r Mess und Regeltechnik of ETH
                 Z{\"u}rich. The computer is to stabilize the helicopter
                 and to execute commands for flight movements. It
                 receives inputs from various sensors and drives the
                 necessary servos. The computer is built around an ARM
                 processor and an FPGA.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  keywords =     "allied operations; computer applications in automatic
                 control (control engineering); computer science;
                 Computeranwendungen/automatische Regelung
                 (Regelungstechnik); data processing; engineering;
                 helicopters; Hubschrauber;
                 info:eu-repo/classification/ddc/004;
                 info:eu-repo/classification/ddc/620;
                 Modellfahrzeuge-fernsteuerung +
                 Modellflugzeug-fernsteuerung (Elektronik); Multikopter
                 (Luftfahrttechnik); multirotors (aeronautical
                 engineering); Quadrokopter; quadrotors; remote control
                 of model vehicles + remote control of model airplanes
                 (electronics)",
}

@TechReport{Wirth:1998:CSMb,
  author =       "Niklaus Wirth",
  title =        "A Computer System for Model Helicopter Flight Control
                 Technical Memo Nr. 2: The Programming Language {Oberon
                 SA}",
  type =         "Report",
  number =       "285",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "i + 6",
  month =        jan,
  year =         "1998",
  bibdate =      "Tue Jan 09 08:29:34 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Second edition March 1999.",
  URL =          "https://people.inf.ethz.ch/wirth/Oberon/285.pdf",
  abstract =     "This memorandum provides the defining document of the
                 programming language Oberon-SA, a subset of Oberon,
                 extended with a few features for system- and real time
                 programming the ARM processor. They include array
                 riders and interrupt handlers",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:1998:HCTa,
  author =       "Niklaus Wirth",
  title =        "Hardware compilation: the translation of programs into
                 circuits",
  type =         "Technical report",
  number =       "286",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "ii + 9",
  month =        jan,
  year =         "1998",
  DOI =          "https://doi.org/10.3929/ETHZ-A-006652255",
  bibdate =      "Sat Jan 6 07:55:47 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/69000;
                 https://people.inf.ethz.ch/wirth/Oberon/286.pdf",
  abstract =     "We explain how programs specified in a sequential
                 programming language can be translated automatically
                 into a digital circuit. The possibility to specify
                 which parts of a program are to be compiled into
                 instruction sequences for a conventional processor, and
                 which ones are to be translated into customized
                 circuits has gained relevance with the advent of large
                 programmable gate arrays (FPGA). They open the door to
                 introduce massive, fine-grained parallelism. In order
                 to demonstrate the feasibility of this approach, we
                 present a tiny programming language featuring the basic
                 programming and circuit design facilities.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  keywords =     "circuit design (microelectronics); compiler
                 (Programmiersprachen); compilers (programming
                 languages); computer science; control structures +
                 microprogramming (hardware); Data processing;
                 info:eu-repo/classification/ddc/004; Schaltkreisentwurf
                 (Mikroelektronik); Steuerstrukturen +
                 Mikroprogrammierung (hardware)",
}

@Article{Wirth:1998:HCTb,
  author =       "Niklaus Wirth",
  title =        "Hardware Compilation: Translating Programs into
                 Circuits",
  journal =      j-COMPUTER,
  volume =       "31",
  number =       "6",
  pages =        "25--31",
  month =        jun,
  year =         "1998",
  CODEN =        "CPTRB4",
  DOI =          "https://doi.org/10.1109/2.683004",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Thu Jun 4 08:22:02 MDT 1998",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/computer1990.bib",
  URL =          "http://computer.org/computer/r6025abs.htm;
                 http://dlib.computer.org/co/books/co1998/pdf/r6025.pdf",
  abstract =     "Automatically translating a program specified in a
                 programming language into a digital circuit is an idea
                 of long standing interest. Thus far, the concept has
                 appeared to be an uneconomical method of largely
                 academic, but hardly practical interest. It has
                 therefore not been pursued with vigor and consequently
                 has remained an idealist's dream. With the increasing
                 use of hardware description languages, however, it has
                 become evident that hardware and software design share
                 several traits. Hardware description languages let
                 circuit specifications assume textual forms like
                 programs, replacing traditional circuit diagrams with
                 text. Increased interest in hardware compilation is
                 largely due to the advent of large scale programmable
                 devices. These devices can be configured on the fly,
                 and hence be used to directly represent circuits
                 generated through a hardware compiler. The author
                 argues that it is now conceivable that parts of a
                 program could be compiled into instruction sequences
                 for a conventional processor and other parts could be
                 compiled into circuits to be loaded onto programmable
                 gate arrays. He advocates the development of a single
                 language that could compile parts of a program into
                 instruction sequences for a conventional processor and
                 other parts into circuits for programmable gate arrays.
                 The author points out what is better left to software
                 and what is best implemented in hardware (namely,
                 parallelism). The goal is to achieve a better
                 understanding of the several important aspects that
                 hardware and software design share, which may well be
                 expressed in a common notation.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Book{Wirth:1999:ADP,
  author =       "Niklaus Wirth",
  title =        "{Algorithmen und Datenstrukturen --- Pascal-Version}.
                 ({German}) [{Algorithms} and Data Structures ---
                 {Pascal} Version]",
  publisher =    pub-TEUBNER,
  address =      pub-TEUBNER:adr,
  edition =      "Fifth",
  pages =        "320",
  year =         "1999",
  DOI =          "https://doi.org/10.1007/978-3-322-80154-8",
  ISBN =         "3-519-22250-7",
  ISBN-13 =      "978-3-519-22250-7",
  LCCN =         "QA76.9.A43",
  bibdate =      "Mon Jan 8 08:33:00 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Leitf{\"a}den der Informatik",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/books/daglib/0095640.bib",
  dblp-id =      "DBLP:books/daglib/0095640",
  language =     "German",
  tableofcontents = "1. Fundamentale Datenstrukturen \\
                 1.1. Einleitung \\
                 1.2. Der Begriff des Datentyps \\
                 1.3. Einfache Datentypen \\
                 1.4. Einfache Standard-Typen \\
                 1.5. Unterbereich-Typen \\
                 1.6. Die Strukturart Array \\
                 1.7. Die Strukturart Record \\
                 1.8. Die Strukturart des Varianten Record \\
                 1.9. Die Strukturart Set (Menge) \\
                 1.10. Darstellung von fundamentalen Strukturen \\
                 1.11. Die Struktur des sequentiellen Files \\
                 {\"U}bungen \\
                 2. Sortieren \\
                 2.1. Einleitung \\
                 2.2. Sortieren von Arrays \\
                 2.3. Sortieren sequentieller Files \\
                 {\"U}bungen \\
                 3. Rekursive Algorithmen \\
                 3.1. Einleitung \\
                 3.2. Wo Rekursion zu vermeiden ist \\
                 3.3. Zwei Beispiele rekursiver Programme \\
                 3.4. Backtracking Algorithmen \\
                 {\"U}bungen \\
                 4. Dynamische Informationsstrukturen \\
                 4.1. Rekursive Datentypen \\
                 4.2. Zeiger \\
                 4.3. Lineare Listen \\
                 4.4. Baumstrukturen \\
                 4.5. Vielweg-B{\"a}ume \\
                 4.6. Schl{\"u}ssel-Transformationen \\
                 {\"U}bungen \\
                 Der ASCII-Zeichensatz \\
                 Literatur \\
                 Verzeichnis der Programme",
  timestamp =    "Wed, 20 Apr 2011 20:17:02 +0200",
}

@TechReport{Wirth:1999:CSM,
  author =       "Niklaus Wirth",
  title =        "A computer system for model helicopter flight
                 control",
  type =         "Technical memo",
  number =       "6",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "iii + 19",
  month =        mar,
  year =         "1999",
  DOI =          "https://doi.org/10.3929/ethz-a-006653165",
  bibdate =      "Sat Jan 06 07:39:42 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/69202/eth-4355-01.pdf",
  abstract =     "We describe a compiler, and in particular its
                 generated code, translating from Oberon to binary code
                 for the Strong ARM RISC processor. It is a very compact
                 single pass system (< 50K bytes). Compiled modules are
                 linked and down loaded into the embedded processor.
                 This memo is intended to provide programmers
                 information about generated code patterns in order to
                 be able to estimate the complexity of their programs.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:1999:EP,
  author =       "Niklaus Wirth",
  title =        "An essay on programming",
  type =         "Technical Report",
  number =       "315",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "i + 5",
  year =         "1999",
  DOI =          "https://doi.org/10.3929/ethz-a-006653169",
  bibdate =      "Sat Jan 06 07:42:04 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Essay%20on%20programming%201999%20eth315.pdf;
                 https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/68815/eth-4356-01.pdf",
  abstract =     "Many times in my career in programming, when
                 confronted with a certain problem, found a program
                 supposed to accomplish the very task. Typically,
                 however, it turned out to be roughly, but not exactly
                 what needed. So I was forced to study the program in
                 order to incorporate the supposedly minor modifications
                 or additions. This then became a rather depressing
                 assignment, because programs are not as well designed,
                 and certainly not meant to be scrutinized, as I used to
                 teach and preach. The attempt characteristically failed
                 as I became disgusted with the result, because the
                 program had been ill suited to accommodate my
                 modifications and became even more enigmatic through
                 them.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Wirth:1999:INW,
  author =       "Niklaus Wirth",
  title =        "{[Interview mit] Niklaus Wirth}",
  crossref =     "Bauer:1999:PII",
  pages =        "107--124",
  year =         "1999",
  bibdate =      "Fri Jul 05 07:21:49 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "German",
}

@InProceedings{Wirth:2000:DPP,
  author =       "Niklaus Wirth",
  title =        "The Development of Procedural Programming Languages:
                 Personal Contributions and Perspectives",
  crossref =     "Gutknecht:2000:MPL",
  pages =        "1--10",
  year =         "2000",
  DOI =          "https://doi.org/10.1007/10722581_1",
  bibdate =      "Mon Jan 8 08:28:30 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       ser-LNCS,
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/conf/jmlc/Wirth00.bib",
  dblp-id =      "DBLP:conf/jmlc/Wirth00",
  timestamp =    "Tue, 14 May 2019 10:00:44 +0200",
}

@InCollection{Wirth:2000:PLD,
  author =       "Niklaus Wirth",
  title =        "From programming language design to computer
                 construction",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "21--30",
  year =         "2000",
  bibdate =      "Fri Jan 05 16:51:21 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Wirth:2000:SPW,
  author =       "Niklaus Wirth",
  title =        "Summary of projects by {N. Wirth}, 1962--1999",
  howpublished = "Web site",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  year =         "2000",
  bibdate =      "Tue Jan 09 08:58:11 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/projects.html",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  tableofcontents = "Euler, 1962--1965 \\
                 ALGOL-W, 1964--1967 \\
                 Pascal, 1968--1972 \\
                 Venus, 1970-71 \\
                 Pascal-P, 1972-74 \\
                 Modula, 1973-76 \\
                 Lilith, 1977--1981 \\
                 Modula-2, 1977--1980 \\
                 Computer-Network, 1980-82 \\
                 Laser Printer, 1982 \\
                 Modula-2 Compiler, 1983-85 \\
                 Ceres 1--3, 1984--1990 \\
                 Oberon Language and System, 1986--1990 \\
                 Hardware Design with Field Programmable Gate Arrays
                 (FPGAs), 1990--1999 \\
                 Automatic Control of Model Helicopter \\
                 Teaching",
}

@Article{Wirth:2001:ESR,
  author =       "Niklaus Wirth",
  title =        "Embedded Systems and Real-Time Programming",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2211",
  pages =        "486--492",
  year =         "2001",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Feb 2 13:06:58 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t2211.htm;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/lncs2001d.bib",
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/2211/22110486.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/2211/22110486.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InProceedings{Wirth:2001:PDS,
  author =       "Niklaus Wirth",
  title =        "Program Development by Stepwise Refinement",
  crossref =     "Broy:2001:PTC",
  pages =        "545--569",
  year =         "2001",
  DOI =          "https://doi.org/10.1007/978-3-642-48354-7_23",
  bibdate =      "Wed Mar 18 15:40:10 MDT 2015",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-642-48354-7_23/",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InProceedings{Wirth:2001:PLP,
  author =       "Niklaus Wirth",
  title =        "The Programming Language {Pascal}",
  crossref =     "Broy:2001:PTC",
  pages =        "515--543",
  year =         "2001",
  DOI =          "https://doi.org/10.1007/978-3-642-48354-7_22",
  bibdate =      "Wed Mar 18 15:40:10 MDT 2015",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-642-48354-7_22/",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Wirth:2002:CSEa,
  author =       "Niklaus Wirth",
  title =        "Computing Science Education: The Road Not Taken",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "3",
  pages =        "1--3",
  month =        sep,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/637610.544415",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:56 MST 2012",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "3",
}

@InProceedings{Wirth:2002:CSEb,
  author =       "Niklaus Wirth",
  booktitle =    "Proceedings of the 7th Annual Conference on Innovation
                 and Technology in Computer Science Education",
  title =        "Computing Science Education: The Road Not Taken",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "1--3",
  year =         "2002",
  DOI =          "https://doi.org/10.1145/544414.544415",
  ISBN =         "1-58113-499-1",
  ISBN-13 =      "978-1-58113-499-5",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "ITiCSE '02",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  location =     "Aarhus, Denmark",
  numpages =     "3",
}

@InCollection{Wirth:2002:PDS,
  author =       "Niklaus Wirth",
  title =        "Program Development by Stepwise Refinement (Reprint)",
  crossref =     "Broy:2002:SPC",
  pages =        "149--169",
  year =         "2002",
  DOI =          "https://doi.org/10.1007/978-3-642-59412-0_10",
  bibdate =      "Mon Jan 8 08:26:02 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/books/sp/02/Wirth02b.bib",
  dblp-id =      "DBLP:books/sp/02/Wirth02b",
  timestamp =    "Mon, 17 Jul 2017 14:09:30 +0200",
}

@InCollection{Wirth:2002:PLP,
  author =       "Niklaus Wirth",
  title =        "The Programming Language {Pascal} (Reprint)",
  crossref =     "Broy:2002:SPC",
  pages =        "121--148",
  year =         "2002",
  DOI =          "https://doi.org/10.1007/978-3-642-59412-0_9",
  bibdate =      "Mon Jan 8 08:14:22 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/books/sp/02/Wirth02a.bib",
  dblp-id =      "DBLP:books/sp/02/Wirth02a",
  timestamp =    "Mon, 17 Jul 2017 14:01:30 +0200",
}

@InCollection{Wirth:2002:PS,
  author =       "Niklaus Wirth",
  title =        "{Pascal} and Its Successors",
  crossref =     "Broy:2002:SPC",
  pages =        "108--119",
  year =         "2002",
  DOI =          "https://doi.org/10.1007/978-3-642-59412-0_8",
  bibdate =      "Mon Jan 8 08:23:45 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.swissdelphicenter.ch/en/niklauswirth.php",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/books/sp/02/Wirth02.bib",
  dblp-id =      "DBLP:books/sp/02/Wirth02",
  remark =       "Web site dated 25 September 2002.",
  timestamp =    "Mon, 17 Jul 2017 14:01:30 +0200",
  xxpages =      "109--119",
}

@InProceedings{Wirth:2003:EPL,
  author =       "Niklaus Wirth",
  editor =       "L{\'a}szl{\'o} B{\"o}sz{\"o}rm{\'e}nyi and Peter
                 Schojer",
  booktitle =    "Modular Programming Languages, {Joint Modular
                 Languages Conference, JMLC 2003, Klagenfurt, Austria,
                 August 25--27, 2003, Proceedings}",
  title =        "The Essence of Programming Languages",
  volume =       "2789",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "1--11",
  year =         "2003",
  DOI =          "https://doi.org/10.1007/978-3-540-45213-3_1",
  bibdate =      "Mon Jan 8 08:12:47 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       ser-LNCS,
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/conf/jmlc/Wirth03.bib",
  dblp-id =      "DBLP:conf/jmlc/Wirth03",
  timestamp =    "Tue, 14 May 2019 10:00:44 +0200",
}

@Article{Wirth:2003:HSC,
  author =       "Niklaus Wirth",
  title =        "Hardware\slash software co-design then and now",
  journal =      j-INFO-PROC-LETT,
  volume =       "88",
  number =       "1--2",
  pages =        "83--87",
  day =          "17",
  month =        oct,
  year =         "2003",
  CODEN =        "IFPLAT",
  DOI =          "https://doi.org/10.1016/S0020-0190(03)00385-5",
  ISSN =         "0020-0190 (print), 1872-6119 (electronic)",
  ISSN-L =       "0020-0190",
  MRclass =      "68-03",
  MRnumber =     "2019050",
  bibdate =      "Mon Jan 26 08:44:33 MST 2004",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/infoproc2000.bib",
  note =         "Special issue to honour Professor W. M. Turski's
                 contribution to computing science on the occasion of
                 his 65th birthday (Warsaw, 2003)",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Information Processing Letters",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00200190",
  remark =       "Special issue to honour Professor W. M. Turski's
                 Contribution to Computing Science on the Occasion of
                 his 65th Birthday.",
}

@Book{Wirth:2004:ADS,
  author =       "Niklaus Wirth",
  title =        "Algorithms and Data Structures: {Oberon} version",
  publisher =    inst-ETH,
  address =      inst-ETH:adr,
  pages =        "212",
  year =         "2004",
  bibdate =      "Sun Feb 04 07:34:36 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://github.com/opalagin/ad2012-oberon-examples;
                 https://people.inf.ethz.ch/wirth/AD.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "The book is freely downloadable.",
  tableofcontents = "Preface \\
                 Preface To The 1985 Edition \\
                 Notation \\
                 1 Fundamental Data Structures / 9 \\
                 1.1 Introduction \\
                 1.2 The Concept of Data Type \\
                 1.3 Standard Primitive Types \\
                 1.3.1 The type INTEGER \\
                 1.3.2 The type REAL \\
                 1.3.3 The type BOOLEAN \\
                 1.3.4 The type CHAR \\
                 1.3.5 The type SET \\
                 1.4 The Array Structure \\
                 1.5 The Record Structure \\
                 1.6 Representation of Arrays, Records, and Sets \\
                 1.6.1 Representation of Arrays \\
                 1.6.2 Representation of Records \\
                 1.6.3 Representation of Sets \\
                 1.7 The File (Sequence) \\
                 1.7.1 Elementary File Operators \\
                 1.7.2 Buffering Sequences \\
                 1.7.3 Buffering between Concurrent Processes \\
                 1.7.4 Textual Input and Output \\
                 1.8 Searching \\
                 1.8.1 Linear Search \\
                 1.8.2 Binary Search \\
                 1.8.3 Table Search \\
                 1.9 String Search \\
                 1.9.1 Straight String Search \\
                 1.9.2 The Knuth--Morris--Pratt String Search \\
                 1.9.3 The Boyer--Moore String Search \\
                 Exercises \\
                 References \\
                 2 Sorting / 49 \\
                 2.1 Introduction \\
                 2.2 Sorting Arrays \\
                 2.2.1 Sorting by Straight Insertion \\
                 2.2.2 Sorting by Straight Selection \\
                 2.2.3 Sorting by Straight Exchange \\
                 2.3 Advanced Sorting Methods \\
                 2.3.1 Insertion Sort by Diminishing Increment \\
                 2.3.2 Tree Sort \\
                 2.3.3 Partition Sort \\
                 2.3.4 Finding the Median \\
                 2.3.5 A Comparison of Array Sorting Methods \\
                 2.4 Sorting Sequences \\
                 2.4.1 Straight Merging \\
                 2.4.2 Natural Merging \\
                 2.4.3 Balanced Multiway Merging \\
                 2.4.4 Polyphase Sort \\
                 2.4.5 Distribution of Initial Runs \\
                 Exercises \\
                 References \\
                 3 Recursive Algorithms / 99 \\
                 3.1 Introduction \\
                 3.2 When Not to Use Recursion \\
                 3.3 Two Examples of Recursive Programs \\
                 3.4 Backtracking Algorithms \\
                 3.5 The Eight Queens Problem \\
                 3.6 The Stable Marriage Problem \\
                 3.7 The Optimal Selection Problem \\
                 Exercises \\
                 References \\
                 4 Dynamic Information Structures / 129 \\
                 4.1 Recursive Data Types \\
                 4.2 Pointers \\
                 4.3 Linear Lists \\
                 4.3.1 Basic Operations \\
                 4.3.2 Ordered Lists and Reorganizing Lists \\
                 4.3.3 An Application: Topological Sorting \\
                 4.4 Tree Structures \\
                 4.4.1 Basic Concepts and Definitions \\
                 4.4.2 Basic Operations on Binary Trees \\
                 4.4.3 Tree Search and Insertion \\
                 4.4.4 Tree Deletion \\
                 4.4.5 Tree Deletion \\
                 4.5 Balanced Trees \\
                 4.5.1 Balanced Tree Insertion \\
                 4.5.2 Balanced Tree Deletion \\
                 4.6 Optimal Search Trees \\
                 4.7 B-trees \\
                 4.7.1 Multiway B-Trees \\
                 4.7.2 Binary B-Trees \\
                 4.8 Priority Search Trees \\
                 Exercises \\
                 References \\
                 5 Key Transformations (Hashing) / 200 \\
                 5.1 Introduction \\
                 5.2 Choice of a Hash Function \\
                 5.3 Collision handling \\
                 5.4 Analysis of Key Transformation \\
                 Exercises \\
                 References \\
                 Appendices / 207 \\
                 A. The ASCII Character Set \\
                 B. The Syntax of Oberon \\
                 C. The Dijkstra loop \\
                 Index",
}

@TechReport{Wirth:2004:POD,
  author =       "Niklaus Wirth",
  title =        "Programming in {Oberon}: a derivative of {Programming
                 in Modula-2}",
  type =         "Report",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "63",
  year =         "2004",
  bibdate =      "Tue Jan 09 09:04:08 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/ProgInOberon2004.pdf",
  abstract =     "This text is an introduction to programming in
                 general, and a guide to programming in the language
                 Oberon in particular. It is primarily oriented towards
                 people who have already acquired some basic knowledge
                 of programming and would like to deepen their
                 understanding in a more structured way. Nevertheless,
                 an introductory chapter is added for the benefit of the
                 beginner, displaying in a concise form some of the
                 fundamental concepts of computers and of programming
                 them. The text is therefore also suitable as a
                 self-contained tutorial. The notation used is Oberon,
                 which lends itself well for a structured approach and
                 leads the student to a working style that has generally
                 become known under the heading of structured
                 programming.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2005:CC,
  author =       "Niklaus Wirth",
  title =        "Compiler Construction",
  type =         "Report",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "131",
  month =        nov,
  year =         "2005",
  bibdate =      "Mon Feb 19 06:11:13 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.inf.ed.ac.uk/teaching/courses/ct/other/CBEAll.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "This is a slightly revised version of
                 \cite{Wirth:1996:CC}.",
  tableofcontents = "Preface \\
                 1. Introduction \\
                 2. Language and Syntax \\
                 2.1. Exercises \\
                 3. Regular Languages \\
                 4. Analysis of Context-free Languages \\
                 4.1. The method of recursive descent \\
                 4.2. Table-driven top-down parsing \\
                 4.3. Bottom-up parsing \\
                 4.4. Exercises \\
                 5. Attributed Grammars and Semantics \\
                 5.1. Type rules \\
                 5.2. Evaluation rules \\
                 5.3. Translation rules \\
                 5.4. Exercises \\
                 6. The Programming Language Oberon-0 \\
                 7. A Parser for Oberon-0 \\
                 7.1. The scanner \\
                 7.2. The parser \\
                 7.3. Coping with syntactic errors \\
                 7.4. Exercises \\
                 8. Consideration of Context Specified by Declarations
                 \\
                 8.1. Declarations \\
                 8.2. Entries for data types \\
                 8.3. Data representation at run-time \\
                 8.4. Exercises \\
                 9. A RISC Architecture as Target \\
                 10. Expressions and Assignments \\
                 10.1. Straight code generation according to the stack
                 principle \\
                 10.2. Delayed code generation \\
                 10.3. Indexed variables and record fields \\
                 10.4. Exercises \\
                 11. Conditional and Repeated Statements and Boolean
                 Expressions \\
                 11.1. Comparisons and jumps \\
                 11.2. Conditional and repeated statements \\
                 11.3. Boolean operations \\
                 11.4. Assignments to Boolean variables \\
                 11.5. Exercises \\
                 12. Procedures and the Concept of Locality \\
                 12.1. Run-time organization of the store \\
                 12.2. Addressing of variables \\
                 12.3. Parameters \\
                 12.4. Procedure declarations and calls \\
                 12.5. Standard procedures \\
                 12.6. Function procedures \\
                 12.7. Exercises \\
                 13. Elementary Data Types \\
                 13.1. The types REAL and LONGREAL \\
                 13.2. Compatibility between numeric data types \\
                 13.3. The data type SET \\
                 13.4. Exercises \\
                 14. Open Arrays, Pointers and Procedure Types \\
                 14.1. Open arrays \\
                 14.2. Dynamic data structures and pointers \\
                 14.3. Procedure types \\
                 14.5. Exercises \\
                 15. Modules and Separate Compilation \\
                 15.1. The principle of information hiding \\
                 15.2. Separate compilation \\
                 15.3. Implementation of symbol files \\
                 15.4. Addressing external objects \\
                 15.5. Checking configuration consistency \\
                 15.6. Exercises \\
                 16. Code Optimizations and the Frontend/backend
                 Structure \\
                 16.1. General considerations \\
                 16.2. Simple optimizations \\
                 16.3. Avoiding repeated evaluations \\
                 16.4. Register allocation \\
                 16.5. The frontend/backend compiler structure \\
                 16.6. Exercises \\
                 Appendix A: Syntax \\
                 A.1. Oberon-0 \\
                 A.2. Oberon \\
                 A.3. Symbol files \\
                 Appendix B: The ASCII character set \\
                 Appendix C: The Oberon-0 compiler \\
                 C.1. The scanner \\
                 C.2. The parser \\
                 C.3. The code generator \\
                 References",
}

@TechReport{Wirth:2005:GIT,
  author =       "Niklaus Wirth",
  title =        "Good Ideas, through the Looking Glass",
  type =         "Report",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "28",
  day =          "2",
  month =        feb,
  year =         "2005",
  bibdate =      "Sat Feb 03 08:34:01 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/GoodIdeas_origFig.pdf",
  abstract =     "An entire potpourri of ideas is listed from the past
                 decades of Computer Science and Computer Technology.
                 Widely acclaimed at their time, many have lost in
                 splendor and brilliance under today's critical
                 scrutiny. We try to find reasons. Some of the ideas are
                 almost forgotten. But we believe that they are worth
                 recalling, not the least because one must try to learn
                 from the past, be it for the sake of progress,
                 intellectual stimulation, or fun.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Revised 15 June 2005.",
}

@TechReport{Wirth:2005:PPL,
  author =       "Niklaus Wirth",
  title =        "{PICL}: A Programming Language for the Microcontroller
                 {PIC}",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "5",
  month =        feb,
  year =         "2005",
  bibdate =      "Tue Jan 09 08:50:32 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Revised October 2007",
  URL =          "https://people.inf.ethz.ch/wirth/PICL/PICL.pdf",
  abstract =     "PIC is the name of a single-chip microcontroller
                 designed and fabricated by Microchip Inc. It features
                 an ALU with basic operations for arithmetic, a 128 byte
                 data memory, a 2048 word program memory, and 2 I/O
                 ports (PIC 16C84). Here we present a programming
                 language that is tailored to the PIC's size and
                 architecture. The challenge lay in postulating a design
                 allowing to abstract from the peculiarities of the
                 particular architecture and overcome the tedium of
                 coding instruction by instruction with an assembler,
                 and yet of letting the processor's facilities be
                 sufficiently transparent, that no excessively
                 inefficient programs will be produced.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2005:TDC,
  author =       "Niklaus Wirth",
  title =        "A Triptychon of Digital Circuits",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "6",
  month =        aug,
  year =         "2005",
  bibdate =      "Tue Jan 09 07:52:22 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/CounterShifter.pdf;
                 https://people.inf.ethz.ch/wirth/Miscellaneous/CounterShifter.pdf",
  abstract =     "Here we describe an experiment and tutorial about
                 various ways to implement digital circuits. Our example
                 is a binary counter and a shifter, implemented once by
                 ordinary TTL MSI chips, once by a PLD, and once by a
                 microcontroller. They represent the technologies that
                 emerged between 1975 and 1995.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Wirth:2006:GIT,
  author =       "Niklaus Wirth",
  title =        "Good Ideas, through the Looking Glass",
  journal =      j-COMPUTER,
  volume =       "39",
  number =       "1",
  pages =        "28--39",
  month =        jan,
  year =         "2006",
  CODEN =        "CPTRB4",
  DOI =          "https://doi.org/10.1109/MC.2006.20",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Jul 4 17:16:19 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/computer2000.bib",
  URL =          "http://csdl.computer.org/comp/mags/co/2006/01/r1toc.xml;
                 http://csdl2.computer.org/dl/mags/co/2006/01/r1028.pdf;
                 http://pascal.hansotten.com/uploads/wirth/Good%20Ideas%20Wirth.pdf",
  abstract =     "Computing's history has been driven by many good and
                 original ideas, but a few turned out to be less
                 brilliant than they first appeared to be.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
  keywords =     "computer architectures; hardware technology;
                 programming languages; programming paradigms",
}

@TechReport{Wirth:2007:LPI,
  author =       "Niklaus Wirth",
  title =        "The Language {PICL} and its Implementation",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "10",
  day =          "20",
  month =        sep,
  year =         "2007",
  bibdate =      "Tue Jan 09 08:52:43 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/PICL/PICLcompiler.pdf",
  abstract =     "PICL is a small, experimental language for the PIC
                 single-chip microcomputer. The class of computers which
                 PIC represents is characterized by a wordlength of 8, a
                 small set of simple instructions, a small memory of at
                 most 1K cells for data and equally much for the
                 program, and by integrated ports for input and output.
                 They are typically used for small programs for control
                 or data acquisition systems, also called embedded
                 systems. Their programs are mostly permanent and do not
                 change",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InProceedings{Wirth:2007:MO,
  author =       "Niklaus Wirth",
  booktitle =    "Proceedings of the Third {ACM SIGPLAN Conference on
                 History of Programming Languages}",
  title =        "{Modula-2} and {Oberon}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "3.1--3.10",
  year =         "2007",
  DOI =          "https://doi.org/10.1145/1238844.1238847",
  ISBN =         "1-59593-766-8",
  ISBN-13 =      "978-1-59593-766-7",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "HOPL III",
  URL =          "https://people.inf.ethz.ch/wirth/Articles/Modula-Oberon-June.doc",
  abstract =     "This is an account of the development of the languages
                 Modula-2 and Oberon. Together with their ancestors
                 ALGOL 60 and Pascal they form a family called
                 Algol-like languages. Pascal (1970) reflected the ideas
                 of structured programming, Modula-2 (1979) added those
                 of modular system design, and Oberon (1988) catered to
                 the object-oriented style. Thus they mirror the
                 essential programming paradigms of the past decades.
                 Here the major language properties are outlined,
                 followed by an account of the respective implementation
                 efforts. The conditions and the environments in which
                 the languages were created are elucidated. We point out
                 that simplicity of design was the most essential
                 guiding principle. Clarity of concepts, economy of
                 features, efficiency and reliability of implementations
                 were its consequences.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  location =     "San Diego, California",
}

@TechReport{Wirth:2007:OCA,
  author =       "Niklaus Wirth",
  title =        "An {Oberon} Compiler for the {ARM} Processor",
  type =         "Report",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "48",
  year =         "2007",
  bibdate =      "Tue Jan 09 08:10:54 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Revised 16 April 2008.",
  URL =          "https://people.inf.ethz.ch/wirth/Oberon/Oberon.ARM.Compiler.pdf",
  abstract =     "In late 1997 we decided to program the control system
                 for a model helicopter in the language Oberon. At the
                 same time, the decision was made to use DEC's StrongARM
                 processor DS1035 as the core of the system. An
                 immediate consequence was the necessity of an Oberon
                 compiler for that processor and, since none was
                 available, to build one. An important objective was to
                 demonstrate the language's suitability to express
                 programs for real-time applications, requiring
                 efficient and predictable performance, and encouraging
                 structured and modular design.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InBook{Wirth:2007:PLD,
  author =       "Niklaus Wirth",
  booktitle =    "{ACM Turing Award} Lectures",
  title =        "From Programming Language Design to Computer
                 Construction",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "159--164",
  year =         "2007",
  DOI =          "https://doi.org/10.1145/1283920.1283941",
  ISBN =         "1-4503-1049-4",
  ISBN-13 =      "978-1-4503-1049-9",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "ACM Turing Award lecture, reprinted from
                 \cite{Wirth:1985:PLD}",
  URL =          "http://pascal.hansotten.com/uploads/wirth/TuringAward.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2007:POC,
  author =       "Niklaus Wirth",
  title =        "Porting the {Oberon} Compiler from {Oberon} to
                 {Oberon-07}",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "3",
  day =          "15",
  month =        aug,
  year =         "2007",
  bibdate =      "Tue Jan 09 08:20:20 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/Oberon/PortingOberon.pdf",
  abstract =     "After defining the Revised Oberon called Oberon-07 and
                 implementing it, I have expressed the compiler in the
                 revised language. This should seem a trivial endeavour,
                 but it is worth noting a few experiences.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2007:SND,
  author =       "Niklaus Wirth",
  title =        "{SET}: A neglected data type, and its compilation for
                 the {ARM}",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "3",
  day =          "8",
  month =        aug,
  year =         "2007",
  bibdate =      "Tue Jan 09 08:22:09 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/Oberon/SETs.pdf",
  abstract =     "Although the data type SET had been introduced in 1970
                 in Pascal and retained in Modula and Oberon, it seems
                 to remain little appreciated. The idea stemmed
                 originally form C. A. R. Hoare out of an attempt to
                 raise types like Bits and Bitset onto a higher level of
                 mathematically appealing abstraction. The key idea was
                 to regard the bits of a computer word as a set of
                 integers, namely the numbers of the one bits. In
                 Pascal, the declaration of a set type explicitly
                 specified the type of the set's elements. It is
                 typically an enumeration or a subrange type. For
                 Oberon, the set type was chosen to be not generic, but
                 that the elements were fixed to small integers ranging
                 from 0 to $n$, the wordsize.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2008:BHSa,
  author =       "Niklaus Wirth",
  title =        "A Brief History of Software Engineering",
  type =         "Report",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  day =          "25",
  month =        feb,
  year =         "2008",
  bibdate =      "Sat Feb 03 08:56:44 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/IEEE-Annals.pdf",
  abstract =     "We present a personal perspective of the Art of
                 Programming. We start with its state around 1960 and
                 follow its development to the present day. The term
                 Software Engineering became known after a conference in
                 1968, when the difficulties and pitfalls of designing
                 complex systems were frankly discussed. A search for
                 solutions began. It concentrated on better
                 methodologies and tools. The most prominent were
                 programming languages reflecting the procedural,
                 modular, and then object-oriented styles. Software
                 engineering is intimately tied to their emergence and
                 improvement. Also of significance were efforts of
                 systematizing, even automating program documentation
                 and testing. Ultimately, analytic verification and
                 correctness proofs were supposed to replace
                 testing.\par

                 More recently, the rapid growth of computing power made
                 it possible to apply computing to ever more complicated
                 tasks. This trend dramatically increased the demands on
                 software engineers. Programs and systems became complex
                 and almost impossible to fully understand. The sinking
                 cost and the abundance of computing resources
                 inevitably reduced the care for good design. Quality
                 seemed extravagant, a loser in the race for profit. But
                 we should be concerned about the resulting
                 deterioration in quality. Our limitations are no longer
                 given by slow hardware, but by our own intellectual
                 capability. From experience we know that most programs
                 could be significantly improved, made more reliable,
                 economical and comfortable to use.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Wirth:2008:BHSb,
  author =       "Niklaus Wirth",
  title =        "A Brief History of Software Engineering",
  journal =      j-IEEE-ANN-HIST-COMPUT,
  volume =       "30",
  number =       "3",
  pages =        "32--39",
  month =        jul # "\slash " # sep,
  year =         "2008",
  CODEN =        "IAHCEX",
  DOI =          "https://doi.org/10.1109/MAHC.2008.33",
  ISSN =         "1058-6180 (print), 1934-1547 (electronic)",
  ISSN-L =       "1058-6180",
  MRclass =      "99-03",
  MRnumber =     "2526509",
  bibdate =      "Wed Jul 1 19:39:15 MDT 2009",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ieeeannhistcomput.bib",
  URL =          "https://people.inf.ethz.ch/wirth/Miscellaneous/IEEE-Annals.pdf",
  acknowledgement = ack-nhfb,
  ajournal =     "IEEE Ann. Hist. Comput.",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "IEEE Annals of the History of Computing",
  journal-URL =  "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=85",
  remark =       "TO DO: Also presented in the Proceedings of a
                 Conference on Computers, Beijing, PRC, September 2007,
                 but I have not yet found that document online.",
}

@TechReport{Wirth:2008:CNE,
  author =       "Niklaus Wirth",
  title =        "{Als Computer noch erkl{\"a}rbar waren}. ({German})
                 [{When} computers were still explainable]",
  type =         "Essay",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  day =          "3",
  month =        oct,
  year =         "2008",
  bibdate =      "Tue Jan 09 07:54:32 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Informatik68.pdf;
                 https://people.inf.ethz.ch/wirth/Miscellaneous/Informatik68.pdf",
  abstract =     "Das Jahr 1968 ist in die Geschichte eingegangen als
                 Jahr der sozialen Unrast, des Umbruchs. Es war
                 gekennzeichnet durch die Ablehnung von Autorit{\"a}t,
                 die Absage an die Forderung nach Leistung, durch die
                 Befreiung von verkrusteten gesellschaftlichen
                 Konventionen, und durch die Verbreitung der
                 Beliebigkeit. Die Auswirkungen dieses Umbruchs reichen
                 bis in die Gegenwart. Daneben gab es aber auch
                 kleinere, wenig beachtete Ereignisse, an die man sich
                 jedoch heute noch aus guten Gr{\"u}nden erinner.
                 ({German}) [The year 1968 has gone down in history as a
                 year of social unrest and upheaval. It was
                 characterized by the rejection of authority, the
                 rejection of the demand for performance through which
                 liberation from encrusted social conditions,
                 conventions, and through the dissemination of
                 arbitrariness. The effects of this upheaval are
                 extensive to the present day. But there were also
                 smaller, little-noticed events that one remembers.
                 However, I still remember it today for good reasons.]",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "German",
}

@TechReport{Wirth:2008:DBR,
  author =       "Niklaus Wirth",
  title =        "Differences between {Revised Oberon} and {Oberon}",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "2",
  day =          "22",
  month =        mar,
  year =         "2008",
  bibdate =      "Tue Jan 09 08:09:35 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Revised 15 July 2011.",
  URL =          "https://people.inf.ethz.ch/wirth/Oberon/Oberon07.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2008:FSM,
  author =       "Niklaus Wirth",
  title =        "Finite State Machines, Programmable Logic Devices, and
                 the Crux of Growing Complexity",
  type =         "Essay",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "18",
  day =          "20",
  month =        sep,
  year =         "2008",
  bibdate =      "Tue Jan 09 07:49:51 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/PLD.pdf;
                 https://people.inf.ethz.ch/wirth/Miscellaneous/PLD.pdf",
  abstract =     "This essay covers many facets. We start with a brief
                 explanation of the concept of finite state machine
                 (FSM) and its implementation with programmed logic
                 devices (PLD). Then we present a widely used, although
                 outdated sample of the species, the GAL22V10 (1993),
                 which represents the FSM in almost pure fashion. We
                 investigate how circuits, that is, configurations for
                 the PLD are specified. In turn we define a small
                 formalism, a language specific for this purpose.
                 Thereby we show how small languages may easily be
                 defined and implemented for special tasks like the one
                 at hand.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{Wirth:2008:GTC,
  author =       "Niklaus Wirth",
  title =        "{Grundlagen und Techniken des Compilerbaus}.
                 ({German}) [{Fundamentals} and Techniques of Compiler
                 Construction]",
  publisher =    pub-OLDENBOURG,
  address =      pub-OLDENBOURG:adr,
  edition =      "Second",
  pages =        "xi + 191",
  year =         "2008",
  DOI =          "https://doi.org/10.1524/9783486719741",
  ISBN =         "3-486-58581-9",
  ISBN-13 =      "978-3-486-58581-0",
  LCCN =         "????",
  bibdate =      "Mon Jan 8 08:07:08 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://www.oldenbourg-link.de/isbn/978348658581",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/books/daglib/0020250.bib",
  dblp-id =      "DBLP:books/daglib/0020250",
  language =     "German",
  tableofcontents = "Vorwort / ix \\
                 \\
                 1 Einleitung / 1 \\
                 \\
                 2 Sprache und Syntax / 5 \\
                 \\
                 3 Regul{\"a}re Sprachen / 13 \\
                 \\
                 4 Analyse von kontextfreien Sprachen / 19 \\
                 4.1 Die Methode des rekursiven Abstiegs / 19 \\
                 4.2 Tabellengesteuertes Top-down-Parsing / 23 \\
                 4.3 Bottom-up-Parsing / 26 \\
                 5 Attribuierte Grammatiken und Semantikanschlu{\ss} /
                 31 \\
                 5.1 Typenregeln / 31 \\
                 5.2 Auswertungsregeln / 33 \\
                 5.3 {\"U}bersetzungsregeln / 34 \\
                 6 Die Programmiersprache Oberon-0 / 37 \\
                 \\
                 7 Ein Parser f{\"u}r Oberon-0 / 41 \\
                 7.1 Der Scanner / 41 \\
                 7.2 Der Parser / 43 \\
                 7.3 Behandlung von syntaktischen Fehlern / 45 \\
                 \\
                 8 Einbezug von Kontext durch Deklarationen / 51 \\
                 8.1 Vereinbarungen / 51 \\
                 8.2 Eintr{\"a}ge von Datentypen / 53 \\
                 8.3 Datenrepr{\"a}sentation / 55 \\
                 9 Eine RISC-Architektur als Zielrechner / 61 \\
                 \\
                 10 Ausdr{\"u}cke und Zuweisungen / 67 \\
                 10.1 Direkte Codeerzeugung nach dem Stack-Prinzip / 67
                 \\
                 10.2 Verz{\"o}gerte Codeerzeugung / 70 \\
                 10.3 Indizierte Variablen und Record-Felder / 76 \\
                 11 Bedingte und wiederholte Anweisungen, Boole'sche
                 Ausdr{\"u}cke / 83 \\
                 11.1 Vergleiche und Spr{\"u}nge / 83 \\
                 11.2 Bedingte und wiederholte Anweisungen / 84 \\
                 11.3 Boole'sche Operationen / 89 \\
                 11.4 Zuweisungen zu Boole'schen Variablen / 93 \\
                 \\
                 12 Prozeduren und das Konzept der Lokalit{\"a}t / 97
                 \\
                 12.1 Laufzeitorganisation im Speicher / 97 \\
                 12.2 Die Adressierung von Variablen / 100 \\
                 12.3 Parameter / 103 \\
                 12.4 Prozedurvereinbarungen und Aufrufe / 104 \\
                 12.5 Standardprozeduren / 109 \\
                 12.6 Funktionsprozeduren / 110 \\
                 \\
                 13 Elementare Datentypen / 113 \\
                 13.1 Die Typen REAL und LONGREAL / 113 \\
                 13.2 Kompatibilit{\"a}t zwischen numerischen Datentypen
                 / 115 \\
                 13.3 Der Datentyp SET / 117 \\
                 \\
                 14 Offene Arrays, Pointer und Prozedurtypen / 121 \\
                 14.1 Offene Arrays / 121 \\
                 14.2 Dynamische Datenstrukturen und Pointer / 122 \\
                 14.3 Prozedurtypen / 126 \\
                 \\
                 15 Module und getrennte {\"U}bersetzung / 129 \\
                 15.1 Das Prinzip des Information-Hidings / 129 \\
                 15.2 Getrennte {\"U}bersetzung / 130 \\
                 15.3 Implementierung von Symboldateien / 132 \\
                 15.4 Adressierung externer Objekte / 136 \\
                 15.5 Konsistenzpr{\"u}fung von Modulen / 138 \\
                 \\
                 16 Optimierungen und die Frontend-Backend-Struktur /
                 141 \\
                 16.1 Grunds{\"a}tzliche {\"U}berlegungen / 141 \\
                 16.2 Einfache Optimierungen / 143 \\
                 16.3 Vermeidung wiederholter Auswertung / 143 \\
                 16.4 Registerverwaltung / 145 \\
                 16.5 Die Frontend-Backend-Compilerstruktur / 146 \\
                 \\
                 Literaturverzeichnis / 153 \\
                 \\
                 Anhang A: Syntax / 155 \\
                 A.1 Oberon-0 / 155 \\
                 A.2 Oberon / 156 \\
                 A-3 Symboldatei / 158 \\
                 \\
                 Anhang B: Der Latin-1-Zeichensatz / 159 \\
                 \\
                 Anhang C: Oberon-0-Compiler / 161 \\
                 C.1 Scanner OSS / 162 \\
                 C.2 Parser OSP / 165 \\
                 C.3 Code-Generator OSG / 176 \\
                 C.4 The RISC Interpreter / 185 \\
                 \\
                 Stichwortverzeichnis / 189",
  timestamp =    "Tue, 15 Feb 2011 11:16:15 +0100",
}

@TechReport{Wirth:2008:ITO,
  author =       "Niklaus Wirth",
  title =        "Interrupts and Traps in {Oberon-ARM}",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "3",
  day =          "22",
  month =        feb,
  year =         "2008",
  bibdate =      "Tue Jan 09 08:13:12 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/Oberon/Interrupts.pdf",
  abstract =     "An interrupt is by definition a break in the
                 sequential stream of instruction execution caused by an
                 external signal. It is useful to consider an interrupt
                 as causing the execution of a procedure. The
                 programmer's problem is that this procedure may be
                 inserted anywhere in the normal program flow. An
                 interrupt should be considered as a procedure call,
                 which may occur at any time, anywhere, asynchronously.
                 It is the programmer's duty to ensure that such
                 procedures, called interrupt handlers, cooperate
                 harmoniously with the remaining program.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2008:MSE,
  author =       "Niklaus Wirth",
  title =        "A Microcontroller System for Experimentation",
  type =         "Report",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "16",
  day =          "16",
  month =        apr,
  year =         "2008",
  bibdate =      "Tue Jan 09 08:48:01 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/PICL/PIC.pdf",
  abstract =     "We report on the design of a simple board for use in
                 teaching about microcontrollers. The project also
                 describes a small language specifically designed for
                 the PIC microcontroller. The project showed that
                 hands-on experience is essential in teaching about
                 sensors and controlling devices, and that the use of a
                 small, hand-tailored language eases programming
                 conside",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2008:ND,
  author =       "Niklaus Wirth",
  title =        "A Note on Division",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "4",
  day =          "20",
  month =        aug,
  year =         "2008",
  bibdate =      "Tue Jan 09 07:42:36 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/fparith.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Division.pdf;
                 https://people.inf.ethz.ch/wirth/Miscellaneous/Division.pdf",
  abstract =     "Early computers had neither multiplication nor
                 division in their instruction sets. These operations
                 required too many latches and gates, and could well be
                 implemented in software using addition, subtraction,
                 and shifting. As computers became more potent,
                 instructions for multiplication and division became
                 expected ingredients.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2008:PS,
  author =       "Niklaus Wirth",
  title =        "On Programming Styles",
  type =         "Memorandum",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "1",
  day =          "24",
  month =        mar,
  year =         "2008",
  bibdate =      "Tue Jan 09 07:46:09 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/Miscellaneous/Styles.pdf",
  abstract =     "After listing the restrictions, changes, and
                 extensions of Revised Oberon, I realized that I had
                 forgotten an important restriction. I had forgotten it,
                 because I had already become used to it. It is the
                 reason for writing this memo.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2008:WDW,
  author =       "Niklaus Wirth",
  title =        "{Was ist ein Denkplatz, und warum erstreben wir ihn?}.
                 ({German}) [{What} is a place of thought and why do we
                 strive for it?]",
  type =         "Essay",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "3",
  day =          "30",
  month =        oct,
  year =         "2008",
  bibdate =      "Tue Jan 09 08:00:10 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Denkplatz.pdf;
                 https://people.inf.ethz.ch/wirth/Miscellaneous/Denkplatz.pdf",
  abstract =     "Als ich j{\"u}ngst mit einer Sekundarsch{\"u}lerin der
                 ersten Klasse beim Mittagessen sass, fragte ich sie,
                 womit sie in der Schule besch{\"a}ftigt seien. 5
                 Pr{\"u}fungen in dieser Woche, war die Antwort. Und was
                 lernt ihr in der Mathematik? erkundigte ich mich
                 weiter. Venn- und Carrol-Diagramme, oder so etwas. Da
                 wurde mir auf einen Schlag bewusst, dass ich in dieser
                 Stadt, in diesem Land auf einem Denkplatz lebe. Wo
                 sonst w{\"u}rden sich Sch{\"u}ler mit reinen
                 Denkaufgaben befassen, sich sozusagen dem
                 konzentrierten Gehirn-Training hingeben? Mit den
                 Carrol-Diagrammen waren zwar Karnaugh-Tabellen gemeint,
                 aber dies tut wohl meiner Erkenntnis wenig Abbruch.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  language =     "German",
}

@TechReport{Wirth:2008:YI,
  author =       "Niklaus Wirth",
  title =        "The Year of Informatics",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "9",
  month =        mar,
  year =         "2008",
  bibdate =      "Tue Jan 09 07:53:14 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Informatika2008.pdf;
                 https://people.inf.ethz.ch/wirth/Miscellaneous/Informatika2008.pdf",
  abstract =     "This tale begins with my personal impressions of the
                 opening event of the Swiss Year of Informatics and ends
                 with those about the opening of the new laboratory of
                 Google. In between, I offer some remarks about the
                 development of IT in general and software engineering
                 in particular",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InProceedings{Wirth:2010:CSH,
  author =       "Niklaus Wirth",
  editor =       "Sebastian Nanz",
  booktitle =    "The Future of Software Engineering",
  title =        "Computer Science: a Historical Perspective and a
                 Current Assessment",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "151--151",
  year =         "2010",
  DOI =          "https://doi.org/10.1007/978-3-642-15187-3_11",
  bibdate =      "Mon Jan 8 08:03:38 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/conf/birthday/Wirth10.bib",
  dblp-id =      "DBLP:conf/birthday/Wirth10",
  timestamp =    "Tue, 23 May 2017 01:06:46 +0200",
}

@TechReport{Wirth:2010:ECS,
  author =       "Niklaus Wirth",
  title =        "Experiments in Computer System Design",
  type =         "Technical Report",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "60",
  month =        aug,
  year =         "2010",
  bibdate =      "Tue Jan 09 08:33:46 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/FPGA-relatedWork/ComputerSystemDesign.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  keywords =     "tiny stack machine (TSM)",
}

@TechReport{Wirth:2010:RA,
  author =       "Niklaus Wirth",
  title =        "The {RISC} Architecture",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "3",
  day =          "5",
  month =        dec,
  year =         "2010",
  bibdate =      "Tue Jan 09 08:39:15 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/FPGA-relatedWork/RISC-Arch.pdf",
  abstract =     "From the viewpoints of the programmer and the compiler
                 designer the computer consists of an arithmetic unit, a
                 control unit and a store. The arithmetic unit contains
                 16 registers R0--R15, with 32 bits each. The control
                 unit consists of the instruction register IR, holding
                 the instruction currently being executed, and the
                 program counter PC, holding the word-address of the
                 instruction to be fetched next. All branch instructions
                 are conditional. The memory consists of 32-bit words,
                 and it is byte-addressed. Furthermore, there are 4 flag
                 registers N, Z, C and V, called the condition codes.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Timmerer:2011:INEa,
  author =       "Christian Timmerer and Niklaus Wirth and Laszlo
                 B{\"o}sz{\"o}rmenyi",
  title =        "An Interview with {Niklaus Emil Wirth}, Part 1",
  howpublished = "IEEE TV Web site",
  day =          "7",
  month =        jun,
  year =         "2011",
  bibdate =      "Sat Jan 13 12:55:51 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://ieeetv.ieee.org/an-interview-with-niklaus-emil-wirth-part-1",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Timmerer:2011:INEb,
  author =       "Christian Timmerer and Niklaus Wirth and Laszlo
                 B{\"o}sz{\"o}rmenyi",
  title =        "An Interview with {Niklaus Emil Wirth}, Part 2",
  howpublished = "IEEE TV Web site",
  day =          "7",
  month =        jun,
  year =         "2011",
  bibdate =      "Sat Jan 13 12:55:51 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://ieeetv.ieee.org/an-interview-with-niklaus-emil-wirth-part-2",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Timmerer:2011:INEc,
  author =       "Christian Timmerer and Niklaus Wirth and Laszlo
                 B{\"o}sz{\"o}rmenyi",
  title =        "An Interview with {Niklaus Emil Wirth}, Part 3",
  howpublished = "IEEE TV Web site",
  day =          "7",
  month =        jun,
  year =         "2011",
  bibdate =      "Sat Jan 13 12:55:51 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://ieeetv.ieee.org/an-interview-with-niklaus-emil-wirth-part-3",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{Wirth:2011:GTC,
  author =       "Niklaus Wirth",
  title =        "{Grundlagen und Techniken des Compilerbaus}.
                 ({German}) [{Fundamentals} and Techniques of Compiler
                 Construction]",
  publisher =    pub-OLDENBOURG,
  address =      pub-OLDENBOURG:adr,
  edition =      "Third",
  pages =        "xiv + 194",
  year =         "2011",
  DOI =          "https://doi.org/10.1524/9783486719741",
  ISBN =         "3-486-70951-8, 3-486-71974-2",
  ISBN-13 =      "978-3-486-70951-3, 978-3-486-71974-1",
  LCCN =         "????",
  bibdate =      "Thu Jul 4 16:18:22 MDT 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  tableofcontents = "Vorwort zur 1. Auflage V \\
                 Vorwort / ix \\
                 1 Einleitung / 1 \\
                 2 Sprache und Syntax / 5 \\
                 2.1 {\"U}bungsaufgaben / 10 \\
                 3 Regul{\"a}re Sprachen / 13 \\
                 3.1 {\"U}bungsaufgabe / 17 \\
                 4 Analyse von kontextfreien Sprachen / 19 \\
                 4.1 Die Methode des rekursiven Abstiegs / 19 \\
                 4.2 Tabellengesteuertes Top-down-Parsing / 23 \\
                 4.3 Bottom-up-Parsing / 25 \\
                 4.4 {\"U}bungsaufgaben / 28 \\
                 5 Attribuierte Grammatiken und Semantikanschliiss / 29
                 \\
                 5.1 Typenregeln / 29 \\
                 5.2 Auswertungsregeln / 31 \\
                 5.3 {\"U}bersetzungsregeln / 31 \\
                 5.4 {\"U}bungsaufgabe / 33 \\
                 6 Die Programmiersprache Oberon-0 / 35 \\
                 7 Ein Parser f{\"u}r Oberon-0 / 39 \\
                 7.1 Der Scanner / 39 \\
                 7.2 Der Parser / 41 \\
                 7.3 Behandlung von syntaktischen Fehlern / 43 \\
                 7.4 {\"U}bungsaufgaben / 48 \\
                 8 Einbezug von Kontext durch Deklarationen / 49 \\
                 8.1 Vereinbarungen / 49 \\
                 8.2 Eintr{\"a}ge von Datentypen / 51 \\
                 8.3 Datenrepr{\"a}sentation zur Laufzeit / 53 \\
                 8.4 {\"U}bungsaufgaben / 57 \\
                 9 Eine RISC-Architektur als Zielrechner / 59 \\
                 9.1 Resourcen und Register / 60 \\
                 9.2 Instruktionen und Formate / 61 \\
                 9.3 Ein Emulator / 63 \\
                 10 Ausdr{\"u}cke und Zuweisungen / 67 \\
                 10.1 Direkte Codeerzeugung nach dem Keller-Prinzip / 67
                 \\
                 10.2 Verz{\"o}gerte Codeerzeugung / 70 \\
                 10.3 Indizierte Variablen und Record-Felder / 75 \\
                 10.4 {\"U}bungsaufgaben / 81 \\
                 11 Bedingte und wiederholte Anweisungen, Boole'sche
                 Ausdr{\"u}cke / 83 \\
                 11.1 Vergleiche und Spr{\"u}nge / 83 \\
                 11.2 Bedingte und wiederholte Anweisungen / 84 \\
                 11.3 Boole'sche Operationen / 89 \\
                 11.4 Zuweisungen zu Boole'schen Variablen / 93 \\
                 11.5 {\"U}bungsaufgaben / 94 \\
                 12 Prozeduren und das Konzept der Lokalit{\"a}t / 97
                 \\
                 12.1 Laufzeitorganisation im Speicher / 97 \\
                 12.2 Die Adressierung von Variablen / 100 \\
                 12.3 Parameter / 102 \\
                 12.4 Prozedurvereinbarungen und Aufrufe / 104 \\
                 12.5 Standardprozeduren / 110 \\
                 12.6 Funktionsprozeduren / 112 \\
                 12.7 {\"U}bungsaufgaben / 112 \\
                 13 Elementare Datentypen / 115 \\
                 13.1 Die Typen REAL und LONGREAL / 115 \\
                 13.2 Kompatibilit{\"a}t zwischen numerischen Datentypen
                 / 116 \\
                 13.3 Der Datentyp SET / 118 \\
                 13.4 {\"U}bungsaufgaben / 120 \\
                 14 Offene Arrays, Pointer und Prozedurtypen / 121 \\
                 14.1 Offene Arrays / 121 \\
                 14.2 Dynamische Datenstrukturen und Pointer / 122 \\
                 14.3 Prozedurtypen / 126 \\
                 14.4 {\"U}bungsaufgaben / 127 \\
                 15 Module und getrennte {\"U}bersetzung / 129 \\
                 15.1 Das Prinzip des Information-Hidings / 129 \\
                 15.2 Getrennte {\"U}bersetzung / 130 \\
                 15.3 Implementierung von Symboldateien / 132 \\
                 15.4 Adressierung externer Objekte / 136 \\
                 15.5 Konsistenzpr{\"u}fung von Modulen / 138 \\
                 15.6 {\"U}bungsaufgaben / 140 \\
                 16 Optimierungen und die Frontend-Backend-Struktur /
                 141 \\
                 16.1 Grunds{\"a}tzliche {\"U}berlegungen / 141 \\
                 16.2 Einfache Optimierungen / 143 \\
                 16.3 Vermeidung wiederholter Auswertung / 143 \\
                 16.4 Registerverwaltung / 144 \\
                 16.5 DieFrontend-Backend-Compilerstruktur / 146 \\
                 16.6 {\"U}bungsaufgaben / 150 \\
                 Anhang A: Syntax / 153 \\
                 A.l Oberon-0 / 153 \\
                 A.2 Oberon / 154 \\
                 A.3 Symboldatei / 156 \\
                 Anhang B: Der Latin-A-Zeichensatz / 157 \\
                 Anhang C: Oberon-0-Compiler / 159 \\
                 C.l Symboldatei / 159 \\
                 C.2 Der Parser / 163 \\
                 C.3 Der Code-Generator / 174 \\
                 Anhang D: Der RISC-Prozessor in Verilog / 185 \\
                 Literaturverzeichnis / 191 \\
                 Stichwortverzeichnis / 193",
}

@InProceedings{Graham:2012:PLP,
  author =       "Susan Graham and Frances E. Allen and Barbara Liskov
                 and Niklaus Wirth",
  booktitle =    "{ACM} Turing Centenary Celebration",
  title =        "Programming Languages Past Achievements and Future
                 Challenges",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  year =         "2012",
  DOI =          "https://doi.org/10.1145/2322176.2322188",
  ISBN =         "1-4503-3919-0",
  ISBN-13 =      "978-1-4503-3919-3",
  bibdate =      "Fri Jan 5 08:25:24 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "ACM-TURING '12",
  abstract =     "The design of programming languages and their
                 compile-time and run-time implementation are closely
                 related, and are dependent on the underlying
                 computational model. In the 1960s, 70s, and 80s many
                 languages were designed, and many implementation
                 strategies and computational models were explored.
                 Since then, the commercial world has largely settled on
                 a few legacy languages. Meanwhile, both the
                 capabilities of computing systems and the ways in which
                 they are used have changed dramatically. The panelists
                 will summarize the lessons they have learned about
                 language design, and also what has not been learned.
                 They will consider how those lessons can be applied to
                 the myriad application domains, architectural
                 frameworks, user needs, and economic considerations
                 that exist today, and will speculate about the
                 future.",
  acknowledgement = ack-nhfb,
  articleno =    "12",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  location =     "San Francisco, California, USA",
}

@TechReport{Wirth:2013:SHH,
  author =       "Niklaus Wirth",
  title =        "Selected Honours and Honorary Doctorates",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "1",
  day =          "26",
  month =        dec,
  year =         "2013",
  bibdate =      "Tue Jan 09 10:10:39 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/SelectedHonours.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2014:ILT,
  author =       "Niklaus Wirth",
  title =        "An Implementation of {Lola-2}, or, Translating from
                 {Lola} to {Verilog} {N.Wirth, 30.11.201}",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "7",
  day =          "30",
  month =        nov,
  year =         "2014",
  bibdate =      "Tue Jan 09 08:56:30 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/Lola/LolaCompiler.pdf",
  abstract =     "The hardware description language Lola (Logic
                 Language) was designed in 1990 as an effort to present
                 a simple and effective textual description of digital
                 circuits. At that time, the conventional style was
                 still graphical (circuit charts), and it was not
                 evident that textual descriptions would replace them
                 entirely within 20 years. Also, there were no means
                 available to automatically transfer them into physical
                 circuits of electronic components.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2015:CCP,
  author =       "Niklaus Wirth",
  title =        "Computers and Computing: a Personal Perspective",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  month =        dec,
  year =         "2015",
  bibdate =      "Tue Jan 09 08:02:34 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Informatika2008.pdf;
                 https://people.inf.ethz.ch/wirth/Miscellaneous/ComputersAndComputing.pdf",
  abstract =     "Historians date the origin of computing far back
                 almost in the middle age. Here we prefer to start when
                 computers became commercially available and started to
                 play a role in business and science. This was around
                 1960 or even slightly before. Only a few inventions had
                 caused this development.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2015:DRA,
  author =       "Niklaus Wirth",
  title =        "The Design of a {RISC} Architecture and its
                 Implementation with an {FPGA}",
  type =         "Report",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "24",
  day =          "1",
  month =        sep,
  year =         "2015",
  bibdate =      "Tue Jan 09 08:36:25 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/FPGA-relatedWork/RISC.pdf",
  abstract =     "The idea for this project has two roots. The first was
                 a project to design and implement a small processor for
                 use in embedded systems with several interconnected
                 cores. It was called the Tiny Register Machine (TRM).
                 The second root is a book written by this author some
                 30 years ago, and revised several times since. Its
                 subject is Compiler Construction. The target for the
                 developed compiler is a hypothetical computer. In the
                 early years this computer was a stack architecture,
                 later replaced by a RISC architecture. Now the intent
                 is to replace the hypothetical, emulated computer by a
                 real one. This idea was made realistic by the advent of
                 programmable hardware components called field
                 programmable gate arrays (FPGA).",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2015:PT,
  author =       "Niklaus Wirth",
  title =        "Programming: a Tutorial",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "64",
  day =          "5",
  month =        oct,
  year =         "2015",
  bibdate =      "Tue Jan 09 08:05:53 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/Oberon/PIO.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  keywords =     "Oberon-2",
}

@TechReport{Wirth:2015:TC,
  author =       "Niklaus Wirth",
  title =        "Three Counters",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "3",
  month =        oct,
  year =         "2015",
  bibdate =      "Tue Jan 09 08:41:08 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/FPGA-relatedWork/ThreeCounters.pdf",
  abstract =     "This short paper shows, how a simple counter is
                 implemented on various levels of a system. The System
                 is based on an FPGA, and it also refers to the software
                 system Oberon. The paper is intended as a tutorial,
                 explaining the structure and basic functioning of a
                 whole system. It is almost of a philosophical nature
                 :-).",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2016:PLO,
  author =       "Niklaus Wirth",
  title =        "The Programming Language {Oberon}",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "17",
  day =          "3",
  month =        may,
  year =         "2016",
  bibdate =      "Tue Jan 09 08:08:28 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/Oberon/Oberon07.Report.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "Also available as file {\tt Docu/Oberon07.pdf} in
                 \url{https://github.com/Oleg-N-Cher/OfrontPlus/}",
}

@TechReport{Wirth:2017:CC,
  author =       "Niklaus Wirth",
  title =        "Compiler Construction",
  type =         "Report",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "44",
  month =        may,
  year =         "2017",
  bibdate =      "Tue Jan 09 08:42:44 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "This is a slightly revised version of the book
                 published by Addison-Wesley in 1996 ISBN
                 0-201-40353-6.",
  URL =          "https://people.inf.ethz.ch/wirth/CompilerConstruction/CompilerConstruction1.pdf",
  abstract =     "This book has emerged from my lecture notes for an
                 introductory course in compiler design at ETH
                 Z{\"u}rich. Several times I have been asked to justify
                 this course, since compiler design is considered a
                 somewhat esoteric subject, practised only in a few
                 highly specialized software houses. Because nowadays
                 everything which does not yield immediate profits has
                 to be justified, I shall try to explain why I consider
                 this subject as important and relevant to computer
                 science students in general.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2017:RAT,
  author =       "Niklaus Wirth",
  title =        "9. A {RISC}-Architecture as Target",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "64",
  day =          "25",
  month =        sep,
  year =         "2017",
  bibdate =      "Tue Jan 09 08:45:08 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/CompilerConstruction/CompilerConstruction2.pdf",
  abstract =     "It is worth noting that our compiler, up to this
                 point, could be developed without reference to the
                 target computer for which it is to generate code. But
                 why indeed should the target machine's structure
                 influence syntactic analysis and error handling? On the
                 contrary, such an influence should consciously be
                 avoided. As a result, code generation for an arbitrary
                 computer may be added according to the principle of
                 stepwise refinement to the existing, machine
                 independent parser, which serves like a scaffolding.
                 Before undertaking this task, however, a specific
                 target architecture must be selected.",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Wirth:2018:ORO,
  author =       "Niklaus Wirth",
  title =        "{Oberon-07} (Revised {Oberon}) ({Oberon} at a
                 glance)",
  type =         "Note",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "1",
  day =          "20",
  month =        nov,
  year =         "2018",
  bibdate =      "Tue Jan 09 08:04:46 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.inf.ethz.ch/wirth/Oberon/OberonAtAGlance.pdf",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Wirth:2021:VYP,
  author =       "Niklaus Wirth",
  title =        "Viewpoint: 50 years of {Pascal}",
  journal =      j-CACM,
  volume =       "64",
  number =       "3",
  pages =        "39--41",
  month =        mar,
  year =         "2021",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/3447525",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Tue Feb 23 08:02:17 MST 2021",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm2020.bib",
  URL =          "https://cacm.acm.org/magazines/2021/3/250705-50-years-of-pascal",
  abstract =     "The Pascal programming language creator Niklaus Wirth
                 reflects on its origin, spread, and further
                 development.",
  acknowledgement = ack-nhfb,
  ajournal =     "Commun. ACM",
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  numpages =     "3",
}

%%% ====================================================================
%%%      Part 2: Publications about Niklaus Wirth and his works
%%%
%%% NB: The Modula and Pascal languages appear in a large number of
%%% publication titles, but only a few of them are recorded here.
%%% Search for articles from proceedings of several Modula conferences
%%% to find more such.  Oberon, however, has more than 290 instances in
%%% this part.
@Article{vandeLaarschot:1965:SCS,
  author =       "P. J. J. van de Laarschot and J. Nederkoorn",
  title =        "Some comments on the string-handling proposal of {Dr
                 N. Wirth}",
  journal =      j-ALGOL-BULLETIN,
  number =       "19",
  publisher =    "Computer History Museum",
  address =      "Mountain View, CA, USA",
  pages =        "12--13",
  month =        jan,
  year =         "1965",
  ISSN =         "0084-6198",
  ISSN-L =       "0084-6198",
  bibdate =      "Mon May 13 09:48:42 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "See \cite{Wirth:1964:PSM} and reply
                 \cite{Wirth:1965:RFC}.",
  URL =          "https://dl.acm.org/doi/pdf/10.5555/1060998.1061002",
  acknowledgement = ack-nhfb # " and " # ack-pm,
  fjournal =     "ALGOL Bulletin (Amsterdam: Mathematisch Centrum)",
  journal-URL =  "http://portal.acm.org/affiliated/ALGOL",
}

@Article{Kral:1966:NHP,
  author =       "Jaroslav Kr{\'a}l",
  title =        "A Note on {Hoare} Proposal {AB21.3}",
  journal =      j-ALGOL-BULLETIN,
  number =       "24",
  publisher =    "Computer History Museum",
  address =      "Mountain View, CA, USA",
  pages =        "17--25",
  month =        sep,
  year =         "1966",
  CODEN =        "ALGOBG",
  ISSN =         "0084-6198",
  ISSN-L =       "0084-6198",
  bibdate =      "Thu May 16 07:39:42 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "See \cite{Wirth:1966:ANC}.",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Simauti:1967:CCD,
  author =       "T. Simauti and others",
  title =        "Comments on ``{A} contribution to the development of
                 {ALGOL}'' ({Wirth} and {Hoare})",
  journal =      j-ALGOL-BULLETIN,
  number =       "26",
  publisher =    "Computer History Museum",
  address =      "Mountain View, CA, USA",
  pages =        "23--27",
  month =        aug,
  year =         "1967",
  bibdate =      "Thu May 16 07:58:56 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Weber:1967:MIE,
  author =       "Helmut Weber",
  title =        "A microprogrammed implementation of {EULER} on {IBM
                 System\slash 360 model 30}",
  journal =      j-CACM,
  volume =       "10",
  number =       "9",
  pages =        "549--558",
  month =        sep,
  year =         "1967",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/363566.363682",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Fri Nov 25 18:20:15 MST 2005",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1960.bib",
  abstract =     "An experimental processing system for the algorithmic
                 language EULER has been implemented in microprogramming
                 on an IBM System/360 Model 30 using a second Read-Only
                 Storage unit. The system consists of a microprogrammed
                 compiler and a microprogrammed String Language
                 Interpreter, and of an I/O control program written in
                 360 machine language. The system is described and
                 results are given in terms of microprogram and main
                 storage space required and compiler and interpreter
                 performance obtained. The role of microprogramming is
                 stressed, which opens a new dimension in the processing
                 of interpretive code. The structure and content of a
                 higher level language can be matched by an appropriate
                 interpretive language which can be executed efficiently
                 by microprograms on existing computer hardware.",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  keywords =     "IBM S/360",
}

@TechReport{Bauer:1968:AWI,
  author =       "Henry R. Bauer and Sheldon Becker and Susan L.
                 Graham",
  title =        "{ALGOL W} implementation",
  type =         "Report",
  number =       "CS-98",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "vi + 147",
  day =          "20",
  month =        may,
  year =         "1968",
  bibdate =      "Thu Jan 11 08:33:42 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "From the introduction: ``The project was initiated and
                 directed by Professor Niklaus Wirth, who proposed many
                 of the ideas incorporated in the compiler and suggested
                 ways to bring them about. Joseph W. Wells, Jr. and
                 Edwin H. Satterthwaite, Jr. wrote the PL360 System in
                 which the compiler is embedded, the linkages to the
                 compiler, and the loader.''",
  URL =          "http://infolab.stanford.edu/TR/CS-TR-68-98.html",
  abstract =     "In writing a compiler of a new language (ALGOL W) for
                 a new machine (IBM System/360) we were forced to deal
                 with many unforeseen problems in addition to the
                 problems we expected to encounter. This report
                 describes the final version of the compiler. The
                 implemented language ALGOL W is based on the
                 Wirth/Hoare proposal for a successor to ALGOL 60. The
                 major differences from that proposal are in string
                 definition and operations and in complex number
                 representation.",
  acknowledgement = ack-nhfb,
  remark =       "Appendix II contains a BNF grammar for Algol W, a
                 language proposed as a successor to Algol 60
                 \cite{Wirth:1966:CDA,Wirth:1966:ANC}. Page 4 reports:
                 ``Complex arithmetic in standard mathematical notation
                 and double-precision (long) arithmetic are implemented
                 features of the language, Facilities to detect overflow
                 and make appropriate recovery are provided, as is a set
                 of standard functions of analysis.''",
}

@TechReport{Bauer:1969:AWI,
  author =       "Henry Bauer and Sheldon Becker and Susan L. Graham and
                 Edwin Satterthwaite and George E. Forsythe and Robert
                 W. Floyd",
  title =        "{Algol W} Language Description",
  type =         "Report",
  number =       "CS 110",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "ii + 103",
  month =        sep,
  year =         "1969",
  bibdate =      "Thu Jan 11 16:27:56 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/f/forsythe-george-elmer.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://bitsavers.org/pdf/stanford/cs_techReports/CS110_ALGOL_W_Revised_Sep69.pdf",
  abstract =     "``A Contribution to the Development of ALGOL'' by
                 Niklaus Wirth and C. A. R. Hoare was the basis for a
                 compiler developed for the IBM 360 at Stanford
                 University. This report is a description of the
                 implemented language, ALGOL W. Historical background
                 and the goals of the language may be found in the Wirth
                 and Hoare paper \cite{Wirth:1966:CDA,Wirth:1966:ECD}.",
  acknowledgement = ack-nhfb,
  tableofcontents = "Algol W Language Description / Henry Bauer, Sheldon
                 Becker, Susan L. Graham, and Edwin Satterthwaite /
                 1--65 \\
                 Algol W Error Messages / Henry R. Bauer, Sheldon
                 Becker, Susan L. Graham / 66--75 \\
                 Notes on Number Representation on System/360 and
                 Relations to Algol W / George E. Forsythe / 76--89 \\
                 Appendix: Algol W Deck Set-Up / Anonymous / 90--91 \\
                 Grammatical Description of Algol W / R. W. Floyd /
                 92--103",
}

@Article{Learner:1970:NTC,
  author =       "A. Learner and A. L. Lim",
  title =        "A note on transforming context-free grammars to
                 {Wirth--Weber} precedence form",
  journal =      j-COMP-J,
  volume =       "13",
  number =       "2",
  pages =        "142--144",
  month =        may,
  year =         "1970",
  CODEN =        "CMPJA6",
  DOI =          "https://doi.org/10.1093/comjnl/13.2.142",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  MRclass =      "94.50",
  MRnumber =     "260507",
  MRreviewer =   "M. Magidor",
  bibdate =      "Tue Dec 4 14:47:45 MST 2012",
  bibsource =    "http://comjnl.oxfordjournals.org/content/13/2.toc;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_13/Issue_02/;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/compj1970.bib",
  URL =          "http://comjnl.oxfordjournals.org/content/13/2/142.full.pdf+html;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_13/Issue_02/130142.sgm.abs.html;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_13/Issue_02/tiff/142.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_13/Issue_02/tiff/143.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_13/Issue_02/tiff/144.tif",
  acknowledgement = ack-nhfb,
  classcodes =   "C4210 (Formal logic)",
  corpsource =   "Queen Mary Coll., London, UK",
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
  keywords =     "grammars",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Bell:1971:ALA,
  author =       "D. A. Bell and B. A. Wichmann",
  title =        "An {ALGOL}-like Assembly Language for a Small
                 Computer",
  journal =      j-SPE,
  volume =       "1",
  number =       "1",
  pages =        "61--72",
  month =        jan # "\slash " # mar,
  year =         "1971",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380010106",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "22 Aug 2006",
  remark =       "This work was inspired by Niklaus Wirth's PL360
                 language \cite{Wirth:1968:PPL,Wirth:1968:CPP}.",
}

@Article{Iimori:1971:LPF,
  author =       "Sueo Iimori and Seiiti Huzino",
  title =        "List processing for finding {Wirth--Weber} type
                 precedence relations between symbols",
  journal =      "Memoirs of the {Faculty of Science. Kyushu University.
                 Series A. Mathematics}",
  volume =       "25",
  pages =        "152--166",
  year =         "1971",
  DOI =          "https://doi.org/10.2206/kyushumfs.25.152",
  ISSN =         "0373-6385 (print), 1883-2172 (electronic)",
  ISSN-L =       "0373-6385",
  MRclass =      "68A30",
  MRnumber =     "311154",
  MRreviewer =   "P. Deussen",
  bibdate =      "Fri Jan 5 07:03:11 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Mem. Fac. Sci. Kyushu Univ. Ser. A",
  fjournal =     "Memoirs of the Faculty of Science. Kyushu University.
                 Series A. Mathematics",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Malcolm:1971:PRP,
  author =       "Michael A. Malcolm",
  title =        "{PL360} (Revised) A Programming Language for the {IBM
                 360}",
  type =         "Technical Report",
  number =       "STAN-CS-71-215",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "v + 94",
  month =        may,
  year =         "1971",
  bibdate =      "Thu Jan 11 16:35:00 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://infolab.stanford.edu/pub/cstr/reports/cs/tr/71/215/CS-TR-71-215.pdf",
  abstract =     "In 1968, N. Wirth (Jan. JACM) published a formal
                 description of PL360, a programming language designed
                 specifically for the IBM 360. PL360 has an appearance
                 similar to that of Algol, but it provides the
                 facilities of a symbolic machine language. Since 1968,
                 numerous extensions and modifications have been made to
                 the PL360 compiler which was originally designed and
                 implemented by N. Wirth and J. Wells. Interface and
                 input--output subroutines have been written which allow
                 the use of PL360 under OS, DOS, MTS and Orvyl.\par

                 A formal description of PL360 as it is presently
                 implemented is given. The description of the language
                 is followed by sections on the use of PL360 under
                 various operating systems, namely OS, DOS and MTS.
                 Instructions on how to use the PL360 compiler and PL360
                 programs in an interactive mode under the Orvyl
                 time-sharing monitor are also included.",
  acknowledgement = ack-nhfb,
}

@TechReport{Malcolm:1972:PRA,
  author =       "Michael A. Malcolm",
  title =        "{PL360} (Revised Again) A Programming Language for the
                 {IBM 360}",
  type =         "Technical Report",
  number =       "STAN-CS-71-215",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "vi + 103",
  month =        may,
  year =         "1972",
  bibdate =      "Thu Jan 11 16:35:00 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Original version May 1971.",
  acknowledgement = ack-nhfb,
}

@TechReport{Sites:1972:AWR,
  author =       "Richard L. Sites",
  title =        "{Algol W} Reference Manual",
  type =         "Technical Report",
  number =       "STAN-CS-71-230",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "i + 141",
  month =        feb,
  year =         "1972",
  bibdate =      "Thu Jan 11 16:41:47 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://bitsavers.org/pdf/stanford/cs_techReports/STAN-CS-71-230_Algol_W_Reference_Manual_Feb72.pdf",
  abstract =     "``A Contribution to the Development of ALGOL'' by
                 Niklaus Wirth and C. A. R. Hoare was the basis for a
                 compiler developed for the IBM 360 at stanford
                 University. This report is a description of the
                 implemented language, ALGOL W. Historical background
                 and the goals of the language may be found in the Wirth
                 and Hoare paper.\par

                 This document is a major revision of and supersedes CS
                 110. The revisions were made in order to document a
                 significantly improved version of the ALGOL W compiler.
                 This version was known as X ALGOL W during the spring
                 and summer of 1971. In addition to new debugging
                 facilities documented under Compiler Options, the new
                 version of the compiler has slightly more meaningful
                 error messages documented in the completely re-written
                 Error Messages section. Various minor corrections and
                 changes have been made throughout the book, and same
                 examples have been added. There is now an index, and a
                 complete list of all words the compiler treats in any
                 special way.",
  acknowledgement = ack-nhfb,
}

@Article{Welsh:1972:PCI,
  author =       "J. Welsh and C. Quinn",
  title =        "A {PASCAL} Compiler for {ICL 1900} Series Computers",
  journal =      j-SPE,
  volume =       "2",
  number =       "1",
  pages =        "73--77",
  month =        jan # "\slash " # mar,
  year =         "1972",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380020108",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Desjardins:1973:PCX,
  author =       "P. Desjardins",
  title =        "A {Pascal} compiler for the {Xerox SIGMA 6}",
  journal =      j-SIGPLAN,
  volume =       "8",
  number =       "6",
  pages =        "34--36",
  month =        jun,
  year =         "1973",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/986953.986969",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu May 25 06:58:25 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1970.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
}

@Article{Habermann:1973:CCP,
  author =       "A. Nico Habermann",
  title =        "Critical Comments on the Programming Language
                 {Pascal}",
  journal =      j-ACTA-INFO,
  volume =       "3",
  number =       "1",
  pages =        "47--57",
  day =          "31",
  month =        dec,
  year =         "1973",
  CODEN =        "AINFA2",
  ISSN =         "0001-5903 (print), 1432-0525 (electronic)",
  ISSN-L =       "0001-5903",
  bibdate =      "Thu Oct 2 14:36:03 1986",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/bevan.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/leavens.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/actainfo.bib",
  note =         "See \cite{Wirth:1971:PLP,Lecarme:1975:MCP}.",
  acknowledgement = ack-nhfb,
  annote =       "Complaints about the report's shortcomings, and the
                 confusion of ranges, types, and structures. Also
                 complains about gotos. 9 references.",
  journal-URL =  "http://link.springer.com/journal/236",
}

@TechReport{Jensen:1973:DPP,
  author =       "Kathleen Jensen",
  title =        "[{Description} of the {Pascal} {P}-machine]",
  type =         "Letter",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "5",
  month =        jan,
  year =         "1973",
  bibdate =      "Sat Feb 03 07:45:55 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/P-Machine_Description_Jan73.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Lecarme:1973:ESP,
  author =       "Olivier Lecarme",
  title =        "An experience in structured programming and
                 transferability",
  journal =      j-SIGPLAN,
  volume =       "8",
  number =       "9",
  pages =        "95--96",
  month =        sep,
  year =         "1973",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/390014.808290",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:13:33 MST 2003",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1970.bib",
  acknowledgement = ack-nhfb,
  classification = "C6110 (Systems analysis and programming); C6150C
                 (Compilers, interpreters and other processors)",
  conflocation = "Savannah, GA, USA; 9-12 April 1973",
  conftitle =    "Proceedings of ACM SIGPLAN-SIGTOPS Interface Meeting
                 on Programming Languages-Operating Systems",
  corpsource =   "Univ. Montreal, Que., Canada",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  keywords =     "program interpreters; programming; structured
                 programming; transferability; translator writing
                 system",
  remark =       "Describes the translation of a 4700-line Fortran
                 program on a PDP-10 to a 2600-line Pascal program on a
                 CDC Cyber 74.",
  treatment =    "A Application; P Practical",
}

@Article{Abrahams:1974:SPI,
  author =       "Paul Abrahams",
  title =        "Book Review: {Niklaus Wirth, \booktitle{Systematic
                 Programming: An Introduction}, Prentice-Hall, Inc.,
                 Englewood Cliffs, N.J., 1973, 167 pp., 24 cm.}",
  journal =      j-MATH-COMPUT,
  volume =       "28",
  number =       "127",
  pages =        "881--883",
  month =        jul,
  year =         "1974",
  CODEN =        "MCMPAF",
  DOI =          "https://doi.org/10.2307/2005728",
  ISSN =         "0025-5718 (print), 1088-6842 (electronic)",
  ISSN-L =       "0025-5718",
  bibdate =      "Sat Jan 6 09:26:20 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/mathcomp1970.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Mathematics of Computation",
  journal-URL =  "http://www.ams.org/mcom/",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InProceedings{Ammann:1974:MSP,
  author =       "Urs Ammann",
  title =        "Method of Structured Programming Applied to the
                 Development of a Compiler",
  crossref =     "Gunther:1974:ICS",
  pages =        "93--99",
  year =         "1974",
  bibdate =      "Wed Jan 10 14:41:04 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  remark =       "This paper describes an optimizing Pascal compiler for
                 CDC 6000 systems: see \cite[p. 105
                 (337)]{Wirth:1993:RADb}",
}

@Manual{ANSI:pascal,
  title =        "The {Pascal} Programming Language. {ANSI\slash IEEE
                 770X3.97-1983}",
  organization = pub-ANSI,
  address =      pub-ANSI:adr,
  year =         "1983",
  bibdate =      "Wed Feb 14 06:00:56 MST 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  note =         "See also
                 \cite{Jensen:1974:PUMa,Jensen:1974:PUMb,Jensen:1985:PUM}.",
  acknowledgement = ack-nhfb,
}

@InProceedings{Feiereisen:1974:IPP,
  author =       "L. Feiereisen",
  editor =       "????",
  booktitle =    "{DECUS Conference, Z{\"u}rich, September 1974}",
  title =        "Implementation of {PASCAL} on the {PDP 11/45}",
  publisher =    "????",
  address =      "????",
  pages =        "259--259",
  year =         "1974",
  bibdate =      "Thu Jan 11 08:26:58 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{Hoare:1974:ADP,
  author =       "C. A. R. Hoare",
  title =        "An axiomatic definition of the programming language
                 {PASCAL}",
  crossref =     "Ershov:1974:IST",
  pages =        "1--16",
  year =         "1974",
  MRclass =      "68A05",
  MRnumber =     "0421129",
  MRreviewer =   "David Gries",
  bibdate =      "Sat Jul 30 16:27:05 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
}

@Article{Lecarme:1974:RPH,
  author =       "Olivier Lecarme and Pierre Desjardins",
  title =        "Reply to a paper by {A. N. Habermann} on the
                 programming language {Pascal}",
  journal =      j-SIGPLAN,
  volume =       "9",
  number =       "10",
  pages =        "21--27",
  month =        oct,
  year =         "1974",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/953343.953345",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:13:42 MST 2003",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1970.bib",
  acknowledgement = ack-nhfb,
  classification = "C6140D (High level languages)",
  corpsource =   "Univ. Montreal, Que., Canada",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  keywords =     "critical comments; goto statements; procedure oriented
                 languages; programming language Pascal; ranges;
                 structures; types",
  treatment =    "P Practical",
}

@Article{Lecarme:1974:SPP,
  author =       "Olivier Lecarme",
  title =        "Structured programming, programming teaching and the
                 language {Pascal}",
  journal =      j-SIGPLAN,
  volume =       "9",
  number =       "7",
  pages =        "15--21",
  month =        jul,
  year =         "1974",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/953224.953226",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:13:39 MST 2003",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1970.bib",
  acknowledgement = ack-nhfb,
  classification = "C0220 (Computing education and training); C6110
                 (Systems analysis and programming); C6140D (High level
                 languages)",
  corpsource =   "Univ. Montreal, Que., Canada",
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  keywords =     "bibliography; language Pascal; procedure oriented
                 languages; programming; programming teaching;
                 structured programming; survey; training",
  treatment =    "B Bibliography; G General Review; P Practical",
}

@TechReport{Nori:1974:PPC,
  author =       "K. V. Nori and Urs Ammann and Kathleen Jensen and H.
                 H. N{\"a}geli",
  title =        "The {PASCAL} ({P}) Compiler: Implementation Notes",
  type =         "Report",
  number =       "10",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "vi + 57",
  month =        dec,
  year =         "1974",
  DOI =          "https://doi.org/10.3929/ethz-a-000142255",
  bibdate =      "Wed Jan 10 16:22:42 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Pascal-P-Compiler-Implementation-Notes-eth-3054-01.pdf;
                 https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/68666/eth-3054-01.pdf",
  acknowledgement = ack-nhfb,
  remark =       "This is an early document about the P-code system that
                 serves as a virtual target architecture for a Pascal
                 compiler, allowing a much simpler translator to convert
                 that to the instruction set of physical architecture.
                 See \cite[p. 105 (337)]{Wirth:1993:RADb} for how this
                 led to the rapid spread of Pascal to emerging
                 microprocessors.",
}

@Article{Richmond:1974:HP,
  author =       "George H. Richmond",
  title =        "History of {Pascal}",
  journal =      "Pascal Newsletter",
  number =       "2",
  pages =        "1--2",
  month =        may,
  year =         "1974",
  bibdate =      "Sat Feb 03 08:09:36 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/pug/02_Pascal_Newsletter_May74.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Ross:1974:BRB,
  author =       "D. T. Ross",
  title =        "Book Review: {{\booktitle{Systematic programming: An
                 introduction}}, N. Wirth, Prentice-Hall, Englewood
                 Cliffs, N.J., 1973. No. of pages: 167. Price: \pounds
                 5.25}",
  journal =      j-SPE,
  volume =       "4",
  number =       "1",
  pages =        "112--112",
  month =        jan # "\slash " # mar,
  year =         "1974",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380040113",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@PhdThesis{Ammann:1975:EPC,
  author =       "Urs Ammann",
  title =        "{Die Entwicklung eines PASCAL-Compilers nach der
                 Methode des Strukturierten Programmierens}. ({German})
                 [{The} development of a {PASCAL} compiler using the
                 structured programming method]",
  type =         "{Ph.D.} thesis",
  number =       "5456",
  publisher =    "Juris Druck und Verlag",
  school =       inst-ETH,
  address =      "Z{\"u}rich, Switzerland",
  pages =        "166",
  year =         "1975",
  ISBN =         "3-260-03895-7",
  ISBN-13 =      "978-3-260-03895-2",
  bibdate =      "Thu Jan 11 07:39:03 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  language =     "German",
}

@Article{BrinchHansen:1975:PLCa,
  author =       "Per {Brinch Hansen}",
  title =        "The programming language {Concurrent Pascal}",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "SE-1",
  number =       "2",
  pages =        "199--207",
  month =        jun,
  year =         "1975",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/TSE.1975.6312840",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Feb 1 08:07:37 MST 2018",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng1970.bib",
  URL =          "http://brinch-hansen.net/papers/1975a.pdf;
                 http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6312840",
  abstract =     "The paper describes a new programming language for
                 structured programming of computer operating systems.
                 It extends the sequential programming language Pascal
                 with concurrent programming tools called processes and
                 monitors. Section I explains these concepts informally
                 by means of pictures illustrating a hierarchical design
                 of a simple spooling system. Section II uses the same
                 example to introduce the language notation. The main
                 contribution of Concurrent Pascal is to extend the
                 monitor concept with an explicit hierarchy of access
                 rights to shared data structures that can be stated in
                 the program text and checked by a compiler",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@InProceedings{BrinchHansen:1975:PLCb,
  author =       "Per {Brinch Hansen}",
  editor =       "Friedrich L. Bauer and Klaus Samelson",
  booktitle =    "Language Hierarchies and Interfaces, {International
                 Summer School, Marktoberdorf, Germany, July 23--August
                 2, 1975}",
  title =        "The programming language {Concurrent Pascal}",
  volume =       "46",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "82--110",
  year =         "1975",
  DOI =          "https://doi.org/10.1007/3-540-07994-7_50",
  bibdate =      "Tue Jul 26 10:54:39 2022",
  bibsource =    "https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       ser-LNCS,
  acknowledgement = ack-nhfb,
  biburl =       "https://dblp.org/rec/conf/ac/Hansen75.bib",
}

@Article{BrinchHansen:1975:UTC,
  author =       "Per {Brinch Hansen}",
  title =        "Universal Types in {Concurrent Pascal}",
  journal =      j-INFO-PROC-LETT,
  volume =       "3",
  number =       "6",
  pages =        "165--166",
  day =          "??",
  month =        jul,
  year =         "1975",
  CODEN =        "IFPLAT",
  ISSN =         "0020-0190 (print), 1872-6119 (electronic)",
  ISSN-L =       "0020-0190",
  bibdate =      "Tue Nov 17 10:49:43 MST 1998",
  bibsource =    "Compendex database;
                 https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/infoproc1970.bib",
  acknowledgement = ack-nhfb,
  classification = "723; C6130 (Data handling techniques); C6140D (High
                 level languages); C6150J (Operating systems)",
  corpsource =   "California Inst. of Technol., Pasadena, CA, USA",
  fjournal =     "Information Processing Letters",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00200190/",
  journalabr =   "Inf Process Lett",
  keywords =     "abstract programming language; character sets;
                 computer operating systems; computer programming
                 languages; Concurrent Pascal; operating systems
                 (computers); problem oriented languages; structured
                 programming; system programming; universal types",
  treatment =    "P Practical",
}

@PhdThesis{Foulkes:1975:PCI,
  author =       "William Bruce Foulkes",
  title =        "A {Pascal} Compiler For {IBM 360\slash 370}
                 Computers",
  type =         "{Ph.D.} thesis",
  school =       "Department of Computer Science, Universal of
                 Manitoba",
  address =      "Winnipeg, MB, Canada",
  pages =        "267",
  year =         "1975",
  bibdate =      "Sat Jan 13 10:20:52 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.proquest.com/pqdtglobal/docview/302819505",
  acknowledgement = ack-nhfb,
}

@MastersThesis{Georgiadis:1975:DCP,
  author =       "Panagiotis I. Georgiadis",
  title =        "Design and construction of a {PASCAL} compiler",
  type =         "{M.Sc.} thesis",
  school =       "University of Warwick",
  address =      "Coventry CV4 7AL, UK",
  pages =        "65",
  year =         "1974",
  bibdate =      "Sat Jan 13 10:26:13 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
}

@Article{Lecarme:1975:MCP,
  author =       "Olivier Lecarme and Pierre Desjardins",
  title =        "More Comments on the Programming Language {Pascal}",
  journal =      j-ACTA-INFO,
  volume =       "4",
  number =       "3",
  pages =        "231--243",
  day =          "31",
  month =        sep,
  year =         "1975",
  CODEN =        "AINFA2",
  DOI =          "https://doi.org/10.1007/BF00288728",
  ISSN =         "0001-5903 (print), 1432-0525 (electronic)",
  ISSN-L =       "0001-5903",
  bibdate =      "Fri Oct 08 22:02:37 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/leavens.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/actainfo.bib",
  note =         "See \cite{Wirth:1971:PLP,Habermann:1973:CCP}. An
                 earlier version appeared in ACM SIGPLAN Notices,
                 October, 1975.",
  acknowledgement = ack-nhfb,
  annote =       "30 references.",
  journal-URL =  "http://link.springer.com/journal/236",
}

@PhdThesis{Marmier:1975:AVP,
  author =       "{\'E}douard Marmier",
  title =        "Automatic Verification of {Pascal} Programs",
  type =         "{Ph.D.} thesis",
  school =       inst-ETH,
  address =      inst-ETH:adr,
  pages =        "v + 138 + 58",
  year =         "1975",
  ISBN =         "3-260-04005-6",
  ISBN-13 =      "978-3-260-04005-4",
  bibdate =      "Wed Jan 10 18:07:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "ETH Dissertation Number 5629.",
  acknowledgement = ack-nhfb,
}

@TechReport{Ammann:1976:CGP,
  author =       "Urs Ammann",
  title =        "On Code Generation in a {PASCAL} Compiler",
  type =         "Report",
  number =       "13",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "i + 41",
  year =         "1976",
  bibdate =      "Sat Feb 03 06:53:39 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Pascal-On-Code-Generation-in-a-Pascal-Compiler-eth-3056-01.pdf",
  abstract =     "PASCAL 1s an ALGOL-like general purpose programming
                 language. It was developed by N. Wirth at the Federal
                 Institute of Technology in Zurich (ETHZ) and was first
                 published in [7]. In 1973 an axiomatic definition of
                 the language followed [4]. Compared to ALGOL 60, PASCAL
                 offers essential extensions in the domain of user
                 defined data structures. In spite of its power of
                 expression PASCAL is characterized by its simplicity
                 and ease of implementation, thereby favourably
                 measuring with other modern programming languages as
                 e.g. PL/I and ALGOL 68.",
  acknowledgement = ack-nhfb,
  remark =       "Listed, without years, at the end of
                 \cite{Wirth:1979:CPP}. The report itself is undated,
                 but a year of 1976 is given in the cover page added in
                 the version at the URL.",
}

@TechReport{Ball:1976:PIP,
  author =       "M. S. Ball",
  title =        "{PASCAL 1100}: an Implementation of the {PASCAL}
                 Language for {Univac 1100} Series Computers",
  type =         "Technical Report",
  number =       "271",
  institution =  "Naval Ocean Systems Center",
  address =      "San Diego, California 92152, USA",
  pages =        "24",
  day =          "1",
  month =        jul,
  year =         "1976",
  bibdate =      "Fri Jan 12 05:56:03 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://apps.dtic.mil/sti/tr/pdf/ADA059861.pdf",
  acknowledgement = ack-nhfb,
}

@TechReport{Boom:1976:CCS,
  author =       "H. J. Boom and E. de Jong",
  title =        "A Critical Comparison of Several Implementations of
                 Programming Languages",
  type =         "Report",
  institution =  "Mathematisch Centrum",
  address =      "Amsterdam, The Netherlands",
  year =         "1976",
  bibdate =      "Fri Jan 12 07:55:04 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  remark =       "I cannot find this report online; it is published in
                 \cite{Boom:1980:CCS}.",
}

@Article{BrinchHansen:1976:SOSa,
  author =       "Per {Brinch Hansen}",
  title =        "The {Solo} Operating System: a {Concurrent Pascal}
                 Program",
  journal =      j-SPE,
  volume =       "6",
  number =       "2",
  pages =        "141--149",
  month =        apr # "\slash " # jun,
  year =         "1976",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380060202",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  URL =          "http://brinch-hansen.net/papers/1976b.pdf",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{BrinchHansen:1976:SOSb,
  author =       "Per {Brinch Hansen}",
  title =        "The {Solo} Operating System: Job Interface",
  journal =      j-SPE,
  volume =       "6",
  number =       "2",
  pages =        "151--164",
  month =        apr # "\slash " # jun,
  year =         "1976",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380060203",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Bron:1976:PCP,
  author =       "C. Bron and W. {De Vries}",
  title =        "A {PASCAL} Compiler for {PDP 11} Minicomputers",
  journal =      j-SPE,
  volume =       "6",
  number =       "1",
  pages =        "109--116",
  month =        jan # "\slash " # mar,
  year =         "1976",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380060110",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Book{Conway:1976:PP,
  author =       "Richard Walter Conway and David Gries and E. C.
                 Zimmerman",
  title =        "A Primer on {PASCAL}",
  publisher =    "Winthrop Publishers",
  address =      "Cambridge, MA, USA",
  pages =        "xii + 433",
  year =         "1976",
  ISBN =         "0-87626-694-4",
  ISBN-13 =      "978-0-87626-694-6",
  LCCN =         "QA76.73.P2 C66",
  bibdate =      "Sat Jan 6 13:54:42 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Winthrop computer systems series",
  acknowledgement = ack-nhfb,
  subject =      "Pascal (Computer program language); test logiciel;
                 structure programme; programmation structur{\'e}e;
                 PASCAL; langage programmation; PASCAL (Langage de
                 programmation); Pascal (Computer program language);
                 PASCAL (langage de programmation); pascal (langage de
                 programmation)",
}

@Article{Grosse-Lindemann:1976:PPC,
  author =       "C. O. Grosse-Lindemann and H. H. Nagel",
  title =        "Postlude to a {PASCAL}-Compiler Bootstrap on a
                 {DECSystem-10}",
  journal =      j-SPE,
  volume =       "6",
  number =       "1",
  pages =        "29--42",
  month =        jan # "\slash " # mar,
  year =         "1976",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380060103",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
  xxauthor =     "D. O. Grosse-Lindemann and H. H. Nagel",
}

@TechReport{Hansen:1976:PSR,
  author =       "Gilbert J. Hansen and Charles E. Lindahl",
  title =        "Preliminary Specification of {Real-Time Pascal}",
  type =         "Technical Report",
  number =       "76-C-0017-l",
  institution =  "Department of Computer and Information Science,
                 University of Florida",
  address =      "Gainesville, FL 32611, USA",
  pages =        "iv + 86",
  month =        jul,
  year =         "1976",
  bibdate =      "Fri Jan 12 09:05:06 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://apps.dtic.mil/sti/tr/pdf/ADA031451.pdf",
  acknowledgement = ack-nhfb,
  remark =       "Prepared for the Naval Training Equipment Center,
                 Orlando, Florida 32813, USA.",
}

@TechReport{Liddiard:1976:YAL,
  author =       "Lawrence A. Liddiard",
  title =        "Yet Another Look at Code Generation For {Pascal} on
                 {CDC 6000} \& {Cyber} Machines",
  type =         "Technical Report",
  number =       "UCC 76002",
  institution =  "University Computer Center, University of Minnesota",
  address =      "Minneapolis, MN 55455, USA",
  pages =        "i + 14",
  month =        dec,
  year =         "1976",
  bibdate =      "Tue Jan 09 10:47:25 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://conservancy.umn.edu/bitstream/handle/11299/162946/UCC_Technical_Report_76002_Dec_1976.pdf",
  acknowledgement = ack-nhfb,
}

@TechReport{Nagel:1976:DP,
  author =       "H.-H. Nagel",
  title =        "On {DECSystem-10 Pascal}",
  type =         "Mitteilung",
  number =       "40",
  institution =  "Institute f{\"u}r Informatik, Universit{\"a}t
                 Hamburg",
  address =      "Schl{\"u}terstrasse 70, D-2000 Hamburg 13, West
                 Germany",
  day =          "9",
  month =        sep,
  year =         "1976",
  bibdate =      "Thu Jan 11 07:31:06 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/px-descendants/dec-pdp-10-pascal-compiler/",
  abstract =     "These notes attempt to give some information about the
                 programming language PASCAL and its implementation for
                 the DECSystem-10 with the intent to induce the reader
                 to make himself acquainted with the literature quoted
                 and possibly to explore the applicability of PASCAL for
                 his own programming tasks.",
  acknowledgement = ack-nhfb,
}

@TechReport{Nori:1976:PPC,
  author =       "K. V. Nori and Urs Ammann and Kathleen Jensen and H.
                 H. N{\"a}geli",
  title =        "The {PASCAL} ({P}) Compiler: Implementation Notes",
  type =         "Report",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "????",
  month =        "????",
  year =         "1976",
  bibdate =      "Thu Jan 11 07:25:01 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "TO DO: Find online, and check authors: cited in
                 \cite[p. 26]{Gilbert:1978:PCI}. Is this a mis-citation
                 of \cite{Nori:1974:PPC}?",
  acknowledgement = ack-nhfb,
}

@Article{Russell:1976:IPC,
  author =       "David L. Russell and Jeffrey V. Sue",
  title =        "Implementation of a {Pascal} Compiler for the {IBM
                 360}",
  journal =      j-SPE,
  volume =       "6",
  number =       "3",
  pages =        "371--376",
  month =        jul # "\slash " # sep,
  year =         "1976",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380060309",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
  xxauthor =     "David L. Russel and Jeffrey Y. Sue",
}

@Article{Ammann:1977:CGP,
  author =       "Urs Ammann",
  title =        "On Code Generation in a {PASCAL} Compiler",
  journal =      j-SPE,
  volume =       "7",
  number =       "3",
  pages =        "391--423",
  month =        may # "\slash " # jun,
  year =         "1977",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380070311",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/mathcw.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Barron:1977:BRBd,
  author =       "D. W. Barron",
  title =        "Book Review: {{\booktitle{Introduction to Pascal}}, C.
                 A. G. Webster, Heyden, London, 1976. No. of pages: 129.
                 Price: \pounds 5-50}",
  journal =      j-SPE,
  volume =       "7",
  number =       "4",
  pages =        "539--541",
  month =        jul,
  year =         "1977",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380070415",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Book{Bowles:1977:MPS,
  author =       "Kenneth L. Bowles",
  title =        "Microcomputer Problem Solving Using {Pascal}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "563",
  year =         "1977",
  DOI =          "https://doi.org/10.1007/978-1-4615-9998-2",
  ISBN =         "3-540-90286-4, 1-4615-9998-9 (e-book), 3-662-38578-3
                 (e-book)",
  ISBN-13 =      "978-3-540-90286-7, 978-1-4615-9998-2 (e-book),
                 978-3-662-38578-4 (e-book)",
  LCCN =         "QA76.73.P2 .B68",
  bibdate =      "Wed Dec 15 07:57:08 1993",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  URL =          "http://link.springer.com/10.1007/978-3-662-38578-4",
  abstract =     "This book is designed both for introductory courses in
                 computer problem solving, at the freshman and sophomore
                 college level, and for individual self study. An
                 earlier version of the book has been used seven times
                 for teaching large introductory classes at University
                 of California San Diego (UCSD). This preface is
                 intended for the instructor, or for anyone
                 sophisticated enough in contemporary computing practice
                 to be able to advise the prospective student. The
                 amount of material presented has been completed by
                 about 55 percent of all students taking the course,
                 where UCSD schedules 10 weeks of classes in a quarter.
                 We have taught the course using Keller's Personalized
                 System of Instruction (PSI), though the organization of
                 the book does not require that plan to be used. PSI
                 methods allow slightly more material to be absorbed by
                 the students than is the case with the traditional
                 lecture/recitation presentation. PSI allows grading
                 according to the number of chapter units completed.
                 Virtually all students who pass the course at UCSD do
                 complete the first ten essential chapters and the
                 Exercises associated with them. For a conventional
                 presentation under the semester system, the 15 chapters
                 should present an appropriate amount of material. For a
                 conventional course under the quarter system, one might
                 not expect to complete more than the first 12 chapters
                 except on an extra credit basis.",
  acknowledgement = ack-nhfb,
  author-dates = "Kenneth L. Bowles (ca. 1929--15 August 2018)",
  shorttableofcontents = "0. Introduction \\
                 1. Getting Started \\
                 2. Procedures and Variables \\
                 3. Controlling Program Flow, Repetition \\
                 4. More on Procedures \\
                 5. Working with Numbers \\
                 6. Handling Complex Program Structure \\
                 7. Data Input \\
                 8. Basic Data Structures \\
                 I. Arrays \\
                 9. Basic Data Structures \\
                 II. Sets \\
                 10. Basic Data Structures \\
                 III. Records \\
                 11. The GOTO Statement \\
                 12. Formatted Output \\
                 13. Searching \\
                 14. Sorting \\
                 I. Simple Algorithms \\
                 15. Sorting \\
                 II. Quicksort \\
                 Appendix A \\
                 Differences between UCSD's Pascal and Standard Pascal
                 \\
                 Appendix B \\
                 Glossary of Computer Jargon \\
                 Appendix C \\
                 Built-in Procedures and Functions \\
                 Appendix D \\
                 Index \\
                 Appendix E \\
                 Syntax Diagrams",
}

@Article{BrinchHansen:1977:EMC,
  author =       "Per {Brinch Hansen}",
  title =        "Experience with Modular Concurrent Programming",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "{SE-3}",
  number =       "2",
  pages =        "156--159",
  month =        mar,
  year =         "1977",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/tse.1977.229907",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Jul 21 08:49:10 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://brinch-hansen.net/papers/1977a.pdf",
  abstract =     "This paper summarizes the initial experience with the
                 programming language Concurrent Pascal in the design of
                 three model operating systems. A Concurrent Pascal
                 program consists of modules called processes, monitors,
                 and classes. The compiler checks that the data
                 structures of each module are accessed only by the
                 operations defined in the module. The author emphasizes
                 that the creative aspect of program construction is the
                 initial selection of modules and the connection of them
                 into hierarchical structures. By comparison the
                 detailed implementation of each module is
                 straightforward. The most important result is that it
                 is possible to build a concurrent program of one
                 thousand lines out of one-page modules that can be
                 comprehended at a glance.",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{Edwards:1977:BRB,
  author =       "R. Edwards",
  title =        "Book Review: {{\booktitle{Algorithms + Data Structures
                 = Programs}}, N. Wirth, Prentice-Hall Inc., Engelwood
                 Cliffs, N.J., 1976. no. of pages: 366. price: \pounds
                 9.70}",
  journal =      j-SPE,
  volume =       "7",
  number =       "2",
  pages =        "303--304",
  month =        mar,
  year =         "1977",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380070229",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Findlay:1977:BRB,
  author =       "W. Findlay",
  title =        "Book Review: {{\booktitle{A primer on Pascal}}, R.
                 Conway, D. Gries and E. C. Zimmerman, Winthrop
                 Publishers Inc., Cambridge, Mass., 1976. No. of pages:
                 433. E7-95 (paperback)}",
  journal =      j-SPE,
  volume =       "7",
  number =       "3",
  pages =        "432--432",
  month =        jun,
  year =         "1977",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380070318",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@TechReport{Gilbert:1977:PCI,
  author =       "Erik J. Gilbert and David W. Wall",
  title =        "{P-Code} Intermediate Assembly Language ({PAIL-3})",
  type =         "S-l project document",
  number =       "PAIL-3",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "????",
  day =          "18",
  month =        jul,
  year =         "1977",
  bibdate =      "Fri Jan 12 05:43:27 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "????",
  abstract =     "????",
  acknowledgement = ack-nhfb,
  keywords =     "intermediate language; P-Code; PAIL-3; Semantics",
  remark =       "TO DO: no copy found online; see following report
                 \cite{Gilbert:1978:PCI}.",
}

@Article{Mohilner:1977:UPF,
  author =       "Patricia R. Mohilner",
  title =        "Using {Pascal} in a {Fortran} Environment",
  journal =      j-SPE,
  volume =       "7",
  number =       "3",
  pages =        "357--362",
  month =        may # "\slash " # jun,
  year =         "1977",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380070307",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/fortran1.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Welsh:1977:AIP,
  author =       "J. Welsh and W. J. Sneeringer and C. A. R. Hoare",
  title =        "Ambiguities and Insecurities in {Pascal}",
  journal =      j-SPE,
  volume =       "7",
  number =       "6",
  pages =        "685--696",
  month =        nov # "\slash " # dec,
  year =         "1977",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380070604",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/mathcw.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  note =         "See also
                 \cite{Kernighan:1981:WPM,Kernighan:1984:WPM}.",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@TechReport{Ammann:1978:ERR,
  author =       "Urs Ammann",
  title =        "Error Recovery in Recursive Descent Parsers: Run-Time
                 Storage Organization",
  type =         "Report",
  number =       "25",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "iii + 46",
  month =        may,
  year =         "1978",
  bibdate =      "Sat Feb 03 06:57:46 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/Error%20Recovery%20in%20Descent%20Parsers%20Ammann%20025.pdf",
  abstract =     "An attempt is made to familiarize the reader with the
                 term error recovery and to develop a simple but
                 effective method of error recovery applicable to
                 recursive descent parsers. Examples from a Pascal
                 production compiler are given to illustrate the
                 implementation of the principles worked out in the
                 paper.",
  acknowledgement = ack-nhfb,
  remark =       "From an IRIA course on the ``State of the Art and
                 Future Trends in Compilation'' held by the author in
                 Montpellier (France) in January 1978; appears also in
                 the course proceedings.",
}

@InCollection{Ammann:1978:ZI,
  author =       "Urs Ammann",
  title =        "The {Zurich} implementation",
  crossref =     "Barron:1978:PLI",
  pages =        "63--82",
  year =         "1978",
  bibdate =      "Sat Feb 03 07:54:09 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/The%20Zurich%20Implementation%20Amman.pdf",
  abstract =     "Pascal was developed by Niklaus Wirth at the Federal
                 Institute of Technology in Zurich (ETHZ) in 1970
                 \cite{Wirth:1971:PLP}. During the years of 1970 and
                 1971, parallel with the development and the definition
                 of the language, the first Pascal Compiler --- for the
                 CDC 6000 computer family --- was written at the
                 Computer Science Institute of ETHZ
                 \cite{Wirth:1971:DPC}. This experience, on the one
                 hand, led to the definition of a revised language
                 \cite{Jensen:1974:PUMa} and, on the other hand, to the
                 decision to write a new compiler from scratch. Thereby,
                 both the language and the implementation matured from
                 the previous project.",
  acknowledgement = ack-nhfb,
}

@Article{Barnard:1978:EM,
  author =       "David T. Barnard and W. David Elliott and David H.
                 Thompson",
  title =        "{Euclid} and {Modula}",
  journal =      j-SIGPLAN,
  volume =       "13",
  number =       "3",
  pages =        "70--84",
  month =        mar,
  year =         "1978",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/954373.954380",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  abstract =     "Both Euclid and Modula are programming languages based
                 on Pascal and intended for writing system software such
                 as operating system kernels. The further goals of each
                 language, however, resulted in two rather different
                 languages. Modula is meant to be used in
                 multiprogramming systems primarily on mini-computers;
                 thus Modula aims for very small run-time support and
                 efficient compilation by a small compiler. Many of the
                 Euclid language design decisions, on the other hand,
                 were influenced by the authors' overriding concern for
                 the ability to verify Euclid programs. This paper
                 discusses design goals of the two languages and the
                 language differences that resulted. After contrasting
                 individual features of the two languages, modules and
                 multiprogramming are discussed in more detail.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "March 1978",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "15",
}

@Article{Berry:1978:EPP,
  author =       "R. E. Berry",
  title =        "Experience with the {Pascal P}-Compiler",
  journal =      j-SPE,
  volume =       "8",
  number =       "5",
  pages =        "617--627",
  month =        sep # "\slash " # oct,
  year =         "1978",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380080510",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{BrinchHansen:1978:NMP,
  author =       "Per {Brinch Hansen}",
  title =        "{Network}: a Multiprocessor Program",
  journal =      j-IEEE-TRANS-SOFTW-ENG,
  volume =       "{SE-4}",
  number =       "3",
  pages =        "194--199",
  month =        may,
  year =         "1978",
  CODEN =        "IESEDJ",
  DOI =          "https://doi.org/10.1109/tse.1978.231498",
  ISSN =         "0098-5589 (print), 1939-3520 (electronic)",
  ISSN-L =       "0098-5589",
  bibdate =      "Thu Jul 21 08:53:25 2022",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://brinch-hansen.net/papers/1977d.pdf",
  abstract =     "This paper explores the problems of implementing
                 arbitrary forms of process communication on a
                 multiprocessor network. It develops a Concurrent Pascal
                 program that enables distributed processes to
                 communicate on virtual channels. The channels cannot
                 deadlock and will deliver all messages within a finite
                 time. The operation, structure, text, and performance
                 of this program are described. It was written, tested,
                 and described in two weeks and it worked immediately.",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Transactions on Software Engineering",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}

@Article{BrinchHansen:1978:RTM,
  author =       "Per {Brinch Hansen}",
  title =        "Reproducible testing of monitors",
  journal =      j-SPE,
  volume =       "8",
  number =       "6",
  pages =        "721--729",
  month =        nov # "\slash " # dec,
  year =         "1978",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380080607",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  URL =          "http://brinch-hansen.net/papers/1978b.pdf",
  abstract =     "This paper describes a systematic method for testing
                 monitor modules which control process interactions in
                 concurrent programs. A monitor is tested by executing a
                 concurrent program in which the processes are
                 synchronized by a clock to make the sequence of
                 interactions reproducible. The method separates the
                 construction and implementation of test cases and makes
                 the analysis of a concurrent experiment similar to the
                 analysis of a sequential program. The implementation of
                 a test program is almost mechanical. The method, which
                 is illustrated by an example, has been used
                 successfully to test a multicomputer network program
                 written in Concurrent Pascal",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@TechReport{Gilbert:1978:PCI,
  author =       "Erik J. Gilbert and David W. Wall",
  title =        "{P-Code Intermediate Assembler Language (PAIL-4)}",
  type =         "Technical Note",
  number =       "148",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "ii + 28",
  day =          "18",
  month =        mar,
  year =         "1978",
  bibdate =      "Fri Jan 12 05:43:27 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://www.bitsavers.org/pdf/stanford/sel_techReports/TN148_P-Code_AsmLang_PAIL-4_Mar78.pdf",
  abstract =     "The syntax and semantics of P-Code, the intermediate
                 language used in the current S-1 programming system is
                 described.",
  acknowledgement = ack-nhfb,
  keywords =     "intermediate language; P-Code; PAIL-4; S-1;
                 Semantics",
}

@Article{Neal:1978:EPC,
  author =       "David Neal and Virgil Wallentine",
  title =        "Experiences with the Portability of Concurrent
                 {PASCAL}",
  journal =      j-SPE,
  volume =       "8",
  number =       "3",
  pages =        "341--353",
  month =        may # "\slash " # jun,
  year =         "1978",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380080310",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Shrivastava:1978:SPR,
  author =       "S. K. Shrivastava",
  title =        "Sequential {Pascal} with Recovery Blocks",
  journal =      j-SPE,
  volume =       "8",
  number =       "2",
  pages =        "177--185",
  month =        mar # "\slash " # apr,
  year =         "1978",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380080207",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Tennent:1978:ALT,
  author =       "Robert D. Tennent",
  title =        "Another Look at Type Compatibility in {Pascal}",
  journal =      j-SPE,
  volume =       "8",
  number =       "4",
  pages =        "429--437",
  month =        jul # "\slash " # aug,
  year =         "1978",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380080407",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Welsh:1978:ERC,
  author =       "J. Welsh",
  title =        "Economic Range Checks in {Pascal}",
  journal =      j-SPE,
  volume =       "8",
  number =       "1",
  pages =        "85--97",
  month =        jan # "\slash " # feb,
  year =         "1978",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380080110",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Addyman:1979:DDP,
  author =       "A. M. Addyman and R. Brewer and D. G. Burnett-Hall and
                 R. M. de Morgan and W. Findlay and M. I. Jackson and D.
                 A. Joslin and M. J. Rees and D. A. Watt and J. Welsh
                 and B. A. Wichmann",
  title =        "A Draft Description of {Pascal}",
  journal =      j-SPE,
  volume =       "9",
  number =       "5",
  pages =        "381--424",
  month =        may,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090505",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
  xxauthor =     "A. M. Addyman and R. Brewer and D. G. Burnett-Hall and
                 R. M. De Morgan and W. Findlay and M. I. Jackson and D.
                 A. Joslin and M. J. Rees and David A. Watt and J. Welsh
                 and B. A. Wichmann",
}

@TechReport{Alpert:1979:PPC,
  author =       "Donald Alpert",
  title =        "A {Pascal} {P-Code} Interpreter for {the Stanford
                 Emmy}",
  type =         "Technical Note",
  number =       "164",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "iii + 36",
  year =         "1979",
  bibdate =      "Wed Jan 10 18:20:25 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  abstract =     "This report describes an interpreter for P-Code that
                 runs on the Stanford Emmy. Programs written in Pascal
                 may be compiled into P-Code. The P-Code is then
                 assembled into a binary representation that is
                 interpreted by a microprogram in the Emmy control
                 store. File handling is performed with the aid of
                 mini-UNIX running in a PDP11/0S attached to the Emmy",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:1979:BRB,
  author =       "Anonymous",
  title =        "Book Review: {{\booktitle{An introduction to
                 programming and problems solving with Pascal}}, G. M.
                 Schneider, S. W. Weingart and D. M. Perlman, Wiley, New
                 York, 1978. No. of pages: 394. Price: \pounds 9.20
                 (hardback)}",
  journal =      j-SPE,
  volume =       "9",
  number =       "9",
  pages =        "792--794",
  month =        sep,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090914",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Atkinson:1979:BRBa,
  author =       "L. V. Atkinson",
  title =        "Book Review: {{\booktitle{Microcomputer problem
                 solving using Pascal}}, Kenneth L. Bowles, Springer
                 Verlag, Berlin, 1977. No. of pages: 563. Price:
                 DM21.40, U.S. \$9.80}",
  journal =      j-SPE,
  volume =       "9",
  number =       "3",
  pages =        "250--252",
  month =        mar,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090314",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Atkinson:1979:BRBb,
  author =       "L. V. Atkinson",
  title =        "Book Review: {{\booktitle{{Pascal}: An introduction to
                 methodical programming}}, W. Findally and D. W. Watt,
                 Pitman, 1978. No. of pages: 306. Price: \pounds 4.95}",
  journal =      j-SPE,
  volume =       "9",
  number =       "6",
  pages =        "511--512",
  month =        jun,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090613",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Atkinson:1979:PSS,
  author =       "L. V. Atkinson",
  title =        "{Pascal} Scalars as State Indicators",
  journal =      j-SPE,
  volume =       "9",
  number =       "6",
  pages =        "427--431",
  month =        jun,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090602",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Bishop:1979:BRBa,
  author =       "J. M. Bishop",
  title =        "Book Review: {{\booktitle{A practical introduction to
                 Pascal}}, I. R. Wilson and A. M. Addyman, Macmillan
                 Press, 1978. No. of pages: 148. Price: \pounds 3.50}",
  journal =      j-SPE,
  volume =       "9",
  number =       "3",
  pages =        "252--253",
  month =        mar,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090315",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Bishop:1979:BRBb,
  author =       "Judy M. Bishop",
  title =        "Book Review: {{\booktitle{Programming in Pascal}},
                 Peter Grogono, Addison-Wesley Series in Computer
                 Science, 1978. No. of pages: 359. Price: \pounds
                 7.50}",
  journal =      j-SPE,
  volume =       "9",
  number =       "5",
  pages =        "425--426",
  month =        may,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090507",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Bishop:1979:ISP,
  author =       "Judy M. Bishop",
  title =        "Implementing Strings in {Pascal}",
  journal =      j-SPE,
  volume =       "9",
  number =       "9",
  pages =        "779--788",
  month =        sep,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090910",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Bishop:1979:PP,
  author =       "Judy M. Bishop",
  title =        "On {Publication Pascal}",
  journal =      j-SPE,
  volume =       "9",
  number =       "9",
  pages =        "711--717",
  month =        sep,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090904",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@TechReport{Castaneda:1979:PTP,
  author =       "Fernando Castaneda and Frederick Chow and Peter Nye
                 and Dan Sleator and Gio Wiederhold",
  title =        "{PCFORT} --- a {For\-tran-to-Pcode} Translator",
  type =         "Technical Report",
  number =       "{STAN-CS-79-714}",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "vi + 85",
  month =        jan,
  year =         "1979",
  bibdate =      "Sun Oct 12 09:17:11 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/fortran1.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  URL =          "http://i.stanford.edu/pub/cstr/reports/cs/tr/79/714/CS-TR-79-714.pdf",
  abstract =     "PCFORT is a compiler for the FORTRAN language designed
                 to fit as a building block into a PASCAL oriented
                 environment. It forms part of the programming systems
                 being developed for the S-1 multiprocessor. It is
                 written in PASCAL, and generates P-code, an
                 intermediate language used by transportable PASCAL
                 compilers to represent the program in a simple form.
                 P-code is either compiled or interpreted depending upon
                 the objectives of the programming system.

                 A PASCAL written FORTRAN compiler provides a bridge
                 between the FORTRAN and PASCAL communities. The
                 implementation allows PASCAL and FORTRAN generated code
                 to be combined into one program. The FORTRAN language
                 supported here is FORTRAN to the full 1966 standard,
                 extended with those features commonly expected by
                 available large scientific programs.",
  acknowledgement = ack-nhfb,
  keywords =     "compiler; FORTRAN; P-code; PASCAL; S-1; translator",
}

@Article{Coleman:1979:ACP,
  author =       "Derek Coleman and Robin M. Gallimore and J. W. Hughes
                 and M. S. Powell",
  title =        "An Assessment of {Concurrent Pascal}",
  journal =      j-SPE,
  volume =       "9",
  number =       "10",
  pages =        "827--837",
  month =        oct,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380091005",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Coleman:1979:CTP,
  author =       "D. Coleman and J. W. Hughes",
  title =        "The Clean Termination of {Pascal} Programs",
  journal =      j-ACTA-INFO,
  volume =       "11",
  number =       "3",
  pages =        "195--210",
  day =          "22",
  month =        mar,
  year =         "1979",
  CODEN =        "AINFA2",
  ISSN =         "0001-5903 (print), 1432-0525 (electronic)",
  ISSN-L =       "0001-5903",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/leavens.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/actainfo.bib",
  annote =       "8 references.",
  journal-URL =  "http://link.springer.com/journal/236",
}

@Article{Comer:1979:MPM,
  author =       "Douglas Comer",
  title =        "{MAP}: {A Pascal} Macro Preprocessor for Large Program
                 Development",
  journal =      j-SPE,
  volume =       "9",
  number =       "3",
  pages =        "203--209",
  month =        mar,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090305",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Graef:1979:HDI,
  author =       "Norwin Graef and Horst Kretschmar and Klaus-Peter
                 L{\"o}hr and Bernt Morawetz",
  title =        "How to design and implement small time-sharing systems
                 using {Concurrent Pascal}",
  journal =      j-SPE,
  volume =       "9",
  number =       "1",
  pages =        "17--24",
  month =        jan,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090103",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@TechReport{Hitson:1979:PPC,
  author =       "Bruce L. Hitson",
  title =        "{Pascal\slash P-Code} Cross Compiler for the
                 {LSI-11}",
  type =         "Technical Report",
  number =       "SLAC-PUB-2246",
  institution =  "Stanford Linear Accelerator Center",
  address =      "Stanford, CA, USA",
  pages =        "4",
  month =        jan,
  year =         "1979",
  bibdate =      "Fri Jan 12 09:09:57 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.slac.stanford.edu/pubs/slacpubs/2000/slac-pub-2246.pdf",
  abstract =     "This paper describes the implementation of a cross
                 compiler for Pascal that produces code that can be
                 executed on an LSI-11 minicomputer. The approach taken
                 is to first compile the source Pascal program (using an
                 existing compiler) into an intermediate form known as
                 P-Code. The P-Code is then cross compiled to LSI-11
                 assembly language. Once this has been achieved, the
                 assembly language programs can be assembled using
                 existing assemblers (such as MACRO-II) to produce
                 relocatable load modules. These are linked together
                 into an absolute load module and reformatted for
                 transmission via serial line to the LSI-11. The details
                 of the implementation are described. A comparison is
                 also made between the approach taken in this
                 implementation (cross compiling to the host machine's
                 assembly code) and the approach where P-Code is
                 interpreted directly.",
  acknowledgement = ack-nhfb,
  remark =       "Presented at the DECUS Fall Mini\slash Midi Symposia,
                 San Francisco, CA, November 29--30, 1978.",
}

@Article{Joslin:1979:CAP,
  author =       "D. A. Joslin",
  title =        "A case for acquiring {Pascal}",
  journal =      j-SPE,
  volume =       "9",
  number =       "8",
  pages =        "691--692",
  month =        aug,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090809",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  note =         "See comment \cite{Anonymous:1980:LES}.",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Book{Ledgard:1979:PS,
  author =       "Henry F. Ledgard and John F. Hueras and Paul A.
                 Nagin",
  title =        "{Pascal} with Style",
  publisher =    pub-HAYDEN,
  address =      pub-HAYDEN:adr,
  pages =        "210",
  year =         "1979",
  ISBN =         "0-8104-5124-7",
  ISBN-13 =      "978-0-8104-5124-7",
  LCCN =         "QA76.73.P2 L4",
  bibdate =      "Wed Dec 15 10:38:08 1993",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
}

@Article{Luckham:1979:VAR,
  author =       "David C. Luckham and Norihisa Suzuki",
  title =        "Verification of Array, Record, and Pointer Operations
                 in {Pascal}",
  journal =      j-TOPLAS,
  volume =       "1",
  number =       "2",
  pages =        "226--244",
  month =        oct,
  year =         "1979",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibsource =    "Compiler/Compiler.Lins.bib; Compiler/TOPLAS.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/toplas.bib",
  acknowledgement = ack-pb,
  ajournal =     "ACM Trans. Program. Lang. Syst.",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Machura:1979:ISP,
  author =       "Marek Machura",
  title =        "Implementation of a Special-purpose Language using
                 {Pascal} Implementation Methodology",
  journal =      j-SPE,
  volume =       "9",
  number =       "11",
  pages =        "931--945",
  month =        nov,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380091108",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Marlin:1979:HBI,
  author =       "Chris D. Marlin",
  title =        "A Heap-based Implementation of the Programming
                 Language {Pascal}",
  journal =      j-SPE,
  volume =       "9",
  number =       "2",
  pages =        "101--119",
  month =        feb,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090205",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Narayana:1979:SAC,
  author =       "K. T. Narayana and V. R. Prasad and M. Joseph",
  title =        "Some Aspects of Concurrent Programming in
                 {CCNPASCAL}",
  journal =      j-SPE,
  volume =       "9",
  number =       "9",
  pages =        "749--770",
  month =        sep,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090908",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@InProceedings{Nelson:1979:CPI,
  author =       "Philip A. Nelson",
  booktitle =    "????",
  title =        "A Comparison of {PASCAL} Intermediate Languages",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "208--213",
  year =         "1979",
  bibdate =      "Wed Jan 10 18:24:35 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Describes efficient translation of P-Codes for the
                 Cray-1 vector supercomputer Los Alamos National
                 Laboratory, and their use in a compiler for the MODEL
                 language. The closing paragraph states: ``Although
                 these versions are not the only versions in existence,
                 duplicate effort will result if new users of P-code do
                 not refer to this or other earlier work. These two
                 versions do show the major areas of modification and
                 future work with P-code would do well to look at this
                 older work before reinventing `new' P-code
                 constructs.''",
  acknowledgement = ack-nhfb,
  remark =       "TO DO: Find proceedings volume and DOI.",
}

@Article{Sale:1979:ISP,
  author =       "Arthur Sale",
  title =        "Implementing Strings in {Pascal-Again}",
  journal =      j-SPE,
  volume =       "9",
  number =       "10",
  pages =        "839--841",
  month =        oct,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380091006",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Sale:1979:PSR,
  author =       "Arthur Sale",
  title =        "{Pascal} Stylistics and Reserved Words",
  journal =      j-SPE,
  volume =       "9",
  number =       "10",
  pages =        "821--825",
  month =        oct,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380091004",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Sale:1979:SSA,
  author =       "A. H. J. Sale",
  title =        "Strings and the Sequence Abstraction in {Pascal}",
  journal =      j-SPE,
  volume =       "9",
  number =       "8",
  pages =        "671--683",
  month =        aug,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380090807",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Shrivastava:1979:CPBa,
  author =       "S. K. Shrivastava",
  title =        "{Concurrent Pascal} with Backward Error Recovery:
                 Language Features and Examples",
  journal =      j-SPE,
  volume =       "9",
  number =       "12",
  pages =        "1001--1020",
  month =        dec,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380091204",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Shrivastava:1979:CPBb,
  author =       "S. K. Shrivastava",
  title =        "{Concurrent Pascal} with Backward Error Recovery:
                 Implementation",
  journal =      j-SPE,
  volume =       "9",
  number =       "12",
  pages =        "1021--1033",
  month =        dec,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380091205",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Steensgaard-Madsen:1979:PCR,
  author =       "J{\o}rgen Steensgaard-Madsen",
  title =        "{Pascal}---Clarifications and Recommended Extensions",
  journal =      j-ACTA-INFO,
  volume =       "12",
  number =       "1",
  pages =        "73--94",
  day =          "25",
  month =        jun,
  year =         "1979",
  CODEN =        "AINFA2",
  ISSN =         "0001-5903 (print), 1432-0525 (electronic)",
  ISSN-L =       "0001-5903",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/bevan.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib;
                 ftp://ftp.ira.uka.de/pub/bibliography/Misc/leavens.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/actainfo.bib",
  annote =       "Concentrates on the type system in Pascal. 2
                 references",
  journal-URL =  "http://link.springer.com/journal/236",
}

@Article{Welsh:1979:PPA,
  author =       "J. Welsh and D. W. Bustard",
  title =        "{Pascal-Plus} --- Another Language for Modular
                 Multiprogramming",
  journal =      j-SPE,
  volume =       "9",
  number =       "11",
  pages =        "947--957",
  month =        nov,
  year =         "1979",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380091109",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Anonymous:1980:LES,
  author =       "Anonymous",
  title =        "Letter to the {Editor}: Some remarks on {`A case for
                 acquiring Pascal'}",
  journal =      j-SPE,
  volume =       "10",
  number =       "3",
  pages =        "247--248",
  month =        mar,
  year =         "1980",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380100310",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  note =         "See \cite{Joslin:1979:CAP}.",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Boom:1980:CCS,
  author =       "H. J. Boom and E. de Jong",
  title =        "A Critical Comparison of Several Programming Language
                 Implementations",
  journal =      j-SPE,
  volume =       "10",
  number =       "6",
  pages =        "435--473",
  month =        jun,
  year =         "1980",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380100605",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "Algol 60; Algol 68; Fortran; Pascal",
  onlinedate =   "27 Oct 2006",
  remark =       "From p. 450: ``At first sight, Pascal seems to be
                 singularly free of the barnacles usually found
                 encrusted on a programming language. Further inquiry,
                 however, leads one to conclude that the ragged
                 collections of extra features that other languages bear
                 have been replaced by ragged and inconvenient
                 restrictions.''",
}

@TechReport{Chow:1980:UFU,
  author =       "Frederick Chow and Peter Nye and Gio Wiederhold",
  title =        "{UFORT}: a Fortran-to-Universal {PCODE} Translator",
  type =         "Technical Report",
  number =       "CSL-TR-79-168",
  institution =  inst-STAN-CS,
  address =      inst-STAN-CS:adr,
  pages =        "iv + 88",
  month =        jan,
  year =         "1980",
  bibdate =      "Fri Jan 12 05:37:03 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/fortran1.bib",
  URL =          "http://i.stanford.edu/pub/cstr/reports/csl/tr/79/168/CSL-TR-79-168.pdf",
  abstract =     "The Fortran compiler described in this document,
                 UFORT, was written specifically to serve in a Pascal
                 environment using the Universal P-Code as an
                 intermediate pseudomachine. The need for implementation
                 of Fortran these days is due to the great volume of
                 existing Fortran programs, rather than to a desire to
                 have this language available to develop new programs.
                 We have hence implemented the full, but traditional
                 Fortran standard, rather than the recently adopted
                 augmented Fortran standard. All aspects of Fortran
                 which are commonly used in large scientific programs
                 are available, including such features as SUBROUTINES,
                 labelled COMMON, and COMPLEX arithmetic. In addition, a
                 few common extensions, such as integers of different
                 lengths and assignment of strings to variables, have
                 been added.",
  acknowledgement = ack-nhfb,
}

@Article{Cornelius:1980:MPP,
  author =       "B. J. Cornelius and D. J. Robson and M. I. Thomas",
  title =        "Modification of the {Pascal-P} Compiler for a
                 Single-accumulator One-address Minicomputer",
  journal =      j-SPE,
  volume =       "10",
  number =       "3",
  pages =        "241--246",
  month =        mar,
  year =         "1980",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380100309",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Ernst:1980:SAD,
  author =       "George W. Ernst and William F. Ogden",
  title =        "Specification of Abstract Data Types in {Modula}",
  journal =      j-TOPLAS,
  volume =       "2",
  number =       "4",
  pages =        "522--543",
  month =        oct,
  year =         "1980",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/357114.357117",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  abstract =     "The programming language MODULA is extended to permit
                 the formal specification of the structure and
                 functional capabilities of modules. This makes true
                 hierarchical programming possible in MODULA by allowing
                 programmers of higher level parts of a system to ignore
                 completely the internal structure of lower level
                 modules and to rely entirely on the specifications of
                 the capabilities of these modules. An example is
                 included to illustrate this technique. We show that our
                 specification mechanisms are sufficiently powerful to
                 support formal verification rules for modules that have
                 disjoint representations for abstract objects.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  issuedate =    "Oct. 1980",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  numpages =     "22",
}

@Article{Hayden:1980:LER,
  author =       "Charles Hayden",
  title =        "Letters to the {Editor}: Remarks on {`Implementation
                 of concurrent Pascal on LSI-11'}",
  journal =      j-SPE,
  volume =       "10",
  number =       "10",
  pages =        "849--850",
  month =        oct,
  year =         "1980",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380101010",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  note =         "See \cite{Mattsson:1980:ICP}.",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Hoppe:1980:SNW,
  author =       "Jiri Hoppe",
  title =        "A Simple Nucleus Written in {Modula-2}: a Case Study",
  journal =      j-SPE,
  volume =       "10",
  number =       "9",
  pages =        "697--706",
  month =        sep,
  year =         "1980",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380100903",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Hurst:1980:PPP,
  author =       "A. John Hurst",
  title =        "{Pascal-P}, Program Structure and Program Behaviour",
  journal =      j-SPE,
  volume =       "10",
  number =       "12",
  pages =        "1029--1036",
  month =        dec,
  year =         "1980",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380101208",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "design; languages; performance",
  onlinedate =   "27 Oct 2006",
  review =       "ACM CR 39864",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.3.4 Software, PROGRAMMING
                 LANGUAGES, Processors, Compilers",
  xxtitle =      "{PASCAL}: {P}, program structure and program
                 behavior",
}

@Article{Joslin:1980:LES,
  author =       "D. A. Joslin",
  title =        "Letters to the {Editor}: Some defensive comments on `a
                 case for acquiring {Pascal}'",
  journal =      j-SPE,
  volume =       "10",
  number =       "7",
  pages =        "590--590",
  month =        jul,
  year =         "1980",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380100710",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Kriz:1980:EPC,
  author =       "J. Kriz and H. Sandmayr",
  title =        "Extension of {Pascal} by Coroutines and its
                 Application to Quasi-parallel Programming and
                 Simulation",
  journal =      j-SPE,
  volume =       "10",
  number =       "10",
  pages =        "773--789",
  month =        oct,
  year =         "1980",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380101003",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Mahjoub:1980:NMC,
  author =       "Ahmed Mahjoub",
  title =        "A New {Modula} Compiler for the {LSI-11}",
  journal =      j-SIGPLAN,
  volume =       "15",
  number =       "6",
  pages =        "39--45",
  month =        jun,
  year =         "1980",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/947658.947663",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  abstract =     "This note contains a brief description of a new Modula
                 compiler developed at Philips Laboratories. The
                 compiler generates code for the LSI-11 microprocessor.
                 It is written in Pascal and operates under control of
                 the U.C.S.D. system. Philips Laboratories Modula (PL
                 Modula) differs slightly from original Modula as
                 defined by Wirth. These differences are outlined in
                 section 3.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "June 1980",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "7",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Mattsson:1980:ICP,
  author =       "Sven Erik Mattsson",
  title =        "Implementation of concurrent {Pascal} on {LSI-11}",
  journal =      j-SPE,
  volume =       "10",
  number =       "3",
  pages =        "205--217",
  month =        mar,
  year =         "1980",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380100306",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  note =         "See remarks \cite{Hayden:1980:LER}.",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Schach:1980:PTP,
  author =       "Stephen R. Schach",
  title =        "A Portable Trace for the {Pascal} Heap",
  journal =      j-SPE,
  volume =       "10",
  number =       "6",
  pages =        "421--426",
  month =        jun,
  year =         "1980",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380100602",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Shimasaki:1980:APP,
  author =       "Masaaki Shimasaki and Shigeru Fukaya and Katsuo Ikeda
                 and Takeshi Kiyono",
  title =        "An Analysis of {Pascal} Programs in Compiler Writing",
  journal =      j-SPE,
  volume =       "10",
  number =       "2",
  pages =        "149--157",
  month =        feb,
  year =         "1980",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380100206",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
  remark =       "Earlier versions of this paper were presented at the
                 18th National Convention of Information Processing
                 Society of Japan, No. 138, 1977, and at the Twelfth
                 Hawaii International Conference on System Sciences,
                 1979.",
}

@Article{Wilson:1980:PSH,
  author =       "I. R. Wilson",
  title =        "{Pascal} for School and Hobby Use",
  journal =      j-SPE,
  volume =       "10",
  number =       "8",
  pages =        "659--671",
  month =        aug,
  year =         "1980",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380100805",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Atkinson:1981:CCP,
  author =       "L. V. Atkinson and S. D. North",
  title =        "{COPAS}: a Conversational {Pascal} System",
  journal =      j-SPE,
  volume =       "11",
  number =       "8",
  pages =        "819--829",
  month =        aug,
  year =         "1981",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380110805",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Bishop:1981:BRBb,
  author =       "Judy M. Bishop",
  title =        "Book Review: {{\booktitle{Programming via Pascal}}, J.
                 S. Rohl and H. J. Barrett, Cambridge University Press,
                 1980. No. of pages: 327, E12.50 (cloth).}",
  journal =      j-SPE,
  volume =       "11",
  number =       "8",
  pages =        "880--881",
  month =        aug,
  year =         "1981",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380110814",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Book{Clark:1981:UPH,
  author =       "Randy Clark and Stephen Koehler",
  title =        "The {UCSD Pascal} handbook",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xvi + 356",
  year =         "1981",
  ISBN =         "0-13-935536-7 (paperback), 0-13-935544-8 (hardcover)",
  ISBN-13 =      "978-0-13-935536-3 (paperback), 978-0-13-935544-8
                 (hardcover)",
  LCCN =         "QA76.73.P2 C56",
  bibdate =      "Wed Jan 10 17:54:41 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Prentice-Hall software series",
  acknowledgement = ack-nhfb,
  subject =      "Pascal (Computer program language); PASCAL (Langage de
                 programmation); Pascal (Computer program language)",
}

@Article{Freak:1981:FPT,
  author =       "R. A. Freak",
  title =        "A {Fortran} to {Pascal} Translator",
  journal =      j-SPE,
  volume =       "11",
  number =       "7",
  pages =        "717--732",
  month =        jul,
  year =         "1981",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380110708",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Fri Jul 30 06:34:41 1999",
  bibsource =    "Compiler/bevan.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/fortran2.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  abstract =     "This paper describes some of the problems encountered
                 in implementing an automatic Fortran to Pascal
                 translator. The translator introduces a number of
                 improvements to the Fortran program including the
                 structured control statements of Pascal. It highlights
                 the structure of both COMMON blocks and executable
                 statements, and it nests the Fortran subprograms to
                 their required level.",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  checked =      "19940501",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "Software engineering, Fortran, Pascal, automatic
                 translation",
  onlinedate =   "27 Oct 2006",
  refs =         "14",
  sjb =          "The translator itself is written in B6700 Algol (the
                 Pascal compiler wasn't fully developed at the time the
                 project started). The translator is contains over
                 14,000 lines of code and during execution occupies
                 11,180 words of core (with an additional 5380 for
                 data).",
}

@Book{Kernighan:1981:STP,
  author =       "Brian W. Kernighan and P. J. Plauger",
  title =        "Software Tools in {Pascal}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "ix + 366",
  year =         "1981",
  ISBN =         "0-201-10342-7",
  ISBN-13 =      "978-0-201-10342-7",
  LCCN =         "QA76.6 .K493",
  bibdate =      "Thu Mar 25 16:01:52 1999",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  price =        "US\$13.95",
  acknowledgement = ack-nhfb,
  remark =       "See \cite{Kernighan:1981:WPM,Kernighan:1984:WPM} for
                 an account of problems with the Pascal language found
                 during the writing this book",
  tableofcontents = "Preface \\
                 Introduction / 1 \\
                 1: Getting started / 7 \\
                 2: Filters / 31 \\
                 3: Files / 63 \\
                 4: Sorting / 109 \\
                 5: Text patterns / 141 \\
                 6: Editing / 169 \\
                 7: Formatting / 227 \\
                 8: Macro processing / 265 \\
                 Appendix: Implementation of primitives / 315 \\
                 Index of First Lines / 353 Index / 359",
}

@TechReport{Kernighan:1981:WPM,
  author =       "Brian W. Kernighan",
  title =        "Why {Pascal} is Not My Favorite Programming Language",
  type =         "Computing Science Technical Report",
  number =       "100",
  institution =  pub-ATT-BELL,
  address =      pub-ATT-BELL:adr,
  day =          "2",
  month =        apr,
  year =         "1981",
  bibdate =      "Thu Sep 21 06:22:29 2017",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  URL =          "https://github.com/arnoldrobbins/cstr100",
  abstract =     "The programming language Pascal has become the
                 dominant language of instruction in computer science
                 education. It has also strongly influenced languages
                 developed subsequently, in particular Ada.\par

                 Pascal was originally intended primarily as a teaching
                 language, but it has been more and more often
                 recommended as a language for serious programming as
                 well, for example, for system programming tasks and
                 even operating systems.\par

                 Pascal, at least in its standard form, is just plain
                 not suitable for serious programming. This paper
                 discusses my personal discovery of some of the reasons
                 why.",
  acknowledgement = ack-nhfb,
  remark-1 =     "From the first paragraph: ``This paper has its origins
                 in two events --- a spate of papers that compare C and
                 Pascal [1, 2, 3, 4] and a personal attempt to rewrite
                 \booktitle{Software Tools} [5] in Pascal.'' See
                 \cite{Kernighan:1981:STP}.",
  remark-2 =     "From the first two pages: ``Pascal may be an admirable
                 language for teaching beginners how to program; I have
                 no first-hand experience with that. It was a
                 considerable achievement for 1968. It has certainly
                 influenced the design of recent languages, of which Ada
                 is likely to be the most important. But in its standard
                 form (both current and proposed), Pascal is not
                 adequate for writing real programs. It is suitable only
                 for small, self-contained programs that have only
                 trivial interactions with their environment and that
                 make no use of any software written by anyone else.''",
  remark-3 =     "From page 3: ``This botch [array length is part of
                 array type] is the biggest single problem with Pascal.
                 I believe that if it could be fixed, the language would
                 be an order of magnitude more usable.''",
}

@Article{Magnenat-Thalmann:1981:GPE,
  author =       "Nadia Magnenat-Thalmann and Daniel Thalmann",
  title =        "A Graphical {Pascal} Extension Based on Graphical
                 Types",
  journal =      j-SPE,
  volume =       "11",
  number =       "1",
  pages =        "53--62",
  month =        jan,
  year =         "1981",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380110103",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@InProceedings{Nori:1981:PPC,
  author =       "K. V. Nori and Urs Ammann and Kathleen Jensen and H.
                 H. N{\"a}geli",
  title =        "The {Pascal} {P}-code Compiler: Implementation Notes",
  crossref =     "Barron:1978:PLI",
  pages =        "125--170",
  year =         "1981",
  bibdate =      "Mon Jan 8 09:29:00 2024",
  bibsource =    "dblp computer science bibliography; https://dblp.org;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/conf/pascal/Wirth81.bib",
  dblp-id =      "DBLP:conf/pascal/Wirth81",
  timestamp =    "Sat, 11 May 2019 14:10:32 +0200",
}

@Article{Oldehoeft:1981:IMP,
  author =       "R. R. Oldehoeft and W. D. Ralph and M. H. Tindall",
  title =        "An Interactive Manager for {Pascal} Software",
  journal =      j-SPE,
  volume =       "11",
  number =       "8",
  pages =        "867--873",
  month =        aug,
  year =         "1981",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380110809",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Perrott:1981:EFP,
  author =       "R. H. Perrott and P. S. Dhillon",
  title =        "An Experiment with {Fortran} and {Pascal}",
  journal =      j-SPE,
  volume =       "11",
  number =       "5",
  pages =        "491--496",
  month =        may,
  year =         "1981",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380110507",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "Compiler/bevan.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/fortran2.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  abstract =     "This paper reports on a programming experiment
                 involving the languages Fortrans and Pascal. The
                 subject of the experiment was the simulation of the
                 X-ray department of a local hospital. The programming
                 was carried out by two different programmers at
                 different periods of time. A static analysis was
                 performed on both models to determine how the languages
                 were used by both programmers. The compilation and
                 execution speeds of both models were then determined
                 when executed on an ICL 1906S computer. The results
                 indicate that the Pascal program is substantially
                 faster in both compilation and execution speed than an
                 equivalent Fortran program.",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  checked =      "19940501",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "Pascal, FORTRAN, simulation",
  onlinedate =   "27 Oct 2006",
  refs =         "5",
  sjb =          "The program runtimes are: Pascal program takes 70
                 seconds and Fortran program takes 130 seconds. No
                 mention is made of any detailed profiling or the
                 quality of code emitted by the compilers.",
}

@Article{Sale:1981:ICS,
  author =       "Arthur Sale",
  title =        "The Implementation of Case Statements in {Pascal}",
  journal =      j-SPE,
  volume =       "11",
  number =       "9",
  pages =        "929--942",
  month =        sep,
  year =         "1981",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380110905",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Steensgaard-Madsen:1981:MPP,
  author =       "J{\o}rgen Steensgaard-Madsen",
  title =        "Modular Programming with {Pascal}",
  journal =      j-SPE,
  volume =       "11",
  number =       "12",
  pages =        "1331--1337",
  month =        dec,
  year =         "1981",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380111210",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Waite:1981:ASI,
  author =       "W. M. Waite and Lynn Robert Carter",
  title =        "An Analysis\slash Synthesis Interface for {Pascal}
                 Compilers",
  journal =      j-SPE,
  volume =       "11",
  number =       "8",
  pages =        "769--787",
  month =        aug,
  year =         "1981",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380110802",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Young:1981:ISL,
  author =       "S. J. Young",
  title =        "Improving the Structure of Large {Pascal} Programs",
  journal =      j-SPE,
  volume =       "11",
  number =       "9",
  pages =        "913--927",
  month =        sep,
  year =         "1981",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380110904",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Atkinson:1982:BRB,
  author =       "Laurence V. Atkinson",
  title =        "Book Review: {{\booktitle{Foundations of programming
                 with Pascal}}, Lawrie Moore, Ellis Horwood. No. of
                 pages: 238. Price: \pounds 14.50 (Hardback) \pounds
                 5.00 (paperback)}",
  journal =      j-SPE,
  volume =       "12",
  number =       "1",
  pages =        "101--102",
  month =        jan,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380120117",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Atkinson:1982:OTS,
  author =       "L. V. Atkinson",
  title =        "Optimizing two-state case statements in {Pascal}",
  journal =      j-SPE,
  volume =       "12",
  number =       "6",
  pages =        "571--581",
  month =        jun,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380120608",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages; performance",
  onlinedate =   "27 Oct 2006",
  subject =      "D.3.4 Software, PROGRAMMING LANGUAGES, Processors,
                 Code generation \\ D.3 Software, PROGRAMMING LANGUAGES,
                 Language Classifications \\ D.2 Software, SOFTWARE
                 ENGINEERING, Coding",
}

@Article{Bishop:1982:BRB,
  author =       "J. M. Bishop",
  title =        "Book Review: {{\booktitle{{Pascal} programming}},
                 Laurence Atkinson, Wiley, Chichester, 1980. No. of
                 pages: 428. Price \pounds 16.50 (Hardback); \pounds
                 6.95 (paperback)}",
  journal =      j-SPE,
  volume =       "12",
  number =       "1",
  pages =        "99--99",
  month =        jan,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380120114",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Brookes:1982:SAP,
  author =       "G. R. Brookes and I. R. Wilson and A. M. Addyman",
  title =        "A static analysis of {Pascal} program structures",
  journal =      j-SPE,
  volume =       "12",
  number =       "10",
  pages =        "959--963",
  month =        oct,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380121008",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages",
  onlinedate =   "27 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.3.4 Software, PROGRAMMING
                 LANGUAGES, Processors, Compilers \\ D.3 Software,
                 PROGRAMMING LANGUAGES, Language Constructs",
}

@Article{Comer:1982:AYM,
  author =       "Douglas Comer and Keith Williamson",
  title =        "An alternative to {Young}'s module facility for
                 {Pascal}",
  journal =      j-SPE,
  volume =       "12",
  number =       "10",
  pages =        "907--913",
  month =        oct,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380121005",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages",
  onlinedate =   "27 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.3.3 Software, PROGRAMMING
                 LANGUAGES, Language Constructs, Modules, packages \\
                 D.3.4 Software, PROGRAMMING LANGUAGES, Processors,
                 Preprocessors",
}

@Article{Cook:1982:CAP,
  author =       "Robert P. Cook and Insup Lee",
  title =        "A contextual analysis of {Pascal} programs",
  journal =      j-SPE,
  volume =       "12",
  number =       "2",
  pages =        "195--203",
  month =        feb,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380120209",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "human factors; languages; measurement",
  onlinedate =   "27 Oct 2006",
  review =       "ACM CR 39230",
  subject =      "D.2 Software, SOFTWARE ENGINEERING, Metrics \\ D.3.2
                 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.3 Software, PROGRAMMING
                 LANGUAGES, Miscellaneous",
}

@Article{Dunman:1982:MIC,
  author =       "B. R. Dunman and Stephen R. Schach and Peter T. Wood",
  title =        "A mainframe implementation of {Concurrent Pascal}",
  journal =      j-SPE,
  volume =       "12",
  number =       "1",
  pages =        "85--89",
  month =        jan,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380120109",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages",
  onlinedate =   "27 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.1 Software, PROGRAMMING
                 TECHNIQUES, Concurrent Programming \\ D.2.7 Software,
                 SOFTWARE ENGINEERING, Distribution and Maintenance,
                 Portability",
}

@Article{Feuer:1982:CPL,
  author =       "Alan R. Feuer and Narain H. Gehani",
  title =        "Comparison of the Programming Languages {C} and
                 {Pascal}",
  journal =      j-COMP-SURV,
  volume =       "14",
  number =       "1",
  pages =        "73--92",
  month =        mar,
  year =         "1982",
  CODEN =        "CMSVAN",
  DOI =          "https://doi.org/10.1145/356869.356872",
  ISSN =         "0010-4892",
  bibdate =      "Thu Jun 19 09:30:24 MDT 2008",
  bibsource =    "Compendex database;
                 http://www.acm.org/pubs/contents/journals/surveys/;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/compsurv.bib",
  note =         "See also \cite{Peterson:1982:SFI,Feuer:1982:SFI}.",
  abstract =     "The languages C and PASCAL are growing in popularity,
                 particularly among programmers of small computers. The
                 two languages are summarized and compared, including
                 their design philosophies, their handling of data
                 types, the programming facilities they provide, the
                 impact of these facilities on the quality of programs,
                 and how useful the facilities are for programming in a
                 variety of application domains.",
  acknowledgement = ack-nhfb,
  classification = "723",
  fjournal =     "ACM Computing Surveys",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
  keywords =     "computer programming languages",
}

@Article{Feuer:1982:SFI,
  author =       "Alan R. Feuer and Narain H. Gehani",
  title =        "Surveyor's Forum: {Idiomatic} Programming",
  journal =      j-COMP-SURV,
  volume =       "14",
  number =       "4",
  pages =        "625--626",
  month =        dec,
  year =         "1982",
  CODEN =        "CMSVAN",
  DOI =          "https://doi.org/10.1145/356893.356900",
  ISSN =         "0010-4892",
  bibdate =      "Thu Jun 19 09:31:39 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/surveys/;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/compsurv.bib",
  note =         "See \cite{Feuer:1982:CPL,Peterson:1982:SFI}.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Computing Surveys",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
}

@Article{Gerritse:1982:NEP,
  author =       "J. J. Gerritse",
  title =        "A note on extension of {Pascal} by coroutines",
  journal =      j-SPE,
  volume =       "12",
  number =       "12",
  pages =        "1163--1164",
  month =        dec,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380121207",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Aug 24 12:18:38 MDT 1994",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "design; performance",
  onlinedate =   "27 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.3.2 Software, PROGRAMMING
                 LANGUAGES, Language Classifications, Macro and assembly
                 languages \\ H.1.2 Information Systems, MODELS AND
                 PRINCIPLES, User/Machine Systems, Human factors \\
                 D.3.3 Software, PROGRAMMING LANGUAGES, Language
                 Constructs, Coroutines \\ D.3.3 Software, PROGRAMMING
                 LANGUAGES, Language Constructs, Procedures, functions,
                 and subroutines \\ D.4.2 Software, OPERATING SYSTEMS,
                 Storage Management, Allocation/deallocation
                 strategies",
  xxtitle =      "A note on extension of {Pascal} by subroutines",
}

@Article{Haa:1982:CSS,
  author =       "Anna Ha{\'a}",
  title =        "Computer system simulation in {PASCAL}",
  journal =      j-SPE,
  volume =       "12",
  number =       "8",
  pages =        "777--784",
  month =        aug,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380120807",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
  review =       "ACM CR 40524",
  subject =      "D.4.8 Software, OPERATING SYSTEMS, Performance,
                 Simulation \\ I.6 Computing Methodologies, SIMULATION
                 AND MODELING, Simulation Languages \\ I.6 Computing
                 Methodologies, SIMULATION AND MODELING, Applications",
  xxauthor =     "Anna Hac",
}

@Article{Hennessy:1982:CPC,
  author =       "John L. Hennessy and Noah Mendelsohn",
  title =        "Compilation of the {Pascal} {\tt case} statement",
  journal =      j-SPE,
  volume =       "12",
  number =       "9",
  pages =        "879--882",
  month =        sep,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380120907",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages",
  onlinedate =   "27 Oct 2006",
  subject =      "D.3.4 Software, PROGRAMMING LANGUAGES, Processors,
                 Compilers \\ D.3.2 Software, PROGRAMMING LANGUAGES,
                 Language Classifications, Pascal",
}

@Article{Hennessy:1982:DIP,
  author =       "John L. Hennessy and Hilding Elmquist",
  title =        "The design and implementation of parametric types in
                 {PASCAL}",
  journal =      j-SPE,
  volume =       "12",
  number =       "2",
  pages =        "169--184",
  month =        feb,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380120207",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
  subject =      "D.3.3 Software, PROGRAMMING LANGUAGES, Language
                 Constructs, Data types and structures \\ D.3 Software,
                 PROGRAMMING LANGUAGES, Language Classifications \\ E.1
                 Data, DATA STRUCTURES, Arrays \\ D.3.4 Software,
                 PROGRAMMING LANGUAGES, Processors, Compilers \\ D.2.1
                 Software, SOFTWARE ENGINEERING,
                 Requirements/Specifications, Languages",
}

@Book{ISO:1982:SCP,
  author =       "{ISO}",
  title =        "Specification for Computer Programming Language
                 {Pascal}, {ISO} 7185-1982",
  publisher =    pub-ISO,
  address =      pub-ISO:adr,
  year =         "1982",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Mon Feb 05 17:47:23 2001",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/isostd.bib",
  URL =          "http://www.iso.ch/cate/d13802.html",
}

@Article{Kerridge:1982:FIC,
  author =       "Jon M. Kerridge",
  title =        "A {FORTRAN} implementation of {Concurrent Pascal}",
  journal =      j-SPE,
  volume =       "12",
  number =       "1",
  pages =        "45--55",
  month =        jan,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380120105",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/fortran2.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, FORTRAN \\ D.3.2 Software, PROGRAMMING
                 LANGUAGES, Language Classifications, Pascal \\ D.3.4
                 Software, PROGRAMMING LANGUAGES, Processors,
                 Interpreters",
}

@Article{Kruijer:1982:MUO,
  author =       "H. S. M. Kruijer",
  title =        "A multi-user operating system for transaction
                 processing, written in {Concurrent Pascal}",
  journal =      j-SPE,
  volume =       "12",
  number =       "5",
  pages =        "445--454",
  month =        may,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380120506",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages",
  onlinedate =   "27 Oct 2006",
  subject =      "D.4.1 Software, OPERATING SYSTEMS, Process Management,
                 Concurrency \\ D.3 Software, PROGRAMMING LANGUAGES,
                 Language Classifications \\ D.4 Software, OPERATING
                 SYSTEMS, File Systems Management",
}

@Article{Leblanc:1982:CSR,
  author =       "Richard J. Leblanc and Charles N. Fischer",
  title =        "A case study of run-time errors in {Pascal} programs",
  journal =      j-SPE,
  volume =       "12",
  number =       "9",
  pages =        "825--834",
  month =        sep,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380120903",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages; performance",
  onlinedate =   "27 Oct 2006",
  subject =      "D.3.4 Software, PROGRAMMING LANGUAGES, Processors,
                 Compilers \\ D.3.2 Software, PROGRAMMING LANGUAGES,
                 Language Classifications, Pascal \\ D.3.4 Software,
                 PROGRAMMING LANGUAGES, Processors, Run-time
                 environments",
}

@Article{Peterson:1982:SFI,
  author =       "James L. Peterson",
  title =        "Surveyor's Forum: {Idiomatic} Programming",
  journal =      j-COMP-SURV,
  volume =       "14",
  number =       "4",
  pages =        "625--625",
  month =        dec,
  year =         "1982",
  CODEN =        "CMSVAN",
  DOI =          "https://doi.org/10.1145/356893.356899",
  ISSN =         "0010-4892",
  bibdate =      "Thu Jun 19 09:31:39 MDT 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/surveys/;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/compsurv.bib",
  note =         "See \cite{Feuer:1982:CPL,Feuer:1982:SFI}.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Computing Surveys",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
}

@Article{Ravn:1982:PVC,
  author =       "A. P. Ravn",
  title =        "Pointer Variables in {Concurrent Pascal}",
  journal =      j-SPE,
  volume =       "12",
  number =       "3",
  pages =        "211--222",
  month =        mar,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380120303",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages",
  onlinedate =   "27 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Concurrent Pascal \\ D.3.3 Software,
                 PROGRAMMING LANGUAGES, Language Constructs, Data types
                 and structures",
}

@Article{Robson:1982:BRBb,
  author =       "D. J. Robson",
  title =        "Book Review: {{\booktitle{{Pascal} implementation: The
                 P4 compiler}}, S. Pemberton and M. C. Daniels. Ellis
                 Horwood, Chichester. No. of pages: 254. Price: \pounds
                 22.50}",
  journal =      j-SPE,
  volume =       "12",
  number =       "12",
  pages =        "1167--1167",
  month =        dec,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380121210",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Spector:1982:AIM,
  author =       "David Spector",
  title =        "Ambiguities and Insecurities in {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "17",
  number =       "8",
  pages =        "43--51",
  month =        aug,
  year =         "1982",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/947941.947945",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "August 1982",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "9",
}

@Article{Sumner:1982:MSP,
  author =       "Roger T. Sumner and R. E. Gleaves",
  title =        "{Modula-2}: A Solution to {Pascal}'s Problems",
  journal =      j-SIGPLAN,
  volume =       "17",
  number =       "9",
  pages =        "28--33",
  month =        sep,
  year =         "1982",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/947955.947958",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "September 1982",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "6",
}

@Article{Tsin:1982:EPP,
  author =       "Yung H. Tsin",
  title =        "Extending the power of {PASCAL}'s external procedure
                 mechanism",
  journal =      j-SPE,
  volume =       "12",
  number =       "3",
  pages =        "283--292",
  month =        mar,
  year =         "1982",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380120309",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages; reliability",
  onlinedate =   "27 Oct 2006",
  review =       "ACM CR 39924",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.3.4 Software, PROGRAMMING
                 LANGUAGES, Processors, Compilers",
}

@Article{Williams:1982:FNS,
  author =       "M. Howard Williams",
  title =        "A Flexible Notation for Syntactic Definitions",
  journal =      j-TOPLAS,
  volume =       "4",
  number =       "1",
  pages =        "113--119",
  month =        jan,
  year =         "1982",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Fri Jun 8 13:21:42 1984",
  bibsource =    "Compiler/bevan.bib; Compiler/compiler.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/toplas.bib",
  abstract =     "In view of the proliferation of notations for defining
                 the syntax of programming languages, it has been
                 suggested that a simple notation should be adopted as a
                 standard. However, any notation adopted as a standard
                 should also be as versatile as possible. For this
                 reason, a notation is presented here which is both
                 simple and versatile and which has additional benefits
                 when specifying the static semantic rules of a
                 language.",
  acknowledgement = ack-pb,
  ajournal =     "ACM Trans. Program. Lang. Syst.",
  checked =      "19940302",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "BNF; syntax",
  sjb =          "Suggests some additions to Wirth's notation to capture
                 some commonly required constraints such as ``maximum
                 length of an identifier is $X$'', ``$X$ can be repeated
                 $Y$ times''. The ``simple and versatile'' notation is
                 just Wirth's EBNF augmented with affixes/attributes.
                 Ends with the following ``It is hoped that this paper
                 will not be viewed simply as a presentation of yet
                 another notation for syntactic definitions. The main
                 purpose of the paper has been to look closely at the
                 advantages of the notation proposed, and it is hoped
                 that in the future, before adopting any syntactic
                 notation, readers will give careful consideration to
                 the advantages of such a notation and avoid the
                 introduction of new notations or variations on existing
                 ones unless the advantages can be clearly spelled
                 out.''",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{ANSI:1983:AIX,
  author =       "{American National Standards Institute} and {Institute
                 of Electrical and Electronics Engineers}",
  title =        "{ANSI\slash IEEE 770 X3.97-1983: An American National
                 Standard: IEEE Standard Pascal computer programming
                 language}",
  publisher =    pub-IEEE-STD,
  address =      pub-IEEE-STD:adr,
  pages =        "128",
  year =         "1983",
  ISBN =         "0-471-88944-X",
  ISBN-13 =      "978-0-471-88944-1",
  LCCN =         "QA76.73.P2 A43 1983",
  bibdate =      "Sat May 28 08:17:53 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ansistd.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  keywords =     "Pascal (Computer program language)",
}

@Article{Atkinson:1983:BRB,
  author =       "L. V. Atkinson",
  title =        "Book Review: {{\booktitle{Pocket guide to Pascal}},
                 David Watt, Pitman. No. of pages: 64. PRICE: \pounds
                 2.25. Pocket guide to programming, John Shelley,
                 Pitman. No. of pages: 64. Price: \pounds 2.25}",
  journal =      j-SPE,
  volume =       "13",
  number =       "10",
  pages =        "981--981",
  month =        oct,
  year =         "1983",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380131013",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@Article{Brown:1983:SMP,
  author =       "P. J. Brown and J. A. Ogden",
  title =        "The {SUPERMAC} Macro Processor in {Pascal}",
  journal =      j-SPE,
  volume =       "13",
  number =       "4",
  pages =        "295--304",
  month =        apr,
  year =         "1983",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380130402",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Comer:1983:CBL,
  author =       "Douglas Comer",
  title =        "The Costs and Benefits of Lazy Interactive Input in
                 {Pascal}",
  journal =      j-SPE,
  volume =       "13",
  number =       "3",
  pages =        "287--293",
  month =        mar,
  year =         "1983",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380130308",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages; measurement",
  onlinedate =   "27 Oct 2006",
  review =       "ACM CR 40582",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.3.3 Software, PROGRAMMING
                 LANGUAGES, Language Constructs, Input/Output \\ D.3.4
                 Software, PROGRAMMING LANGUAGES, Processors, Run-time
                 environments",
}

@InProceedings{Hirschy:1983:HOS,
  author =       "Eric Hirschy",
  booktitle =    "Proceedings of the 1983 {ACM} {SIGSMALL} Symposium on
                 Personal and Small Computers",
  title =        "{Hermes}: an Operating System for a {Modula-2}
                 Environment",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "163--167",
  year =         "1983",
  DOI =          "https://doi.org/10.1145/800219.806663",
  ISBN =         "0-89791-123-7",
  ISBN-13 =      "978-0-89791-123-8",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "SIGSMALL '83",
  abstract =     "Hermes is a real-time operating system developed at
                 the San Diego Research Center. Hermes is written
                 entirely in the Modula-2 programming language and
                 executes on the Lilith computer. As an operating system
                 for a Modula-2 environment, the design of Hermes
                 emphasizes the concept of using modular components for
                 building a run-time environment.",
  acknowledgement = ack-nhfb,
  location =     "San Diego, California, USA",
  numpages =     "5",
}

@Book{IEEE-PSC:1983:ISP,
  author =       "{IEEE Pascal Standards Committee} and {American
                 National Standards Institute Committee X3J9} and {Joint
                 ANSI/X3J9-IEEE Pascal Standards Committee}",
  title =        "{IEEE} standard {Pascal} computer programming
                 language: an {American National Standard}",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "various",
  year =         "1983",
  bibdate =      "Mon Feb 24 15:49:20 MST 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ansistd.bib",
  series =       "ANSI/IEEE; 770 X3.97 ANSI/IEEE Std",
  acknowledgement = ack-nhfb,
  keywords =     "Pascal (Computer program language)",
}

@Book{ISB:1983:ISP,
  editor =       "{IEEE Standards Board}",
  title =        "{IEEE Standard Pascal} computer programming language:
                 an {American National Standard}",
  publisher =    "IEEE.",
  address =      "New York, NY, USA",
  pages =        "128",
  year =         "1983",
  ISBN =         "0-471-88944-X",
  ISBN-13 =      "978-0-471-88944-1",
  LCCN =         "QA76.73.P2 A43 1983",
  MRclass =      "68",
  bibdate =      "Wed Jan 10 18:02:18 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  remark =       "Cover title: American national standard Pascal
                 computer programming language. Spine title: Pascal.
                 ``ANSI/IEEE770X3.97-1983''--Cover.",
}

@Article{Kastner:1983:EBR,
  author =       "H. K{\"a}stner",
  title =        "{Euromicro} book review: {Niklaus Wirth:
                 \booktitle{Programming in Modula-2}}",
  journal =      j-MICROPROC-MICROPROG,
  volume =       "12",
  number =       "1",
  pages =        "71--71",
  month =        aug,
  year =         "1983",
  CODEN =        "MMICDT",
  DOI =          "https://doi.org/10.1016/0165-6074(83)90117-5",
  ISSN =         "0165-6074 (print), 1878-7061 (electronic)",
  ISSN-L =       "0165-6074",
  bibdate =      "Fri Jul 5 12:45:20 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Microprocessing and Microprogramming",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Lalonde:1983:STC,
  author =       "Wilf R. Lalonde and John R. Pugh",
  title =        "A simple technique for converting from a {PASCAL} shop
                 to a {C} shop",
  journal =      j-SPE,
  volume =       "13",
  number =       "9",
  pages =        "771--775",
  month =        sep,
  year =         "1983",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380130903",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages",
  onlinedate =   "30 Oct 2006",
  subject =      "D.2 Software, SOFTWARE ENGINEERING, Tools and
                 Techniques \\ D.2 Software, SOFTWARE ENGINEERING,
                 Management \\ D.3.2 Software, PROGRAMMING LANGUAGES,
                 Language Classifications, Pascal \\ D.3.2 Software,
                 PROGRAMMING LANGUAGES, Language Classifications, C",
}

@Article{Magnenat-Thalmann:1983:MTD,
  author =       "Nadia Magnenat-Thalmann and Daniel Thalmann",
  title =        "{MIRA-3D}: a Three-Dimensional Graphical Extension of
                 {Pascal}",
  journal =      j-SPE,
  volume =       "13",
  number =       "9",
  pages =        "797--808",
  month =        sep,
  year =         "1983",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380130906",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages",
  onlinedate =   "30 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.3.3 Software, PROGRAMMING
                 LANGUAGES, Language Constructs, Abstract data types \\
                 I.3.3 Computing Methodologies, COMPUTER GRAPHICS,
                 Picture/Image Generation, Display algorithms \\ I.3.4
                 Computing Methodologies, COMPUTER GRAPHICS, Graphics
                 Utilities, Picture description languages \\ I.3.6
                 Computing Methodologies, COMPUTER GRAPHICS, Methodology
                 and Techniques, Languages",
}

@Article{McCaig:1983:FPP,
  author =       "J. M. McCaig",
  title =        "{FUMBLR}: a {Pascal} Program for Initializing Memory",
  journal =      j-SPE,
  volume =       "13",
  number =       "12",
  pages =        "1191--1200",
  month =        dec,
  year =         "1983",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380131210",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "algorithms; documentation; languages",
  onlinedate =   "30 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Macro and assembly languages \\ D.2
                 Software, SOFTWARE ENGINEERING, Tools and Techniques
                 \\
                 D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.3.3 Software, PROGRAMMING
                 LANGUAGES, Language Constructs, Procedures, functions,
                 and subroutines \\ D.3 Software, PROGRAMMING LANGUAGES,
                 Processors \\ D.4 Software, OPERATING SYSTEMS, Storage
                 Management E Data, DATA STRUCTURES",
}

@Article{Murali:1983:SGC,
  author =       "V. Murali and R. K. Shyamasundar",
  title =        "A sentence generator for a compiler for {PT}, a
                 {PASCAL} subset",
  journal =      j-SPE,
  volume =       "13",
  number =       "9",
  pages =        "857--869",
  month =        sep,
  year =         "1983",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380130911",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "design; languages",
  onlinedate =   "30 Oct 2006",
  review =       "ACM CR 8406-0440",
  subject =      "D.3.4 Software, PROGRAMMING LANGUAGES, Processors,
                 Compilers \\ D.3.2 Software, PROGRAMMING LANGUAGES,
                 Language Classifications, Pascal",
}

@Article{Oliveira:1983:AMI,
  author =       "J. N. Oliveira and I. R. Wilson",
  title =        "An Analysis of Microcomputer Implementation of
                 {Pascal}",
  journal =      j-SPE,
  volume =       "13",
  number =       "4",
  pages =        "373--384",
  month =        apr,
  year =         "1983",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380130406",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "27 Oct 2006",
}

@Article{Robson:1983:TCL,
  author =       "D. J. Robson",
  title =        "Towards a Conversational Language-Sensitive System for
                 {Pascal}",
  journal =      j-SPE,
  volume =       "13",
  number =       "11",
  pages =        "1013--1017",
  month =        nov,
  year =         "1983",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380131105",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@Book{Smedema:1983:PLP,
  author =       "C. H. Smedema and P. (Piet) Medema and M. (Maarten)
                 Boasson",
  title =        "The Programming Languages: {Pascal}, {Modula},
                 {CHILL}, and {Ada}",
  publisher =    pub-PHI,
  address =      pub-PHI:adr,
  pages =        "154",
  year =         "1983",
  ISBN =         "0-13-729756-4 (paperback)",
  ISBN-13 =      "978-0-13-729756-6 (paperback)",
  LCCN =         "QA76.7 .S6 1983",
  bibdate =      "Tue Jan 15 09:50:12 MST 2013",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/adabooks.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Programming languages (Electronic computers)",
  tableofcontents = "Trends in programming language design \\
                 Trends in application \\
                 Trends in programming environments \\
                 Overview of Pascal, Modula, CHILL and Ada \\
                 Pascal \\
                 Modula \\
                 Chill \\
                 Ada",
}

@Article{Spector:1983:LPM,
  author =       "David Spector",
  title =        "Lexing and Parsing {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "18",
  number =       "10",
  pages =        "25--32",
  month =        oct,
  year =         "1983",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/988175.988181",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  abstract =     "This paper attempts to be a complete description, from
                 the implementor's viewpoint, of the basic lexing and
                 parsing requirements of the Modula-2 language. The
                 lexical structure is described informally, while the
                 syntax is specified formally by an LALR(1) grammar
                 expressed in BNF (Backus-Naur Form).Further information
                 is available in the Modula-2 language definition [1].",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "October 1983",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "8",
}

@Article{Ancona:1984:ILM,
  author =       "M. Ancona and Leila {De Floriani} and G. Dodero and S.
                 Mancosu",
  title =        "Integrating library modules into {Pascal} programs",
  journal =      j-SPE,
  volume =       "14",
  number =       "5",
  pages =        "401--412",
  month =        may,
  year =         "1984",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380140502",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "design; languages",
  onlinedate =   "30 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.3.3 Software, PROGRAMMING
                 LANGUAGES, Language Constructs, Modules, packages \\
                 D.4.9 Software, OPERATING SYSTEMS, Systems Programs and
                 Utilities, Linkers",
}

@Article{Andersen:1984:SMC,
  author =       "T. L. Andersen",
  title =        "Seven {Modula} compilers reviewed",
  journal =      j-J-PAS-ADA-MOD,
  volume =       "??",
  number =       "??",
  pages =        "??--??",
  month =        mar # "\slash " # apr,
  year =         "1984",
  CODEN =        "JOPAD5",
  ISSN =         "0747-1351",
  ISSN-L =       "0747-1351",
  bibdate =      "Mon Jan 08 16:37:13 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Pascal, Ada and Modula-2",
}

@Article{Ardo:1984:IPB,
  author =       "Anders Ard{\"o} and Lars Philipson",
  title =        "Implementation of a {Pascal} Based Parallel Language
                 for a Multiprocessor Computer",
  journal =      j-SPE,
  volume =       "14",
  number =       "7",
  pages =        "643--657",
  month =        jul,
  year =         "1984",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380140703",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages",
  onlinedate =   "30 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.1 Software, PROGRAMMING
                 TECHNIQUES, Concurrent Programming",
}

@Article{Bailes:1984:SBF,
  author =       "Paul A. Bailes and Antonio Salvadori",
  title =        "A Semantically-based Formatting Discipline for
                 {Pascal}",
  journal =      j-SPE,
  volume =       "14",
  number =       "3",
  pages =        "235--251",
  month =        mar,
  year =         "1984",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380140304",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@Article{Bishop:1984:BRI,
  author =       "J. M. Bishop",
  title =        "Book Review: {{\booktitle{Information Representation
                 and Manipulation Using Pascal}}, E. S. Page and L. B.
                 Wilson. Cambridge University Press, 1983. No. of pages:
                 272. Price: hardback, \pounds 15.00; paperback, \pounds
                 6.95}",
  journal =      j-SPE,
  volume =       "14",
  number =       "2",
  pages =        "195--195",
  month =        feb,
  year =         "1984",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380140209",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@Book{Bowles:1984:PSU,
  author =       "Kenneth L. Bowles and Stephen D. Franklin and Dennis
                 J. Volper",
  title =        "Problem solving using {UCSD Pascal}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  edition =      "Second",
  pages =        "xi + 340 + 106",
  year =         "1984",
  ISBN =         "0-387-90822-6 (New York), 3-540-90822-6 (Berlin)",
  ISBN-13 =      "978-0-387-90822-9 (New York), 978-3-540-90822-7
                 (Berlin)",
  LCCN =         "QA76.73.U25 B69 1984",
  bibdate =      "Wed Jan 10 16:49:33 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  abstract =     "To the Second Edition This book is designed both for
                 introductory courses in computer problem solving, at
                 the freshman and sophomore college level, and for
                 individual self study. The first edition of this book
                 has been used for teaching introductory classes at
                 University of California San Diego (UCSD), University
                 of California Irvine (UCI), and many other schools.
                 This second edition is based on our experience using
                 the text over the past six years with a broad range of
                 students. We have taught the course using variations on
                 Keller's Personalized System of Instruction (PSI). The
                 organization of this book is conducive to this approach
                 but does not require it. PSI methods allow slightly
                 more material to be absorbed by the students than is
                 the case with the traditional lecture/recitation
                 presentation. PSI allows grading according to the
                 number of chapter units completed. In a 10 week
                 quarter, virtually all students who pass the course at
                 UCSD and UCI complete the material covered in the first
                 eleven chapters and the exercises associated with them.
                 A substantial portion complete the entire fifteen
                 chapters. For a conventional presentation under the
                 semester system, the 15 chapters should present an
                 appropriate amount of material for the average
                 student.",
  acknowledgement = ack-nhfb,
  author-dates = "Kenneth L. Bowles (ca. 1929--15 August 2018)",
  tableofcontents = "0. Introduction \\
                 1. Problem Examples \\
                 2. Algorithms, Data, and Programs \\
                 3. The Choice of Pascal as our Programming Language \\
                 4. Equipment \\
                 Micro, Mini, and Maxi Computers \\
                 5. Graphic Display Devices \\
                 6. Organization of the Book \\
                 7. Computer Jargon \\
                 8. The Goal Statements \\
                 9. Study Habits \\
                 \\
                 1. Getting Started \\
                 1. Goals \\
                 2. Commands to the Computer. \\
                 3. Drawing Simple Pictures with Commands \\
                 4. A Pascal Program Using the Turtle \\
                 5. Modifying a Program with the Editor \\
                 6. Running the Modified Program \\
                 7. Disk Library and Workfile \\
                 8. Syntax Diagrams \\
                 9. Syntax for and \\
                 10. Sample Program Using 's \\
                 \\
                 2. Procedures and Variables \\
                 1. Goals \\
                 2. Background \\
                 3. Procedures \\
                 4. Calling One Procedure from Another \\
                 5. Parameters \\
                 6. Syntax for Procedures \\
                 7. Variables \\
                 8. Syntax for Variables \\
                 9. Preliminaries on Arithmetic Expressions \\
                 10. Working with STRING variables \\
                 11. Built-in Procedures and Functions for Strings \\
                 12. Sample Programs Using Strings \\
                 \\
                 3. Control Structures 1 \\
                 1. Goals \\
                 2. Background \\
                 1. The WHILE Statement \\
                 2. The IF Statement \\
                 3. Two-way IF Statement, Syntax for IF Statements \\
                 4. Syntax of Boolean Expressions \\
                 5. Sample Program \\
                 PLOTNAME \\
                 \\
                 4. Control Structures II \\
                 1. Goals \\
                 2. Background \\
                 3. The FOR Statement \\
                 4. The REPEAT Statement \\
                 5. The CASE Statement \\
                 6. Boolean Variables \\
                 7. Hints on Boolean Expressions and IF Statements \\
                 8. Note on Indentation \\
                 \\
                 5. More on Procedures \\
                 Scope \\
                 1. Goals \\
                 2. Background \\
                 3. Scope of Variable Identifiers \\
                 4. Nested Procedures \\
                 5. Case Study \\
                 Using Nested Procedures \\
                 6. Declaring Your Own Functions \\
                 7. Variable Parameters \\
                 8. Recursive Procedures \\
                 9. Misuses of Recursion in Pascal \\
                 10. Applications of Recursion \\
                 \\
                 6. Handling Complex Program Structure \\
                 1. Goals \\
                 2. Background \\
                 3. What is an Algorithm? \\
                 4. Level of Detail \\
                 5. Structure Diagrams \\
                 6. Progressive Development of Algorithms \\
                 7. Structure Diagrams of some Sample Programs \\
                 8. Solving a Problem based on Conceptual Description
                 \\
                 9. Three Challenging Problems \\
                 \\
                 7. Data Representation \\
                 1. Goals \\
                 2. Background \\
                 3. Character Encoding \\
                 4. Arithmetic Expressions Assignment of Value \\
                 5. Integer Representations \\
                 6. Sample Program \\
                 Decimal to Binary Conversion \\
                 7. Real Number Representation \\
                 8. Rounding Error \\
                 9. Sample Program Converge \\
                 10. Random Numbers \\
                 \\
                 8. Input and Output \\
                 1. Goals \\
                 2. Background \\
                 3. Differences Among Input/Output Systems \\
                 4. READ and READLN Statements \\
                 5. EOF and EOLN \\
                 6. File Identifiers: INPUT, OUTPUR and KEYBOARD \\
                 7. Sample Program AVERAGE \\
                 8. Sample Program MAKECHANGE \\
                 9. Sample Program DENOISE \\
                 10. Sample Program DEVOWEL \\
                 11. Sample Program DATECHECK \\
                 12. TEXT files \\
                 \\
                 9. Basic Data Structures \\
                 I. Arrays \\
                 1. Goals \\
                 2. Background \\
                 3. Subscripted Variables \\
                 4. Declaration of ARRAY Variables \\
                 5. Using Arrays of One Dimension \\
                 6. Packed Character Arrays \\
                 Two Dimensions \\
                 7. Row and Column Sums \\
                 Crossfooting \\
                 8. Three or More Dimensions \\
                 9. More on Indexing. \\
                 10. Basic Data Structures \\
                 II. Sets \\
                 Types \\
                 1. Goals \\
                 2. Background \\
                 3. Enumerated Types \\
                 4. Declaring Your Own Types \\
                 5. Subrange Types \\
                 6. Sets \\
                 7. Sample Program FOODSETS \\
                 8. Sample Program SETDEMO \\
                 9. Using Sets with Characters \\
                 \\
                 11. Basic Data Structures \\
                 III. Records \\
                 1. Goals \\
                 2. Background \\
                 3. Sample Program CLASSDATA \\
                 4. The WITH Statement \\
                 5. Sample Program STURECORD \\
                 \\
                 12. Pointers \\
                 1. Goals \\
                 2. Background \\
                 3. Static and Dynamic Variables \\
                 4. Declaring pointers \\
                 5. Creating a dynamic variable \\
                 6. Records with pointers \\
                 7. Linked lists \\
                 8. Comparison of pointers \\
                 9. Summary of pointer operations \\
                 10. SPORTSCORE2 solved with pointers \\
                 \\
                 13. Searching \\
                 1. Goals \\
                 2. Background \\
                 3. Review of Problem Solving Approach \\
                 4. Linear Search \\
                 5. Binary Search \\
                 6. Recursive Binary Search Algorithm \\
                 \\
                 14. Sorting \\
                 I. Simple Algorithms \\
                 1. Goals \\
                 2. Background \\
                 3. Insertion Sort \\
                 4. Bubble Sort \\
                 5. Merging \\
                 \\
                 15. Sorting \\
                 II. QUICKSORT \\
                 1. Goals \\
                 2. Background \\
                 3. Description of Quicksort \\
                 4. Improving on Bad Median Guesses \\
                 5. Recursive Structure Diagram \\
                 Appendix A: Differences of UCSD's Pascal \\
                 Appendix B: Glossary of Computer Jargon \\
                 Appendix C: Built-in Procedures and Functions \\
                 Appendix D: The UCSD Pascal System \\
                 Appendix E: Syntax Diagrams \\
                 Appendix F: ASCII",
}

@Article{Ciechanowicz:1984:CPT,
  author =       "Z. J. Ciechanowicz and A. C. {De Weever}",
  title =        "The `completeness' of the {Pascal} test suite",
  journal =      j-SPE,
  volume =       "14",
  number =       "5",
  pages =        "463--471",
  month =        may,
  year =         "1984",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380140506",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "design; languages; measurement; performance;
                 standardization",
  onlinedate =   "30 Oct 2006",
  subject =      "D.3.4 Software, PROGRAMMING LANGUAGES, Processors,
                 Compilers \\ D.3 Software, PROGRAMMING LANGUAGES,
                 Miscellaneous \\ K.1 Computing Milieux, THE COMPUTER
                 INDUSTRY, Standards \\ D.3.2 Software, PROGRAMMING
                 LANGUAGES, Language Classifications, Pascal",
}

@Article{Collins:1984:CMP,
  author =       "Steve Collins",
  title =        "Comparing {MODULA-2} with {PASCAL} and {ADA}",
  journal =      j-DATA-PROCESS,
  volume =       "26",
  number =       "10",
  pages =        "32--34",
  month =        dec,
  year =         "1984",
  CODEN =        "????",
  ISSN =         "0011-684X (print), 1878-3058 (electronic)",
  ISSN-L =       "0011-684X",
  bibdate =      "Mon Jan 14 21:50:08 MST 2013",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/adabooks.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/0011684X84901795",
  acknowledgement = ack-nhfb,
  fjournal =     "Data Processing",
  journal-URL =  "http://www.sciencedirect.com/science/journal/0011684X",
}

@InProceedings{DeMarco:1984:SDC,
  author =       "Tom DeMarco and Aurel Soceneantu",
  booktitle =    "Proceedings of the 7th International Conference on
                 Software Engineering",
  title =        "{SYNCRO}: A Dataflow Command Shell for the
                 {Lilith\slash Modula} Computer",
  publisher =    "IEEE Press",
  pages =        "207--213",
  year =         "1984",
  ISBN =         "0-8186-0528-6",
  ISBN-13 =      "978-0-8186-0528-4",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "ICSE '84",
  abstract =     "SYNCRO is a two-dimensional command interpreter that
                 allows human interface through a graphic command
                 language. This paper describes the concept of
                 two-dimensional commands for direct implementation of
                 leveled data flow structures, and comments on the
                 SYNCRO scheme for effecting them. SYNCRO is implemented
                 in Modula-2 on Niklaus Wirth's Lilith/Modula
                 computer.",
  acknowledgement = ack-nhfb,
  keywords =     "Pipeline, Modula-2, Data flow, Concurrency, Command
                 interpretation",
  location =     "Orlando, Florida, USA",
  numpages =     "7",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Dunford:1984:SFPb,
  author =       "Christopher J. Dunford",
  title =        "{Savage} floating-point benchmark in {Modula-2} in
                 {16BST}",
  journal =      j-DDJ,
  volume =       "9",
  number =       "8",
  pages =        "106--??",
  month =        aug,
  year =         "1984",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Mon Sep 2 09:09:39 MDT 1996",
  bibsource =    "http://www.ddj.com/index/author/index.htm;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/fparith.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@InCollection{Evans:1984:CPL,
  author =       "Arthur {Evans, Jr.}",
  title =        "A comparison of programming languages {Ada}, {Pascal},
                 {C}",
  crossref =     "Feuer:1984:CAP",
  pages =        "??--??",
  year =         "1984",
  bibdate =      "Wed Jan 10 09:42:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
}

@InCollection{Feuer:1984:CPL,
  author =       "Alan R. Feuer and Narain H. Gehani",
  title =        "A comparison of the programming languages {C} and
                 {Pascal}",
  crossref =     "Feuer:1984:CAP",
  pages =        "??--??",
  year =         "1984",
  bibdate =      "Wed Jan 10 09:42:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
}

@Article{Gutknecht:1984:ADP,
  author =       "J{\"u}rg Gutknecht and Werner Winiger",
  title =        "{Andra}: The Document Preparation System of the
                 Personal Workstation {Lilith}",
  journal =      j-SPE,
  volume =       "14",
  number =       "1",
  pages =        "73--100",
  month =        jan,
  year =         "1984",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380140107",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@Article{Gutknecht:1984:TM,
  author =       "J{\"u}rg Gutknecht",
  title =        "Tutorial on {Modula-2}",
  journal =      j-BYTE,
  volume =       "9",
  number =       "8",
  pages =        "157--176",
  month =        aug,
  year =         "1984",
  bibdate =      "Mon Jan 08 16:39:50 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/byte1980.bib",
  acknowledgement = ack-nhfb,
}

@InCollection{Habermann:1984:CCP,
  author =       "A. N. Habermann",
  title =        "Critical comments on the programming language
                 {Pascal}",
  crossref =     "Feuer:1984:CAP",
  pages =        "??--??",
  year =         "1984",
  bibdate =      "Wed Jan 10 09:42:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
}

@Article{Hartel:1984:MIO,
  author =       "P. H. Hartel and D. Starreveld",
  title =        "{Modula-2} Implementation Overview",
  journal =      j-J-PAS-ADA-MOD,
  volume =       "??",
  number =       "??",
  pages =        "9--23",
  month =        jul # "\slash " # aug,
  year =         "1984",
  CODEN =        "JOPAD5",
  ISSN =         "0735-1232",
  ISSN-L =       "0735-1232",
  bibdate =      "Mon Jan 08 16:43:50 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Pascal, Ada and Modula-2",
}

@Article{Hurst:1984:SLP,
  author =       "A. J. Hurst",
  title =        "A Source Language Performance Monitoring Facility for
                 the {B1800 Modula} Interpreter",
  journal =      j-SIGMICRO,
  volume =       "15",
  number =       "3",
  pages =        "28--36",
  month =        sep,
  year =         "1984",
  CODEN =        "SIGMDJ",
  DOI =          "https://doi.org/10.1145/1096464.1096466",
  ISSN =         "1050-916X",
  ISSN-L =       "0163-5751",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  abstract =     "This note describes the features of a monitoring
                 facility (called a software oscilloscope) installed on
                 the Burroughs B1800 Modula Interpreter developed at ANU
                 for use with the JAS operating system project [Hurst
                 83]. It allows dynamic monitoring of program behaviour
                 at the source level, and provides a ready means for the
                 evaluation of real time program behaviour.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIG Micro Newsletter",
  issuedate =    "September 1984",
  keywords =     "program behaviour, source level monitoring, modula,
                 program performance, JAS, microprogramming",
  numpages =     "9",
}

@Article{Johnson:1984:PDF,
  author =       "Marc C. Johnson and Allen Munro",
  title =        "{Pascal}'s Design Flaws: {Modula-2} Solutions and
                 {Pascal} Patches: A description of seven subtle
                 problems with {Pascal}, and a look at how {Modula-2}
                 avoids them",
  journal =      j-BYTE,
  volume =       "9",
  number =       "3",
  pages =        "371--372, 374, 376, 378, 380, 382, 384, 387--388",
  month =        mar,
  year =         "1984",
  CODEN =        "BYTEDJ",
  ISSN =         "0360-5280 (print), 1082-7838 (electronic)",
  ISSN-L =       "0360-5280",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/byte1980.bib",
  URL =          "https://ia800308.us.archive.org/20/items/byte-magazine-1984-03/1984_03_BYTE_09-03_Simulation.pdf",
}

@InCollection{Kernighan:1984:WPM,
  author =       "Brian W. Kernighan",
  title =        "Why {Pascal} is Not My Favorite Programming Language",
  crossref =     "Feuer:1984:CAP",
  pages =        "170--186",
  year =         "1984",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/mathcw.bib",
  note =         "See also
                 \cite{Welsh:1977:AIP,Kernighan:1981:STP,Kernighan:1981:WPM}.",
  xxURL =        "http://doc.cat-v.org/bell_labs/why_pascal/why_pascal_is_not_my_favorite_language.pdf",
}

@Article{Kerridge:1984:TSR,
  author =       "Jon M. Kerridge and Dan Simpson",
  title =        "Three Solutions for a Robot Arm Controller Using
                 {Pascal-Plus}, occam and {Edison}",
  journal =      j-SPE,
  volume =       "14",
  number =       "1",
  pages =        "3--15",
  month =        jan,
  year =         "1984",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380140103",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@InCollection{Lecarme:1984:MCP,
  author =       "O. Lecarme and P. Desjardins",
  title =        "More comments on the programming language {Pascal}",
  crossref =     "Feuer:1984:CAP",
  pages =        "??--??",
  year =         "1984",
  bibdate =      "Wed Jan 10 09:42:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
}

@Book{Ledgard:1984:APSc,
  author =       "Henry F. Ledgard",
  title =        "The {American Pascal Standard}: with annotations",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "97",
  year =         "1984",
  ISBN =         "0-387-91248-7, 3-540-91248-7",
  ISBN-13 =      "978-0-387-91248-6, 978-3-540-91248-4",
  LCCN =         "????",
  bibdate =      "Wed Jan 10 18:02:18 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Springer books on professional computing",
  acknowledgement = ack-nhfb,
  tableofcontents = "Language specification \\
                 Scope \\
                 Reference \\
                 Definitions \\
                 Definitional conventions \\
                 Compliance \\
                 Requirements",
}

@Article{Marsden:1984:SPE,
  author =       "B. W. Marsden",
  title =        "A {STandard} {Pascal} Event Simulation Package",
  journal =      j-SPE,
  volume =       "14",
  number =       "7",
  pages =        "659--684",
  month =        jul,
  year =         "1984",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380140704",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "design; languages",
  onlinedate =   "30 Oct 2006",
  subject =      "I.6 Computing Methodologies, SIMULATION AND MODELING,
                 Miscellaneous \\ D.3.2 Software, PROGRAMMING LANGUAGES,
                 Language Classifications, Pascal \\ D.3.3 Software,
                 PROGRAMMING LANGUAGES, Language Constructs, Modules,
                 packages \\ C.2.0 Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, General, Data
                 communications",
}

@InCollection{Mateti:1984:PVC,
  author =       "Prabhaker Mateti",
  title =        "{Pascal} versus {C}: a subjective comparison",
  crossref =     "Feuer:1984:CAP",
  pages =        "??--??",
  year =         "1984",
  bibdate =      "Wed Jan 10 09:42:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
}

@Article{McLarty:1984:IMP,
  author =       "Hugh McLarty and David W. Smith",
  title =        "An Introduction to {Modula-2} for {Pascal}
                 Programmers",
  journal =      j-DDJ,
  volume =       "9",
  number =       "5",
  pages =        "22--24, 26--27",
  month =        may,
  year =         "1984",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jan 9 09:35:43 MST 1997",
  bibsource =    "Compendex database;
                 http://www.ddj.com/index/author/index.htm;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/dr-dobbs-1980.bib",
  acknowledgement = ack-nhfb,
  classification = "723",
  journalabr =   "Dr Dobb's J",
  keywords =     "computer programming --- Education; computer
                 programming languages; Modula-2; Pascal programmer",
  xxnote =       "??Check author order??",
}

@Article{Moffat:1984:SCA,
  author =       "David V. Moffat",
  title =        "Some Concerns About {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "19",
  number =       "12",
  pages =        "41--47",
  month =        dec,
  year =         "1984",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/948363.948368",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  note =         "See comments
                 \cite{Segre:1985:SCA,Goldberg:1985:RSC}.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "December 1984",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "7",
}

@Article{Muller:1984:DBM,
  author =       "Hausi A. Muller",
  title =        "Differences between {Modula-2} and {Pascal}",
  journal =      j-SIGPLAN,
  volume =       "19",
  number =       "10",
  pages =        "32--39",
  month =        oct,
  year =         "1984",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/948290.948293",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "October 1984",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "8",
}

@Article{Nordstrom:1984:DIP,
  author =       "Bengt Nordstr{\"o}m and {\AA}ke Wikstr{\"o}m",
  title =        "The design of an interactive program development
                 system for {Pascal}",
  journal =      j-SPE,
  volume =       "14",
  number =       "2",
  pages =        "177--190",
  month =        feb,
  year =         "1984",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380140207",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "design; languages",
  onlinedate =   "30 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.4.7 Software, OPERATING
                 SYSTEMS, Organization and Design, Interactive systems
                 \\ D.3.4 Software, PROGRAMMING LANGUAGES, Processors,
                 Compilers",
}

@Article{Ohran:1984:LM,
  author =       "Richard Ohran",
  title =        "{Lilith} and {Modula-2}",
  journal =      j-BYTE,
  volume =       "9",
  number =       "8",
  pages =        "181--192",
  month =        aug,
  year =         "1984",
  bibdate =      "Mon Jan 08 16:39:50 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/byte1980.bib",
  acknowledgement = ack-nhfb,
}

@Article{Olderog:1984:CPP,
  author =       "Ernst-R{\"u}diger Olderog",
  title =        "Correctness of programs with {Pascal}-like procedures
                 without global variables",
  journal =      j-THEOR-COMP-SCI,
  volume =       "30",
  number =       "1",
  pages =        "49--90",
  year =         "1984",
  CODEN =        "TCSCDI",
  DOI =          "https://doi.org/10.1016/0304-3975(84)90066-5",
  ISSN =         "0304-3975,1879-2294",
  ISSN-L =       "0304-3975",
  MRclass =      "68Q60 (03B70)",
  MRnumber =     "748132",
  MRreviewer =   "Valery Alexandrovich Petrushin",
  bibdate =      "Fri Jan 5 06:27:40 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Theoretical Computer Science",
  journal-URL =  "http://www.sciencedirect.com/science/journal/03043975",
}

@Article{Perkins:1984:UPV,
  author =       "Daniel R. Perkins and Dennis Volper",
  title =        "{UCSD Pascal} on the {VAX}, Portability and
                 Performance",
  journal =      j-SPE,
  volume =       "14",
  number =       "5",
  pages =        "473--482",
  month =        may,
  year =         "1984",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380140507",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "design; languages; measurement; performance",
  onlinedate =   "30 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.2.7 Software, SOFTWARE
                 ENGINEERING, Distribution and Maintenance,
                 Portability",
}

@Article{Powell:1984:POC,
  author =       "Michael L. Powell",
  title =        "A Portable Optimizing Compiler for {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "19",
  number =       "6",
  pages =        "310--319",
  month =        jun,
  year =         "1984",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/502949.502905",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  abstract =     "A portable compiler for the Modula-2 programming
                 language has been implemented with a simple, machine
                 independent optimizer. The front end of the compiler
                 generates a dialect of P-code, and the back end
                 translates the P-code into machine language. The
                 compiler fits well in the Unix environment. The design
                 philosophy of the compiler {"best} {simple"}. Whenever
                 possible, design decisions were made to favor the
                 simplest alternative that got us most of what we
                 wanted. Benchmark results show that the code quality is
                 comparable to or better than other good compilers.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "June 1984",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "10",
}

@InProceedings{Powell:1984:POCa,
  author =       "Michael L. Powell",
  booktitle =    "Proceedings of the 1984 {SIGPLAN} Symposium on
                 Compiler Construction",
  title =        "A Portable Optimizing Compiler for {Modula-2}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "310--318",
  year =         "1984",
  DOI =          "https://doi.org/10.1145/502874.502905",
  ISBN =         "0-89791-139-3",
  ISBN-13 =      "978-0-89791-139-9",
  bibdate =      "Fri Jan 5 15:14:43 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "SIGPLAN '84",
  abstract =     "A portable compiler for the Modula-2 programming
                 language has been implemented with a simple, machine
                 independent optimizer. The front end of the compiler
                 generates a dialect of P-code, and the back end
                 translates the P-code into machine language. The
                 compiler fits well in the Unix environment. The design
                 philosophy of the compiler {"best} {simple"}. Whenever
                 possible, design decisions were made to favor the
                 simplest alternative that got us most of what we
                 wanted. Benchmark results show that the code quality is
                 comparable to or better than other good compilers.",
  acknowledgement = ack-nhfb,
  keywords =     "design; high level languages; languages; machine
                 language; measurement; Modula-2; P-code; performance;
                 portable optimizing compiler; program compilers;
                 programming language; Unix environment",
  location =     "Montreal, Canada",
  numpages =     "10",
}

@InProceedings{Powell:1984:UMS,
  author =       "Michael L. Powell",
  title =        "Using {Modula-2} for System Programming with {UNIX}",
  crossref =     "STUG:1984:UAS",
  pages =        "119--132",
  month =        "Summer",
  year =         "1984",
  bibdate =      "Fri Oct 18 07:24:24 MDT 1996",
  bibsource =    "ftp://ftp.uu.net/library/bibliography;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/usenix1980.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Digital Equipment Corporation",
}

@Article{Rees:1984:BRP,
  author =       "M. J. Rees",
  title =        "Book Review: {{\booktitle{Pascal Compiler
                 Validation}}, B. A. Wichmann and Z. J. Ciechanowicz
                 (eds.), Wiley, Chichester, 1983. No. of pages: 176.
                 Price \pounds 9.75 Hardback}",
  journal =      j-SPE,
  volume =       "14",
  number =       "6",
  pages =        "601--602",
  month =        jun,
  year =         "1984",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380140610",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Wed Sep 10 12:36:39 MDT 2014",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@Article{Reimer:1984:IDP,
  author =       "Manuel Reimer",
  title =        "Implementation of the database programming language
                 {Modula/R} on the personal computer {Lilith}",
  journal =      j-SPE,
  volume =       "14",
  number =       "10",
  pages =        "945--956",
  month =        oct,
  year =         "1984",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380141005",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "algorithms; design; languages",
  onlinedate =   "30 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Modula \\ H.2 Information Systems,
                 DATABASE MANAGEMENT, Languages K Computing Milieux,
                 PERSONAL COMPUTING \\ D.3.4 Software, PROGRAMMING
                 LANGUAGES, Processors, Compilers",
}

@Article{Sewry:1984:MMC,
  author =       "D. A. Sewry",
  title =        "{Modula-2} and the Monitor Concept",
  journal =      j-SIGPLAN,
  volume =       "19",
  number =       "11",
  pages =        "33--41",
  month =        nov,
  year =         "1984",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/948606.948611",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "November 1984",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "9",
}

@Article{Sewry:1984:MPF,
  author =       "D. A. Sewry",
  title =        "{Modula-2} Process Facilities",
  journal =      j-SIGPLAN,
  volume =       "19",
  number =       "11",
  pages =        "23--32",
  month =        nov,
  year =         "1984",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/948606.948610",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "November 1984",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "10",
}

@InCollection{Wichmann:1984:CPA,
  author =       "B. A. Wichmann",
  title =        "A comparison of {Pascal} and {Ada}",
  crossref =     "Feuer:1984:CAP",
  pages =        "??--??",
  year =         "1984",
  bibdate =      "Wed Jan 10 09:42:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
}

@Article{Wiener:1984:GSM,
  author =       "Richard S. Wiener",
  title =        "A Generic Sorting Module in {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "19",
  number =       "3",
  pages =        "66--72",
  month =        mar,
  year =         "1984",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/948576.948588",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "March 1984",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "7",
}

@Book{Wiener:1984:SEM,
  author =       "Richard S. Wiener and Richard Sincovec",
  title =        "Software engineering with {Modula-2} and {Ada}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xix + 451",
  year =         "1984",
  ISBN =         "0-471-89014-6",
  ISBN-13 =      "978-0-471-89014-0",
  LCCN =         "????",
  bibdate =      "Sat Jan 12 22:27:37 MST 2013",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/adabooks.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  subject =      "Ada (Computer program language); Modula-2 (Computer
                 program language); Electronic digital computers;
                 Programming; modula",
}

@InProceedings{Wittie:1984:PMO,
  author =       "Larry D. Wittie and Ariel J. Frank",
  booktitle =    "Proceedings of the July 9-12, 1984, National Computer
                 Conference and Exposition",
  title =        "A Portable {Modula-2} Operating System: {SAM2S}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "283--292",
  year =         "1984",
  DOI =          "https://doi.org/10.1145/1499310.1499347",
  ISBN =         "0-88283-043-0",
  ISBN-13 =      "978-0-88283-043-8",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "AFIPS '84",
  abstract =     "The Stand-Alone Modula-2 System (SAM2S) is a portable,
                 concurrent operating system and Modula-2 programming
                 support environment. It is based on a highly modular
                 kernel task running on single process-multiplexed
                 microcomputers. SAM2S offers extensive network
                 communication facilities. It provides the foundation
                 for the locally resident portions of the MICROS
                 distributed operating system for large netcomputers.
                 SAM2S now supports a five-pass Modula-2 compiler, a
                 task linker, link and load file decoders, a static
                 symbolic debugger, a filer, and other utility tasks.
                 SAM2S is currently running on each node of a network of
                 DEC LSI-11/23 and Heurikon/Motorola 68000 workstations
                 connected by an Ethernet. This paper reviews features
                 of Modula-2 for operating system development and
                 outlines the design of SAM2S with special emphasis on
                 its modularity and communication flexibility. The two
                 SAM2S implementations differ mainly in their peripheral
                 drivers and in the large amount of memory available on
                 the 68000 systems. Modula-2 has proved highly suitable
                 for writing large, portable, concurrent and distributed
                 operating systems.",
  acknowledgement = ack-nhfb,
  location =     "Las Vegas, Nevada",
  numpages =     "10",
}

@Article{Yip:1984:PGS,
  author =       "C. K. Yip",
  title =        "The {Pascal} graphics system",
  journal =      j-SPE,
  volume =       "14",
  number =       "2",
  pages =        "101--118",
  month =        feb,
  year =         "1984",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380140202",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "design; languages",
  onlinedate =   "30 Oct 2006",
  subject =      "I.3.6 Computing Methodologies, COMPUTER GRAPHICS,
                 Methodology and Techniques, Languages \\ D.3.2
                 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.2.7 Software, SOFTWARE
                 ENGINEERING, Distribution and Maintenance,
                 Portability",
}

@Article{Anderson:1985:BMM,
  author =       "Brian R. Anderson",
  title =        "Bit Manipulation in {Modula-2}",
  journal =      j-DDJ,
  volume =       "10",
  number =       "11",
  pages =        "38--??",
  month =        nov,
  year =         "1985",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jan 9 09:35:43 MST 1997",
  bibsource =    "Compendex database;
                 http://www.ddj.com/index/author/index.htm;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/dr-dobbs-1980.bib",
  acknowledgement = ack-nhfb,
  classification = "723",
  journalabr =   "Dr Dobb's J",
  keywords =     "assembly language interface; bit manipulation;
                 computer operating systems --- Program Compilers;
                 computer programming; computer programming languages;
                 computer programs; definition module; implementation
                 module; Modula-2",
  pagecount =    "6p between p 38 and 46",
}

@Book{Anonymous:1985:FIP,
  author =       "Anonymous",
  title =        "{Federal Information Processing Standards Publication:
                 Pascal}",
  publisher =    pub-NBS,
  address =      pub-NBS:adr,
  pages =        "8",
  year =         "1985",
  bibdate =      "Thu Jan 11 07:05:41 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "FIPS PUB 109.",
  URL =          "https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub109-1985.pdf",
  acknowledgement = ack-nhfb,
  remark =       "TO DO: The URL seems to have only an overview: pages
                 may be missing.",
}

@Article{Bielak:1985:AVM,
  author =       "Richard Bielak",
  title =        "{ADA(*)} vs. {Modula-2}: A View from the Trenches",
  journal =      j-SIGPLAN,
  volume =       "20",
  number =       "12",
  pages =        "13--17",
  month =        dec,
  year =         "1985",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/382086.382620",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  note =         "See comments \cite{Greenwood:1986:CVT}.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "Dec. 1985",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "5",
}

@Article{Budgen:1985:CMM,
  author =       "David Budgen",
  title =        "Combining {MASCOT} with {MODULA-2} to aid the
                 engineering of real-time systems",
  journal =      j-SPE,
  volume =       "15",
  number =       "8",
  pages =        "767--793",
  month =        aug,
  year =         "1985",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380150805",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "design; languages",
  onlinedate =   "1 Nov 2006",
  review =       "ACM CR 8605-0425",
  subject =      "D.2.6 Software, SOFTWARE ENGINEERING, Programming
                 Environments",
}

@Article{Carroll:1985:MVP,
  author =       "David W. Carroll",
  title =        "{Modula-2} Versus {Pascal} for Microcomputers: an
                 Update",
  journal =      j-DDJ,
  volume =       "10",
  number =       "11",
  pages =        "28--34",
  month =        nov,
  year =         "1985",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jan 9 09:35:43 MST 1997",
  bibsource =    "Compendex database;
                 http://www.ddj.com/index/author/index.htm;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/dr-dobbs-1980.bib",
  acknowledgement = ack-nhfb,
  classification = "723",
  journalabr =   "Dr Dobb's J",
  keywords =     "computer programming languages; computer programs;
                 computers, microcomputer; Modula-2; Pascal; standard
                 (ISO) Pascal; Turbo Pascal",
}

@Article{Cooper:1985:EMP,
  author =       "R. E. M. Cooper and Bruce J. McKenzie and R. Harries",
  title =        "Extensions to a Microcoded {Pascal} Compiler",
  journal =      j-SPE,
  volume =       "15",
  number =       "5",
  pages =        "519--522",
  month =        may,
  year =         "1985",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380150511",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
  xxtitle =      "Extensions to a Microcoded {Pascal} Compiler",
}

@Article{Crawford:1985:HLI,
  author =       "Albert L. Crawford",
  title =        "High Level Input\slash Output in {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "20",
  number =       "12",
  pages =        "18--25",
  month =        dec,
  year =         "1985",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/382086.382622",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  abstract =     "In this article, a high level I/O system for Modula-2
                 is presented. This system is designed to be in addition
                 to the current Modula I/O, rather than to replace
                 existing I/O. Its main purpose would be to have an I/O
                 system that would be simple to use in educational
                 settings and in general purpose programming.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "Dec. 1985",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "8",
}

@Article{Czyzowicz:1985:IGT,
  author =       "Jurek Czyzowicz and Michal Iglewski",
  title =        "Implementing Generic Types in {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "20",
  number =       "12",
  pages =        "26--32",
  month =        dec,
  year =         "1985",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/382086.382623",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  abstract =     "In SIGPLAN Notices, vol. 20, \#6., June 1985 R. S.
                 Wiener and R. F. Sincovec presented ``Two Approaches to
                 Implementing Generic Data Structures in Modula-2''. Our
                 paper presents a third solution which attempts to avoid
                 or at least diminish the effects of some shortcomings
                 existing in Wiener and Sincovec's approaches.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "Dec. 1985",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "7",
}

@InProceedings{Djavaheri:1985:MAC,
  author =       "Morris Djavaheri and Stan Osborne",
  title =        "{Modula-2} --- An Alternative to {C} for System
                 Programming",
  crossref =     "USENIX:1985:PUA",
  pages =        "34--42",
  month =        "Winter",
  year =         "1985",
  bibdate =      "Fri Oct 18 07:24:24 MDT 1996",
  bibsource =    "ftp://ftp.uu.net/library/bibliography;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/usenix1980.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "San Francisco State University",
}

@Article{Dubery:1985:MRR,
  author =       "J. M. Dubery",
  title =        "{Modulas-1, -2, and -3(?)} or a real real-time
                 language",
  journal =      j-ANNU-REV-AUTOM-PROGRAM,
  volume =       "13 (part 1)",
  number =       "??",
  pages =        "81--89",
  month =        "????",
  year =         "1985",
  CODEN =        "ARVAAM",
  DOI =          "https://doi.org/10.1016/0066-4138(85)90448-3",
  ISSN =         "0066-4138 (print), 1878-545X (electronic)",
  ISSN-L =       "0066-4138",
  bibdate =      "Mon Jan 14 21:50:05 MST 2013",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/adabooks.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/0066413885904483",
  acknowledgement = ack-nhfb,
  fjournal =     "Annual Review in Automatic Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00664138",
}

@Article{Dubery:1985:SAP,
  author =       "J. M. Dubery and A. J. Pinches",
  title =        "Software for an Air Pollution Measuring System: an
                 Application of {Modula}",
  journal =      j-SPE,
  volume =       "15",
  number =       "4",
  pages =        "413--422",
  month =        apr,
  year =         "1985",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380150409",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@Book{ECS:1985:SCP,
  author =       "{European Committee for Standardization}",
  title =        "Specification for computer programming language
                 {PASCAL}: {ISO 7185-1983}",
  publisher =    pub-BSI,
  address =      pub-BSI:adr,
  pages =        "73",
  year =         "1985",
  ISBN =         "0-580-12531-9",
  ISBN-13 =      "978-0-580-12531-7",
  LCCN =         "????",
  bibdate =      "Mon Feb 05 17:48:28 2001",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/isostd.bib",
  note =         "This European standard was accepted by CEN on
                 1985-08-09 \ldots{} and it \ldots{} exists in three
                 official versions (English, French, German) (BS 6192:
                 1982, ISO 7185-1983, EN 27 185: 1985).",
  URL =          "http://www.iso.ch/cate/d13802.html",
  acknowledgement = ack-nhfb,
  keywords =     "Pascal (Computer program language)",
}

@Article{Goldberg:1985:RSC,
  author =       "Morton Goldberg",
  title =        "A Response to {``Some Concerns about Modula-2''}",
  journal =      j-SIGPLAN,
  volume =       "20",
  number =       "8",
  pages =        "71--72",
  month =        aug,
  year =         "1985",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/988346.988355",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  note =         "See \cite{Moffat:1984:SCA}.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "August 1985",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "2",
}

@Article{Gutknecht:1985:CTE,
  author =       "J. Gutknecht",
  title =        "Concepts of the text editor {Lara}",
  journal =      j-CACM,
  volume =       "28",
  number =       "9",
  pages =        "942--960",
  month =        sep,
  year =         "1985",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/4284.4288",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Thu May 30 09:41:10 MDT 1996",
  bibsource =    "http://www.acm.org/pubs/toc/;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cacm1980.bib",
  URL =          "http://www.acm.org/pubs/toc/Abstracts/0001-0782/4288.html",
  abstract =     "Lara, a text editor developed for the Lilith
                 workstation, exemplifies the principles underlying
                 modern text-editor design: a high degree of
                 interactivity, an internal data structure that mirrors
                 currently displayed text, and extensive use of bitmap
                 controlled displays and facilities.",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  keywords =     "design; human factors",
  subject =      "{\bf I.7.1}: Computing Methodologies, TEXT PROCESSING,
                 Text Editing. {\bf I.7.2}: Computing Methodologies,
                 TEXT PROCESSING, Document Preparation. {\bf I.7.1}:
                 Computing Methodologies, TEXT PROCESSING, Text Editing,
                 Lara.",
}

@Article{Jesshope:1985:IPE,
  author =       "C. R. Jesshope and M. J. Crawley and G. L. Lovegrove",
  title =        "An intelligent {Pascal} editor for a graphical
                 oriented workstation",
  journal =      j-SPE,
  volume =       "15",
  number =       "11",
  pages =        "1103--1119",
  month =        nov,
  year =         "1985",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380151107",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages",
  onlinedate =   "30 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ I.3.4 Computing
                 Methodologies, COMPUTER GRAPHICS, Graphics Utilities,
                 Software support",
}

@Article{Kemmerer:1985:UUB,
  author =       "Richard A. Kemmerer and Steven T. Eckmann",
  title =        "{UNISEX}: {A UNIX-based} Symbolic {EXecutor} for
                 {Pascal}",
  journal =      j-SPE,
  volume =       "15",
  number =       "5",
  pages =        "439--458",
  month =        may,
  year =         "1985",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380150504",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@Article{Lees:1985:ICP,
  author =       "B. Lees",
  title =        "Introductory Concurrent Programming with {Modula-2}",
  journal =      j-SIGCSE,
  volume =       "17",
  number =       "3",
  pages =        "34--41",
  month =        sep,
  year =         "1985",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/382208.382521",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "Modula-2 can be a useful language for teaching the
                 principles of concurrent programming. Although the
                 language does not provide any particular process
                 synchronisation primitives, its facilities for defining
                 user modules and for low-level machine access enable it
                 to be extended to support a variety of concurrency
                 mechanisms. A description is given of how Module-2 may
                 be used to provide a concurrent programming environment
                 to give practical support to an undergraduate course in
                 operating systems.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  issuedate =    "Sept. 1985",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "8",
}

@Article{Lo:1985:SPM,
  author =       "Chingmin Jim Lo",
  title =        "Simple Patches to {Modula-2} Text {IO}",
  journal =      j-SIGPLAN,
  volume =       "20",
  number =       "6",
  pages =        "20--25",
  month =        jun,
  year =         "1985",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/988336.988339",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "June 1985",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "6",
}

@Article{Partridge:1985:SIT,
  author =       "Derek Partridge",
  title =        "Specifications and an implementation of the
                 type-ambiguity problem in {Pascal}",
  journal =      j-SPE,
  volume =       "15",
  number =       "12",
  pages =        "1141--1158",
  month =        dec,
  year =         "1985",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380151203",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages; theory",
  onlinedate =   "30 Oct 2006",
  subject =      "F.4.2 Theory of Computation, MATHEMATICAL LOGIC AND
                 FORMAL LANGUAGES, Grammars and Other Rewriting Systems,
                 Grammar types \\ D.3.2 Software, PROGRAMMING LANGUAGES,
                 Language Classifications, Pascal \\ F.3.1 Theory of
                 Computation, LOGICS AND MEANINGS OF PROGRAMS,
                 Specifying and Verifying and Reasoning about Programs,
                 Specification techniques",
}

@Article{Pase:1985:SPM,
  author =       "Douglas M. Pase",
  title =        "System Programming in {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "20",
  number =       "11",
  pages =        "49--53",
  month =        nov,
  year =         "1985",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/988291.988299",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "November 1985",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "5",
}

@Book{Pomberger:1985:LMW,
  author =       "Gustav Pomberger",
  title =        "{Lilith und Modula-2: Werkzeuge der Softwaretechnik}.
                 ({German}) [{Lilith} and {Modula-2}: Tools of Software
                 Engineering]",
  publisher =    "Hanser",
  address =      "M{\"u}nchen, West Germany",
  pages =        "198",
  year =         "1985",
  ISBN =         "3-446-14328-9 (paperback)",
  ISBN-13 =      "978-3-446-14328-9 (paperback)",
  LCCN =         "????",
  bibdate =      "Fri Jan 19 12:40:09 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "PC professionell",
  acknowledgement = ack-nhfb,
  language =     "German",
  subject =      "MODULA 2; Arbeitsplatzcomputer; Softwarewerkzeug;
                 Lilith; Computer",
}

@Article{Rudnicki:1985:PPP,
  author =       "Piotr Rudnicki and W{\l}odzimierz Drabent",
  title =        "Proving Properties of {Pascal} Programs in {MIZAR 2}",
  journal =      j-ACTA-INFO,
  volume =       "22",
  number =       "3",
  pages =        "311--331",
  month =        aug,
  year =         "1985",
  CODEN =        "AINFA2",
  ISSN =         "0001-5903 (print), 1432-0525 (electronic)",
  ISSN-L =       "0001-5903",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/actainfo.bib",
  journal-URL =  "http://link.springer.com/journal/236",
}

@Article{Segre:1985:SCA,
  author =       "Lidia Segre and Michael Stanton",
  title =        "{``Some Concerns about Modula-2''} Considered
                 Unwarranted",
  journal =      j-SIGPLAN,
  volume =       "20",
  number =       "5",
  pages =        "31--35",
  month =        may,
  year =         "1985",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/988327.988332",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  note =         "See \cite{Moffat:1984:SCA}.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "May 1985",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "5",
}

@Article{Tennent:1985:CAI,
  author =       "Robert D. Tennent",
  title =        "A comparison of the {ANSI and ISO Pascal Standards}",
  journal =      j-SPE,
  volume =       "15",
  number =       "8",
  pages =        "821--822",
  month =        aug,
  year =         "1985",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380150808",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "1 Nov 2006",
}

@Article{Tessler:1985:OPR,
  author =       "Larry Tessler",
  title =        "{Object Pascal} Report",
  journal =      "Structured Language World",
  volume =       "9",
  number =       "3",
  pages =        "10--14",
  month =        "????",
  year =         "1985",
  CODEN =        "????",
  ISSN =         "0176-9375",
  ISSN-L =       "0176-9375",
  bibdate =      "Wed Jan 10 16:44:55 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  remark =       "No on-line archives of this journal are known to the
                 bibliographer.",
}

@Article{White:1985:PPR,
  author =       "N. H. White and K. H. Bennett",
  title =        "{PRTDS} --- {A Pascal} Run-Time Diagnostics System",
  journal =      j-SPE,
  volume =       "15",
  number =       "11",
  pages =        "1041--1056",
  month =        nov,
  year =         "1985",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380151103",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "languages; performance",
  onlinedate =   "30 Oct 2006",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.3.3 Software, PROGRAMMING
                 LANGUAGES, Language Constructs, Data types and
                 structures E Data, DATA STRUCTURES \\ D.3.4 Software,
                 PROGRAMMING LANGUAGES, Processors, Compilers \\ D.2.5
                 Software, SOFTWARE ENGINEERING, Testing and Debugging,
                 Diagnostics",
}

@Article{White:1985:RTD,
  author =       "N. H. White and K. H. Bennett",
  title =        "Run-time Diagnostics in {Pascal}",
  journal =      j-SPE,
  volume =       "15",
  number =       "4",
  pages =        "359--367",
  month =        apr,
  year =         "1985",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380150405",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@Article{Wiener:1985:TAI,
  author =       "Richard S. Wiener and Richard F. Sincovec",
  title =        "Two Approaches to Implementing Generic Data Structures
                 in {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "20",
  number =       "6",
  pages =        "56--64",
  month =        jun,
  year =         "1985",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/988336.988344",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "June 1985",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "9",
}

@Article{Zimmer:1985:MMW,
  author =       "J. A. Zimmer",
  title =        "A Modest {Modula} Wish List",
  journal =      j-SIGPLAN,
  volume =       "20",
  number =       "11",
  pages =        "69--77",
  month =        nov,
  year =         "1985",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/988291.988302",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "November 1985",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "9",
}

@Article{Anderson:1986:SII,
  author =       "Terry L. Anderson",
  title =        "The Scope of Imported Identifiers in {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "21",
  number =       "9",
  pages =        "17--21",
  month =        sep,
  year =         "1986",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/885694.885696",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  abstract =     "An extension to Modula-2 is proposed that allows
                 better control of the scope of the unqualified form of
                 imported identifiers. In the current language an
                 imported identifier can be unqualified only for an
                 entire module. Ada allows a more precise control of the
                 scope. A fairly minor syntactic change to Modula-2
                 would allow a similar convenience.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "September 1986",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "5",
}

@Article{Anonymous:1986:ARBb,
  author =       "Anonymous",
  title =        "Article Review: {{\booktitle{Modula-2: an alternative
                 to C for system programming}}: Djavaheri, M. and
                 Osborne, S. \booktitle{J. Pascal, Ada, Modula-2} Vol 5
                 No 3 (May\slash June 1986) pp 47--52}",
  journal =      j-MICROPROC-MICROSYS,
  volume =       "10",
  number =       "7",
  pages =        "399",
  month =        sep,
  year =         "1986",
  CODEN =        "MIMID5",
  DOI =          "https://doi.org/10.1016/0141-9331(86)90370-4",
  ISSN =         "0141-9331 (print), 1872-9436 (electronic)",
  ISSN-L =       "0141-9331",
  bibdate =      "Mon Jan 14 21:50:09 MST 2013",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/adabooks.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/0141933186903704",
  acknowledgement = ack-nhfb,
  fjournal =     "Microprocessors and Microsystems",
}

@Article{Anonymous:1986:ARBc,
  author =       "Anonymous",
  title =        "Article Review: {{\booktitle{Object-oriented
                 programming using Modula-2}}: Wegmann, A. \booktitle{J.
                 Pascal, Ada, Modula-2} Vol 5 No 3 (May\slash June 1986)
                 pp 5--17}",
  journal =      j-MICROPROC-MICROSYS,
  volume =       "10",
  number =       "7",
  pages =        "399",
  month =        sep,
  year =         "1986",
  CODEN =        "MIMID5",
  ISSN =         "0141-9331 (print), 1872-9436 (electronic)",
  ISSN-L =       "0141-9331",
  bibdate =      "Mon Jan 14 21:50:09 MST 2013",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/adabooks.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/0141933186903753",
  acknowledgement = ack-nhfb,
  fjournal =     "Microprocessors and Microsystems",
}

@Article{Anonymous:1986:ARBd,
  author =       "Anonymous",
  title =        "Article Review: {{\booktitle{Software engineering in
                 Modula-2: implementing the GPIB (IEEE 488) in a
                 laboratory}}: Marshall, J. L. and Goldstein, R. D.,
                 \booktitle{J. Pascal, Ada, Modula-2} Vol 5 No 3
                 (May\slash June 1986) pp 28--46}",
  journal =      j-MICROPROC-MICROSYS,
  volume =       "10",
  number =       "7",
  pages =        "399",
  month =        sep,
  year =         "1986",
  CODEN =        "MIMID5",
  ISSN =         "0141-9331 (print), 1872-9436 (electronic)",
  ISSN-L =       "0141-9331",
  bibdate =      "Mon Jan 14 21:50:15 MST 2013",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/adabooks.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/0141933186903728",
  acknowledgement = ack-nhfb,
  fjournal =     "Microprocessors and Microsystems",
}

@Article{Anonymous:1986:ARBf,
  author =       "Anonymous",
  title =        "Article Review: {{\booktitle{Interfacing assembly
                 language to Modula-2 --- a case study: creating rapid
                 displays for PCs}}: Wiener, R. S. \booktitle{J. Pascal,
                 Ada \& Modula-2} Vol 5 No 4 (July\slash August 1986) pp
                 21--26}",
  journal =      j-MICROPROC-MICROSYS,
  volume =       "10",
  number =       "8",
  pages =        "452",
  month =        oct,
  year =         "1986",
  CODEN =        "MIMID5",
  DOI =          "https://doi.org/10.1016/0141-9331(86)90238-3",
  ISSN =         "0141-9331 (print), 1872-9436 (electronic)",
  ISSN-L =       "0141-9331",
  bibdate =      "Mon Jan 14 21:50:09 MST 2013",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/adabooks.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/0141933186902383",
  acknowledgement = ack-nhfb,
  fjournal =     "Microprocessors and Microsystems",
}

@Manual{Anonymous:1986:MUM,
  author =       "Anonymous",
  title =        "{Modula-2\slash 86} User's Manual",
  organization = "LOGITECH, Inc.",
  address =      "806 Veterans Blvd., Redwood City, CA 94063, USA",
  edition =      "Third",
  pages =        "xviii + 467",
  year =         "1986",
  bibdate =      "Fri Jan 19 06:02:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://www.bitsavers.org/pdf/logitech/modula-2/Modula-2_86_Ver_2.00_Users_Manual_Apr86.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Beidler:1986:CGM,
  author =       "J. Beidler and P. Jackowitz",
  title =        "Consistent Generics in {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "21",
  number =       "4",
  pages =        "32--41",
  month =        apr,
  year =         "1986",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/15095.15096",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "April 1986",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "10",
}

@Article{Biagioni:1986:POS,
  author =       "E. Biagioni and K. Hinrichs and G. Heiser and C.
                 Muller",
  title =        "Portable Operating System Interface and Utility
                 Library for {Modula-2}",
  journal =      j-IEEE-SOFTWARE,
  volume =       "3",
  number =       "6",
  pages =        "18--26",
  month =        nov,
  year =         "1986",
  CODEN =        "IESOEG",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Sat Jan 25 07:35:26 MST 1997",
  bibsource =    "Compendex database;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ieeesoft.bib",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of North Carolina, Chapel Hill, NC, USA",
  classification = "723; 902",
  fjournal =     "IEEE Software",
  journal-URL =  "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=52",
  journalabr =   "IEEE Software",
  keywords =     "computer operating systems --- Computer Interfaces;
                 computer programming languages --- Modular
                 Construction; computer software; large set operation;
                 Modula-2 application programs; operating system
                 standard interface (OSSI); Portability; standard layer;
                 standards; utility library",
}

@Article{Bruckner:1986:MPH,
  author =       "Jared A. Bruckner and James Harp",
  title =        "Minimal Perfect Hashing Functions for {Modula-2} Word
                 Lists",
  journal =      j-J-PAS-ADA-MOD,
  volume =       "5",
  number =       "6",
  pages =        "39--40",
  month =        nov # "--" # dec,
  year =         "1986",
  CODEN =        "JPAME8",
  ISSN =         "0747-1351, 0735-1232",
  ISSN-L =       "0747-1351",
  bibdate =      "Sat Jan 25 17:38:12 MST 1997",
  bibsource =    "Compendex database;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/hash.bib",
  abstract =     "A hashing function is a mapping from a set of objects
                 called `keys' to a set of objects called `addresses. '
                 The `keys' considered here are English words, and the
                 `addresses' will be integers from sets of consecutive
                 integers. A hashing function is said to be `perfect' or
                 `collision-free' if it is injective (1-1). If, in
                 addition, the function is surjective (onto), then it is
                 said to be `minimal. ' Two minimal perfect hashing
                 functions are presented. The first maps the 40 Modula-2
                 reserved words to the integers from 2 to 41, and the
                 second maps the 30 Modula-2 standard identifiers to the
                 integers from 3 to 32.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Atlantic Union Coll, South Lancaster, MA, USA",
  classification = "723",
  fjournal =     "Journal of Pascal, Ada and Modula-2",
  journalabr =   "J Pascal Ada Modula",
  keywords =     "computer programming --- Algorithms; computer
                 programming languages; minimal perfect hashing
                 functions; Modula-2 word lists; Modular Construction;
                 reserved words; standard identifiers",
}

@InProceedings{Brumfield:1986:TOSa,
  author =       "Jeffrey A. Brumfield",
  booktitle =    "Proceedings of the Seventeenth {SIGCSE} Technical
                 Symposium on Computer Science Education",
  title =        "Teaching Operating Systems with {Modula-2}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "273--282",
  year =         "1986",
  DOI =          "https://doi.org/10.1145/5600.5630",
  ISBN =         "0-89791-178-4",
  ISBN-13 =      "978-0-89791-178-8",
  bibdate =      "Fri Jan 5 15:14:43 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "SIGCSE '86",
  abstract =     "Programming projects in an operating systems course
                 expose students to issues involved in the design and
                 implementation of operating systems. The Modula-2
                 language provides features needed in such projects.
                 This paper overviews the capabilities of Modula-2 and
                 describes a programming project in which students
                 implement a process manager for an operating system.
                 The process manager supports concurrent processes and
                 provides operations for their synchronization and
                 communication.",
  acknowledgement = ack-nhfb,
  location =     "Cincinnati, Ohio, USA",
  numpages =     "10",
}

@Article{Brumfield:1986:TOSb,
  author =       "Jeffrey A. Brumfield",
  title =        "Teaching Operating Systems with {Modula-2}",
  journal =      j-SIGCSE,
  volume =       "18",
  number =       "1",
  pages =        "273--282",
  month =        feb,
  year =         "1986",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/953055.5630",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse1980.bib",
  abstract =     "Programming projects in an operating systems course
                 expose students to issues involved in the design and
                 implementation of operating systems. The Modula-2
                 language provides features needed in such projects.
                 This paper overviews the capabilities of Modula-2 and
                 describes a programming project in which students
                 implement a process manager for an operating system.
                 The process manager supports concurrent processes and
                 provides operations for their synchronization and
                 communication.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  issuedate =    "February 1986",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "10",
}

@Book{Christian:1986:GM,
  author =       "Kaare Christian",
  title =        "A Guide to {Modula-2}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xix + 436",
  year =         "1986",
  ISBN =         "0-387-96242-5",
  ISBN-13 =      "978-0-387-96242-9",
  LCCN =         "QA76.73.M63 C494 1986",
  bibdate =      "Tue Dec 14 23:27:52 1993",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  price =        "US\$28.00",
  acknowledgement = ack-nhfb,
  shorttableofcontents = "I Moving to Modula-2 \\
                 1 Modula-2 and Pascal \\
                 2 Data in Modula-2 \\
                 3 Control Flow in Modula-2 \\
                 4 Procedures \\
                 5 Arrays \\
                 II Modules \\
                 6 Local MODULES \\
                 7 Definition Modules \\
                 8 Implementation Modules \\
                 9 Common Global MODULES \\
                 10 Desk Calculator with Variables and Assignments \\
                 III Advanced Data Types \\
                 11 Enumerations \\
                 12 Sets \\
                 13 Records \\
                 14 Dynamic Data \\
                 15 Procedure Variables \\
                 IV Systems Programming \\
                 16 TYPE Relaxation \\
                 17 Programming Hardware \\
                 18 Coroutines \\
                 19 Device Drivers \\
                 Appendices \\
                 I. Modula-2's Reserved Words \\
                 II. Modula-2's Standard Identifiers \\
                 III. Modula-2's Standard Functions \\
                 IV. Standard PROCEDURES from SYSTEM \\
                 V. Standard Coroutine PROCEDURES \\
                 VI. Legal Modula-2 Operations \\
                 VII. Strict TYPE Compatibility \\
                 VIII. Assignment TYPE Compatibility \\
                 IX. The ASCII Character Set \\
                 X. Implementation Notes \\
                 XI. Syntax Diagrams \\
                 Modules \\
                 Procedures \\
                 Types \\
                 Declarations \\
                 Constants \\
                 Variables \\
                 Operators \\
                 Statements",
  tableofcontents = "Part I: Moving to Modula-2 / 1 \\
                 1: Modula-2 and Pascal / 3 \\
                 1.1 Modula-2 and Pascal / 4 \\
                 1.2 MODULES / 6 \\
                 1.3 IMPORT and EXPORT / 13 \\
                 1.4 An Overview of the InOut global MODULE / 17 \\
                 1.5 Example --- The Underline Filter / 18 \\
                 1.6 Syntax Diagrams / 20 \\
                 1.6.1 Sequence / 21 \\
                 1.6.2 Optional Paths / 21 \\
                 1.6.3 Alternative Paths / 21 \\
                 1.6.4 Repetitive Paths / 22 \\
                 1.7 The Elements of a Modula-2 Program / 23 \\
                 1.7.1 Identifiers / 26 \\
                 1.7.2 Modula-2 Reserved Words and Standard Identifiers
                 / 27 \\
                 2: Data in Modula-2 / 30 \\
                 2.1 Declarations and Variables / 31 \\
                 2.2 Eight Useful Data TYPES / 34 \\
                 2.2.1 BOOLEAN / 37 \\
                 2.2.2 INTEGER / 40 \\
                 2.2.3 CARDINAL / 43 \\
                 2.2.4 CHAR / 45 \\
                 2.2.5 REAL / 48 \\
                 2.2.6 Long Data TYPES / 51 \\
                 2.3 TYPE Compatibility and TYPE Transfer Functions / 51
                 \\
                 2.3.1 INTEGERS and CARDINALS / 53 \\
                 2.3.2 REALS and CARDINALS / 54 \\
                 2.3.3 CHARS and CARDINALS / 55 \\
                 2.4 Assignments, Expressions, and Precedence / 57 \\
                 2.5 Constants / 64 \\
                 2.5.1 Named Constants / 68 \\
                 3: Control Flow in Modula-2 / 71 \\
                 3.1 The IF Statement / 74 \\
                 3.2 The CASE Statement / 77 \\
                 3.3 The WHILE Statement / 80 \\
                 3.4 The REPEAT Statement / 84 \\
                 3.5 The FOR Statement / 87 \\
                 3.6 The LOOP and EXIT Statements / 90 \\
                 4: PROCEDURES / 94 \\
                 4.1 MODULES and PROCEDURES / 95 \\
                 4.2 PROCEDURES / 96 \\
                 4.3 Variable and Value Parameters / 100 \\
                 4.4 Ordinary and Function PROCEDURES / 104 \\
                 4.5 The RETURN Statement / 105 \\
                 4.6 N Factorial / 106 \\
                 4.7 PROCEDURE Scope / 109 \\
                 4.8 Recursion / 116 \\
                 4.9 Example --- A Desk Calculator / 118 \\
                 5: ARRAYS / 128 \\
                 5.1 TYPE Declarations / 134 \\
                 5.2 ARRAYS as PROCEDURE Parameters / 137 \\
                 5.3 Open ARRAY Parameters / 139 \\
                 5.4 Multiple ARRAY Dimensions / 143 \\
                 5.5 Subranges / 145 \\
                 5.6 String Variables / 148 \\
                 5.7 Example --- Long Arithmetic / 151 \\
                 Part II: MODULES / 157 \\
                 6: Local MODULES / 159 \\
                 6.1 Local MODULE Bodies / 166 \\
                 6.2 Static Variables / 170 \\
                 6.3 Example --- The Sieve of Eratosthenes / 173 \\
                 7: DEFINITION MODULES / 178 \\
                 7.1 Definitions / 181 \\
                 7.1.1 Constant and Variable Definitions / 183 \\
                 7.1.2 TYPE Definitions / 184 \\
                 7.1.3 PROCEDURE Definitions / 186 \\
                 7.2 Hiding PROCEDURES --- String Utilities Definition /
                 187 \\
                 7.3 Hiding Data --- A Circular Buffer / 188 \\
                 8: IMPLEMENTATION MODULES / 190 \\
                 8.1 Compilation / 191 \\
                 8.2 Strings Implementation / 194 \\
                 8.3 Circular Buffer Implementation / 200 \\
                 9: Common Global MODULES / 204 \\
                 9.1 InOut / 205 \\
                 9.2 RealInOut / 208 \\
                 9.3 Terminal / 208 \\
                 9.4 Streams / 210 \\
                 9.5 Files / 213 \\
                 9.6 MathLibO / 214 \\
                 9.7 LineDrawing / 215 \\
                 10: Desk Calculator with Variables and Assignments /
                 216 \\
                 10.1 Adding Variables to the Desk Calculator Program /
                 217 \\
                 10.2 Organizing the Desk Calculator / 218 \\
                 10.3 The CalcVariables MODULE / 221 \\
                 10.4 The CalcInput MODULE / 222 \\
                 10.5 the CalcStatement MODULE - / 225 \\
                 10.6 The Calc2 Program / 230 \\
                 Part III: Advanced Data Types / 233 \\
                 11: Enumerations / 235 \\
                 11.1 VAL / 240 \\
                 11.1.1 Example --- the Months Global MODULE / 241 \\
                 11.2 Example --- Running a Maze / 243 \\
                 12: SETS / 250 \\
                 12.1 BITSETS / 252 \\
                 12.2 SET Operations / 253 \\
                 12.3 INCL and EXCL / 256 \\
                 12.4 Example --- Packed BOOLEANS and the Sieve
                 Revisited / 258 \\
                 13: RECORDS / 264 \\
                 13.1 The WITH Statement / 268 \\
                 13.2 Example --- Linked Lists / 270 \\
                 13.3 Variant RECORDS / 278 \\
                 13.4 Example --- Breadth First Maze Search / 282 \\
                 14: Dynamic Data / 289 \\
                 14.1 POINTERS / 290 \\
                 14.1.1 POINTER Assignment / 293 \\
                 14.1.2 Dereferencing / 294 \\
                 14.1.3 POINTER Comparison / 296 \\
                 14.2 ALLOCATE and DEALLOCATE / 297 \\
                 14.3 Example --- Binary Trees / 300 \\
                 15: Procedure Variables / 306 \\
                 15.1 Example --- The Quicksort / 309 \\
                 Part IV: Systems Programming / 319 \\
                 16: TYPE Relaxation / 321 \\
                 16.1 The SYSTEM MODULE / 322 \\
                 16.2 WORD / 325 \\
                 16.3 ADDRESS / 326 \\
                 16.3.1 SIZE, TSIZE, and ADR / 327 \\
                 16.3.2 A Stack Storage System / 328 \\
                 16.4 TYPE Names as TYPE Transfer Functions / 332 \\
                 16.5 Example --- Generic Quicksort / 336 \\
                 17: Programming Hardware / 345 \\
                 17.1 Located Variables / 347 \\
                 17.2 MODULE Priorities / 349 \\
                 18: Coroutines / 357 \\
                 18.1 Coroutines and Subroutines / 358 \\
                 18.2 PROCESS, NEWPROCESS, and TRANSFER / 359 \\
                 18.3 Example --- The Polling Term Program / 362 \\
                 19: Device Drivers / 367 \\
                 19.1 IOTRANSFER / 368 \\
                 19.2 Example --- A Clock Driver / 370 \\
                 19.3 Example --- Timing a Spike Train / 373 \\
                 19.4 Example --- The Interrupt driven Term Program /
                 381 \\
                 Appendices I. Modula-2's Reserved Words / 387 \\
                 II. Modula-2's Standard Identifiers / 389 \\
                 III. Modula-2's Standard Functions / 391 \\
                 IV. Standard PROCEDURES from SYSTEM / 397 \\
                 V. Standard Coroutine PROCEDURES / 399 \\
                 VI. Legal Modula-2 Operations / 401 \\
                 VII. Strict TYPE Compatibility / 403 \\
                 VIII. Assignment TYPE Compatibility / 405 \\
                 IX. The ASCII Character Set / 407 \\
                 X. Implementation Notes / 409 \\
                 XI. Syntax Diagrams / 411 \\
                 MODULES / 412 \\
                 PROCEDURES / 415 \\
                 TYPES / 417 \\
                 Declarations / 420 \\
                 Constants / 422 \\
                 Variables / 424 \\
                 Operators / 426 \\
                 Statements / 427 \\
                 Index / 430",
}

@Article{Christiansen:1986:MLC,
  author =       "H. P. Christiansen and A. Lacroix and K. Lundberg and
                 A. McKeeman and P. D. V. van der Stok",
  title =        "More or Less Concerns about {MODULA-2}",
  journal =      j-SIGPLAN,
  volume =       "21",
  number =       "9",
  pages =        "27--31",
  month =        sep,
  year =         "1986",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/885694.885698",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "September 1986",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "5",
}

@Article{Dowsing:1986:WCA,
  author =       "R. D. Dowsing and M. T. Sanderson",
  title =        "Writing Concurrent Assemblers --- a Case Study in
                 {Path Pascal}",
  journal =      j-SPE,
  volume =       "16",
  number =       "12",
  pages =        "1117--1135",
  month =        dec,
  year =         "1986",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380161206",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@Article{Feldman:1986:AVM,
  author =       "M. B. Feldman",
  title =        "{Ada} vs. {Modula-2}: a Response from the {Ivory
                 Tower}",
  journal =      j-SIGPLAN,
  volume =       "21",
  number =       "5",
  pages =        "39--44",
  month =        may,
  year =         "1986",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/14947.14948",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "May 1986",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "6",
}

@InProceedings{Feldman:1986:MPOa,
  author =       "Michael B. Feldman",
  booktitle =    "Proceedings of the Seventeenth {SIGCSE} Technical
                 Symposium on Computer Science Education",
  title =        "{Modula-2} Projects for an Operation-Systems Course:
                 Racing Sorts and Multiple Windows",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "283--288",
  year =         "1986",
  DOI =          "https://doi.org/10.1145/5600.5631",
  ISBN =         "0-89791-178-4",
  ISBN-13 =      "978-0-89791-178-8",
  bibdate =      "Fri Jan 5 15:14:43 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "SIGCSE '86",
  abstract =     "A Modula-2-based project series is presented. This
                 three-project sequence is suitable for an undergraduate
                 course in operating systems or systems programming, and
                 embodies the three important principles of concurrent
                 programming, algorithm animation, and code
                 modification. Heavy use is made of the Modula-2 module;
                 much of the code in the projects is given away to the
                 students, who must then adapt it for the purpose. The
                 project series requires the animation of several sort
                 algorithms, which are invoked as independent tasks
                 under Modula-2 and display their state in different
                 screen windows. These projects do not require special
                 hardware and can be run using a ``dumb terminal'' 24 x
                 80 screen.",
  acknowledgement = ack-nhfb,
  location =     "Cincinnati, Ohio, USA",
  numpages =     "6",
}

@Article{Feldman:1986:MPOb,
  author =       "Michael B. Feldman",
  title =        "{Modula-2} Projects for an Operation-Systems Course:
                 Racing Sorts and Multiple Windows",
  journal =      j-SIGCSE,
  volume =       "18",
  number =       "1",
  pages =        "283--288",
  month =        feb,
  year =         "1986",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/953055.5631",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse1980.bib",
  abstract =     "A Modula-2-based project series is presented. This
                 three-project sequence is suitable for an undergraduate
                 course in operating systems or systems programming, and
                 embodies the three important principles of concurrent
                 programming, algorithm animation, and code
                 modification. Heavy use is made of the Modula-2 module;
                 much of the code in the projects is given away to the
                 students, who must then adapt it for the purpose. The
                 project series requires the animation of several sort
                 algorithms, which are invoked as independent tasks
                 under Modula-2 and display their state in different
                 screen windows. These projects do not require special
                 hardware and can be run using a ``dumb terminal'' 24 x
                 80 screen.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  issuedate =    "February 1986",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "6",
}

@Article{Forsythe:1986:CDS,
  author =       "Kenneth Forsythe and Stanislaw Matwin",
  title =        "Copying of Dynamic Structures in a {Pascal}
                 Environment",
  journal =      j-SPE,
  volume =       "16",
  number =       "4",
  pages =        "335--340",
  month =        apr,
  year =         "1986",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380160403",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@Article{Foster:1986:SCM,
  author =       "David G. Foster",
  title =        "Separate Compilation in a {Modula-2} Compiler",
  journal =      j-SPE,
  volume =       "16",
  number =       "2",
  pages =        "101--106",
  month =        feb,
  year =         "1986",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380160202",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "design; languages",
  onlinedate =   "30 Oct 2006",
  review =       "ACM CR 8610-0910",
  subject =      "D.3.4 Software, PROGRAMMING LANGUAGES, Processors,
                 Compilers \\ D.3.2 Software, PROGRAMMING LANGUAGES,
                 Language Classifications, Modula-2 \\ D.2.6 Software,
                 SOFTWARE ENGINEERING, Programming Environments \\ D.3.3
                 Software, PROGRAMMING LANGUAGES, Language Constructs,
                 Modules, packages",
}

@InProceedings{Gabrini:1986:CPMa,
  author =       "Philippe J. Gabrini and J. Mack Adams and Barry L.
                 Kurtz",
  booktitle =    "Proceedings of the Seventeenth {SIGCSE} Technical
                 Symposium on Computer Science Education",
  title =        "Converting from {Pascal} to {Modula-2} in the
                 Undergraduate Curriculum",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "50--52",
  year =         "1986",
  DOI =          "https://doi.org/10.1145/5600.5629",
  ISBN =         "0-89791-178-4",
  ISBN-13 =      "978-0-89791-178-8",
  bibdate =      "Fri Jan 5 15:14:43 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "SIGCSE '86",
  abstract =     "Modula-2 has been adopted as the primary programming
                 language at New Mexico State University. This paper
                 discusses the reasons which led to this choice of a new
                 primary programming language. It compares some of the
                 features of Pascal, Modula-2 and Ada. It also gives the
                 results of our implementation efforts.",
  acknowledgement = ack-nhfb,
  location =     "Cincinnati, Ohio, USA",
  numpages =     "3",
}

@Article{Gabrini:1986:CPMb,
  author =       "Philippe J. Gabrini and J. Mack Adams and Barry L.
                 Kurtz",
  title =        "Converting from {Pascal} to {Modula-2} in the
                 Undergraduate Curriculum",
  journal =      j-SIGCSE,
  volume =       "18",
  number =       "1",
  pages =        "50--52",
  month =        feb,
  year =         "1986",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/953055.5629",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse1980.bib",
  abstract =     "Modula-2 has been adopted as the primary programming
                 language at New Mexico State University. This paper
                 discusses the reasons which led to this choice of a new
                 primary programming language. It compares some of the
                 features of Pascal, Modula-2 and Ada. It also gives the
                 results of our implementation efforts.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  issuedate =    "February 1986",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "3",
}

@Article{Goldsby:1986:CUG,
  author =       "M. E. Goldsby",
  title =        "Concurrent Use of Generic Types in {MODULA-2}",
  journal =      j-SIGPLAN,
  volume =       "21",
  number =       "6",
  pages =        "28--34",
  month =        jun,
  year =         "1986",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/14937.14939",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "June 1986",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "7",
}

@Article{Greenwood:1986:CVT,
  author =       "J. R. Greenwood",
  title =        "Comments on {``A View from the Trenches''. Ada vs.
                 Modula-2 vs. Praxis}",
  journal =      j-SIGPLAN,
  volume =       "21",
  number =       "5",
  pages =        "45--49",
  month =        may,
  year =         "1986",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/14947.14949",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1980.bib",
  note =         "See \cite{Bielak:1985:AVM}.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "May 1986",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "5",
}

@Article{Gutknecht:1986:SCM,
  author =       "J. Gutknecht",
  title =        "Separate Compilation in {Modula-2}: an Approach to
                 Efficient Symbol Files",
  journal =      j-IEEE-SOFTWARE,
  volume =       "3",
  number =       "6",
  pages =        "29--38",
  month =        nov,
  year =         "1986",
  CODEN =        "IESOEG",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Sat Jan 25 07:35:26 MST 1997",
  bibsource =    "Compendex database;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ieeesoft.bib",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Inst for Information, Zurich, Switz",
  classification = "723",
  fjournal =     "IEEE Software",
  journal-URL =  "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=52",
  journalabr =   "IEEE Software",
  keywords =     "artificial intelligence; computer operating systems;
                 computer programming languages --- Modular
                 Construction; computer programs; data processing ---
                 Data Structures; definition modules; knowledge-based
                 problem-solving; Modula-Prolog package; Program
                 Compilers; symbol file blocks",
}

@Article{Horton:1986:UCP,
  author =       "I. A. Horton and S. J. Turner",
  title =        "Using coroutines in {Pascal}",
  journal =      j-SPE,
  volume =       "16",
  number =       "1",
  pages =        "45--61",
  month =        jan,
  year =         "1986",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380160105",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  keywords =     "algorithms; languages",
  onlinedate =   "30 Oct 2006",
  review =       "ACM CR 8703-0174",
  subject =      "D.3.3 Software, PROGRAMMING LANGUAGES, Language
                 Constructs, Coroutines \\ D.3.2 Software, PROGRAMMING
                 LANGUAGES, Language Classifications, Pascal",
}

@Article{Liu:1986:SPM,
  author =       "Ken-Chih Liu",
  title =        "A String Pattern Matching Extension to {Pascal} and
                 Some Comparisons with {SNOBOL4}",
  journal =      j-SPE,
  volume =       "16",
  number =       "6",
  pages =        "541--548",
  month =        jun,
  year =         "1986",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380160605",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib;
                 https://www.math.utah.edu/pub/tex/bib/string-matching.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Softw. Pract. Exp.",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "30 Oct 2006",
}

@Article{Madhavji:1986:MML,
  author =       "Nazim H. Madhavji and Luc Pinsonneault and Kamel
                 Toubache",
  title =        "{Modula-2\slash MUPE-2}: Language and Environment
                 Interactions",
  journal =      j-IEEE-SOFTWARE,
  volume =       "3",
  number =       "6",
  pages =        "7--17",
  month =        nov,
  year =         "1986",
  CODEN =        "IESOEG",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Sat Jan 25 07:35:26 MST 1997",
  bibsource =    "Compendex database;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ieeesoft.bib",
  acknowledgement = ack-nhfb,
  affiliationaddress = "McGill Univ, Montreal, Que, Can",
  classification = "723",
  fjournal =     "IEEE Software",
  journal-URL =  "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=52",
  journalabr =   "IEEE Software",
  keywords =     "computer programming languages; computer software ---
                 Software Engineering; DEF-IMP module; formal
                 construction rules; language-environment interactions;
                 McGill university programming environment (MUPE-2);
                 Modula-2; Modular Construction",
}

@Article{Muller:1986:MPS,
  author =       "Carlo Muller",
  title =        "{Modula-Prolog}: a Software Development Tool",
  journal =      j-IEEE-SOFTWARE,
  volume =       "3",
  number =       "6",
  pages =        "39--45",
  month =        nov,
  year =         "1986",
  CODEN =        "IESOEG",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Sat Jan 25 07:35:26 MST 1997",
  bibsource =    "Compendex database;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ieeesoft.bib",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Brown Boveri Research Cent, Baden, Switz",
  classification = "723",
  fjournal =     "IEEE Software",
  journal-URL =  "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=52",
  journalabr =   "IEEE Software",
  keywords =     "artificial intelligence; automatic testing ---
                 Equipment; computer programming languages; computer
                 software --- Computer Interfaces; knowledge-based
                 diagnosis system; Modula-2 language; Modula-Prolog
                 software development tool; Modular Construction;
                 programmable testing",
}

@Article{Rand:1986:PPI,
  author =       "D. W. Rand",
  title =        "{PASCAL} programs for identification of {Lie}
                 algebras: Part 1. {Radical} --- a program to calculate
                 the radical and nil radical of parameter-free and
                 parameter-dependent {Lie} algebras",
  journal =      j-COMP-PHYS-COMM,
  volume =       "41",
  number =       "1",
  pages =        "105--125",
  month =        jul,
  year =         "1986",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/0010-4655(86)90024-X",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  MRclass =      "17-04",
  MRnumber =     "851302",
  bibdate =      "Mon Feb 13 10:28:14 MST 2012",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bibo;
                 https://www.math.utah.edu/pub/tex/bib/compphyscomm1980.bib",
  note =         "See erratum \cite{Rand:1987:ENP}.",
  URL =          "http://www.sciencedirect.com/science/article/pii/001046558690024X",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Physics Communications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

@Article{Rovner:1986:EMB,
  author =       "Paul Rovner",
  title =        "Extending {Modula-2} to Build Large, Integrated
                 Systems",
  journal =      j-IEEE-SOFTWARE,
  volume =       "3",
  number =       "6",
  pages =        "46--57",
  month =        nov,
  year =         "1986",
  CODEN =        "IESOEG",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Sat Jan 25 07:35:26 MST 1997",
  bibsource =    "Compendex database;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ieeesoft.bib",
  acknowledgement = ack-nhfb,
  affiliationaddress = "DEC Systems Research Cent, Palo Alto, CA, USA",
  classification = "722; 723",
  fjournal =     "IEEE Software",
  journal-URL =  "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=52",
  journalabr =   "IEEE Software",
  keywords =     "computer programming languages; computer systems,
                 digital --- Multiprocessing; computers, personal ---
                 Computer Interfaces; concurrency; data processing ---
                 Data Structures; data storage units; Firefly personal
                 workstation; Modula-2 extension; Modular Construction;
                 shared data structure and code; shared memory",
}

@Article{Rudnicki:1986:PPP,
  author =       "Piotr Rudnicki and W{\l}odzimierz Drabent",
  title =        "Proving Properties of {Pascal} Programs in {MIZAR 2}",
  journal =      j-ACTA-INFO,
  volume =       "22",
  number =       "6",
  pages =        "699--707",
  month =        mar,
  year =         "1986",
  CODEN =        "AINFA2",
  DOI =          "https://doi.org/10.1109/MS.1986.229476",
  ISSN =         "0001-5903 (print), 1432-0525 (electronic)",
  ISSN-L =       "0001-5903",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/actainfo.bib",
  journal-URL =  "http://link.springer.com/journal/236",
}

@Book{Schiper:1986:PCI,
  author =       "A. Schiper",
  title =        "Programmation concurrente: Illustr{\'e} par des
                 exemples en {Portal}, {Modula-2} et {Ada}",
  publisher =    "Pr. Polytechniques Romandes",
  address =      "Lausanne, Switzerland",
  pages =        "295",
  year =         "1986",
  ISBN =         "2-88074-093-2",
  ISBN-13 =      "978-2-88074-093-1",
  LCCN =         "????",
  bibdate =      "Sun Jan 13 11:01:23 MST 2013",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/adabooks.bib;
                 z3950.gbv.de:20011/gvk",
  series =       "Collection informatique.",
  URL =          "http://www.zentralblatt-math.org/zmath/en/search/?an=0659.68032",
  acknowledgement = ack-nhfb,
}

@Article{Sebesta:1986:FIA,
  author =       "Robert W. Sebesta and Mark A. Taylor",
  title =        "Fast Identification of {Ada} and {Modula-2} Reserved
                 Words",
  journal =      j-J-PAS-ADA-MOD,
  volume =       "5",
  number =       "2",
  pages =        "36--39",
  month =        mar # "\slash " # apr,
  year =         "1986",
  CODEN =        "JPAME8, JOPAD5",
  ISSN =         "0747-1351, 0735-1232",
  bibdate =      "Sat Jan 25 17:38:12 MST 1997",
  bibsource =    "Compendex database;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/adabooks.bib;
                 https://www.math.utah.edu/pub/tex/bib/hash.bib",
  abstract =     "Identifying the reserved words of a programming
                 language is most often by comparing candidate strings
                 with the entries of a table of the reserved words. The
                 speed of a table search process depends on the chosen
                 method, which in turn depends on the attributes of the
                 table elements. Important list attributes include
                 whether the list is ordered or unordered, static or
                 dynamic, or long or short. Typically, a short list is
                 searched linearly. Long lists are often constructed and
                 searched using hashing functions. Ordered long lists
                 can be searched quickly by binary search methods, which
                 are slower than hash functions but require less space.
                 A binary search is also more universal than a hash
                 function, because hash functions usually must be
                 tailored to the data in the table.",
  acknowledgement = ack-nhfb,
  affiliationaddress = "Univ of Colorado, Colorado Springs, CO, USA",
  classification = "723",
  fjournal =     "Journal of Pascal, Ada and Modula-2",
  journalabr =   "J Pascal Ada Modula",
  keywords =     "Ada; binary search; computer programming languages;
                 computer systems programming --- Table Lookup; hash
                 function; Modula-2; reserved words",
}

@Article{Shammas:1986:MCI,
  author =       "Namir Clement Shammas",
  title =        "{Modula-2} Compilers for the {IBM PC}",
  journal =      j-DDJ,
  volume =       "11",
  number =       "10",
  pages =        "48--??",
  month =        oct,
  year =         "1986",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Mon Sep 2 09:09:39 MDT 1996",
  bibsource =    "http://www.dd