Valid HTML 4.0! Valid CSS!
%%% -*-BibTeX-*-
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "1.18",
%%%     date            = "07 August 2024",
%%%     time            = "08:09:24 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        = "22084 29458 132023 1345793",
%%%     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.18, 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 =    "Wed Aug  7 08:09:24 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 =     "Siefkes: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.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,
}

@Article{Shammas:1986:TPP,
  author =       "Namir Clement Shammas",
  title =        "{Turbo Pascal} Procedural Parameters, Local Modules in
                 {Modula-2}",
  journal =      j-DDJ,
  volume =       "11",
  number =       "12",
  pages =        "96--??",
  month =        dec,
  year =         "1986",
  CODEN =        "DDJOEB",
  ISSN =         "0888-3076",
  bibdate =      "Thu Jan 9 09:35:43 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/dr-dobbs-1980.bib",
  acknowledgement = ack-nhfb,
  classification = "723",
  journalabr =   "Dr Dobb's J Software Tools",
  keywords =     "computer programming; computer programs; local modules
                 in Modula-2; Structured Programming; Turbo Pascal
                 procedural parameters",
  pagecount =    "9p between p 96 and 121",
}

@Book{Sincovec:1986:DSU,
  author =       "R. F. Sincovec and R. S. Wiener",
  title =        "Data Structures Using {Modula-2}",
  publisher =    pub-JW,
  address =      pub-JW:adr,
  pages =        "xxiii + 500",
  year =         "1986",
  ISBN =         "0-471-81489-X",
  ISBN-13 =      "978-0-471-81489-4",
  LCCN =         "QA76.73.M63 S56 1986",
  bibdate =      "Wed Jul 13 18:50:54 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,
  descriptor =   "Baum, Datenabstraktion, Datenstruktur, Hashing,
                 Implementierung, Liste, Modula, Queue, Rekursion,
                 Sortieren, Speicherverwaltung, Stack",
  remark =       "Lehrbuch {\"u}ber Datenstrukturen, Genauer
                 Datenabstraktionen und Deren Implementierungen in
                 Modula-2 Kritik: Nur Kurze Erklaerungen von
                 Datenstrukturen und Algorithmen, Wenig Fortgeschrittene
                 Konzepte, {\"U}bertrieben Viel Programm-texte und
                 Programm-walkthroughs, Keine Analysen.",
}

@Article{Terry:1986:MKS,
  author =       "P. D. Terry",
  title =        "A {Modula-2} kernel for supporting monitors",
  journal =      j-SPE,
  volume =       "16",
  number =       "5",
  pages =        "457--472",
  month =        may,
  year =         "1986",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380160507",
  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; legal aspects; security",
  onlinedate =   "30 Oct 2006",
  review =       "ACM CR 8704-0278",
  subject =      "D.4.1 Software, OPERATING SYSTEMS, Process Management
                 \\ D.4.1 Software, OPERATING SYSTEMS, Process
                 Management, Concurrency \\ D.4.1 Software, OPERATING
                 SYSTEMS, Process Management, Synchronization \\ D.3.3
                 Software, PROGRAMMING LANGUAGES, Language Constructs,
                 Concurrent programming structures \\ D.3.2 Software,
                 PROGRAMMING LANGUAGES, Language Classifications,
                 Modula-2 \\ D.4.8 Software, OPERATING SYSTEMS,
                 Performance, Monitors \\ D.4.1 Software, OPERATING
                 SYSTEMS, Process Management, Scheduling \\ D.4.1
                 Software, OPERATING SYSTEMS, Process Management, Mutual
                 exclusion",
}

@Article{Walker:1986:DAM,
  author =       "Bill Walker and Stephen Alexander",
  title =        "Data Abstraction with {Modula-2}",
  journal =      j-DDJ,
  volume =       "11",
  number =       "2",
  pages =        "62--64, 94, 95",
  month =        feb,
  year =         "1986",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Sep 03 09:17:49 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/dr-dobbs-1980.bib",
  acknowledgement = ack-nhfb,
}

@Article{Walker:1986:IPP,
  author =       "A. N. Walker",
  title =        "The {Ilem Project}: {Pascal} to {Algol} in Easy Stages
                 {I}: Outward Bound",
  journal =      j-SPE,
  volume =       "16",
  number =       "12",
  pages =        "1097--1107",
  month =        dec,
  year =         "1986",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380161204",
  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{Welsh:1986:MIS,
  author =       "Jim Welsh and Atholl Hay",
  title =        "A Model Implementation of {Standard Pascal}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xi + 483",
  year =         "1986",
  ISBN =         "0-13-586454-2",
  ISBN-13 =      "978-0-13-586454-8",
  LCCN =         "QA76.73P2 W47",
  bibdate =      "Wed Jan 10 18:12:26 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  tableofcontents = "The compiler \\
                 Compiler overview \\
                 Global definitions and declarations \\
                 Option handling \\
                 Source input and listing generation \\
                 Object program generation \\
                 Postmortem diagnostics \\
                 Lexical analysis \\
                 Syntax analysis and Syntax error recovery \\
                 Semantic analysis and semantic error recovery \\
                 Program analysis \\
                 Code generator overview \\
                 Data representations \\
                 Static storage management \\
                 Object value manipulation \\
                 Code file emission \\
                 Variable reference generation \\
                 Expression evaluation \\
                 P-code assembly and Data acces code generation \\
                 Code generation for assignments \\
                 Code generation for with statements \\
                 Code generation for standard procedures \\
                 Code generation for control structures \\
                 Code generation for procedure and functions calls \\
                 Mapping program parameters \\
                 Code generations for manual operations \\
                 Code generation for augmented type representations \\
                 Diagnostic file generation \\
                 Code generator initialisation \\
                 The driver program \\
                 P-machine overview \\
                 Global definitions and declarations \\
                 P-machine control \\
                 P-machine micro-operations \\
                 Memory management \\
                 Object program format \\
                 Data representations and arithmetic utilities \\
                 System file Interface \\
                 Pascal I/O management \\
                 Program execution \\
                 The driver program \\
                 The postmortem generator \\
                 Postmortem generator overview \\
                 Global definitions and declarations \\
                 The diagnostic files \\
                 Error message output \\
                 Symbolic variable dump \\
                 The driver program",
}

@Article{Wiener:1986:PAU,
  author =       "R. S. Wiener",
  title =        "Protecting against uninitialized abstract objects in
                 {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "21",
  number =       "6",
  pages =        "63--69",
  month =        jun,
  year =         "1986",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/14937.14945",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Apr 25 11:46:37 MDT 1998",
  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 note \cite{Torbett:1987:NPA}.",
  acknowledgement = ack-nhfb,
  classification = "C6140D (High level languages)",
  corpsource =   "Dept. of Comput. Sci., Colorado Univ., Colorado
                 Springs, CO, USA",
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "June 1986",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  keywords =     "abstract data type; data structures; languages;
                 Modula; Modula-2; search tree module; uninitialized
                 abstract objects",
  numpages =     "7",
  pubcountry =   "USA A08",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Modula-2 \\ D.3.3 Software,
                 PROGRAMMING LANGUAGES, Language Constructs, Abstract
                 data types",
  treatment =    "P Practical",
}

@Article{Woodman:1986:FSM,
  author =       "Mark Woodman",
  title =        "Formatted Syntaxes and {Modula-2}",
  journal =      j-SPE,
  volume =       "16",
  number =       "7",
  pages =        "605--626",
  month =        jul,
  year =         "1986",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380160702",
  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",
  xxpages =      "605--625",
}

@Article{Anonymous:1987:ARBa,
  author =       "Anonymous",
  title =        "Article Review: {{\booktitle{Plotting curves and data
                 with microcomputers}}: Molau, G. E. \booktitle{J.
                 Pascal, Ada, Modula-2} Vol 5 No 5 (September/October
                 1986) pp 5--45}",
  journal =      j-MICROPROC-MICROSYS,
  volume =       "11",
  number =       "2",
  pages =        "112",
  month =        mar,
  year =         "1987",
  CODEN =        "MIMID5",
  DOI =          "https://doi.org/10.1016/0141-9331(87)90228-6",
  ISSN =         "0141-9331 (print), 1872-9436 (electronic)",
  ISSN-L =       "0141-9331",
  bibdate =      "Mon Jan 14 21:50:16 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/0141933187902286",
  acknowledgement = ack-nhfb,
  fjournal =     "Microprocessors and Microsystems",
}

@Article{Anonymous:1987:ARBc,
  author =       "Anonymous",
  title =        "Article Review: {{\booktitle{Review of three Modula-2
                 development systems for the IBM PC}}: Ural, S.
                 \booktitle{J. Pascal, Ada and Modula-2} Vol 5 No 6
                 (November\slash December 1986) pp 48--55}",
  journal =      j-MICROPROC-MICROSYS,
  volume =       "11",
  number =       "3",
  pages =        "168",
  month =        apr,
  year =         "1987",
  CODEN =        "MIMID5",
  DOI =          "https://doi.org/10.1016/0021-9991(84)90119-0",
  ISSN =         "0141-9331 (print), 1872-9436 (electronic)",
  ISSN-L =       "0141-9331",
  bibdate =      "Mon Jan 14 21:50:13 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/014193318790161X",
  acknowledgement = ack-nhfb,
  fjournal =     "Microprocessors and Microsystems",
}

@Article{Anonymous:1987:BRB,
  author =       "Anonymous",
  title =        "Book Review: {{\booktitle{Modula-2: A Software
                 Development Approach}}, Gary A. Ford and Richard S.
                 Wiener, Wiley, 1985. ISBN 0-471-87834-0. No. of pages:
                 400 + xvi. Price: \pounds 21.45 (paperback)}",
  journal =      j-SPE,
  volume =       "17",
  number =       "2",
  pages =        "167--167",
  month =        feb,
  year =         "1987",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380170209",
  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{Bondy:1987:UMA,
  author =       "J. Bondy",
  title =        "Uninitialized {Modula-2} Abstract Object Instances,
                 yet Again",
  journal =      j-SIGPLAN,
  volume =       "22",
  number =       "5",
  pages =        "58--63",
  month =        may,
  year =         "1987",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/25267.25277",
  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 1987",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "6",
}

@InProceedings{Brumfield:1987:CPMa,
  author =       "Jeffrey Brumfield",
  booktitle =    "Proceedings of the Eighteenth {SIGCSE} Technical
                 Symposium on Computer Science Education",
  title =        "Concurrent Programming in {Modula-2}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "191--200",
  year =         "1987",
  DOI =          "https://doi.org/10.1145/31820.31757",
  ISBN =         "0-89791-217-9",
  ISBN-13 =      "978-0-89791-217-4",
  bibdate =      "Fri Jan 5 15:14:43 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "SIGCSE '87",
  abstract =     "This paper describes a concurrent process manager that
                 has been developed for the Modula-2 programming
                 language. Using this software, students can gain
                 practical experience in designing and implementing
                 concurrent programs using processes, semaphores, and
                 message links. The use of abstraction in describing the
                 process manager is advocated, and a variety of
                 concurrent programming exercises are presented. This
                 paper describes a concurrent process manager that has
                 been developed for the Modula-2 programming language.
                 Using this software, students can gain practical
                 experience in designing and implementing concurrent
                 programs using processes, semaphores, and message
                 links. The use of abstraction in describing the process
                 manager is advocated, and a variety of concurrent
                 programming exercises are presented.",
  acknowledgement = ack-nhfb,
  location =     "St. Louis, Missouri, USA",
  numpages =     "10",
}

@Article{Brumfield:1987:CPMb,
  author =       "Jeffrey Brumfield",
  title =        "Concurrent Programming in {Modula-2}",
  journal =      j-SIGCSE,
  volume =       "19",
  number =       "1",
  pages =        "191--200",
  month =        feb,
  year =         "1987",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/31726.31757",
  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 =     "This paper describes a concurrent process manager that
                 has been developed for the Modula-2 programming
                 language. Using this software, students can gain
                 practical experience in designing and implementing
                 concurrent programs using processes, semaphores, and
                 message links. The use of abstraction in describing the
                 process manager is advocated, and a variety of
                 concurrent programming exercises are presented. This
                 paper describes a concurrent process manager that has
                 been developed for the Modula-2 programming language.
                 Using this software, students can gain practical
                 experience in designing and implementing concurrent
                 programs using processes, semaphores, and message
                 links. The use of abstraction in describing the process
                 manager is advocated, and a variety of concurrent
                 programming exercises are presented.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  issuedate =    "Feb. 1987",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "10",
}

@Article{Butler:1987:SMS,
  author =       "Gregory Butler and Matthew J. Kendall",
  title =        "The Suitability for Master\slash Slave Concurrency of
                 {Concurrent Euclid}, {Ada} and {Modula}",
  journal =      j-SPE,
  volume =       "17",
  number =       "2",
  pages =        "117--134",
  month =        feb,
  year =         "1987",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380170204",
  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{Chan:1987:ADD,
  author =       "Fun Ting Chan and Tsong Yueh Chen",
  title =        "{AIDA}: a Dynamic Data Flow Anomaly Detection System
                 for {Pascal} Programs",
  journal =      j-SPE,
  volume =       "17",
  number =       "3",
  pages =        "227--239",
  month =        mar,
  year =         "1987",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380170306",
  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{Collado:1987:MIC,
  author =       "M. Collado and R. Morales and J. J. Moreno",
  title =        "A {Modula-2} Implementation of {CSP}",
  journal =      j-SIGPLAN,
  volume =       "22",
  number =       "6",
  pages =        "25--38",
  month =        jun,
  year =         "1987",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/24900.24902",
  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 =     "Recently, a series of process communication schemes
                 based on message exchanges have been developed. Hoare's
                 CSP is perhaps the most interesting one and is the base
                 for concurrent features of modern languages (e.g. ADA,
                 Occam, etc.).Several concurrency mechanisms have
                 already been implemented in Modula-2 (signals,
                 COBEGIN..COEND structure, message exchanges, etc.) but
                 they have not completely fulfilled the Hoare's CSP
                 scheme. In this paper a general implementation of CSP
                 in Modula-2 is presented. Low level and modularity
                 facilities of this language have been used to develop a
                 kernel thus allowing the use of communication
                 primitives and nondeterministic selection. The original
                 CSP scheme has been slightly modified by using port
                 names instead of process names to specify
                 communication.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "June 1987",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "14",
}

@Article{Goldsby:1987:SNQ,
  author =       "Michael E. Goldsby",
  title =        "Solving the {``$ N \leq 8 $ Queens''} problem with
                 {CSP} and {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "22",
  number =       "2",
  pages =        "43--52",
  month =        feb,
  year =         "1987",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/24686.24689",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:15:08 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",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "Feb. 1987",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  keywords =     "design; languages",
  numpages =     "10",
  subject =      "D.1.3 Software, PROGRAMMING TECHNIQUES, Concurrent
                 Programming, CSP \\ D.3.3 Software, PROGRAMMING
                 LANGUAGES, Language Constructs, CSP \\ D.3.2 Software,
                 PROGRAMMING LANGUAGES, Language Classifications, CSP
                 \\
                 D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Modula-2",
}

@Article{Greenfield:1987:DUM,
  author =       "S. Greenfield and R. Norton",
  title =        "Detecting Uninitialized {Modula-2} Abstract Objects",
  journal =      j-SIGPLAN,
  volume =       "22",
  number =       "6",
  pages =        "52--58",
  month =        jun,
  year =         "1987",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/24900.24905",
  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 1987",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "7",
}

@Article{Gutknecht:1987:OPC,
  author =       "J{\"u}rg Gutknecht",
  title =        "One-pass Compilation at its Limits --- A {Modula-2}
                 Compiler for the {Xerox Dragon} Computer",
  journal =      j-SPE,
  volume =       "17",
  number =       "7",
  pages =        "469--484",
  month =        jul,
  year =         "1987",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380170705",
  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{Janko:1987:SBS,
  author =       "Wolfgang H. Janko and Reinhard Feurer",
  booktitle =    "{{\"O}konomie und Mathematik: Rudolf Henn zum 65.
                 Geburtstag}. ({German}) [{Economics} and Mathematics:
                 for {Rudolf Henn} on his 65th birthday]",
  title =        "{Eine Studie zur Beurteilung der sprachlichen Eignung
                 der Programmiersprachen BASIC, PASCAL, APL, APL2, LISP
                 und PROLOG zur Programmierung regelbasierter Systeme}.
                 ({German}) [{A} study to assess the linguistic
                 suitability of the programming languages {BASIC},
                 {PASCAL}, {APL}, {APL2}, {LISP} and {PROLOG} for
                 programming rule-based systems]",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "355--364",
  year =         "1987",
  DOI =          "https://doi.org/10.1007/978-3-642-72672-9_34",
  ISBN =         "3-540-17819-8",
  ISBN-13 =      "978-3-540-17819-4",
  MRclass =      "68T25",
  MRnumber =     "982968",
  bibdate =      "Fri Jan 5 06:21:57 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  book-DOI =     "https://doi.org/10.1007/978-3-642-72672-94",
  language =     "German",
}

@InProceedings{Leap:1987:MIO,
  author =       "Thomas R. Leap",
  booktitle =    "Proceedings of the 15th Annual Conference on Computer
                 Science",
  title =        "{Modula-2} Input\slash Output Procedure Using
                 Polymorphic and Open-Ended Data Type Extensions
                 (Abstract Only)",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "381",
  year =         "1987",
  DOI =          "https://doi.org/10.1145/322917.323042",
  ISBN =         "0-89791-218-7",
  ISBN-13 =      "978-0-89791-218-1",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "CSC '87",
  abstract =     "The Modula-2 language does not include special
                 statements or standard procedures for handling input
                 and output as in other languages. By extending Modula-2
                 to include a polymorphic structure, called a variant
                 data type(1), and allowing open-ended structures, it is
                 possible to define procedures that have a function and
                 syntax similar to the I/O statements and procedures of
                 other languages. The variant data type consists of a
                 tag field followed by several options, each containing
                 only one field (unless a structure definition is used).
                 In an assignment operation, the tag field is implicitly
                 adjusted to indicate the data type of the item assigned
                 to the variant typed object. A variable of variant type
                 is considered to be assignment compatible with another
                 value if either both are exactly the same type or if
                 one of the options of the variant type is compatible
                 with the value being assigned to it. For open-ended
                 data structures, the concept of an open array is
                 generalized to allow stack and dynamically allocated
                 open arrays to be defined which allows them to be sized
                 at run-time. The open array concept is extended to
                 procedures allowing them to have open parameter lists
                 which can accept a variable number of arguments when
                 called. These concepts can further be used to eliminate
                 the need for several other standard procedures in the
                 language definition. The variant type and open
                 parameter lists are used in the definition module given
                 below to define a set of Pascal-like input/output
                 procedures. Two variant data types are defined, INVAR
                 for the READ procedures and OUTVAR for the WRITE
                 procedures. The options in these data types allow
                 passing of the basic types as well as structured types
                 using the ARRAY OF WORD option. This option must be
                 specified last in the list since it is type compatible
                 with all types. The word VAR in type INVAR indicates
                 that a field is accessed by reference. The data type
                 FILE is a hidden type for use in defining file
                 variables. The parameter lists for the input and output
                 procedures allow the file variable to occur anyplace in
                 the argument list. It can even occur several times or
                 not at all in a single argument list or several
                 different file variables can appear. The read and write
                 procedures can be programmed to not accept a file
                 variable after the first argument. Violations cannot be
                 detected at compilation time and would have to be
                 flagged as run-time errors. Instead of adding these
                 restrictions, they can be allowed as variations from
                 standard Pascal. The result is that a single read or
                 write statement can act like several statements
                 accessing different files. The file variables INPUT and
                 OUTPUT are defined for use in accessing a terminal's
                 keyboard and screen respectively, as in Pascal.
                 Importing these file variables is only necessary if
                 they are to be explicitly used otherwise they can be
                 programmed as the defaults in the implementation
                 module. The implementation module cannot know whether
                 INPUT and OUTPUT have actually been important by
                 another module or whether they are used as the default
                 file variables so it must initialize them upon program
                 startup.",
  acknowledgement = ack-nhfb,
  location =     "St. Louis, Missouri, USA",
}

@InProceedings{LEcuyer:1987:POS,
  author =       "Pierre L'Ecuyer and Nataly Giroux",
  booktitle =    "Proceedings of the 19th Conference on Winter
                 Simulation",
  title =        "A Process-Oriented Simulation Package Based on
                 {Modula-2}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "165--174",
  year =         "1987",
  DOI =          "https://doi.org/10.1145/318371.318401",
  ISBN =         "0-911801-32-4",
  ISBN-13 =      "978-0-911801-32-3",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "WSC '87",
  abstract =     "SIMOD is a process-oriented, discrete-event simulation
                 package, implemented as a set of precompiled modules
                 written in Modula-2. It is not a new language;
                 basically, a SIMOD program is simply a Modula-2
                 program. The package offers predefined data types and
                 procedures, and runtime support facilities to manage
                 the clock, event list, processes, resource
                 acquisitions, etc. Using these tools, a programmer is
                 able to express his model quickly and concisely, in a
                 readable language. In this paper, we describe SIMOD,
                 give some programming examples, and summarize the
                 positive and negative aspects of our experience with
                 Modula-2 as a host language for building a
                 discrete-event simulation programming environment.",
  acknowledgement = ack-nhfb,
  location =     "Atlanta, Georgia, USA",
  numpages =     "10",
}

@Article{Leeson:1987:TIM,
  author =       "J. J. Leeson and M. L. Spear",
  title =        "Type Independent Modules: The Preferred Approach to
                 Generic {ADTs} in {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "22",
  number =       "3",
  pages =        "65--70",
  month =        mar,
  year =         "1987",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/24697.24703",
  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 1987",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "6",
}

@Book{McCracken:1987:SCC,
  author =       "Daniel D. McCracken and William I. Salmon",
  title =        "A Second Course in Computer Science with {Modula-2}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xiii + 464 + 10",
  year =         "1987",
  ISBN =         "0-471-63111-6",
  ISBN-13 =      "978-0-471-63111-8",
  LCCN =         "QA76.73.M63 M43 1987",
  bibdate =      "Wed Dec 15 10:39:03 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{Meek:1987:BRB,
  author =       "Brian Meek",
  title =        "Book Review: {{\booktitle{A Guide to Modula-2}}, Kaare
                 Christian, Springer-Verlag, 1986. ISBN 0-387-9642--5.
                 No. of pages: 436 + xix. Price: \pounds 33.00
                 (hardback)}",
  journal =      j-SPE,
  volume =       "17",
  number =       "2",
  pages =        "167--169",
  month =        feb,
  year =         "1987",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380170210",
  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{Rand:1987:ENP,
  author =       "D. W. Rand",
  title =        "Erratum notice: {``PASCAL programs for identification
                 of Lie algebras. I. RADICAL --- a program to calculate
                 the radical and nil radical of parameter-free and
                 parameter-dependent Lie algebras'' [Comput. Phys. Comm.
                 {\bf 41} (1986), no. 1, 105--125]}",
  journal =      j-COMP-PHYS-COMM,
  volume =       "47",
  number =       "2--3",
  pages =        "369--371",
  month =        nov # "\slash " # dec,
  year =         "1987",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/0010-4655(87)90125-1",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  MRclass =      "17-04",
  MRnumber =     "920301",
  bibdate =      "Mon Feb 13 10:28:21 MST 2012",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/compphyscomm1980.bib",
  note =         "See \cite{Rand:1986:PPI}.",
  URL =          "http://www.sciencedirect.com/science/article/pii/0010465587901251",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Physics Communications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

@Article{Rand:1987:PPIa,
  author =       "D. W. Rand and P. Winternitz and H. Zassenhaus",
  title =        "{PASCAL} programs for the identification of {Lie}
                 algebras. {II}. {SPLIT}---a program to decompose
                 parameter-free and parameter-dependent {Lie} algebras
                 into direct sums",
  journal =      j-COMP-PHYS-COMM,
  volume =       "46",
  number =       "2",
  pages =        "297--309",
  year =         "1987",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/0010-4655(87)90006-3",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  MRclass =      "17-04 (17B05)",
  MRnumber =     "905390",
  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 =     "Computer Physics Communications. An International
                 Journal and Program Library for Computational Physics
                 and Physical Chemistry",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

@Article{Rand:1987:PPIb,
  author =       "D. W. Rand",
  title =        "{PASCAL} programs for identification of {Lie}
                 algebras. {III}. {Levi} decomposition and canonical
                 basis",
  journal =      j-COMP-PHYS-COMM,
  volume =       "46",
  number =       "2",
  pages =        "311--322",
  year =         "1987",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/0010-4655(87)90007-5",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  MRclass =      "17-04 (17B05)",
  MRnumber =     "905391",
  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 =     "Computer Physics Communications. An International
                 Journal and Program Library for Computational Physics
                 and Physical Chemistry",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

@Article{Rehmer:1987:EHU,
  author =       "K. Rehmer",
  title =        "Error Handling Using {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "22",
  number =       "3",
  pages =        "40--48",
  month =        mar,
  year =         "1987",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/24697.24700",
  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 1987",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "9",
}

@Article{Savit:1987:UMA,
  author =       "J. Savit",
  title =        "Uninitialized {Modula-2} Abstract Objects, Revisited",
  journal =      j-SIGPLAN,
  volume =       "22",
  number =       "2",
  pages =        "78--84",
  month =        feb,
  year =         "1987",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/24686.24693",
  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 =    "Feb. 1987",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "7",
}

@Article{Sewell:1987:HTM,
  author =       "E. Wayne Sewell",
  title =        "How to \pkg{MANGLE} your software: the {\WEB} system
                 for {Modula-2}",
  journal =      j-TUGboat,
  volume =       "8",
  number =       "2",
  pages =        "118--122",
  month =        jul,
  year =         "1987",
  ISSN =         "0896-3207",
  ISSN-L =       "0896-3207",
  bibdate =      "Fri Jul 13 10:24:20 MDT 2007",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/litprog.bib;
                 https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
  URL =          "https://tug.org/TUGboat/tb08-2/tb18sewellmangle.pdf",
  acknowledgement = ack-bnb # " and " # ack-nhfb,
  fjournal =     "TUGboat",
  issue =        "18",
  journal-URL =  "https://tug.org/TUGboat/",
}

@Article{Shammas:1987:TBC,
  author =       "Namir Clement Shammas",
  title =        "{True Basic} Challenges {Modula-2}",
  journal =      j-DDJ,
  volume =       "12",
  number =       "5",
  pages =        "124--126, 128--130",
  month =        may,
  year =         "1987",
  CODEN =        "DDJOEB",
  ISSN =         "0888-3076",
  bibdate =      "Thu Jan 9 09:35:43 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/dr-dobbs-1980.bib",
  acknowledgement = ack-nhfb,
  classification = "723",
  journalabr =   "Dr Dobb's J Software Tools",
  keywords =     "Basic; computer programming; computer programming
                 languages; computer programs; computer software ---
                 Software Engineering; structured code; structured data;
                 structured programming; true Basic",
}

@Book{Stubbs:1987:DSA,
  author =       "Daniel F. Stubbs and Neil W. Webre",
  title =        "Data Structures with Abstract Data Types and
                 {Modula-2}",
  publisher =    pub-BC,
  address =      pub-BC:adr,
  pages =        "xx + 556",
  year =         "1987",
  ISBN =         "0-534-07302-6",
  ISBN-13 =      "978-0-534-07302-2",
  LCCN =         "QA76.9.D35 S76 1987",
  bibdate =      "Tue Jul 19 00:33:49 1994",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/hash.bib",
  note =         "Textbook treatment of hashing.",
  price =        "US\$43.25",
  acknowledgement = ack-nhfb,
}

@Article{Torbett:1987:MAI,
  author =       "M. A. Torbett",
  title =        "More Ambiguities and Insecurities in {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "22",
  number =       "5",
  pages =        "11--17",
  month =        may,
  year =         "1987",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/25267.25269",
  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 1987",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "7",
}

@Article{Torbett:1987:NPA,
  author =       "M. A. Torbett",
  title =        "A Note on {``Protecting against Uninitialized Abstract
                 Objects in Modula-2''}",
  journal =      j-SIGPLAN,
  volume =       "22",
  number =       "5",
  pages =        "8--10",
  month =        may,
  year =         "1987",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/25267.25268",
  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{Wiener:1986:PAU}.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "May 1987",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "3",
}

@Article{Anonymous:1988:ARB,
  author =       "Anonymous",
  title =        "Article Review: {{\booktitle{A UCSD Pascal\slash
                 Modula-2 translator}}: Levrat, B., Nerima, L. and
                 Tscharmer, P., \booktitle{J. Pascal, Ada, Modula-2} Vol
                 6 No 6 (November\slash December 1987) pp 17--24}",
  journal =      j-MICROPROC-MICROSYS,
  volume =       "12",
  number =       "2",
  pages =        "114",
  month =        mar,
  year =         "1988",
  CODEN =        "MIMID5",
  DOI =          "https://doi.org/10.1016/0141-9331(88)90061-0",
  ISSN =         "0141-9331 (print), 1872-9436 (electronic)",
  ISSN-L =       "0141-9331",
  bibdate =      "Mon Jan 14 21: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",
  URL =          "http://www.sciencedirect.com/science/article/pii/0141933188900610",
  acknowledgement = ack-nhfb,
  fjournal =     "Microprocessors and Microsystems",
  keywords =     "Ada",
}

@Article{Armbruster:1988:PDM,
  author =       "Dieter Armbruster",
  title =        "A polynomial determination of the most-recent property
                 in {Pascal}-like programs",
  journal =      j-THEOR-COMP-SCI,
  volume =       "56",
  number =       "1",
  pages =        "3--15",
  year =         "1988",
  CODEN =        "TCSCDI",
  DOI =          "https://doi.org/10.1016/0304-3975(86)90003-4",
  ISSN =         "0304-3975,1879-2294",
  ISSN-L =       "0304-3975",
  MRclass =      "68N15",
  MRnumber =     "943112",
  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{Bailes:1988:API,
  author =       "P. A. Bailes",
  title =        "An advanced problem-oriented introduction to
                 imperative programming with {Modula-2}",
  journal =      j-COMP-J,
  volume =       "31",
  number =       "6",
  pages =        "531--539",
  month =        dec,
  year =         "1988",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Tue Mar 25 13:51:56 MST 1997",
  bibsource =    "Compendex database;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/compj.bib",
  URL =          "http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/531.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/532.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/533.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/534.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/535.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/536.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/537.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/538.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/539.tif",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Queensland Univ.",
  affiliationaddress = "St. Lucia, Queensland, Australia",
  classcodes =   "C6110 (Systems analysis and programming); C6120 (File
                 organisation); C0220 (Education and training)",
  classification = "723; 901; C0220 (Education and training); C6110
                 (Systems analysis and programming); C6120 (File
                 organisation)",
  corpsource =   "Dept. of Comput. Sci., Queensland Univ., St. Lucia,
                 Qld., Australia",
  keywords =     "2; Computer Programming Languages; computer science
                 education; Computer science education; Computer Science
                 Education; data abstraction; Data abstraction; Data
                 Processing--Data Structures; data structures; dynamic
                 data structure implementation; Dynamic data structure
                 implementation, Computer Programming; Education;
                 imperative programming; Imperative programming;
                 Information Processing Problems; linguistic constructs;
                 Linguistic constructs; Linguistic Constructs; Modula;
                 Modula-; Modula-2; programming; recursion; Recursion",
  thesaurus =    "Computer science education; Data structures; Modula;
                 Programming",
  treatment =    "P Practical",
}

@Article{Bailes:1988:APO,
  author =       "P. A. Bailes",
  title =        "An advanced problem-oriented introduction to
                 imperative programming with {Modula-2}",
  journal =      j-COMP-J,
  volume =       "31",
  number =       "6",
  pages =        "531--539",
  month =        dec,
  year =         "1988",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Tue Mar 25 13:51:56 MST 1997",
  bibsource =    "Compendex database;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/compj.bib",
  URL =          "http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/531.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/532.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/533.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/534.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/535.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/536.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/537.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/538.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_31/Issue_06/tiff/539.tif",
  acknowledgement = ack-nhfb,
  affiliation =  "Dept. of Comput. Sci., Queensland Univ.",
  affiliationaddress = "St. Lucia, Queensland, Australia",
  classcodes =   "C6110 (Systems analysis and programming); C6120 (File
                 organisation); C0220 (Education and training)",
  classification = "723; 901; C0220 (Education and training); C6110
                 (Systems analysis and programming); C6120 (File
                 organisation)",
  corpsource =   "Dept. of Comput. Sci., Queensland Univ., St. Lucia,
                 Qld., Australia",
  keywords =     "2; Computer Programming Languages; computer science
                 education; Computer science education; Computer Science
                 Education; data abstraction; Data abstraction; Data
                 Processing--Data Structures; data structures; dynamic
                 data structure implementation; Dynamic data structure
                 implementation, Computer Programming; Education;
                 imperative programming; Imperative programming;
                 Information Processing Problems; linguistic constructs;
                 Linguistic constructs; Linguistic Constructs; Modula;
                 Modula-; Modula-2; programming; recursion; Recursion",
  thesaurus =    "Computer science education; Data structures; Modula;
                 Programming",
  treatment =    "P Practical",
}

@Article{Bergin:1988:WDM,
  author =       "Joseph Bergin and Stuart Greenfield",
  title =        "What does {Modula-2} need to fully support object
                 oriented programming?",
  journal =      j-SIGPLAN,
  volume =       "23",
  number =       "3",
  pages =        "73--82",
  month =        mar,
  year =         "1988",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/43895.43903",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:15:21 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",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  keywords =     "languages",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Modula-2 \\ D.1.m Software,
                 PROGRAMMING TECHNIQUES, Miscellaneous",
}

@Article{Bowen:1988:BRB,
  author =       "J. P. Bowen",
  title =        "Book Review: {{\booktitle{Modula-2: Constructive
                 program development}}, P. Messer and I. Marshall,
                 Blackwell Scientific Publications, 1986. ISBN
                 0-632-01609-4. No. of pages: 544. Price: \pounds 35.00
                 (paperback \pounds 14.95)}",
  journal =      j-SPE,
  volume =       "18",
  number =       "2",
  pages =        "167--168",
  month =        feb,
  year =         "1988",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380180207",
  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",
}

@TechReport{BrinchHansen:1988:JPM,
  author =       "Per {Brinch Hansen} and Rangachari Anand",
  title =        "{Joyce} Performance on a Multiprocessor",
  type =         "Electrical Engineering and Computer Science Technical
                 Report",
  number =       "28",
  institution =  "School of Computer and Information Science, Syracuse
                 University",
  address =      "Syracuse, NY, USA",
  pages =        "ii + 19",
  month =        sep,
  year =         "1988",
  bibdate =      "Sat Jul 23 13:29:02 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 =          "https://surface.syr.edu/eecs_techreports/28",
  abstract =     "Joyce is a parallel programming language based on CSP
                 and Pascal. The language has been moved from the IBM PC
                 to the Encore Multimax. The paper explains how the
                 multiprocessor implementation of Joyce was guided by
                 performance evaluation. The measurements show that the
                 speed-up of Joyce programs follows Amdahl's law.",
  acknowledgement = ack-nhfb,
}

@TechReport{BrinchHansen:1988:MIJ,
  author =       "Per {Brinch Hansen}",
  title =        "A Multiprocessor Implementation of {Joyce}",
  type =         "Electrical Engineering and Computer Science Technical
                 Report",
  number =       "29",
  institution =  "School of Computer and Information Science, Syracuse
                 University",
  address =      "Syracuse, NY, USA",
  pages =        "ii + 19",
  month =        sep,
  year =         "1988",
  bibdate =      "Sat Jul 23 13:29:02 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 =          "https://surface.syr.edu/eecs_techreports/29",
  abstract =     "Joyce is a programming language for parallel computers
                 based on CSP and Pascal. A Joyce program defines
                 concurrent agents which communicate through unbuffered
                 channels. This paper describes a multiprocessor
                 implementation of Joyce.",
  acknowledgement = ack-nhfb,
}

@Article{Burns:1988:MIR,
  author =       "A. Burns and G. L. Davies and A. J. Wellings",
  title =        "A {Modula-2} Implementation of a Real-Time Process
                 Abstraction",
  journal =      j-SIGPLAN,
  volume =       "23",
  number =       "10",
  pages =        "49--58",
  month =        oct,
  year =         "1988",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/51607.51608",
  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 process abstraction, in Modula-2, is defined that is
                 aimed at providing the primitives needed in the
                 real-time domain. A concurrency model based upon occam
                 is used but this is enhanced by a comprehensive set of
                 selective wait constructs. All processes have
                 identities and priorities; a run-time implementation
                 kernel provides for preemptive scheduling. Significant
                 parts of this implementation are illustrated and short
                 examples of the use of the process abstraction are
                 given.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "Oct. 1988",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "10",
}

@Article{Cornelius:1988:PLM,
  author =       "B. J. Cornelius",
  title =        "Problems with the Language {Modula-2}",
  journal =      j-SPE,
  volume =       "18",
  number =       "6",
  pages =        "529--543",
  month =        jun,
  year =         "1988",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380180604",
  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{Egenhofer:1988:PMT,
  author =       "Max J. Egenhofer and Andrew U. Frank",
  title =        "A precompiler for modular, transportable {Pascal}",
  journal =      j-SIGPLAN,
  volume =       "23",
  number =       "3",
  pages =        "22--32",
  month =        mar,
  year =         "1988",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/43895.43898",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:15:21 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",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  keywords =     "design; languages",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Pascal \\ D.3.4 Software, PROGRAMMING
                 LANGUAGES, Processors, Compilers",
}

@Book{Feldman:1988:DSM,
  author =       "Michael B. Feldman",
  title =        "Data Structures with {Modula-2}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xvii + 301",
  year =         "1988",
  ISBN =         "0-13-197344-4",
  ISBN-13 =      "978-0-13-197344-2",
  LCCN =         "QA76.73.M63 F45 1988",
  bibdate =      "Tue Jul 19 00:36:14 1994",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/hash.bib",
  note =         "Includes chapter on hash tables.",
  price =        "US\$40.00",
  acknowledgement = ack-nhfb,
  tableofcontents = "Abstraction and abstract data types \\
                 Algorithms, recursion, and performance prediction \\
                 Arrays, vectors, matrices, and lists \\
                 Linked lists, pointers, and cursors \\
                 Queues and stacks \\
                 Directed graphs \\
                 Tree structures \\
                 Hash table methods \\
                 Internal sorting methods \\
                 Sorting external files",
}

@Article{Forrester:1988:WMC,
  author =       "J. M. Forrester",
  title =        "{Wirth} meets the countess ({Modula-2} to {Ada}
                 conversion)",
  journal =      j-ADA-USER,
  volume =       "9",
  number =       "2",
  pages =        "83--86",
  month =        "????",
  year =         "1988",
  CODEN =        "ADUSEB",
  ISSN =         "0268-652X",
  ISSN-L =       "0268-652X",
  bibdate =      "Mon Sep 8 18:43:50 MDT 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/adauserj.bib",
  acknowledgement = ack-nhfb,
  classification = "C6140D (High level languages)",
  corpsource =   "Dept. of Comp. Sci., Univ. Coll. of Wales,
                 Aberystwyth, UK",
  fjournal =     "Ada User",
  keywords =     "Ada; Ada listings; Modula; Modula-2; novice; software
                 portability",
  pubcountry =   "UK",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  treatment =    "P Practical",
}

@Article{Guoliang:1988:KMI,
  author =       "Z. Guoliang and Z. Chengxiang",
  title =        "The Kernel of {Modula-2} Integrated Environment",
  journal =      j-SIGSOFT,
  volume =       "13",
  number =       "4",
  pages =        "57--60",
  month =        oct,
  year =         "1988",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/58418.58423",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  abstract =     "Integrated method is one of the effective methods to
                 improve the efficiency of the software engineering
                 environment. This paper describes the design of a
                 Modula-2 integrated environment and its kernel
                 environment which is implemented on IBM/PC-AT in
                 Modula-2 language itself. The kernel environment
                 supports incremental compiling and separate debugging
                 of Modula-2 programs. It also supports the integration
                 of the editor and the debugger. It is hoped that the
                 whole Modula-2 integrated environment can be
                 implemented based on the kernel environment and the
                 environment information data base.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  issuedate =    "Oct. 1988",
  numpages =     "4",
}

@Article{Hemmendinger:1988:UPS,
  author =       "David Hemmendinger",
  title =        "Unfair Process Scheduling in {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "23",
  number =       "3",
  pages =        "7--12",
  month =        mar,
  year =         "1988",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/43895.43896",
  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 1988",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "6",
}

@Book{ISO:1988:IIPb,
  author =       "{ISO}",
  title =        "{ISO 8651-2:1988}: {Information} processing systems
                 --- {Computer} graphics --- {Graphical Kernel System}
                 ({GKS}) language bindings --- {Part} 2: {Pascal}",
  publisher =    pub-ISO,
  address =      pub-ISO:adr,
  pages =        "168",
  year =         "1988",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Fri May 28 21:52:25 1999",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/isostd.bib",
  price =        "CHF 212",
  URL =          "http://www.iso.ch/cate/d16025.html",
  acknowledgement = ack-nhfb,
  pricecode =    "XC",
}

@InProceedings{Koffman:1988:CMCa,
  author =       "Elliot B. Koffman",
  booktitle =    "Proceedings of the Nineteenth {SIGCSE} Technical
                 Symposium on Computer Science Education",
  title =        "The Case for {Modula-2} in {CS1} and {CS2}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "49--53",
  year =         "1988",
  DOI =          "https://doi.org/10.1145/52964.52978",
  ISBN =         "0-89791-256-X",
  ISBN-13 =      "978-0-89791-256-3",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "SIGCSE '88",
  abstract =     "During 1984 and 1985 I was part of an ACM Task Force
                 to update the recommended curricula for CSI and CS2,
                 the first two courses in programming methods for
                 computer science majors. Our findings were reported in
                 the communications of the ACM (Koffman, 1984 and 1985).
                 The objectives of CS1 and CS2 as stated in these
                 reports follow.",
  acknowledgement = ack-nhfb,
  location =     "Atlanta, Georgia, USA",
  numpages =     "5",
}

@Article{Koffman:1988:CMCb,
  author =       "Elliot B. Koffman",
  title =        "The Case for {Modula-2} in {CS1} and {CS2}",
  journal =      j-SIGCSE,
  volume =       "20",
  number =       "1",
  pages =        "49--53",
  month =        feb,
  year =         "1988",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/52965.52978",
  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 =     "During 1984 and 1985 I was part of an ACM Task Force
                 to update the recommended curricula for CSI and CS2,
                 the first two courses in programming methods for
                 computer science majors. Our findings were reported in
                 the communications of the ACM (Koffman, 1984 and 1985).
                 The objectives of CS1 and CS2 as stated in these
                 reports follow.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  issuedate =    "Feb. 1988",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "5",
}

@Article{Levy:1988:LLC,
  author =       "E. Levy",
  title =        "The Linked List Class of {Modula-3}",
  journal =      j-SIGPLAN,
  volume =       "23",
  number =       "8",
  pages =        "93--102",
  month =        aug,
  year =         "1988",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/47907.47915",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:15:26 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 =     "The desirability of providing built-in linked list
                 support for the next generation of system programming
                 languages is discussed. A Modula-2 pseudo inheritance
                 implementation is given that demonstrates a proposed
                 set of primitives. A set of rules are specified that
                 enhance reliability without adding significant
                 restrictions. Benefits to concurrency control are
                 described.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "August 1988",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  keywords =     "design; languages",
  numpages =     "10",
  subject =      "D.3.2 Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Modula-2 \\ D.3.3 Software,
                 PROGRAMMING LANGUAGES, Language Constructs, Data types
                 and structures",
}

@InProceedings{Li:1988:IFO,
  author =       "Wei Li",
  booktitle =    "Proceedings of the 1988 {ACM} Sixteenth Annual
                 Conference on Computer Science",
  title =        "Implementing First Order Logic in {Modula-2} Using an
                 Intuitionistic Approach",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "27--36",
  year =         "1988",
  DOI =          "https://doi.org/10.1145/322609.322613",
  ISBN =         "0-89791-260-8",
  ISBN-13 =      "978-0-89791-260-0",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "CSC '88",
  abstract =     "A type theory is given using extended Modula-2
                 constructs, and a subset of first order logic is
                 interpreted by certain type constructors of this
                 theory. Under this theory, given a formula of the form
                 for all x find a y such that R(x,y) as a specification,
                 program synthesis amounts to proving the truce of the
                 formula. During the proof a Modula-2 program is
                 extracted automatically which meets the
                 specification.",
  acknowledgement = ack-nhfb,
  location =     "Atlanta, Georgia, USA",
  numpages =     "10",
}

@Article{Nielsen:1988:ESD,
  author =       "Jan H{\o}jlund Nielsen",
  title =        "Embedded systems development using {Modula-2}",
  journal =      j-COMP-PHYS-COMM,
  volume =       "50",
  number =       "1--2",
  pages =        "59--70",
  month =        jul,
  year =         "1988",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/0010-4655(88)90116-6",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  bibdate =      "Mon Feb 13 10:28:23 MST 2012",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/compphyscomm1980.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/0010465588901166",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Physics Communications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

@Article{Porter:1988:SAM,
  author =       "K. Porter",
  title =        "State of the Art in {Modula-2} [review of four
                 compilers]",
  journal =      j-DDJ,
  volume =       "13",
  number =       "9",
  pages =        "64--81, 100--106",
  month =        sep,
  year =         "1988",
  CODEN =        "DDJOEB",
  ISSN =         "0888-3076",
  bibdate =      "Tue Sep 10 09:30:19 MDT 1996",
  bibsource =    "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 = "C6110 (Systems analysis and programming); C6140D
                 (High level languages); C6150C (Compilers, interpreters
                 and other processors)",
  keywords =     "Core language; DOS linker; FTL; Jensen; Leading
                 Modula-2 development systems; Linkers; Logitech;
                 Modula-2 compilers; Optional command-line compilation;
                 Partners International; Program-development aids;
                 Source program editor; State-of-the-art; Stony Brook;
                 TopSpeed; Wirth; Workman Associates",
  thesaurus =    "Microcomputer applications; Modula; Modula listings;
                 Program compilers; Programming; Software packages;
                 Software selection",
}

@Article{Porter:1988:SPI,
  author =       "Kent Porter",
  title =        "Structured Programming: Implementing {Wirth}'s {{\tt
                 LineDrawing}} Module",
  journal =      j-DDJ,
  volume =       "13",
  number =       "4",
  pages =        "118, 121--122, 124, 127, 128",
  month =        apr,
  year =         "1988",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  ISSN-L =       "1044-789X",
  bibdate =      "Tue Sep 03 09:18:25 1996",
  bibsource =    "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,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Porter:1988:WIM,
  author =       "Kent Porter",
  title =        "What is {Modula-2}?",
  journal =      j-DDJ,
  volume =       "13",
  number =       "??",
  pages =        "??--??",
  month =        "??",
  year =         "1988",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  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/dr-dobbs-1980.bib",
  acknowledgement = ack-nhfb,
}

@Article{Schaller:1988:ME,
  author =       "Nan C. Schaller",
  title =        "The {Modula-2} Experience",
  journal =      j-SIGCSE,
  volume =       "20",
  number =       "3",
  pages =        "42--44",
  month =        sep,
  year =         "1988",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/51594.51602",
  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 =     "The 1987-88 school year represents the first time that
                 the Undergraduate Computer Science Department at
                 Rochester Institute of Technology (RIT) has offered its
                 five quarter course programming skills sequence with
                 Modula-2 as its primary teaching language. What follows
                 is a description of RIT's first year Modula-2
                 experience including the trials and tribulations of new
                 languages, new compilers, and untried texts. With only
                 the first half of the sequence having been offered
                 using Modula-2, the benefits derived from the change
                 thus far will be discussed as well as suggestions,
                 conclusions, and a preview of what is yet to come.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  issuedate =    "Sept. 1988",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "3",
}

@Article{Sewry:1988:PSM,
  author =       "D. A. Sewry",
  title =        "Process Scheduling in {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "23",
  number =       "12",
  pages =        "95--97",
  month =        dec,
  year =         "1988",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/57669.57678",
  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 =    "Dec. 1988",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "3",
}

@Article{Tagg:1988:LLP,
  author =       "A. G. Tagg",
  title =        "Low-level Programming in {Modula-2}: an Experience
                 with Local Area Network Access",
  journal =      j-SPE,
  volume =       "18",
  number =       "6",
  pages =        "495--507",
  month =        jun,
  year =         "1988",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380180602",
  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{Anderson:1989:KMM,
  author =       "Brian R. Anderson",
  title =        "{Kermit} meets {Modula-2}",
  journal =      j-DDJ,
  volume =       "14",
  number =       "5",
  pages =        "22--36, 83--93",
  month =        may,
  year =         "1989",
  CODEN =        "DDJOEB",
  ISSN =         "0888-3076",
  bibdate =      "Tue Sep 10 09:30:19 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/dr-dobbs-1980.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "British Columbia Inst. of Technol., Burnaby, BC,
                 Canada",
  classification = "C6110 (Systems analysis and programming); C6155
                 (Computer communications software)",
  keywords =     "Communications; Data flow diagram; File transfer
                 protocol; Kermit; Layered protocol; Logitech Modula-2;
                 Program design; Separately complied module",
  thesaurus =    "Computer communications software; Modula listings;
                 Programming; Protocols",
}

@Article{Bal:1989:PLD,
  author =       "Henri E. Bal and Jennifer G. Steiner and Andrew S.
                 Tanenbaum",
  title =        "Programming Languages for Distributed Computing
                 Systems",
  journal =      j-COMP-SURV,
  volume =       "21",
  number =       "3",
  pages =        "261--322",
  month =        sep,
  year =         "1989",
  CODEN =        "CMSVAN",
  DOI =          "https://doi.org/10.1145/72551.72552",
  ISSN =         "0360-0300 (print), 1557-7341 (electronic)",
  ISSN-L =       "0360-0300",
  bibdate =      "Thu Jun 19 09:38:19 MDT 2008",
  bibsource =    "ACM Computing Archive; Compendex database;
                 ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.misc.bib;
                 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://www.acm.org/pubs/toc/Abstracts/0360-0300/72552.html",
  abstract =     "When distributed systems first appeared, they were
                 programmed in traditional sequential languages, usually
                 with the addition of a few library procedures for
                 sending and receiving messages. As distributed
                 applications became more commonplace and more
                 sophisticated, this ad hoc approach became less
                 satisfactory. Researchers all over the world began
                 designing new programming languages specifically for
                 implementing distributed applications. These languages
                 and their history, their underlying principles, their
                 design, and their use are the subject of this paper. We
                 begin by giving our view of what a distributed system
                 is, illustrating with examples to avoid confusion on
                 this important and controversial point. We then
                 describe the three main characteristics that
                 distinguish distributed programming languages from
                 traditional sequential languages, namely, how they deal
                 with parallelism, communication, and partial failures.
                 Finally, we discuss 15 representative distributed
                 languages to give the flavor of each. These examples
                 include languages based on message passing, rendezvous,
                 remote procedure call, objects, and atomic
                 transactions, as well as functional languages, logic
                 languages, and distributed data structure languages.
                 The paper concludes with a comprehensive bibliography
                 listing over 200 papers on nearly 100 distributed
                 programming languages.",
  acknowledgement = ack-nhfb,
  affiliation =  "Vrije Univ",
  affiliationaddress = "Amsterdam, Neth",
  annote =       "Not a great survey, but a good one. It does not
                 mention issues closer to what people think as operating
                 system issues. But, it represents a good reference
                 point with all these languages [a few of which I've
                 never heard]: ABCL/1, Act 1, Ada, Aeolus, ALPS, AMPL,
                 Argus, Avalon, Blaze, BNR Pascal, BRAVE, Camelot
                 Library, Cantor, [Concurrent CSP] CCSP, [Xerox] Cedar,
                 CLIX, Cluster 86, CMAY, Concurrent C [2], Concurrent
                 CLU, Concurrent LISP, Concurrent PROLOG, Concurrent
                 Smalltalk, CONIC, CSM, CSP-S, CSP/80, CSP, CSPS, CSSA,
                 Delta PROLOG, Dislang, Distributed Smalltalk, DP,
                 DPL-82, ECSP, Emerald, EPL, FRANK, FX-87, GDPL, GHC,
                 GYPSY, Hybrid, Joyce, LADY, LIMP, Linda, Lisptalk,
                 LYNX, MC, Mandala, Mentat, MENYMA/S, Multilisp, NIL,
                 Oc, Occam, OIL, Ondine, Orca, Orient84/K, P*, P-PROLOG,
                 ParAlfl, PARLOG, ParMod, Pascal+CSP, Pascal-FC,
                 Pascal-m, PCL, Planet, Platon, PLITS, PML, POOL, Port
                 Language, Pronet, Quty, QLISP, Raddle, RBCSP,
                 Relational Language, SDL, SINA, Sloop, SR, StarMod,
                 Symmetric LISP, Vulcan, ZENO. It still lacks, but it
                 depends on the definition of a distributed language. No
                 mention of atomicity.",
  classification = "723",
  fjournal =     "ACM Computing Surveys",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J204",
  keywords =     "Categories and Subject Descriptors: C.2.4
                 [Computer-Communications Networks]: Distributed Systems
                 --- distributed applications; Computer Programming
                 Languages; Computer Systems, Digital--Distributed;
                 Concurrent Programming; D.1.3 [Programming Techniques]:
                 Concurrent Programming; D.3.3 [Programming Languages]:
                 Language constructs --- concurrent programming
                 structures; D.4.7 [Operating Systems]: Organization and
                 Design --- distributed systems General Terms:
                 Languages; design; Design Additional Key Words and
                 Phrases: Distributed data structures; distributed
                 languages; Distributed Programming; distributed
                 programming; Functional Programming; functional
                 programming; languages; languages for distributed
                 programming; languages for parallel programming; Logic
                 Programming; logic programming; Object Oriented
                 Programming, algorithms; object-oriented programming;
                 Parallel Programming; parallel programming;
                 performance; special issue on programming language
                 paradigms",
  subject =      "{\bf D.3.2}: Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Specialized application languages.
                 {\bf D.1.3}: Software, PROGRAMMING TECHNIQUES,
                 Concurrent Programming. {\bf D.3.3}: Software,
                 PROGRAMMING LANGUAGES, Language Constructs and
                 Features, Concurrent programming structures. {\bf
                 C.2.4}: Computer Systems Organization,
                 COMPUTER-COMMUNICATION NETWORKS, Distributed Systems,
                 Distributed applications.",
}

@Article{Blaschek:1989:IOM,
  author =       "G{\"u}nther Blaschek",
  title =        "Implementation of Objects in {Modula-2}",
  journal =      j-STRUCT-PROGRAM,
  volume =       "10",
  number =       "3",
  pages =        "147--155",
  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,
  biburl =       "https://dblp.org/rec/journals/stp/Blaschek89.bib",
  dblp-id =      "DBLP:journals/stp/Blaschek89",
  fjournal =     "Structured Programming",
  timestamp =    "Tue, 26 May 2020 08:52:30 +0200",
}

@InProceedings{Cardelli:1989:MTS,
  author =       "L. Cardelli and J. Donahue and M. Jordan and B. Kalsow
                 and G. Nelson",
  booktitle =    "Proceedings of the {16th ACM SIGPLAN-SIGACT Symposium
                 on Principles of Programming Languages}",
  title =        "The {Modula 3} Type System",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "202--212",
  year =         "1989",
  DOI =          "https://doi.org/10.1145/75277.75295",
  ISBN =         "0-89791-294-2",
  ISBN-13 =      "978-0-89791-294-5",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "POPL '89",
  abstract =     "This paper presents an overview of the programming
                 language Modula-3, and a more detailed description of
                 its type system.",
  acknowledgement = ack-nhfb,
  location =     "Austin, Texas, USA",
  numpages =     "11",
}

@Article{Cook:1989:EAL,
  author =       "R. P. Cook",
  title =        "An empirical analysis of the {Lilith} instruction
                 set",
  journal =      j-IEEE-TRANS-COMPUT,
  volume =       "38",
  number =       "1",
  pages =        "156--158",
  month =        jan,
  year =         "1989",
  CODEN =        "ITCOB4",
  DOI =          "https://doi.org/10.1109/12.8740",
  ISSN =         "0018-9340 (print), 1557-9956 (electronic)",
  ISSN-L =       "0018-9340",
  bibdate =      "Fri Jul 8 19:00:37 MDT 2011",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ieeetranscomput1980.bib",
  URL =          "http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8740",
  acknowledgement = ack-nhfb,
  ajournal =     "IEEE Trans. Comput.",
  fjournal =     "IEEE Transactions on Computers",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12",
}

@InProceedings{Jordan:1989:ECMa,
  author =       "M. Jordan",
  booktitle =    "Proceedings of the 2nd International Workshop on
                 Software Configuration Management",
  title =        "Experiences in Configuration Management for
                 {Modula-2}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "126--128",
  year =         "1989",
  DOI =          "https://doi.org/10.1145/72910.73358",
  ISBN =         "0-89791-334-5",
  ISBN-13 =      "978-0-89791-334-8",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "SCM '89",
  acknowledgement = ack-nhfb,
  location =     "Princeton, New Jersey, USA",
  numpages =     "3",
}

@Article{Jordan:1989:ECMb,
  author =       "M. Jordan",
  title =        "Experiences in Configuration Management for
                 {Modula-2}",
  journal =      j-SIGSOFT,
  volume =       "14",
  number =       "7",
  pages =        "126--128",
  month =        oct,
  year =         "1989",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/73337.73358",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  issuedate =    "Nov. 1989",
  numpages =     "3",
}

@InProceedings{King:1989:ISM,
  author =       "K. N. King",
  booktitle =    "Proceedings of the 17th Conference on {ACM} Annual
                 Computer Science Conference",
  title =        "The International Standardization of {Modula-2}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "313--319",
  year =         "1989",
  DOI =          "https://doi.org/10.1145/75427.75468",
  ISBN =         "0-89791-299-3",
  ISBN-13 =      "978-0-89791-299-0",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "CSC '89",
  abstract =     "The process of creating an international standard for
                 the Modula-2 programming language is now well underway.
                 This paper (an updated and expanded version of [12])
                 describes current standardization efforts and sketches
                 a number of changes being planned for the language.",
  acknowledgement = ack-nhfb,
  location =     "Louisville, Kentucky",
  numpages =     "7",
}

@Article{Kleinmichel:1989:NTM,
  author =       "Helmut Kleinmichel and Klaus Sch{\"o}nefeld",
  title =        "{Newton}-type methods for nonlinearly constrained
                 programming problems. {PASCAL}-program and numerical
                 experiments",
  journal =      "{Wissenschaftliche Zeitschrift der Technischen
                 Universit{\"a}t Dresden}",
  volume =       "38",
  number =       "3",
  pages =        "219--224",
  year =         "1989",
  ISSN =         "0043-6925",
  ISSN-L =       "0043-6925",
  MRclass =      "90C30",
  MRnumber =     "1014888",
  bibdate =      "Fri Jan 5 06:27:40 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Wiss. Z. Tech. Univ. Dresden",
  fjournal =     "Wissenschaftliche Zeitschrift der Technischen
                 Universit{\"a}t Dresden",
}

@InProceedings{Kredel:1989:SDC,
  author =       "H. Kredel",
  title =        "Software development for computer algebra or from
                 {ALDES\slash SAC-2} to {WEB\slash Modula-2}",
  crossref =     "Gianni:1989:SAC",
  pages =        "447--455",
  year =         "1989",
  bibdate =      "Thu Sep 26 06:21:35 MDT 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/litprog.bib",
  abstract =     "The author defines a new concept for developing
                 computer algebra software. The development system will
                 integrate a documentation system, a programming
                 language, algorithm libraries, and an interactive
                 calculation facility. The author exemplifies the
                 workability of this concept by applying it to the well
                 known ALDES/SAC-2 system. The ALDES Translator is
                 modified to help in converting ALDES/SAC-2 Code to
                 Modula-2. The implementation and module setup of the
                 SAC-2 basic system, list processing system and
                 arithmetic system in Modula-2 are discussed. An example
                 gives a first idea of the performance of the system.
                 The WEB System of Structured Documentation is used to
                 generate documentation with {\TeX}.",
  acknowledgement = ack-nhfb,
  affiliation =  "Passau Univ., West Germany",
  classification = "C6110B (Software engineering techniques); C7310
                 (Mathematics)",
  keywords =     "ALDES/SAC-2 system; Algorithm libraries; Computer
                 algebra software; Documentation system; Interactive
                 calculation facility; Performance; Programming
                 language; WEB/Modula-2",
  thesaurus =    "Mathematics computing; Software engineering; Symbol
                 manipulation",
}

@Article{Ladd:1989:CMC,
  author =       "Scott Robert Ladd",
  title =        "Comparing {Modula-2} and {C++}",
  journal =      j-DDJ,
  volume =       "14",
  number =       "1",
  pages =        "62--68, 102--104",
  month =        jan,
  year =         "1989",
  CODEN =        "DDJOEB",
  ISSN =         "0888-3076",
  bibdate =      "Tue Sep 10 09:30:19 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/dr-dobbs-1980.bib",
  acknowledgement = ack-nhfb,
  classification = "C6140D (High level languages)",
  keywords =     "C++; Extended versions; Modula-2",
  thesaurus =    "C language; C listings; Modula; Modula listings",
}

@Article{Milanese:1989:AOS,
  author =       "V. Milanese",
  title =        "Aspects of {OBERON} Suitable for Graphics
                 Applications",
  journal =      j-SIGPLAN,
  volume =       "24",
  number =       "8",
  pages =        "37--45",
  month =        aug,
  year =         "1989",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/70470.70475",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 09:29:45 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 =     "The requirement of complex data structures and
                 efficient algorithms are strictly connected in
                 graphics. The use of languages suitable for facing such
                 need has led to sophisticated programming techniques
                 (functional, logical, object programming). Also
                 procedural programming, however, can provide idoneous
                 tools to handle complex data models, which are realized
                 according to modern criteria of software development.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "Aug. 1989",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "9",
}

@Article{Mohr:1989:UMT,
  author =       "J. Mohr",
  title =        "Using {Modula-2} to Teach Data Abstraction",
  journal =      j-SIGCSE,
  volume =       "21",
  number =       "3",
  pages =        "60--64",
  month =        sep,
  year =         "1989",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/70593.70608",
  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 =     "The principle of abstraction has assumed a central
                 role in modern software engineering. Most modern
                 textbooks on data structures and algorithms propound
                 the advantages of abstraction as a programming tool.
                 Aho, Hopcroft, and Ullman cite generalization and
                 encapsulation as the two primary advantages of both
                 data and procedural abstraction. Allen Tucker echoes
                 these advantages, defining abstraction as ``a conscious
                 process of generalizing a type, procedure, or data
                 structure in such a way that it can serve more purposes
                 than the one for which it was originally designed,''
                 and encouraging the packaging of procedures in
                 libraries ``to promote their wide utility through
                 generalization''. Michael Feldman focuses on the use of
                 abstraction to reduce complexity through information
                 hiding. Encapsulating the details of a representation
                 allows us to ``concentrate on the mathematical
                 properties of these entities, their visible structure,
                 and the set of operations that can be performed on
                 them.'' Robert Kruse shows how distinguishing between a
                 general concept and a particular implementation can
                 clarify code, which often allows us to recognize
                 similarities between situations which were presumed to
                 be different. He also clearly outlines the various
                 levels at which we solve problems: the abstract
                 (conceptual), data structures (algorithmic),
                 implementation and application (programming) levels.
                 Unfortunately, many students have trouble grasping the
                 concept of abstraction. They see Kruse's hierarchical
                 approach to problem solving as a complication rather
                 than a tool, and have difficulty distinguishing one
                 level from another. (Perhaps this problem is unique to
                 the students I have encountered \ldots{} but I doubt
                 it.)Part of the problem in teaching abstraction is that
                 Pascal, C, and most of the other languages which are
                 widely used in data structures courses do not enforce
                 the use of abstraction. Writing a high-level procedure
                 which uses a lower-level one to do its work seems to be
                 merely a stylistic issue (``The prof wants us to write
                 it this way.'') The power of hierarchical structure for
                 controlling complexity is easily overlooked when it
                 just seems to make one's program longer. Modula-2 is
                 one of the more recent languages which support data
                 abstraction by separating the definition of an abstract
                 data type (ADT) from its implementation in separately
                 compiled modules. We have used Modula-2 in our data
                 structures and algorithms class for the past two years,
                 and are converting our introductory programming courses
                 (CS1 and CS2) to Modula-2 beginning this fall. We are
                 convinced that the use of Modula-2 helps students
                 understand data abstraction by experiencing it in a
                 concrete way. In essence, the hierarchical view of a
                 problem is not merely encouraged, but can be enforced
                 by the modular nature of the language.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  issuedate =    "Sep. 1989",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "5",
}

@Article{Morales-Fernandez:1989:CMM,
  author =       "R. Morales-Fernandez and J. J. Moreno-Navarro",
  title =        "{CC-Modula}: a {Modula-2} Tool to Teach Concurrent
                 Programming",
  journal =      j-SIGCSE,
  volume =       "21",
  number =       "3",
  pages =        "19--25",
  month =        sep,
  year =         "1989",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/70593.70598",
  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 =     "The present work shows an educational experience at
                 University level in the field of concurrent
                 programming. CC-Modula, a tool to teach concurrent
                 programming using a single language, is presented. It
                 could also be considered as a contribution to the
                 development of methods to implement concurrent
                 mechanisms, in the frame of centralized and distributed
                 operating systems. CC-Modula is a Modula-2 package that
                 allows the use of the best known abstract mechanisms of
                 concurrency. CC-Modula handles parallelism between
                 processes and contains mechanisms to synchronize them.
                 Mechanisms based on shared storage as well as
                 mechanisms based on message passing that implement the
                 CSP schema are included.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  issuedate =    "Sep. 1989",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "7",
}

@TechReport{Mossenbock:1989:OOO,
  author =       "Hanspeter M{\"o}ssenb{\"o}ck and Josef Templ and
                 Robert Griesemer",
  title =        "{Object Oberon}: an Object-Oriented Extension of
                 {Oberon}",
  type =         "Technical Report",
  number =       "109",
  institution =  "Department Informatik, ETH Z{\"u}rich",
  address =      "Z{\"u}rich, Switzerland",
  pages =        "i + 30",
  month =        jun,
  year =         "1989",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000512981",
  bibdate =      "Fri Jan 05 10:28:44 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68697;
                 https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/68697/eth-3204-01.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Nance:1989:TM,
  author =       "B. Nance",
  title =        "{TopSpeed Modula-2}",
  journal =      j-BYTE,
  volume =       "14",
  number =       "5",
  pages =        "211--214",
  month =        may,
  year =         "1989",
  CODEN =        "BYTEDJ",
  ISSN =         "0360-5280",
  bibdate =      "Thu Sep 12 17:54:09 MDT 1996",
  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,
  classification = "C6115 (Programming support); C6140D (High level
                 languages); C6150C (Compilers, interpreters and other
                 processors)",
  keywords =     "Built-in linker; Compatible; Context-sensitive help;
                 Efficient code; File-selection operations; IBM PC;
                 Integral editor; Integrated development environment;
                 Integrated programming environment; Library routines;
                 Machine code; Menu system; Optimizing compiler;
                 Package; Programs; Smart Make facility; Summary
                 information; Tests; TopSpeed Modula-2 1.15",
  thesaurus =    "Integrated software; Modula; Program compilers;
                 Programming environments; Software packages",
}

@Article{Odersky:1989:MNA,
  author =       "Martin Odersky",
  title =        "{MINOS}: a New Approach to the Design of an
                 Input\slash Output Library for {Modula-2}",
  journal =      j-STRUCT-PROGRAM,
  volume =       "10",
  number =       "2",
  pages =        "89--105",
  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,
  biburl =       "https://dblp.org/rec/journals/stp/Odersky89.bib",
  dblp-id =      "DBLP:journals/stp/Odersky89",
  fjournal =     "Structured Programming",
  timestamp =    "Tue, 26 May 2020 08:52:31 +0200",
}

@Book{Schiper:1989:CPI,
  author =       "Andr{\'e} Schiper and J. (Jack) Howlett",
  title =        "Concurrent programming: illustrated with examples in
                 {Portal}, {Modula-2} and {Ada}",
  publisher =    "North Oxford Academic",
  address =      "London, UK",
  pages =        "234",
  year =         "1989",
  ISBN =         "0-946536-39-2",
  ISBN-13 =      "978-0-946536-39-9",
  LCCN =         "QA76.6",
  bibdate =      "Sat Jan 12 22:42:27 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;
                 library.ox.ac.uk:210/ADVANCE",
  note =         "Translation to English by Jack Howlett of
                 \cite{Schiper:1986:PCI}.",
  acknowledgement = ack-nhfb,
  remark =       "Translation of: Programmation concurrente.",
  subject =      "Operating systems (Computers); Parallel processing
                 (Electronic computers)",
}

@Article{Schneider:1989:CPP,
  author =       "Victor Schneider",
  title =        "Converting a Portable {Pascal P-Code} Interpreter to a
                 Code Generator",
  journal =      j-SPE,
  volume =       "19",
  number =       "11",
  pages =        "1111--1113",
  month =        nov,
  year =         "1989",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380191108",
  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{Schulman:1989:MOJ,
  author =       "A. Schulman",
  title =        "{Modula-2} and {OS/2} join forces",
  journal =      j-BYTE,
  volume =       "14",
  number =       "8",
  pages =        "171--174",
  month =        aug,
  year =         "1989",
  CODEN =        "BYTEDJ",
  ISSN =         "0360-5280",
  bibdate =      "Thu Sep 12 17:54:09 MDT 1996",
  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,
  classification = "C6150C (Compilers, interpreters and other
                 processors)",
  keywords =     "Application programming interface; Compiler; DLLs;
                 Modula OS/2 1.00; OS/2 API; PM; Presentation manager;
                 Professional Modula-2 2.0; Protected-mode debugging;
                 Run-time error checking; TopSpeed Modula-2 OS/2 1.20;
                 Virtual memory",
  thesaurus =    "Modula; Operating systems [computers]; Program
                 compilers; Software packages",
}

@Article{Schweller:1989:SCP,
  author =       "Kenneth G. Schweller",
  title =        "Scheduling Concurrent Procedures Using {Modula-2}",
  journal =      j-SIGCSE,
  volume =       "21",
  number =       "2",
  pages =        "51--56",
  month =        jun,
  year =         "1989",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/65738.65748",
  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",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  issuedate =    "June 1989",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "6",
}

@Article{vanDelft:1989:CO,
  author =       "A. J. E. van Delft",
  title =        "Comments on {Oberon}",
  journal =      j-SIGPLAN,
  volume =       "24",
  number =       "3",
  pages =        "23--30",
  month =        mar,
  year =         "1989",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/66083.66084",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 09:29:45 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 1989",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "8",
}

@Article{Wallis:1989:BRB,
  author =       "Peter Wallis",
  title =        "Book Review: {{\booktitle{Algorithms and data
                 structures}}, by N. Wirth. Prentice-Hall International,
                 Hemel Hempstead, United Kingdom, 1986, Price \pounds
                 15.95\slash \$27.95 (paperback), ISBN 0-13-021999-1}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "12",
  number =       "2",
  pages =        "157--158",
  month =        jul,
  year =         "1989",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Tue Dec 3 07:20:46 MST 2013",
  bibsource =    "http://www.sciencedirect.com/science/journal/01676423;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/0167642389900403",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423/",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{ANSI:1990:ANSe,
  author =       "{American National Standards Institute} and {Computer
                 and Business Equipment Manufacturers Association}",
  title =        "{American National Standard} for information
                 technology: programming language {PASCAL}: {ANSI/ISO
                 7185-1990}: Revision and redesignation of {ANSI/IEEE
                 770.X3.97-1983 (R1990)}",
  publisher =    pub-ANSI,
  address =      pub-ANSI:adr,
  edition =      "Revised",
  pages =        "v + 78 (printed), vi + 92 (online)",
  year =         "1990",
  bibdate =      "Wed Jun 10 13:53:43 1998",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ansistd.bib",
  note =         "Available in PostScript for personal use only at
                 http://pascal.miningco.com/msub1.htm.",
  acknowledgement = ack-nhfb,
  annote =       "From the title page: ``This online copy of the
                 Extended Pascal standard is provided only as an aid to
                 standardization. In the case of differences between
                 this online version and the printed version, the
                 printed version takes precedence.\par

                 Do not modify this document. Do not include this
                 document in another software product. You may print
                 this document for personal use only. Do not sell this
                 document.\par

                 Use this information only for good; never for evil. Do
                 not expose to fire. Do not operate heavy equipment
                 after reading, may cause drowsiness. Do not read under
                 the influence of alcohol (although there have been
                 several unconfirmed reports that alcohol actually
                 improves the readability). The standard is written in
                 English. If you have trouble understanding a particular
                 section, read it again and again and again\ldots{}. Sit
                 up straight. Eat your vegetables. Do not
                 mumble.\par

                 (c) ISO/IEC 1991.''",
  keywords =     "PASCAL (Computer program language)",
}

@Article{Auping:1990:MMM,
  author =       "Judy V. Auping and J. C. Johnston",
  title =        "Making the Move to {Modula-2}",
  journal =      j-DDJ,
  volume =       "15",
  number =       "9",
  pages =        "16--??",
  month =        sep,
  year =         "1990",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Sep 03 09:15:25 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/dr-dobbs-1990.bib;
                 UnCover database",
  abstract =     "Modula-2's modular structure is ideal for team
                 programming projects and for creating efficient,
                 reusable code.",
  acknowledgement = ack-nhfb,
}

@TechReport{Crelier:1990:OPO,
  author =       "R{\'e}gis Crelier",
  title =        "{OP2}: a Portable {Oberon} Compiler",
  type =         "Report",
  number =       "125",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "46",
  month =        feb,
  year =         "1990",
  bibdate =      "Mon Feb 19 06:50:10 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://github.com/Oleg-N-Cher/OfrontPlus/",
  abstract =     "This report describes a portable compiler for the
                 language Oberon [Wirth 89]. The compiler consists of
                 two parts: the so-called front-end and back-end. The
                 front-end builds a machine-independent structure
                 representing the program. This structure is made up of
                 a symbol table and a syntax tree, rather than a linear
                 sequence of pseudo-instructions coded in an
                 ``intermediate language''. Whereas the front-end can
                 remain unchanged, the back-end has to be reprogrammed,
                 when the compiler is retargeted. The chosen structure
                 allows the insertion of an optional phase, doing
                 different grades of optimization. This technical report
                 provides a detailed description of the intermediate
                 program representation and is first of all directed to
                 the designer of a back-end.",
  acknowledgement = ack-nhfb,
  remark =       "Available as file {\tt
                 Docu/crelier_r.eth_technical_report_125.pdf} in
                 github.",
}

@Article{DiSanto:1990:PCA,
  author =       "Michele {Di Santo} and Libero Nigro and Wilma Russo",
  title =        "Programmer-defined control abstractions in
                 {Modula-2}",
  journal =      j-COMP-LANGS,
  volume =       "15",
  number =       "3",
  pages =        "141--152",
  month =        "????",
  year =         "1990",
  CODEN =        "COLADA",
  ISSN =         "0096-0551 (print), 1873-6742 (electronic)",
  ISSN-L =       "0096-0551",
  bibdate =      "Tue Mar 25 14:04:06 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/complngs.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Univ di Salerno",
  affiliationaddress = "Salerno, Italy",
  classcodes =   "C6140D (High level languages)",
  classification = "722; 723",
  corpsource =   "Instituto di Fisica, Matematica ef Inf., Facolta di
                 Ingegneria, Salerno Univ., Italy",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00960551",
  journalabr =   "Comput Lang",
  keywords =     "Computer Operating Systems--Program Compilers;
                 Computer Programming Languages; Control Abstractions;
                 control forms; first-class control objects; Modula;
                 Modula-2; programmer-defined control abstractions;
                 reusable control modules; sequential computation;
                 threads",
  treatment =    "P Practical",
}

@Article{Dotzel:1990:DMG,
  author =       "G{\"u}nter Dotzel",
  title =        "Does {Modula-2} Generate Racehorses? {Comparison} of
                 Compiler Generated Code Quality for Floating Point
                 Arithmetic",
  journal =      j-SIGPLAN,
  volume =       "25",
  number =       "12",
  pages =        "85--88",
  month =        dec,
  year =         "1990",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/122193.122200",
  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/sigplan1990.bib",
  abstract =     "A simple example serves to demonstrate the code
                 quality generated by two different Modula-2 compilers.
                 In this paper the two compilers are called the
                 Z{\"u}rich/Hamburger and the Erlanger.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "Dec. 1990",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "4",
}

@TechReport{Franz:1990:IM,
  author =       "Michael Franz",
  title =        "The implementation of {MacOberon}",
  type =         "Technical report",
  number =       "141",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "i + 28",
  month =        oct,
  year =         "1990",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000564130",
  bibdate =      "Sat Jan 6 08:48:54 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68699",
  abstract =     "This report documents the implementation of the Oberon
                 system for Apple Macintosh II computers. MacOberon
                 emulates a complete Oberon environment inside a
                 Macintosh Window, allowing it to be used concurrently
                 with other applications under MultiFinder.",
  acknowledgement = ack-nhfb,
  keywords =     "Mac-OS (Operating Systems); specialized reference
                 works + specialized encyclopaedias + handbooks
                 (document type); fachliche Nachschlagewerke +
                 Fachlexika + Handb{\"u}cher (Dokumententyp); Oberon
                 (Programmiersprachen); Oberon (programming languages);
                 Mac-OS (Betriebssysteme);
                 info:eu-repo/classification/ddc/004; Data processing;
                 computer science",
}

@TechReport{Franz:1990:MRM,
  author =       "Michael Franz",
  title =        "{MacOberon} reference manual",
  type =         "Technical report",
  number =       "142",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "i + 32",
  month =        nov,
  year =         "1990",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000564132",
  bibdate =      "Sat Jan 6 08:50:59 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68900",
  abstract =     "MacOberon is an implementation of the Oberon system
                 for Apple Macintosh II computers, closely resembling
                 the original implementation on the personal workstation
                 Ceres. This document supplements the existing Oberon
                 documentation and describes those aspects in which
                 MacOberon differs from or extends standard Oberon.",
  acknowledgement = ack-nhfb,
  keywords =     "Mac-OS (operating systems); specialized reference
                 works + specialized encyclopaedias + handbooks
                 (document type); fachliche Nachschlagewerke +
                 Fachlexika + Handb{\"u}cher (Dokumententyp); Oberon
                 (Programmiersprachen); Oberon (programming languages);
                 Mac-OS (Betriebssysteme);
                 info:eu-repo/classification/ddc/004; Data processing;
                 computer science",
}

@InCollection{Gries:1990:BDO,
  author =       "David Gries",
  title =        "Binary to Decimal, One More Time",
  crossref =     "Feijen:1990:BOB",
  chapter =      "16",
  pages =        "141--148",
  year =         "1990",
  bibdate =      "Sun Mar 27 17:53:57 1994",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/b/bauer-friedrich-ludwig.bib;
                 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",
  note =         "This paper presents an alternate proof of Knuth's
                 algorithm \cite{Knuth:1990:SPW} for conversion between
                 decimal and fixed-point binary numbers.",
  acknowledgement = ack-nhfb,
  subject-dates = "Friedrich (``Fritz'') Ludwig Bauer (10 June 1924--26
                 March 2015)",
}

@TechReport{Gutknecht:1990:OGS,
  author =       "J{\"u}rg Gutknecht",
  title =        "The {Oberon} guide: System release 1.2",
  type =         "Technical report",
  number =       "138",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "i + 60",
  month =        oct,
  year =         "1990",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000561436",
  bibdate =      "Sat Jan 6 08:52:13 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68700",
  abstract =     "This guide provides a concise and detailed description
                 of the Oberon system on three different levels: the
                 user's level, the level of programmers of tools, and
                 the level of implementors of new viewer classes. In
                 particular, the guide features a complete documentation
                 of standard commands, a commented series of important
                 interface definitions, and a tutorial collection of
                 Oberon programs exemplifying the typical Oberon
                 programming style.",
  acknowledgement = ack-nhfb,
  keywords =     "object-oriented programming (programming methods);
                 specialized reference works + specialized
                 encyclopaedias + handbooks (document type); fachliche
                 Nachschlagewerke + Fachlexika + handb{\"u}cher
                 (Dokumententyp); Oberon (Programmiersprachen);
                 objektorientierte Programmierung (Programmiermethoden);
                 Oberon (programming languages);
                 info:eu-repo/classification/ddc/004; data processing;
                 computer science",
}

@Article{Harbison:1990:MIO,
  author =       "S. Harbison",
  title =        "{Modula-3}: An introduction to the {OOP} language that
                 grew from {Pascal} and {Modula-2}",
  journal =      j-BYTE,
  volume =       "15",
  number =       "12",
  pages =        "385--388, 390, 392",
  month =        nov,
  year =         "1990",
  CODEN =        "BYTEDJ",
  ISSN =         "0360-5280",
  bibdate =      "Thu Sep 12 18:39:30 MDT 1996",
  bibsource =    "/usr/local/src/bib/bibliography/Misc/IMMD_IV.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/byte1990.bib",
  acknowledgement = ack-nhfb,
  classification = "C6140D (High level languages)",
  keywords =     "Concurrency; Modula; Modula-3; Object-oriented
                 programming; Typed language",
  thesaurus =    "Modula; Object-oriented programming",
  xxnote =       "Check month??",
}

@Book{ISO:1990:EPI,
  author =       "{ISO}",
  title =        "{Extended Pascal ISO 10206:1990}",
  publisher =    pub-ISO,
  address =      pub-ISO:adr,
  pages =        "xii + 218",
  year =         "1990",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Mon Feb 05 17:54:26 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 =         "Available in PostScript for personal use only at
                 http://pascal.miningco.com/msub1.htm.",
  URL =          "http://www.iso.ch/cate/d18237.html",
  acknowledgement = ack-nhfb,
  annote =       "From the title page: ``This online copy of the
                 Extended Pascal standard is provided only as an aid to
                 standardization. In the case of differences between
                 this online version and the printed version, the
                 printed version takes precedence.\par Do not modify
                 this document. Do not include this document in another
                 software product. You may print this document for
                 personal use only. Do not sell this document.\par Use
                 this information only for good; never for evil. Do not
                 expose to fire. Do not operate heavy equipment after
                 reading, may cause drowsiness. Do not read under the
                 influence of alcohol (although there have been several
                 unconfirmed reports that alcohol actually improves the
                 readability). The standard is written in English. If
                 you have trouble understanding a particular section,
                 read it again and again and again\ldots{} Sit up
                 straight. Eat your vegetables. Do not mumble.\par (c)
                 ISO/IEC 1991.''",
}

@Book{ISO:1990:IITa,
  author =       "{ISO}",
  title =        "{ISO 7185:1990}: {Information} technology ---
                 {Programming} languages --- {Pascal}",
  publisher =    pub-ISO,
  address =      pub-ISO:adr,
  pages =        "78",
  year =         "1990",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Tue Dec 12 06:45:29 2000",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/isostd.bib",
  price =        "CHF 164; US\$112.00",
  URL =          "http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO+7185%3A1990;
                 http://www.iso.ch/cate/d13802.html",
  acknowledgement = ack-nhfb,
  pricecode =    "W",
}

@InProceedings{Jordan:1990:EPEa,
  author =       "Mick Jordan",
  booktitle =    "Proceedings of the {Fourth ACM SIGSOFT Symposium on
                 Software Development Environments}",
  title =        "An Extensible Programming Environment for {Modula-3}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "66--76",
  year =         "1990",
  DOI =          "https://doi.org/10.1145/99277.99285",
  ISBN =         "0-89791-418-X",
  ISBN-13 =      "978-0-89791-418-5",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "SDE 4",
  abstract =     "This paper describes the design and implementation of
                 a practical programming environment for the Modula-3
                 programming language. The environment is organised
                 around an extensible intermediate representation of
                 programs and makes extensive use of reusable
                 components. The environment is implemented in Modula-3
                 and exploits some of the novel features of the
                 language.",
  acknowledgement = ack-nhfb,
  location =     "Irvine, California, USA",
  numpages =     "11",
}

@Article{Jordan:1990:EPEb,
  author =       "Mick Jordan",
  title =        "An Extensible Programming Environment for {Modula-3}",
  journal =      j-SIGSOFT,
  volume =       "15",
  number =       "6",
  pages =        "66--76",
  month =        oct,
  year =         "1990",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/99278.99285",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  abstract =     "This paper describes the design and implementation of
                 a practical programming environment for the Modula-3
                 programming language. The environment is organised
                 around an extensible intermediate representation of
                 programs and makes extensive use of reusable
                 components. The environment is implemented in Modula-3
                 and exploits some of the novel features of the
                 language.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  issuedate =    "Dec. 1990",
  numpages =     "11",
}

@InProceedings{King:1990:DMV,
  author =       "K. N. King and David A. Crick",
  booktitle =    "Proceedings of the 28th Annual Southeast Regional
                 Conference",
  title =        "The Development of a {Modula-2} Validation Suite",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "95--100",
  year =         "1990",
  DOI =          "https://doi.org/10.1145/98949.98999",
  ISBN =         "0-89791-356-6",
  ISBN-13 =      "978-0-89791-356-0",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "ACM-SE 28",
  acknowledgement = ack-nhfb,
  location =     "Greenville, South Carolina",
  numpages =     "6",
}

@Article{Klaeren:1990:CMI,
  author =       "Herbert Klaeren and Peter Thiemann",
  title =        "A Clean {Modula-2} Interface to Abstract Data Types",
  journal =      j-STRUCT-PROGRAM,
  volume =       "11",
  number =       "2",
  pages =        "69--78",
  year =         "1990",
  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,
  biburl =       "https://dblp.org/rec/journals/stp/KlaerenT90.bib",
  dblp-id =      "DBLP:journals/stp/KlaerenT90",
  fjournal =     "Structured Programming",
  timestamp =    "Tue, 26 May 2020 08:52:29 +0200",
}

@InCollection{Knuth:1990:SPW,
  author =       "Donald E. Knuth",
  title =        "A simple program whose proof isn't",
  crossref =     "Feijen:1990:BOB",
  chapter =      "27",
  pages =        "233--242",
  year =         "1990",
  bibdate =      "Sun Mar 27 17:53:57 1994",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/b/bauer-friedrich-ludwig.bib;
                 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",
  acknowledgement = ack-nhfb,
  subject-dates = "Friedrich (``Fritz'') Ludwig Bauer (10 June 1924--26
                 March 2015)",
}

@Article{Lins:1990:PEO,
  author =       "C. Lins",
  title =        "Programming without Enumerations in {Oberon}",
  journal =      j-SIGPLAN,
  volume =       "25",
  number =       "7",
  pages =        "19--27",
  month =        jul,
  year =         "1990",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/382076.382642",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 09:29:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "July 1990",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "9",
}

@Article{Louden:1990:PCC,
  author =       "Kenneth Louden",
  title =        "{P-Code} and Compiler Portability: Experience with a
                 {Modula-2} Optimizing Compiler",
  journal =      j-SIGPLAN,
  volume =       "25",
  number =       "5",
  pages =        "53--59",
  month =        may,
  year =         "1990",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/382080.382632",
  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/sigplan1990.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "May 1990",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "7",
}

@Article{Malloy:1990:CSP,
  author =       "Brian Malloy and Mary Lou Soffa",
  title =        "Conversion of Simulation Processes to {Pascal}
                 Constructs",
  journal =      j-SPE,
  volume =       "20",
  number =       "2",
  pages =        "191--207",
  month =        feb,
  year =         "1990",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380200206",
  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{Padiou:1990:NCE,
  author =       "G{\'e}rard Padiou",
  title =        "Nested Coroutines for Exception Handling in
                 {Modula-2}",
  journal =      j-STRUCT-PROGRAM,
  volume =       "11",
  number =       "2",
  pages =        "79--84",
  year =         "1990",
  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,
  biburl =       "https://dblp.org/rec/journals/stp/Padiou90.bib",
  dblp-id =      "DBLP:journals/stp/Padiou90",
  fjournal =     "Structured Programming",
  timestamp =    "Tue, 26 May 2020 08:52:30 +0200",
}

@Article{Pournelle:1990:MVJ,
  author =       "Jerry Pournelle",
  title =        "Multimedia Video: {Jerry} looks at multimedia video
                 boards, a new {Modula-2}, and assorted gadgets",
  journal =      j-BYTE,
  volume =       "15",
  number =       "12",
  pages =        "73--??",
  month =        nov,
  year =         "1990",
  CODEN =        "BYTEDJ",
  ISSN =         "0360-5280",
  bibdate =      "Tue Jan 2 10:01:41 MST 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/byte1990.bib",
  acknowledgement = ack-nhfb,
}

@TechReport{Regis:1990:OPO,
  author =       "R{\'e}gis Crelier",
  title =        "{OP 2}: A portable {Oberon} compiler",
  type =         "Technical report",
  number =       "125",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "i + 46",
  month =        feb,
  year =         "1990",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000534268",
  bibdate =      "Sat Jan 6 08:44:57 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68707",
  abstract =     "This report describes a portable compiler for the
                 language Oberon [Wirth 89]. The compiler consists of
                 two parts: the so-called front-end and back-end. The
                 front-end builds a machine-independent structure
                 representing the program. This structure is made up of
                 a symbol table and a syntax tree, rather than a linear
                 sequence of pseudo-instructions coded in an
                 ``intermediate language''. Whereas the front-end can
                 remain unchanged, the back-end has to be reprogrammed,
                 when the compiler is retargeted. The chosen structure
                 allows the insertion of an optional phase, doing
                 different grades of optimization. This technical report
                 provides a detailed description of the intermediate
                 program representation and is first of all directed to
                 the designer of a back-end.",
  acknowledgement = ack-nhfb,
  keywords =     "Compiler (Programmiersprachen); compilers (programming
                 languages); computer science; Data processing;
                 info:eu-repo/classification/ddc/004; Oberon
                 (Programmiersprachen); Oberon (programming languages)",
}

@Article{Ribar:1990:OPG,
  author =       "L. John Ribar",
  title =        "{OS/2} programming goes {Modula-2}",
  journal =      j-COMP-LANG-MAG,
  volume =       "7",
  number =       "11",
  pages =        "83--??",
  month =        nov,
  year =         "1990",
  CODEN =        "COMLEF",
  ISSN =         "0749-2839",
  bibdate =      "Tue Jan 23 08:04:25 MST 1996",
  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,
}

@Article{Souter:1990:PMA,
  author =       "John Souter",
  title =        "The position of {MODULA-2} among programming
                 languages",
  journal =      j-MICROPROC-MICROSYS,
  volume =       "14",
  number =       "3",
  pages =        "145--148",
  month =        apr,
  year =         "1990",
  CODEN =        "MIMID5",
  DOI =          "https://doi.org/10.1016/0141-9331(90)90064-3",
  ISSN =         "0141-9331 (print), 1872-9436 (electronic)",
  ISSN-L =       "0141-9331",
  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/0141933190900643",
  acknowledgement = ack-nhfb,
  fjournal =     "Microprocessors and Microsystems",
  keywords =     "Ada",
}

@TechReport{Szyperski:1990:NCO,
  author =       "Clemens A. Szyperski",
  title =        "Network communication in the {Oberon} environment",
  type =         "Technical report",
  number =       "126",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "i + 43",
  month =        feb,
  year =         "1990",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000534271",
  bibdate =      "Sat Jan 6 08:42:58 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68708",
  abstract =     "The Oberon system has several environmental and
                 conceptual aspects that make it rather different from
                 other systems supporting workstations interconnected by
                 a local area network. This report concentrates on the
                 integration of flexible communication primitives into
                 the Oberon system. The major design goal was to
                 simultaneously support simple applications using the
                 primitives directly and higher-level communication
                 services building on top of the primitives. The design
                 decisions and the resulting implementation for the
                 Ceres workstation environment are described. To
                 illustrate effectiveness and efficiency of the chosen
                 communication primitives, a typical example is
                 developed, and some comparative performance figures are
                 given. A concise interface documentation is added as a
                 separate reference part.",
  acknowledgement = ack-nhfb,
  keywords =     "data communications (computer systems),
                 Datenkommunikation (Computersysteme),
                 Netzwerk{\"u}berwachung + Netzwerkadministration
                 (Computersysteme), network monitoring (computer
                 systems), Oberon (Programmiersprachen), Oberon
                 (programming languages),
                 info:eu-repo/classification/ddc/004, Data processing,
                 computer science",
}

@Article{Taylor:1990:MMP,
  author =       "Dave Taylor",
  title =        "{Metrowerks Modula-2 PSE}",
  journal =      j-COMP-LANG-MAG,
  volume =       "7",
  number =       "11",
  pages =        "91--??",
  month =        nov,
  year =         "1990",
  CODEN =        "COMLEF",
  ISSN =         "0749-2839",
  bibdate =      "Tue Jan 23 08:04:25 MST 1996",
  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,
}

@TechReport{Templ:1990:SOU,
  author =       "Josef Templ",
  title =        "{SPARC-Oberon}: User's guide and implementation",
  type =         "Technical report",
  number =       "133",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "i + 30",
  month =        jun,
  year =         "1990",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000545879",
  bibdate =      "Sat Jan 6 08:39:22 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68461",
  abstract =     "SPARC-Oberon is an implementation of Oberon for SPARC
                 processors. It covers both, the programming language
                 Oberon and the Oberon System closely resembling the
                 original implementation on Ceres. Hence, this report
                 describes only the differences between SPARC-Oberon and
                 the Ceres implementation (Ceres-Oberon) from a user's
                 point of view.",
  acknowledgement = ack-nhfb,
  keywords =     "RISC; Reduced Instruction Set computer (computer
                 systems); specialized reference works + specialized
                 encyclopaedias + handbooks (document type); fachliche
                 Nachschlagewerke + Fachlexika + handb{\"u}cher
                 (Dokumententyp); RISC; Reduced Instruction Set Computer
                 (Computersysteme); Oberon (Programmiersprachen); Oberon
                 (programming languages);
                 info:eu-repo/classification/ddc/004; Data processing;
                 computer science",
}

@Article{Bates:1991:MP,
  author =       "Rodney M. Bates",
  title =        "{Modula-2}: The Pros",
  journal =      j-CUJ,
  volume =       "9",
  type =         "Letter",
  number =       "1",
  pages =        "137--??",
  month =        jan,
  year =         "1991",
  ISSN =         "0898-9788",
  bibdate =      "Fri Aug 30 16:52:23 MDT 1996",
  bibsource =    "http://www.cuj.com/cbklist.htm;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cccuj.bib",
  acknowledgement = ack-nhfb,
}

@Article{Bisignani:1991:MM,
  author =       "Michael Bisignani",
  title =        "Multitasking in {Modula-2}",
  journal =      j-COMP-LANG-MAG,
  volume =       "8",
  number =       "2",
  pages =        "53--??",
  month =        feb,
  year =         "1991",
  CODEN =        "COMLEF",
  ISSN =         "0749-2839",
  bibdate =      "Tue Jan 23 08:04:25 MST 1996",
  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,
}

@Article{Borstler:1991:TCT,
  author =       "J{\"u}rgen B{\"o}rstler and Ulrich M{\"o}ncke and
                 Reinhard Wilhelm",
  title =        "Table Compression for Tree Automata",
  journal =      j-TOPLAS,
  volume =       "13",
  number =       "3",
  pages =        "295--314",
  month =        jul,
  year =         "1991",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Fri Jan 5 07:58:42 MST 1996",
  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;
                 Misc/IMMD_IV.bib",
  URL =          "http://www.acm.org/pubs/toc/Abstracts/0164-0925/117013.html",
  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",
  keywords =     "design; experimentation; theory",
  subject =      "{\bf F.4.2}: Theory of Computation, MATHEMATICAL LOGIC
                 AND FORMAL LANGUAGES, Grammars and Other Rewriting
                 Systems, Parsing. {\bf F.1.1}: Theory of Computation,
                 COMPUTATION BY ABSTRACT DEVICES, Models of Computation,
                 Automata. {\bf E.1}: Data, DATA STRUCTURES, Trees. {\bf
                 E.4}: Data, CODING AND INFORMATION THEORY, Data
                 compaction and compression.",
}

@InProceedings{Bowen:1991:HMC,
  author =       "D. E. Bowen and A. C. Beers",
  title =        "A highly-portable {Modula-2} compiler",
  crossref =     "Anonymous:1991:PSI",
  pages =        "68--76",
  year =         "1991",
  bibdate =      "Tue Dec 29 08:26:55 1998",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/gnu.bib",
  abstract =     "A Modula-2 front-end to the GNU compiler system is
                 described. The GNU compiler [gm2] is a highly optimized
                 four-step system with clean interfaces for both the
                 front- and back-ends. It is designed to run on machines
                 with 32 bit CPUs and configured to run primarily under
                 the UNIX operating system. Because of the clean
                 interface, this front-end will be able to take
                 advantage of over a dozen back-ends currently available
                 and will also provide a platform for porting Modula-2
                 to a new architecture with minimal time and effort.",
  acknowledgement = ack-nhfb,
  affiliation =  "State Univ. of New York, Buffalo, NY, USA",
  classification = "C6110B (Software engineering techniques); C6150C
                 (Compilers, interpreters and other processors); C6180
                 (User interfaces)",
  keywords =     "Back-ends; Clean interfaces; CPUs; gm2; GNU compiler
                 system; Highly optimized four step system;
                 Highly-portable Modula-2 compiler; Modula-2 front-end;
                 New architecture; UNIX operating system",
  thesaurus =    "Modula; Program compilers; Software portability; User
                 interfaces",
}

@Article{Cashman:1991:BET,
  author =       "Mark Cashman",
  title =        "The Benefits of Enumerated Types in {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "26",
  number =       "2",
  pages =        "35--39",
  month =        jan,
  year =         "1991",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/122179.122183",
  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/sigplan1990.bib",
  abstract =     "This paper shows that, contrary to [Lins90],
                 enumerations are helpful to type safety in strongly
                 typed programming languages, such as Modula-2.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "Feb. 1991",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "5",
}

@Article{Cohen:1991:TCT,
  author =       "Norman H. Cohen",
  title =        "Technical Correspondence: Type-Extension Type Tests
                 Can Be Performed In Constant Time",
  journal =      j-TOPLAS,
  volume =       "13",
  number =       "4",
  pages =        "626--629",
  month =        oct,
  year =         "1991",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Sat Jan 6 14:08:14 1996",
  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,Wirth:1991:TCR}.",
  URL =          "http://www.acm.org/pubs/toc/Abstracts/0164-0925/115297.html",
  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",
  keywords =     "algorithms; languages; performance; theory",
  subject =      "{\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
                 Constructs and Features, Data types and structures.
                 {\bf D.3.3}: Software, PROGRAMMING LANGUAGES, Language
                 Constructs and Features, Procedures, functions, and
                 subroutines. {\bf D.3.4}: Software, PROGRAMMING
                 LANGUAGES, Processors. {\bf E.2}: Data, DATA STORAGE
                 REPRESENTATIONS, Linked representations. {\bf E.1}:
                 Data, DATA STRUCTURES, Lists.",
}

@InProceedings{Crelier:1991:OPO,
  author =       "R{\'e}gis Crelier",
  title =        "{OP2}: a Portable {Oberon} Compiler",
  crossref =     "Anonymous:1991:PSI",
  pages =        "1--10",
  year =         "1991",
  bibdate =      "Mon Feb 19 06:55:08 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://github.com/Oleg-N-Cher/OfrontPlus/",
  abstract =     "A portable compiler for the language Oberon 2 is
                 presented. Most related works pay for portability with
                 low compilation speed or poor code quality. Portability
                 and efficiency have been given the same importance in
                 our approach. Hence, an automated retargetable code
                 generation has not been considered.

                 The compiler consists of a front=end and a back-end.
                 The front-end does the lexical and syntactic analysis,
                 including type checking. It builds a
                 machine-independent structure representing the program.
                 This structure is made up of a symbol table and an
                 abstract syntax tree, rather than a stream of
                 pseudo-instructions coded in an ``intermediate
                 language''. If no errors are found, control is passed
                 to the back-end which generates code from this
                 intermediate structure. This structure clearly
                 separates the front-end which is machine-independent
                 from the back-end which is machine-dependent. While the
                 front-end can remain unchanged, the back-end has to be
                 reprogrammed when the compiler is retargeted to a new
                 machine.

                 This compiler has been successfully used to port the
                 Oberon System onto different computers. Code generators
                 have been implemented both for CISC and RISC
                 processors. Differences in processor architectures are
                 reflected in the complexity of the back-end, the
                 generated code density and performance. The compiler is
                 written in Oberon. New compilers have therefore to be
                 first compiled on an already working Oberon System. If
                 such a system is not available, a version of the
                 compiler whose back-end produces C code may be used for
                 the bootstrap.

                 The compilation techniques presented here are not
                 restricted to Oberon compilers, but could be used for
                 other programming languages too. Nevertheless, Oberon
                 and OP2 tend to the same ideal: simplicity,
                 flexibility, efficiency and elegance.",
  acknowledgement = ack-nhfb,
  remark =       "Available as file {\tt
                 Docu/crelier_r.op2_a_portable_oberon_2_compiler.en.pdf}
                 in github.",
}

@Book{Engeln-Mullges:1991:FNM,
  author =       "Gisela Engeln-M{\"u}llges and Fritz Reutter",
  title =        "{Formelsammlung zur numerischen Mathematik mit Turbo
                 Pascal-Programmen}. ({German}) [{Collection} of
                 formulas for numerical mathematics with {Turbo Pascal}
                 programs]",
  publisher =    pub-BIBLIO-INST,
  address =      pub-BIBLIO-INST:adr,
  edition =      "Third",
  pages =        "xxiv + 912",
  year =         "1991",
  ISBN =         "3-411-15003-3",
  ISBN-13 =      "978-3-411-15003-8",
  LCCN =         "QA297 .E55 1991",
  MRclass =      "65-00",
  MRnumber =     "1166595",
  bibdate =      "Fri Jan 5 06:27:40 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "With an appendix by Albert Becker and J{\"u}rgen
                 Dietel",
  ZMnumber =     "0749.65001",
  acknowledgement = ack-nhfb,
  language =     "German",
  tableofcontents = "Inhaltsverzeichnis \\
                 \\
                 1 Darstellung von Zahlen und Fehleranalyse / 1 \\
                 1.1 Definition von Fehlergr{\"o}{\ss}en / 1 \\
                 1.2 Dezimaldarstellung von Zahlen / 3 \\
                 1.3 Fehlerquellen / 7 \\
                 1.3.1 Der Verfahrensfehler / 7 \\
                 1.3.2 Der Eingangsfehler / 8 \\
                 1.3.3 Der Rechnungsfehler / 11 \\
                 \\
                 2 Numerische Verfahren zur L{\"o}sung nichtlinearer
                 Gleichungen / 13 \\
                 2.1 Aufgabenstellung und Anwendungsempfehlungen / 13
                 \\
                 2.2 Definitionen und S{\"a}tze {\"u}ber Nullstellen /
                 14 \\
                 2.3 Allgemeines Iterationsverfahren / 15 \\
                 2.3.1 Konstruktionsmethode und Definition / 15 \\
                 2.3.2 Existenz von L{\"o}sungen und Eindeutigkeit der
                 L{\"o}sung / 17 \\
                 2.3.3 Konvergenz eines Iterationsverfahrens,
                 Fehlerabsch{\"a}tzungen, \\
                 Rechnungsfehler / 18 \\
                 2.3.4 Praktische Durchf{\"u}hrung / 21 \\
                 2.4 Konvergenzordnung eines Iterationsverfahrens / 23
                 \\
                 2.5 Newtonsche Verfahren / 25 \\
                 2.5.1 Das Newtonsche Verfahren f{\"u}r einfache
                 Nullstellen / 25 \\
                 2.5.2 Ged{\"a}mpftes Newton-Verfahren / 27 \\
                 2.5.3 Das Newtonsche Verfahren f{\"u}r mehrfache
                 Nullstellen. \\
                 Das modifizierte Newtonsche Verfahren / 28 \\
                 2.6 Regula Falsi / 29 \\
                 2.6.1 Regula Falsi f{\"u}r einfache Nullstellen / 29
                 \\
                 2.6.2 Modifizierte Regula Falsi f{\"u}r mehrfache
                 Nullstellen / 30 \\
                 2.6.3 Primitivform der Regula Falsi / 30 \\
                 2.7 Verfahren von Steffensen / 31 \\
                 2.7.1 Das Verfahren von Steffensen f{\"u}r einfache
                 Nullstellen / 31 \\
                 2.7.2 Das modifizierte Steffensen-Verfahren f{\"u}r
                 mehrfache \\
                 Nullstellen / 32 \\
                 2.8 Einschlu{\ss}verfahren / 32 \\
                 2.8.1 Das Bisektionsverfahren / 33 \\
                 2.8.2 Das Pegasus-Verfahren / 34 \\
                 2.8.3 Das Verfahren von Anderson-Bj{\"o}rck / 36 \\
                 2.8.4 Die Verfahren von King und
                 Anderson-Bj{\"o}rck-King. \\
                 Das Illinois-Verfahren / 39 \\
                 2.9 Effizienz der Verfahren und Entscheidungshilfen /
                 39 \\
                 \\
                 3 Verfahren zur L{\"o}sung algebraischer Gleichungen /
                 43 \\
                 3.1 Vorbemerkungen / 43 \\
                 3.2 Das Horner-Schema / 44 \\
                 3.2.1 Das einfache Horner-Schema f{\"u}r reelle
                 Argumentwerte / 44 \\
                 3.2.2 Das einfache Horner-Schema f{\"u}r komplexe
                 Argumentwerte / 45 \\
                 3.2.3 Das vollst{\"a}ndige Horner-Schema f{\"u}r reelle
                 Argumentwerte / 47 \\
                 3.2.4 Anwendungen / 49 \\
                 3.3 Methoden zur Bestimmung s{\"a}mtlicher L{\"o}sungen
                 algebraischer \\
                 Gleichungen / 50 \\
                 3.3.1 Vorbemerkungen, {\"U}berblick und
                 Entscheidungshilfen f{\"u}r \\
                 die Wahl der Methode / 50 \\
                 3.3.2 Das Verfahren von Muller / 51 \\
                 3.3.3 Das Verfahren von Bauhuber / 54 \\
                 3.3.4 Das Verfahren von Jenkins und Traub / 56 \\
                 3.4 Entscheidungshilfen / 56 \\
                 \\
                 4 Direkte Verfahren zur L{\"o}sung linearer
                 Gleichungssysteme / 57 \\
                 4.1 Aufgabenstellung / 57 \\
                 4.2 Definitionen und S{\"a}tze / 58 \\
                 4.3 L{\"o}sbarkeitsbedingungen f{\"u}r ein lineares
                 Gleichungssystem / 64 \\
                 4.4 Prinzip der direkten Methoden / 65 \\
                 4.5 Der Gau{\ss}-Algorithmus / 66 \\
                 4.5.1 Gau{\ss}-Algorithmus mit Spaltenpivotsuche / 66
                 \\
                 4.5.2 Pivotsuche / 70 \\
                 4.5.3 Gau{\ss}-Algorithmus als Dreieckszerlegung / 71
                 \\
                 4.5.4 Der Gau{\ss}-Algorithmus f{\"u}r Systeme mit \\
                 mehreren rechten Seiten / 73 \\
                 4.6 Matrizeninversion mit dem Gau{\ss}-Algorithmus / 74
                 \\
                 4.7 Verfahren f{\"u}r Systeme mit symmetrischen
                 Matrizen / 75 \\
                 4.7.1 Systeme mit symmetrischer, streng regul{\"a}rer
                 Matrix / 76 \\
                 4.7.2 Systeme mit symmetrischer, positiv definiter
                 Matrix. \\
                 Cholesky-Verfahren / 76 \\
                 4.7.3 Systeme mit symmetrischer, positiv definiter
                 Matrix. \\
                 Verfahren der konjugierten Gradienten (CG-Verfahren) /
                 80 \\
                 4.8 Das Gau{\ss}-Jordan-Verfahren / 84 \\
                 4.9 Bestimmung der zu einer Matrix inversen Matrix mit
                 \\
                 dem Austauschverfahren / 85 \\
                 4.10 Gleichungssysteme mit tridiagonaien Matrizen / 87
                 \\
                 4.10.1 Systeme mit tridiagonaler Matrix / 87 \\
                 4.10.2 Systeme mit symmetrischer, tridiagonaler,
                 positiv \\
                 definiter Matrix / 89 \\
                 4.11 Gleichungssysteme mit zyklisch tridiagonaien
                 Matrizen / 91 \\
                 4.11.1 Systeme mit zyklisch tridiagonaler Matrix / 91
                 \\
                 4.11.2 Systeme mit symmetrischer, zyklisch
                 tridiagonaler Matrix / 93 \\
                 4.12 Gleichungssysteme mit f{\"u}nfdiagonalen Matrizen
                 / 95 \\
                 4.12.1 Systeme mit f{\"u}nfdiagonaler Matrix / 95 \\
                 4.12.2 Systeme mit symmetrischer, f{\"u}nfdiagonaler,
                 positiv \\
                 definiter Matrix / 98 \\
                 4.13 Gleichungssysteme mit Bandmatrizen / 100 \\
                 4.14 L{\"o}sung {\"u}berbestimmter linearer
                 Gleichungssysteme \\
                 mit Householdertransformation / 106 \\
                 4.15 Fehler, Kondition und Nachiteration / 111 \\
                 4.15.1 Fehler und Kondition / 111 \\
                 4.15.2 Konditionssch{\"a}tzung / 113 \\
                 4.15.3 M{\"o}glichkeiten zur Konditionsverbesserung /
                 116 \\
                 4.15.4 Nachiteration / 117 \\
                 4.16 Gleichungssysteme mit Blockmatrizen / 118 \\
                 4.16.1 Vorbemerkungen / 118 \\
                 4.16.2 Gau{\ss}-Algorithmus f{\"u}r Blocksysteme / 119
                 \\
                 4.16.3 Gau{\ss}-Algorithmus f{\"u}r tridiagonale
                 Blocksysteme / 121 \\
                 4.16.4 Weitere Block-Verfahren / 121 \\
                 4.17 Entscheidungshilfen f{\"u}r die Auswahl des
                 Verfahrens / 122 \\
                 5 Iterationsverfahren zur L{\"o}sung linearer
                 Gleichungssysteme / 125 \\
                 5.1 Vorbemerkungen und Entscheidungshilfen / 125 \\
                 5.2 Vektor- und Matrixnormen / 126 \\
                 5.3 Das Iterationsverfahren in Gesamtschritten / 127
                 \\
                 5.4 Das Iterationsverfahren in Einzelschritten oder das
                 \\
                 Gau{\ss}-Seidelsche Iterationsverfahren / 132 \\
                 5.5 Relaxation beim Gesamtschrittverfahren / 133 \\
                 5.6 Relaxation beim Einzelschrittverfahren / 134 \\
                 \\
                 6 Systeme nichtlinearer Gleichungen / 137 \\
                 6.1 Allgemeines Iterationsverfahren f{\"u}r Systeme /
                 137 \\
                 6.2 Spezielle Iterationsverfahren / 143 \\
                 6.2.1 Newtonsche Verfahren f{\"u}r nichtlineare Systeme
                 / 143 \\
                 6.2.1.1 Das quadratisch konvergente Newton-Verfahren /
                 143 \\
                 6.2.1.2 Ged{\"a}mpftes Newton-Verfahren f{\"u}r Systeme
                 / 145 \\
                 6.2.2 Regula Falsi f{\"u}r nichtlineare Systeme / 146
                 \\
                 6.2.3 Das Verfahren des st{\"a}rksten Abstiegs
                 (Gradienten- \\
                 verfahren) f{\"u}r nichtlineare Systeme / 147 \\
                 6.2.4 Das Verfahren von Brown f{\"u}r Systeme / 149 \\
                 6.3 Entscheidungshilfen f{\"u}r die Auswahl der Methode
                 / 149 \\
                 \\
                 7 Eigenwerte und Eigenvektoren von Matrizen / 151 \\
                 7.1 Definitionen und Aufgabenstellungen / 151 \\
                 7.2 Diagonal{\"a}hnliche Matrizen / 153 \\
                 7.3 Das Iterationsverfahren nach v. Mises / 155 \\
                 7.3.1 Bestimmung des betragsgr{\"o}{\ss}ten Eigenwertes
                 und des \\
                 zugeh{\"o}rigen Eigenvektors / 155 \\
                 7.3.2 Bestimmung des betragskleinsten Eigenwertes / 159
                 \\
                 7.3.3 Bestimmung weiterer Eigenwerte und Eigenvektoren
                 / 160 \\
                 7.4 Konvergenzverbesserung mit Hilfe des
                 Rayleigh-Quotienten \\
                 im Falle hermitescher Matrizen / 161 \\
                 7.5 Das Verfahren von Krylov / 162 \\
                 7.5.1 Bestimmung der Eigenwerte / 162 \\
                 7.5.2 Bestimmung der Eigenvektoren / 164 \\
                 7.6 Bestimmung der Eigenwerte positiv definiter,
                 symmetrischer, \\
                 tridiagonaler Matrizen mit Hilfe des QD-Algorithmus /
                 165 \\
                 7.7 Transformationen auf Hessenbergform, LR- und
                 QR-Verfahren / 167 \\
                 7.7.1 Transformation einer Matrix auf obere
                 Hessenbergform / 167 \\
                 7.7.2 LR--Verfahren / 169 \\
                 7.7.3 QR--Verfahren / 171 \\
                 7.8 Eigenwerte und Eigenvektoren einer Matrix nach den
                 Verfahren von Martin, Parlett, Peters, Reinsch und
                 Wilkinson / 172 \\
                 7.9 Entscheidungshilfen / 174 \\
                 \\
                 8 Lineare und nichtlineare Approximation / 175 \\
                 8.1 Lineare Approximation / 176 \\
                 8.1.1 Approximationsaufgabe und beste Approximation /
                 176 \\
                 8.1.2 Kontinuierliche lineare Approximation im
                 quadratischen \\
                 Mittel / 180 \\
                 8.1.3 Diskrete lineare Approximation im quadratischen
                 Mittel / 184 \\
                 8.1.3.1 Normalgleichungen f{\"u}r den diskreten
                 linearen Ausgleich / 184 \\
                 8.1.3.2 Diskreter Ausgleich durch algebraische Polynome
                 \\
                 unter Verwendung orthogonaler Polynome / 187 \\
                 8.1.3.3 Lineare Regression. Ausgleich durch lineare \\
                 algebraische Polynome / 189 \\
                 8.1.3.4 Householdertransformation zur L{\"o}sung des
                 linearen \\
                 Ausgleichsproblems / 190 \\
                 8.1.4 Approximation von Polynomen durch Tschebyscheff-
                 \\
                 Polynome / 193 \\
                 8.1.4.1 Beste gleichm{\"a}{\ss}ige Approximation,
                 Definition / 193 \\
                 8.1.4.2 Approximation durch Tschebyscheff-Polynome /
                 194 \\
                 8.1.5 Approximation periodischer Funktionen / 201 \\
                 8.1.5.1 Approximation periodischer Funktionen im \\
                 quadratischen Mittel / 202 \\
                 8.1.5.2 Trigonometrische Interpolation / 202 \\
                 8.1.5.3 Komplexe diskrete Fourier-Transformation (FFT)
                 / 205 \\
                 8.2 Nichtlineare Approximation / 207 \\
                 8.2.1 Transformationsmethode beim nichtlinearen
                 Ausgleich / 208 \\
                 8.2.2 Nichtlinearer Ausgleich im quadratischen Mittel /
                 210 \\
                 8.3 Entscheidungshilfen / 210 \\
                 \\
                 9 Polynomiale u n d rationale Interpolation / 213 \\
                 9.1 Aufgabenstellung zur Interpolation durch
                 algebraische Polynome / 213 \\
                 9.2 Interpolationsformeln von Lagrange / 215 \\
                 9.2.1 Lagrangesche Formel f{\"u}r beliebige
                 St{\"u}tzstellen / 215 \\
                 9.2.2 Lagrangesche Formel f{\"u}r {\"a}quidistante
                 St{\"u}tzstellen / 216 \\
                 9.3 Das Interpolationsschema von Aitken f{\"u}r
                 beliebige S{\"u}tzstellen / 217 \\
                 9.4 Inverse Interpolation nach Aitken / 219 \\
                 9.5 Interpolationsformeln von Newton / 220 \\
                 9.5.1 Newtonsche Formel f{\"u}r beliebige
                 St{\"u}tzstellen / 220 \\
                 9.5.2 Newtonsche Formel f{\"u}r {\"a}quidistante
                 St{\"u}tzstellen / 221 \\
                 9.6 Restglied der Interpolation und Aussagen zur
                 Absch{\"a}tzung \\
                 und Sch{\"a}tzung des Interpolationsfehlers / 223 \\
                 9.7 Rationale Interpolation / 225 \\
                 9.8 Interpolation bei Funktionen mehrerer
                 Ver{\"a}nderlichen / 229 \\
                 9.8.1 Interpolationsformel von Lagrange bei Funktionen
                 von \\
                 zwei Ver{\"a}nderlichen / 229 \\
                 9.8.2 Shepard-Interpolation / 231 \\
                 9.9 Entscheidungshilfen f{\"u}r die Auswahl des
                 zweckm{\"a}{\ss}igen \\
                 Interpolationsverfahrens / 235 \\
                 \\
                 10 Interpolierende Polynomsplines zur
                 Konstruktionglatter \\
                 Kurven / 237 \\
                 10.1 Polynomsplines dritten Grades / 237 \\
                 10.1.1 Definition der Splinefunktionen / 238 \\
                 10.1.2 Berechnung der nichtparametrischen kubischen
                 Splines / 240 \\
                 10.1.3 Berechnung der parametrischen kubischen Splines
                 / 246 \\
                 10.1.4 Kombinierte interpolierende Polynom-Splines /
                 250 \\
                 10.1.5 Konvergenz und Fehlerabsch{\"a}tzungen
                 interpolierender \\
                 kubischer Splines / 256 \\
                 10.2 Hermite-Splines f{\"u}nften Grades / 257 \\
                 10.2.1 Definition der Hermite-Splines / 257 \\
                 10.2.2 Berechnung der nichtparametrischen
                 Hermite-Splines / 259 \\
                 10.2.3 Berechnung der parametrischen Hermite-Splines /
                 263 \\
                 10.3 Entscheidungshilfen zur Auswahl der geeigneten
                 inter- \\
                 polierenden oder approximierenden Splinemethode / 266
                 \\
                 \\
                 11 Polynomiale Ausgleichssplines 3. Grades / 273 \\
                 11.1 Problemstellung / 273 \\
                 11.2 Definition der Splinefunktionen / 274 \\
                 11.3 Berechnung der nichtparametrischen kubischen
                 Ausgleichssplines / 275 \\
                 11.4 Berechnung der parametrischen kubischen
                 Ausgleichssplines / 282 \\
                 11.5 Entscheidungshilfen / 283 \\
                 \\
                 12 Zweidimensionale Splines, B{\'e}zier-Splines,
                 Oberfl{\"a}chensplines / 285 \\
                 12.1 Interpolierende zweidimensionale Polynomsplines
                 dritten \\
                 Grades zur Konstruktion glatter Fl{\"a}chen / 285 \\
                 12.2 Kubische und bikubische interpolierende und
                 approximierende \\
                 Bezier -Splines / 296 \\
                 12.2.1 Kubische Bezier -Splines zur Konstruktion
                 glatter Kurven \\
                 und Kurven mit Knick / 296 \\
                 12.2.2 Approximierende bikubische Bezier -Splines zur
                 \\
                 Konstruktion glatter Fl{\"a}chen / 300 \\
                 12.2.3 Modifizierte (interpolierende) kubische Bezier -
                 Splines / 307 \\
                 12.3 Zweidimensionale interpolierende
                 Oberfl{\"a}chensplines / 307 \\
                 12.4 Entscheidungshilfen / 310 \\
                 \\
                 13 Akima- und Renner-Subsplines / 311 \\
                 13.1 Akima-Subsplines / 311 \\
                 13.2 Renner-Subsplines / 314 \\
                 13.3 Abrundung von Ecken bei Akima- und Renner-Kurven /
                 318 \\
                 13.4 N{\"a}herungsweise Berechnung der Bogenl{\"a}nge
                 einer Kurve / 319 \\
                 13.5 Entscheidungshilfen / 320 \\
                 \\
                 14 Numerische Differentiation / 323 \\
                 14.1 Aufgabenstellung / 323 \\
                 14.2 Differentiation mit Hilfe eines
                 Interpolationspolynoms / 324 \\
                 14.3 Differentiation mit Hilfe interpolierender
                 kubischer \\
                 Polynom-Splines / 328 \\
                 14.4 Differentiation nach dem Romberg-Verfahren / 328
                 \\
                 14.5 Entscheidungshilfen / 330 \\
                 \\
                 15 Numerische Quadratur / 331 \\
                 15.1 Vorbemerkungen / 331 \\
                 15.2 Konstruktion von Interpolationsquadraturformeln /
                 333 \\
                 15.3 Newton-Cotes-Formeln / 335 \\
                 15.3.1 Die Sehnentrapezformel / 337 \\
                 15.3.2 Die Simpsonsche Formel / 338 \\
                 15.3.3 Die 3/8-Formel / 340 \\
                 15.3.4 Weitere Newton-Cotes-Formeln / 342 \\
                 15.3.5 Zusammenfassung zur Fehlerordnung von \\
                 Newton-Cotes-Formeln / 344 \\
                 15.4 Quadraturformeln von Maclaurin / 345 \\
                 15.4.1 Die Tangententrapezformel / 345 \\
                 15.4.2 Weitere Maclaurin-Formeln / 346 \\
                 15.5 Die Euler-Maclaurin-Formeln / 347 \\
                 15.6 Tschebyscheffsche Quadraturformeln / 350 \\
                 15.7 Quadraturformeln von Gau{\ss} / 353 \\
                 15.8 Einfache Berechnung von Gewichten und
                 St{\"u}tzstellen \\
                 verallgemeinerter Gau{\ss}-Quadraturformeln / 357 \\
                 15.9 Quadraturformeln von Clenshaw-Curtis / 361 \\
                 15.10 Das Verfahren von Romberg / 362 \\
                 15.11 Fehlersch{\"a}tzung und Rechnungsfehler / 364 \\
                 15.12 Adaptive Quadraturverfahren / 367 \\
                 15.13 Konvergenz der Quadraturformeln / 368 \\
                 15.14 Entscheidungshilfen f{\"u}r die Auswahl der
                 geeigneten Methode / 369 \\
                 \\
                 16 Numerische Kubatur / 371 \\
                 16.1 Problemstellung / 371 \\
                 16.2 Konstruktion von Interpolationskubaturformeln /
                 374 \\
                 16.3 Newton-Cotes-Formeln f{\"u}r rechteckige
                 Integrationsbereiche / 377 \\
                 16.4 Newton-Cotes-Kubaturformeln f{\"u}r
                 Dreieckbereiche / 382 \\
                 16.5 Das Romberg-Kubaturverfahren f{\"u}r
                 Rechteckbereiche / 383 \\
                 16.6 Gau{\ss}-Kubaturformeln f{\"u}r Rechteckbereiche /
                 386 \\
                 16.7 Gau{\ss}-Kubaturformeln f{\"u}r Dreieckbereiche /
                 388 \\
                 16.7.1 Dreieckbereiche mit achsenparallelen Katheten /
                 388 \\
                 16.7.2 Dreiecke in allgemeiner Lage / 389 \\
                 16.8 Berechnung des Riemannschen Fl{\"a}chenintegrals
                 mit \\
                 bikubischen Splines / 390 \\
                 16.9 Entscheidungshilfen / 391 \\
                 \\
                 17 Anfangswertprobleme bei gew{\"o}hnlichen
                 Differential-gleichungen / 393 \\
                 17.1 Problemstellung / 393 \\
                 17.2 Prinzip der numerischen Verfahren / 394 \\
                 17.3 Einschrittverfahren / 396 \\
                 17.3.1 Das Polygonzugverfahren von Euler-Cauchy / 396
                 \\
                 17.3.2 Das verbesserte Euler-Cauchy-Verfahren / 397 \\
                 17.3.3 Praediktor-Korrektor-Verfahren von Heun / 398
                 \\
                 17.3.4 Explizite Runge-Kutta-Verfahren / 400 \\
                 17.3.4.1 Konstruktion von Runge-Kutta-Verfahren / 400
                 \\
                 17.3.4.2 Klassisches Runge-Kutta-Verfahren / 401 \\
                 17.3.4.3 Zusammenstellung expliziter
                 Runge-Kutta-Formeln / 403 \\
                 17.3.4.4 Einbettungsformeln / 407 \\
                 17.3.5 Implizite Runge-Kutta-Verfahren vom Gau{\ss}-Typ
                 / 420 \\
                 17.3.6 Gemeinsame Darstellung aller Einschritt
                 verfahren. \\
                 Verfahrensfunktion eines Einschrittverfahrens. \\
                 Konsistenz / 422 \\
                 17.3.7 Fehlersch{\"a}tzung und Schrittweitensteuerung /
                 424 \\
                 17.3.7.1 Fehlersch{\"a}tzung / 424 \\
                 17.3.7.2 Methoden zur automatischen
                 Schrittweitensteuerung, \\
                 adaptive Anfangswertprobleml{\"o}ser / 425 \\
                 17.4 Mehrschrittverfahren / 429 \\
                 17.4.1 Prinzip der Mehrschrittverfahren / 429 \\
                 17.4.2 Das explizite Verfahren von Adams-Bashforth /
                 431 \\
                 17.4.3 Das Praediktor-Korrektor-Verfahren von
                 Adams-Moulton / 433 \\
                 17.4.4 Verfahren von Adams-St{\"o}rmer / 437 \\
                 17.4.5 Fehlersch{\"a}tzungsformeln f{\"u}r
                 Mehrschrittverfahren / 439 \\
                 17.4.6 Rechnungsfehler f{\"u}r Ein- und
                 Mehrschrittverfahren / 440 \\
                 17.5 Extrapolationsverfahren von Bulirsch-Stoer-Gragg /
                 441 \\
                 17.6 Stabilit{\"a}t / 444 \\
                 17.6.1 Vorbemerkungen / 444 \\
                 17.6.2 Stabilit{\"a}t der Differentialgleichung / 445
                 \\
                 17.6.3 Stabilit{\"a}t des numerischen Verfahrens / 446
                 \\
                 17.7 Steife Differentialgleichungssysteme / 450 \\
                 17.7.1 Problemstellung / 450 \\
                 17.7.2 Kriterien f{\"u}r Steifheit eines Systems / 441
                 \\
                 17.7.3 Das Verfahren von Gear zur Integration steifer
                 Systeme / 442 \\
                 17.8 Entscheidungshilfen bei der Wahl des Verfahrens /
                 457 \\
                 \\
                 18 Randwertprobleme bei gew{\"o}hnlichen
                 Differential-gleichungen / 463 \\
                 18.1 Problemstellung / 463 \\
                 18.2 Zur{\"u}ckf{\"u}hrung des Randwertproblems auf ein
                 \\
                 Anfangswertproblem / 464 \\
                 18.2.1 Randwertprobleme f{\"u}r nichtlineare
                 Differentialgleichungen \\
                 zweiter Ordnung / 464 \\
                 18.2.2 Randwertprobleme f{\"u}r Systeme von
                 Differential- \\
                 gleichungen erster Ordnung / 467 \\
                 18.2.3 Mehrzielverfahren / 468 \\
                 18.3 Differenzenverfahren / 472 \\
                 18.3.1 Das gew{\"o}hnliche Differenzenverfahren / 472
                 \\
                 18.3.2 Differenzenverfahren h{\"o}herer N{\"a}herung /
                 478 \\
                 18.3.3 Iterative Aufl{\"o}sung der linearen
                 Gleichungssysteme \\
                 zu speziellen Randwertproblemen / 480 \\
                 18.3.4 Lineare Eigenwertprobleme / 481 \\
                 \\
                 Anhang: Turbo Pascal-Programme / 483 \\
                 \\
                 Verzeichnis der Programme nach Reihenfolge im Anhang /
                 485 \\
                 \\
                 Vorwort zum Anhang / 489 \\
                 \\
                 Turbo Pascal-Programme / 491 \\
                 \\
                 Literaturverzeichnis / 877 \\
                 \\
                 Literatur zu weiteren Themengebieten / 896 \\
                 --- Numerische Behandlung partieller
                 Differentialgleichungen / 896 \\
                 --- Methode der Finiten Elemente / 897 \\
                 \\
                 Sachwortverzeichnis / 901",
}

@Article{Fountain:1991:MCP,
  author =       "?. Fountain",
  title =        "{Modula}'s Children, Part {II}: {Oberon}",
  journal =      j-BYTE,
  volume =       "16",
  number =       "??",
  pages =        "??--??",
  month =        "??",
  year =         "1991",
  CODEN =        "BYTEDJ",
  ISSN =         "0360-5280 (print), 1082-7838 (electronic)",
  ISSN-L =       "0360-5280",
  bibdate =      "Fri Jan 05 09:59:17 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/byte1990.bib;
                 https://www.math.utah.edu/pub/tex/bib/ieeetranscomput1980.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{Franz:1991:PR,
  author =       "Michael Franz and Thomas Kistler",
  title =        "Portability Redefined",
  crossref =     "Anonymous:1991:PSI",
  pages =        "216--224",
  year =         "1991",
  bibdate =      "Sun Jan 07 16:13:33 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  keywords =     "just-in-time compilation; Oberon",
}

@TechReport{Heeb:1991:HDW,
  author =       "Beat Heeb and Immo Noack",
  title =        "Hardware description of the workstation {Ceres-3}",
  type =         "Technical report",
  number =       "168",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "58",
  month =        oct,
  year =         "1991",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000609403",
  bibdate =      "Sat Jan 6 08:29:10 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/69237",
  abstract =     "Ceres-3 is a single user workstation based on the
                 National Semiconductor 32-bit microprocessor NS32GX32.
                 The design concentrates, by using the latest
                 technology, on cost reduction and performance increase.
                 Together with the programming language and system
                 `Oberon', Ceres-3 forms an ideal platform for student
                 laboratories. This report documents the hardware and
                 the production of the Ceres-3 computer.",
  acknowledgement = ack-nhfb,
  keywords =     "specialized reference works + specialized
                 encyclopaedias + handbooks (document type);
                 minicomputers + workstations (computer systems);
                 fachliche Nachschlagewerke + Fachlexika +
                 Handb{\"u}cher (Dokumententyp); minicomputer +
                 workstations (Computersysteme);
                 info:eu-repo/classification/ddc/004; Data processing;
                 computer science",
}

@Book{ISO:1991:IIIa,
  author =       "{ISO}",
  title =        "{ISO\slash IEC 10206:1991 Information technology ---
                 Programming languages --- Extended Pascal}",
  publisher =    pub-ISO,
  address =      pub-ISO:adr,
  pages =        "214",
  year =         "1991",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Wed Apr 26 10:37:59 2000",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/isostd.bib",
  note =         "Available in English only.",
  price =        "CHF 236",
  URL =          "http://www.iso.ch/cate/d18237.html",
  acknowledgement = ack-nhfb,
  pricecode =    "XE",
}

@Article{King:1991:WNM,
  author =       "K. N. King",
  title =        "What's new with {Modula-2}?",
  journal =      j-DDJ,
  volume =       "16",
  number =       "6",
  pages =        "42, 44, 46, 48--49",
  month =        jun,
  year =         "1991",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Sep 10 09:11:02 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/dr-dobbs-1990.bib;
                 UnCover database",
  acknowledgement = ack-nhfb,
  classification = "C6140D (High level languages)",
  keywords =     "DOS compilers; International standard; Modula-3;
                 Oberon; Second International Modula-2 Conference",
  thesaurus =    "Modula; Program compilers; Standards",
}

@TechReport{Lalis:1991:XSD,
  author =       "Spiros Lalis",
  title =        "{XNet}: supporting distributed programming in the
                 {Oberon} environment",
  type =         "Technical report",
  number =       "161",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "i + 31",
  month =        may,
  year =         "1991",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000589937",
  bibdate =      "Sat Jan 6 08:32:04 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68905",
  abstract =     "In this report we describe XNet, a module that
                 supports object oriented development of distributed
                 programs in the Oberon environment. Also, we explain
                 how programs should be implemented in order to observe
                 XNet conventions. Finally, we give some illustrative
                 examples.",
  acknowledgement = ack-nhfb,
  keywords =     "computer science; concurrent programming + distributed
                 programming + parallel programming (programming
                 methods); data processing;
                 info:eu-repo/classification/ddc/004; Oberon
                 (Programmiersprachen); Oberon (programming languages);
                 Programmierumgebungen (software engineering);
                 programming environments (software engineering);
                 verteilte Programmierung + parallele Programmierung
                 (Programmiermethoden)",
}

@TechReport{Mossenbock:1991:DBOa,
  author =       "Hanspeter M{\"o}ssenb{\"o}ck",
  title =        "Differences between {Oberon} and {Oberon-2}: the
                 programming language {Oberon-2}",
  type =         "Technical report",
  number =       "160",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "32",
  month =        may,
  year =         "1991",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000589808",
  bibdate =      "Sat Jan 6 08:33:20 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68904",
  abstract =     "Oberon-2 is essentially Oberon [1] with a few
                 extensions. This note summarizes these extensions and
                 tries to shed some light on the motivations behind
                 them. By that we hope to make it easier for the reader
                 to classify Oberon-2. For details the reader is
                 referred to the language report. | One important goal
                 for Oberon-2 was to make object-oriented programming
                 easier without sacrificing the conceptual simplicity of
                 Oberon. After three years of using Oberon and its
                 experimental offspring Object Oberon [2] we felt that
                 our experiences should be merged into a single refined
                 version of Oberon.\par

                 The new features of Oberon-2 are type-bound procedures,
                 read-only export of variables and record fields,
                 dynamic array variables, and a with statement with
                 variants. The for statement is reintroduced after
                 having been eliminated in the step from Modula-2 to
                 Oberon.\par

                 Oberon-2 is the result of many discussions among all
                 members of the Institute for Computer Systems at ETH.
                 It is particularly influenced by the ideas of Niklaus
                 Wirth, J{\"u}rg Gutknecht, and Josef Temp.",
  acknowledgement = ack-nhfb,
  keywords =     "computer science; data processing;
                 info:eu-repo/classification/ddc/004; Oberon
                 (Programmiersprachen); Oberon (programming languages);
                 object-oriented programming (programming methods);
                 Objektorientierte Programmierung
                 (Programmiermethoden)",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{Nelson:1991:SPM,
  author =       "Greg Nelson",
  title =        "Systems programming with {Modula-3}",
  volume =       "1991",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "ix + 267",
  year =         "1991",
  ISBN =         "0-13-590464-1 (paperback)",
  ISBN-13 =      "978-0-13-590464-0 (paperback)",
  LCCN =         "QA76.66 .S87 1991",
  bibdate =      "Mon Jan 8 16:48:01 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 innovative technology",
  URL =          "https://archive.org/details/systems-programming-with-modula-3",
  acknowledgement = ack-nhfb,
  subject =      "Systems programming (Computer science); Modula-3
                 (Computer program language); Programmation syst{\`e}me
                 (Informatique); Modula-3 (Langage de programmation);
                 Modula-3 (Computer program language); Systems
                 programming (Computer science); MODULA 3; Modula-3
                 (langage de programmation); Syst{\`e}me d'exploitation
                 (ordinateurs)",
  tableofcontents = "Acknowledgments / ix \\
                 1: Introduction / Greg Nelson \\
                 1.1 History / 1 \\
                 1.2 Perspective / 2 \\
                 1.3 Overview / 3 \\
                 1.4 Features / 4 \\
                 \\
                 2: Language Definition / Luca Cardelli, James Donahue,
                 Lucille Glassman, Mick Jordan, Bill Kalsow, Greg Nelson
                 \\
                 2.1 Definitions / 11 \\
                 2.2 Types / 12 \\
                 2.3 Statements / 26 \\
                 2.4 Declarations / 37 \\
                 2.5 Modules and interfaces / 41 \\
                 2.6 Expressions / 48 \\
                 2.7 Unsafe operations / 59 \\
                 2.8 Syntax / 61 \\
                 \\
                 3: Standard Interfaces / Greg Nelson \\
                 3.1 The Text interface / 68 \\
                 3.2 The Thread interface / 69 \\
                 3.3 The Word interface / 71 \\
                 3.4 Floating-point interfaces / 72 \\
                 3.5 The Fmt interface / 77 \\
                 3.6 The Pkl interface / 80 \\
                 3.7 The Table interface / 85 \\
                 \\
                 4: An Introduction to Programming with Threads / A. D.
                 Birrell \\
                 4.1 Introduction / 88 \\
                 4.2 Why use concurrency? / 90 \\
                 4.3 The design of a thread facility / 91 \\
                 4.4 Using a mutex: accessing shared data / 95 \\
                 4.5 Using a condition variable: scheduling shared
                 resources / 101 \\
                 4.6 Using Fork: working in parallel / 109 \\
                 4.7 Using Alert: Diverting the flow of control / 114
                 \\
                 4.8 Additional Techniques / 115 \\
                 4.9 Building your program / 117 \\
                 \\
                 5: Thread Synchronization: A Formal Specification / A.
                 D. Birrell, J. V. Guttag, J. J. Horning, R. Levin \\
                 5.1 Introduction / 119 \\
                 5.2 Specification Approach / 120 \\
                 5.3 Formal Specification / 122 \\
                 5.4 Discussion / 126 \\
                 5.5 Acknowledgments / 129 \\
                 \\
                 6: I/O Streams: Abstract Types, Real Programs / Mark R.
                 Brown and Greg Nelson \\
                 6.1 Introduction / 130 \\
                 6.2 The Wr interface / 131 \\
                 6.3 The Rd interface / 134 \\
                 6.4 The Stdio and FileStream interfaces / 140 \\
                 6.5 The WrClass interface / 141 \\
                 6.6 Text writers / 146 \\
                 6.7 The unsafe interfaces / 149 \\
                 6.8 The WrRep module / 151 \\
                 6.9 The RdClass interface / 159 \\
                 6.10 The RdRep module / 162 \\
                 6.11 Concluding remarks / 168 \\
                 \\
                 7: Trestle Window System Tutorial / Greg Nelson \\
                 7.1 Hello Trestle / 171 \\
                 7.2 Split windows / 171 \\
                 7.3 Points, Rectangles, and Regions / 174 \\
                 7.4 Painting / 177 \\
                 7.5 Handling events: the Spot program / 179 \\
                 7.6 Tracking the mouse / 183 \\
                 7.7 The Fifteen Puzzle / 188 \\
                 7.8 Cards / 193 \\
                 7.9 Asynchronous painting / 199 \\
                 7.10 JoinVBTs / 203 \\
                 7.11 A simple filter / 207 \\
                 7.12 A more complicated filter / 210 \\
                 7.13 Solutions / 214 \\
                 \\
                 8: How the language got its spots / Anonymous \\
                 8.1 How the types got their identity / 218 \\
                 8.2 How the subtypes got their rules / 229 \\
                 8.3 How the generics got their subsection / 238 \\
                 8.4 How the parameters got their modes / 247 \\
                 About the Authors / 253 \\
                 Bibliography / 255 \\
                 Index / 259",
}

@TechReport{Pfister:1991:OTN,
  author =       "Cuno Pfister and Beat Heeb and Josef Templ",
  title =        "{Oberon} Technical Notes",
  type =         "Report",
  number =       "156",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "????",
  month =        mar,
  year =         "1991",
  bibdate =      "Sat Jan 06 07:30:42 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "????",
  acknowledgement = ack-nhfb,
  remark =       "I have not been able to locate this report online,
                 despite finding several documents that refer to it.",
}

@Article{Pountain:1991:OLA,
  author =       "D. Pountain",
  title =        "{Oberon}: a look at the latest language to come out of
                 {Niklaus Wirth}'s workshop",
  journal =      j-BYTE,
  volume =       "16",
  number =       "3",
  pages =        "135--136, 138, 140, 142",
  month =        mar,
  year =         "1991",
  CODEN =        "BYTEDJ",
  ISSN =         "0360-5280 (print), 1082-7838 (electronic)",
  ISSN-L =       "0360-5280",
  bibdate =      "Thu Sep 12 18:39:30 MDT 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/byte1990.bib;
                 https://www.math.utah.edu/pub/tex/bib/ieeetranscomput1980.bib",
  acknowledgement = ack-nhfb,
  classification = "C6140D (High level languages); C6150J (Operating
                 systems)",
  keywords =     "Ceres; Complete operating system; Environment;
                 Modula-2; Networked 32-bit workstation; Niklaus Wirth;
                 Oberon",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  thesaurus =    "High level languages; Modula; Operating systems
                 [computers]",
}

@Article{Reeb:1991:TPP,
  author =       "Georges Reeb",
  title =        "A {Turbo Pascal} program",
  journal =      "Annals of Global Analysis and Geometry",
  volume =       "9",
  number =       "1",
  pages =        "97",
  year =         "1991",
  DOI =          "https://doi.org/10.1007/BF02411359",
  ISSN =         "0232-704X (print), 1572-9060 (electronic)",
  ISSN-L =       "0232-704X",
  MRclass =      "99-04",
  MRnumber =     "1554413",
  bibdate =      "Fri Jan 5 06:27:40 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  ajournal =     "Ann. Global Anal. Geom.",
  fjournal =     "Annals of Global Analysis and Geometry",
}

@Book{Reiser:1991:OSU,
  author =       "Martin Reiser",
  title =        "The {Oberon System}: User Guide and Programmer's
                 Manual",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "xii + 350",
  year =         "1991",
  ISBN =         "0-201-54422-9",
  ISBN-13 =      "978-0-201-54422-0",
  LCCN =         "QA76.76.O63 R45 1991",
  bibdate =      "Fri Jan 5 09:29:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://archive.org/stream/bitsavers_ethceresRe1991_13502706/Reiser_The_Oberon_System_1991_djvu.txt",
  acknowledgement = ack-nhfb,
  tableofcontents = "Preface / v \\
                 1 Overview / 1 \\
                 1.1 Historical notes / 1 \\
                 1.2 The Oberon user interface / 4 \\
                 1.3 The Oberon system architecture / 7 \\
                 1.4 Summary of innovations / 11 \\
                 1.5 System version, implementations and applications /
                 13 \\
                 Part I User's guide \\
                 2 The Oberon user interface and the standard system
                 editor / 17 \\
                 2.1 Tiled display / 19 \\
                 2.2 The mouse and its use / 20 \\
                 2.3 The keyboard / 26 \\
                 2.4 The viewer / 27 \\
                 2.5 Commands / 34 \\
                 2.6 Tool viewers / 37 \\
                 2.7 Naming / 42 \\
                 2.8 Design for user satisfaction / 43 \\
                 3 Using the standard editor / 46 \\
                 3.1 Mouse and keyboard / 47 \\
                 3.2 Multiple views and the large selection / 48 \\
                 3.3 Closing viewers and saving to disk / 49 \\
                 3.4 Command module Edit / 51 \\
                 4 File administration and system commands / 53 \\
                 4.1 Commands dealing with files and the file directory
                 / 53 \\
                 4.2 Other commands exported by command module System /
                 55 \\
                 5 Using the Oberon compiler / 59 \\
                 5.1 Compiler commands and messages / 59 \\
                 5.2 Debugging / 60 \\
                 6 Using diskettes / 63 \\
                 6.1 Commands dealing with diskettes / 64 \\
                 7 Using network and servers / 66 \\
                 7.1 Naming conventions / 67 \\
                 7.2 Command module Net / 68 \\
                 8 Command module Miscellaneous / 73 \\
                 Part II Reference \\
                 9 System overview / 77 \\
                 9.1 Programs in the traditional sense / 78 \\
                 9.2 Oberon commands, module loading / 79 \\
                 9.3 The event loop / 80 \\
                 9.4 System architecture for up-calls: active objects /
                 82 \\
                 9.5 The module hierarchy / 87 \\
                 9.6 Guide to the notation used to describe the modules
                 of the outer core / 89 \\
                 10 Keyboard, mouse, network and printer / 90 \\
                 10.1 Module Input / 91 \\
                 10.2 Module V24 / 92 \\
                 10.3 Module SCC / 93 \\
                 10.4 Module Printer / 95 \\
                 11 Module Files / 98 \\
                 11.1 Files and the file directory / 99 \\
                 11.2 Read\slash write access: the rider / 104 \\
                 12 Module Display / 107 \\
                 12.1 Bitmapped display, the display area / 108 \\
                 12.2 Raster operations / 111 \\
                 12.3 Display control / 116 \\
                 12.4 The definition of Frame, FrameMsg and Handler /
                 118 \\
                 13 Module Viewers / 120 \\
                 13.1 The logical display / 121 \\
                 13.2 The viewer / 124 \\
                 13.3 Viewer messages / 125 \\
                 13.4 Tracks / 128 \\
                 13.5 The viewer manager / 129 \\
                 13.6 The viewer data structure / 133 \\
                 14 Module Texts / 135 \\
                 14.1 Module Fonts / 138 \\
                 14.2 Text and buffer / 139 \\
                 14.3 Reading from texts, writing to buffers / 143 \\
                 14.4 Text files / 151 \\
                 15 Module Oberon / 154 \\
                 15.1 Tasks and the event loop / 157 \\
                 15.2 Cursors / 163 \\
                 15.3 Command activation / 165 \\
                 15.4 Focus, mark and selection / 166 \\
                 15.5 Display management / 169 \\
                 15.6 Miscellaneous procedures / 170 \\
                 15.7 Exported system-wide resources / 172 \\
                 16 Module MenuViewers / 174 \\
                 16.1 The menu viewer / 175 \\
                 16.2 The modify message / 177 \\
                 16.3 The handler / 180 \\
                 17 Module TextFrames / 183 \\
                 17.1 The frame / 185 \\
                 17.2 The display manager / 191 \\
                 17.3 The handler and its components / 195 \\
                 17.4 Facilities dealing with texts / 197 \\
                 17.5 Opening and creating frames / 199 \\
                 Part III Programming guide \\
                 Programming commands / 203 \\
                 18.1 General programming rules / 204 \\
                 18.2 Modules and commands / 206 \\
                 18.3 Working with texts / 207 \\
                 18.4 Accessing parameters / 213 \\
                 18.5 Working with text viewers / 218 \\
                 18.6 Working with text frames / 225 \\
                 18.7 Working with files / 227 \\
                 18.8 Long running commands, background tasks / 237 \\
                 18.9 Rules for well-behaved commands / 242 \\
                 19 Programming viewers and frames / 244 \\
                 19.1 The design of a viewer class / 246 \\
                 19.2 Working with the display / 254 \\
                 19.3 Handler for a viewer / 264 \\
                 19.4 Handler for a frame to be installed in a menu
                 viewer / 268 \\
                 19.5 Handling mouse events, the track message / 277 \\
                 19.6 Example; handler for a text frame / 283 \\
                 19.7 Rules for well-behaved handlers / 291 \\
                 Appendix A Viewer class note board: an extended example
                 / 293 \\
                 A.1 Introduction / 293 \\
                 A.2 Module Boards / 295 \\
                 A.3 Module BoardFrames / 300 \\
                 A.4 Module Postit (command module) / 321 \\
                 Appendix B Keyboard and ASCII characters / 324 \\
                 Appendix C MS/DOS files / 329 \\
                 Bibliography / 331 \\
                 Glossary / 333 \\
                 Index / 339",
}

@TechReport{Szyperski:1991:WET,
  author =       "Clemens A. Szyperski",
  title =        "{Write}: an extensible text editor for the {Oberon}
                 system",
  type =         "Technical report",
  number =       "151",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "i + 48",
  month =        jan,
  year =         "1991",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000628394",
  bibdate =      "Sat Jan 6 08:36:54 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68907",
  abstract =     "Extensible software systems open the opportunity of
                 reducing complexity by trading off initial
                 functionality. Instead of building everything into a
                 monolithic system, a core system with a certain.
                 built-in potential for later extension is separated
                 from-an arbitrarily rich set of extensions (and, in
                 principle, extensions of extensions). This report
                 concentrates on the text editor Write and some of its
                 existing extensions. It is discussed how extensibility
                 is opened but also limited by the core system's design.
                 It is observed that a potentially very rich and
                 flexible basic framework may actually lead to few or no
                 implemented extensions if the chosen model was
                 inadequately complex for the typical extension demands.
                 On the other hand, a too rigid core structure may
                 impose limits preventing useful extensions right from
                 the beginning.",
  acknowledgement = ack-nhfb,
  keywords =     "computer science; Data processing;
                 info:eu-repo/classification/ddc/004; Oberon
                 (Programmiersprachen); Oberon (programming languages);
                 program editors (software products); Programmeditoren
                 (Softwareprodukte)",
}

@Article{Angele:1992:MAC,
  author =       "J{\"u}rgen Angele and Detlef K{\"u}pper",
  title =        "{Modula-2} an Alternative to {C}?",
  journal =      j-SIGPLAN,
  volume =       "27",
  number =       "4",
  pages =        "17--26",
  month =        apr,
  year =         "1992",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/131080.131082",
  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/sigplan1990.bib",
  abstract =     "The programming languages C and Modula-2 are compared
                 using criteria significant for efficiently constructing
                 medium and large size commercial software systems.
                 These criteria are motivated in section 2. Section 3
                 contrasts the features of the two languages which are
                 relevant for the differences.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "April 1992",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "10",
}

@InProceedings{Boszormenyi:1992:CMO,
  author =       "Laszlo B{\"o}sz{\"o}rmenyi",
  booktitle =    "{Shifting Paradigms in Software Engineering}",
  title =        "A Comparison of {Modula-3} and {Oberon-2}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "126--137",
  year =         "1992",
  DOI =          "https://doi.org/10.1007/978-3-7091-9258-0_13",
  ISBN =         "3-7091-9258-7",
  ISBN-13 =      "978-3-7091-9258-0",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-7091-9258-0_13",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@TechReport{Brandis:1992:OSF,
  author =       "Marc Brandis and R{\'e}gis Crelier and Michael Franz
                 and Josef Templ",
  title =        "The {Oberon} system family",
  type =         "Technical report",
  number =       "174",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "ii + 32",
  month =        apr,
  year =         "1992",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000636490",
  bibdate =      "Sat Jan 6 08:22:43 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68908",
  abstract =     "Oberon simultaneously refers to a modular, extensible
                 operating system and an object-oriented programming
                 language developed for its implementation. While the:
                 original Oberon System had been conceived as the native
                 operating system for a custom-built workstation,
                 further implementations for several commercial
                 platforms were developed later and are described here.
                 All of these implementations are based on an efficient,
                 retargetable Oberon compiler, and each provides a
                 complete Oberon environment and the original library
                 interface. This paper describes the structure of the
                 compiler, summarizes the experience gained in adapting
                 it for various CISC and RISC processors, and presents
                 some empirical performance data. It also sheds light on
                 the task of grafting an operating environment onto an
                 existing operating system.",
  acknowledgement = ack-nhfb,
  keywords =     "computer science; Data processing;
                 info:eu-repo/classification/ddc/004; Oberon
                 (Programmiersprachen); Oberon (programming languages);
                 systems software (software products); Systemsoftware
                 (Softwareprodukte)",
}

@Article{Cardelli:1992:MLD,
  author =       "Luca Cardelli and James Donahue and Lucille Glassman
                 and Mick Jordan and Bill Kalsow and Greg Nelson",
  title =        "{Modula-3} Language Definition",
  journal =      j-SIGPLAN,
  volume =       "27",
  number =       "8",
  pages =        "15--42",
  month =        aug,
  year =         "1992",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/142137.142141",
  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/sigplan1990.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "Aug. 1992",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "28",
}

@InProceedings{Evers:1992:MNO,
  author =       "David Evers and Peter Robinson",
  booktitle =    "Proceedings of the {5th Workshop on ACM SIGOPS
                 European Workshop: Models and Paradigms for Distributed
                 Systems Structuring}",
  title =        "{Modula-3} Network Objects over {ANSA}: Heterogeneous
                 Object-Based {RPC} in a Modern Systems Programming
                 Language",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "1--5",
  year =         "1992",
  DOI =          "https://doi.org/10.1145/506378.506398",
  ISBN =         "1-4503-7340-2",
  ISBN-13 =      "978-1-4503-7340-1",
  bibdate =      "Fri Jan 5 09:41:51 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "EW 5",
  abstract =     "Modula-3 provides language-level features such as
                 threads, objects and exceptions which are useful in
                 distributed systems. The ANSA testbench provides a
                 complete infrastructure for object-based distributed
                 systems, but currently requires the use of C as the
                 main programming language. We describe a successful
                 attempt to marry the two, which provides a practical
                 example of how a modern systems programming language
                 can make the construction of object-based distributed
                 systems more congenial for the application
                 programmer.",
  acknowledgement = ack-nhfb,
  location =     "Mont Saint-Michel, France",
  numpages =     "5",
}

@Article{Harbison:1992:SPM,
  author =       "Sam Harbison",
  title =        "Safe Programming With {Modula-3}",
  journal =      j-DDJ,
  volume =       "17",
  number =       "10",
  pages =        "88--96, 126--127",
  month =        oct,
  year =         "1992",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Sep 03 09:15:35 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/dr-dobbs-1990.bib;
                 UnCover database",
  abstract =     "Feature-for-feature, Modula-3 is on a par with Ada and
                 C++, but avoids complexity by simplifying individual
                 features like inheritance and generics. Furthermore,
                 Modula-3 is less of a moving target because it already
                 has features only now being added to those other
                 languages.",
  acknowledgement = ack-nhfb,
  affiliation =  "Tartan Inc., Monroeville, PA, USA",
  classification = "C6110B (Software engineering techniques); C6110J
                 (Object-oriented programming); C6140D (High level
                 languages)",
  keywords =     "Generics; Inheritance; Modula-3; Object-oriented
                 programming; Safe programming; Software engineering",
  thesaurus =    "Inheritance; Modula; Modula listings; Object-oriented
                 languages; Software engineering",
}

@Article{Philippsen:1992:MC,
  author =       "Michael Philippsen and Walter F. Tichy",
  title =        "{MODULA-2} and Its Compilation",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "591",
  pages =        "169--183",
  year =         "1992",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon May 13 11:46:24 MDT 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/lncs1992.bib",
  note =         "In Proceedings of the First International Conference
                 of the Austrian Center for Parallel Computation,
                 Salzburg, Austria, 1991.",
  URL =          "https://core.ac.uk/download/pdf/197597056.pdf",
  acknowledgement = ack-nhfb,
}

@Article{Pronk:1992:STC,
  author =       "C. Pronk",
  title =        "Stress Testing of Compilers for {Modula-2}",
  journal =      j-SPE,
  volume =       "22",
  number =       "10",
  pages =        "885--897",
  month =        oct,
  year =         "1992",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380221007",
  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{Salzman:1992:ASM,
  author =       "Eric Salzman",
  title =        "Activity simulation in {Modula-2}: an exercise in
                 language extension",
  journal =      j-COMP-LANGS,
  volume =       "17",
  number =       "1",
  pages =        "39--60",
  month =        "????",
  year =         "1992",
  CODEN =        "COLADA",
  ISSN =         "0096-0551 (print), 1873-6742 (electronic)",
  ISSN-L =       "0096-0551",
  bibdate =      "Sat Oct 24 12:55:46 1998",
  bibsource =    "Compendex database;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/complngs.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Univ of Queensland",
  affiliationaddress = "St Lucia, Aust",
  classcodes =   "C6140D (High level languages); C6110 (Systems analysis
                 and programming); C6185 (Simulation techniques)",
  classification = "723",
  corpsource =   "Dept. of Comput. Sci., Queensland Univ., St. Lucia,
                 Qld., Australia",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00960551",
  journalabr =   "Comput Lang",
  keywords =     "activity approach; Activity Language; activity
                 simulation; Computer Programming Languages; Computer
                 Simulation; discrete event simulation; high level;
                 language; language design mechanism; Language
                 Extension; Modula; Modula listings; Modula-2; Modula-2
                 Language; programming; programming language; simulation
                 models",
  treatment =    "P Practical",
}

@Article{Shiriaev:1992:PXP,
  author =       "Dmitri Shiriaev",
  title =        "{PASCAL-XSC}. {A} portable programming system for
                 scientific computations",
  journal =      j-INTERVAL-COMP,
  number =       "4",
  pages =        "76--82",
  year =         "1992",
  ISSN =         "0135-4868",
  ISSN-L =       "0135-4868",
  MRclass =      "65G10 (65-04)",
  MRnumber =     "1253147",
  bibdate =      "Fri Jan 5 06:47:47 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Interval '92 (Moscow, 1992)",
  acknowledgement = ack-nhfb,
  fjournal =     "Interval Computations. Interval\cprime nye
                 Vychisleniya",
}

@InProceedings{Szyperski:1992:IIW,
  author =       "Clemens A. Szyperski",
  booktitle =    "{ECOOP '92 European Conference on Object-Oriented
                 Programming}",
  title =        "Import is not inheritance why we need both: Modules
                 and classes",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "19--32",
  year =         "1992",
  DOI =          "https://doi.org/10.1007/BFb0053028",
  ISBN =         "3-540-55668-0",
  ISBN-13 =      "978-3-540-55668-8",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/BFb0053028",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InProceedings{Szyperski:1992:WIA,
  author =       "Clemens A. Szyperski",
  editor =       "Georg Heeg and Boris Magnusson and Bertrand Meyer",
  booktitle =    "Technology of object-oriented languages and systems,
                 {TOOLS 7: proceedings of the seventh international
                 conference, TOOLS Europe '92, Dortmund, Germany}",
  title =        "{Write}-ing Applications: Designing an Extensible Text
                 Editor as an Application Framework",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  bookpages =    "443",
  pages =        "247--261",
  year =         "1992",
  DOI =          "https://doi.org/10.5555/161213.161244",
  ISBN =         "0-13-917436-2",
  ISBN-13 =      "978-0-13-917436-0",
  LCCN =         "QA76.64 .T67 1992",
  bibdate =      "Sun Jan 07 16:23:31 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://dl.acm.org/doi/10.5555/161213.161244",
  acknowledgement = ack-nhfb,
}

@InProceedings{Thomas:1992:POOa,
  author =       "Richard Thomas",
  booktitle =    "Addendum to the Proceedings on Object-Oriented
                 Programming Systems, Languages, and Applications
                 (Addendum)",
  title =        "A Proposal for Object Oriented {Modula-2}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "171--173",
  year =         "1992",
  DOI =          "https://doi.org/10.1145/157709.157745",
  ISBN =         "0-89791-610-7",
  ISBN-13 =      "978-0-89791-610-3",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "OOPSLA '92",
  acknowledgement = ack-nhfb,
  location =     "Vancouver, British Columbia, Canada",
  numpages =     "3",
}

@Article{Thomas:1992:POOb,
  author =       "Richard Thomas",
  title =        "A Proposal for Object Oriented {Modula-2}",
  journal =      "SIGPLAN OOPS Mess.",
  volume =       "4",
  number =       "2",
  pages =        "171--173",
  month =        dec,
  year =         "1992",
  DOI =          "https://doi.org/10.1145/157710.157745",
  ISSN =         "1055-6400 (print), 1558-0253 (electronic)",
  ISSN-L =       "1055-6400",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  issuedate =    "April 1993",
  numpages =     "3",
}

@Article{Vixie:1992:M,
  author =       "Paul Vixie",
  title =        "{Modula-3}",
  journal =      j-LOGIN,
  volume =       "17",
  number =       "6",
  pages =        "30--34",
  month =        nov # "\slash " # dec,
  year =         "1992",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Feb 20 15:42:13 MST 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/usenix1990.bib",
  URL =          "https://archive.org/details/login_nov92/page/n29/mode/2up?view=theater",
  acknowledgement = ack-nhfb,
  remark-1 =     "This is a brief survey of the Modula-3 language.",
  remark-2 =     "From page 34: ``[Modula-3] descends most recently from
                 Modula-2+, which came from Cedar and Mesa and Pascal;
                 Modula-3 was lightly cross-pollinated with Oberon, as
                 Niklaus Wirth (creator of Pascal, Modula-2, Oberon, and
                 more recently Oberon-2) was on sabbatical at DEC SRC
                 during part of the time that Modula-3 was being
                 conceived. Legend has it that Wirth's main contribution
                 to Modula-3 was to encourage its designers to leave
                 things out; this `smallness' is apparent in that
                 Modula-3 is smaller by far than Modula-2-!-, though it
                 is still larger than Oberon or Oberon-2.",
  remark-3 =     "From page 34: ``f you enjoyed Modula-2 or Pascal but
                 found them incomplete and limiting, it's a safe bet
                 that you will find whatever you were missing \ldots{}
                 in Modula-3.''",
}

@InProceedings{Wortman:1992:CCMa,
  author =       "David B. Wortman and Michael D. Junkin",
  booktitle =    "Proceedings of the {ACM} {SIGPLAN 1992} Conference on
                 Programming Language Design and Implementation",
  title =        "A Concurrent Compiler for {Modula-2+}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "68--81",
  year =         "1992",
  DOI =          "https://doi.org/10.1145/143095.120025",
  ISBN =         "0-89791-475-9",
  ISBN-13 =      "978-0-89791-475-8",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "PLDI '92",
  abstract =     "In this paper we describe a collection of techniques
                 for the design and implementation of concurrent
                 compilers. We begin by describing a technique for
                 dividing a source program into many streams so that
                 each stream can be compiled concurrently. We discuss
                 several compiler design issues unique to concurrent
                 compilers including source program partitioning, symbol
                 table management, compiler task scheduling and
                 information flow constraints. The application of our
                 techniques is illustrated by a complete design for a
                 concurrent Modula-2+ compiler. After describing the
                 structure of this compiler's performance that
                 demonstrates that significant improvements in
                 compilation time can be achieved through the use of
                 concurrency.",
  acknowledgement = ack-nhfb,
  location =     "San Francisco, California, USA",
  numpages =     "14",
}

@Article{Wortman:1992:CCMb,
  author =       "David B. Wortman and Michael D. Junkin",
  title =        "A Concurrent Compiler for {Modula-2+}",
  journal =      j-SIGPLAN,
  volume =       "27",
  number =       "7",
  pages =        "68--81",
  month =        jul,
  year =         "1992",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/143103.120025",
  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/sigplan1990.bib",
  abstract =     "In this paper we describe a collection of techniques
                 for the design and implementation of concurrent
                 compilers. We begin by describing a technique for
                 dividing a source program into many streams so that
                 each stream can be compiled concurrently. We discuss
                 several compiler design issues unique to concurrent
                 compilers including source program partitioning, symbol
                 table management, compiler task scheduling and
                 information flow constraints. The application of our
                 techniques is illustrated by a complete design for a
                 concurrent Modula-2+ compiler. After describing the
                 structure of this compiler's performance that
                 demonstrates that significant improvements in
                 compilation time can be achieved through the use of
                 concurrency.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "July 1992",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "14",
}

@Article{Anonymous:1993:CPC,
  author =       "Anonymous",
  title =        "Call for papers: {Conference on Programming Languages
                 and System Architectures with a special session in
                 honor of Niklaus Wirth on his 60th birthday}",
  journal =      j-MICROPROC-MICROPROG,
  volume =       "17",
  number =       "5",
  pages =        "307--307",
  month =        jun,
  year =         "1993",
  DOI =          "https://doi.org/10.1016/0141-9331(93)90011-U",
  bibdate =      "Fri Jul 05 12:42:17 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.sciencedirect.com/science/article/abs/pii/014193319390011U",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Boszormenyi:1993:CMO,
  author =       "L{\'a}szl{\'o} B{\"o}sz{\"o}rm{\'e}nyi",
  title =        "A Comparison of {Modula-3} and {Oberon-2}",
  journal =      j-STRUCT-PROGRAM,
  volume =       "14",
  number =       "1",
  pages =        "15--22",
  year =         "1993",
  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,
  biburl =       "https://dblp.org/rec/journals/stp/Boszormenyi93.bib",
  dblp-id =      "DBLP:journals/stp/Boszormenyi93",
  fjournal =     "Structured Programming",
  timestamp =    "Tue, 26 May 2020 08:52:31 +0200",
}

@Article{BrinchHansen:1993:MCP,
  author =       "Per {Brinch Hansen}",
  title =        "Monitors and {Concurrent Pascal}: a personal history",
  journal =      j-SIGPLAN,
  volume =       "28",
  number =       "3",
  pages =        "1--35",
  month =        mar,
  year =         "1993",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/154766.155361",
  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/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/sigplan1990.bib",
  URL =          "http://brinch-hansen.net/papers/1993a.pdfa;
                 http://www.acm.org:80/pubs/citations/proceedings/plan/154766/p1-hansen/",
  abstract =     "This is a personal history of the early development of
                 the monitor concept and its implementation in the
                 programming language Concurrent Pascal. The paper
                 explains how monitors evolved from the ideas of Dahl,
                 Dijkstra, Hoare, and the author (1971--1973). At
                 Caltech the author and his students developed and
                 implemented Concurrent Pascal and used it to write
                 several model operating systems (1974--1975). A
                 portable implementation of Concurrent Pascal was widely
                 distributed and used for system design (1976--1990).
                 The monitor paradigm was also disseminated in survey
                 papers and text books. The author ends the story by
                 expressing his own mixed feelings about monitors and
                 Concurrent Pascal.",
  acknowledgement = ack-nhfb,
  affiliation =  "Sch. of Comput. and Inf. Sci., Syracuse Univ., NY,
                 USA",
  classification = "C6110P (Parallel programming); 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 =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "algorithms; Concurrent Pascal; design; languages;
                 Model operating systems; Monitors; Personal history;
                 Programming language",
  subject =      "{\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language
                 Classifications, Concurrent Pascal. {\bf K.2} Computing
                 Milieux, HISTORY OF COMPUTING, Software. {\bf D.3.4}
                 Software, PROGRAMMING LANGUAGES, Processors, Compilers.
                 {\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language
                 Constructs and Features, Procedures, functions, and
                 subroutines.",
  thesaurus =    "History; Parallel languages; Pascal; Supervisory
                 programs",
}

@Article{Detmer:1993:PGP,
  author =       "Richard C. Detmer",
  title =        "{PC} Graphics Packages for {Modula-2}",
  journal =      j-SIGCSE,
  volume =       "25",
  number =       "3",
  pages =        "52--57",
  month =        sep,
  year =         "1993",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/165408.165428",
  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/sigcse1990.bib",
  abstract =     "Modula-2 is the implementation language used in
                 Northwest Missouri State University's graphics course.
                 Two locally produced modules of graphics procedures
                 provide the interface for most of these programs. These
                 modules run under TopSpeed Modula-2 on a PC system with
                 a VGA display. The module of two-dimensional procedures
                 provides functionality similar to a minimal GKS
                 package. The module of three-dimensional procedures is
                 parallel to, but simpler than, the two-dimensional
                 module. Students have benefitted both from using and
                 from extending these modules.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  issuedate =    "Sept. 1993",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "6",
}

@TechReport{Disteli:1993:OPM,
  author =       "Andreas R. Disteli",
  title =        "{OBERON} for {PC} on an {MS-DOS} base",
  type =         "Technical report",
  number =       "203",
  institution =  inst-ETH,
  address =      inst-ETH:adr,
  pages =        "i + 55",
  month =        nov,
  year =         "1993",
  DOI =          "https://doi.org/10.3929/ETHZ-A-000918241",
  bibdate =      "Sat Jan 6 08:18:28 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68911",
  abstract =     "Oberon is a complete operating system and language
                 developed at the Institute for Computer Systems. The
                 whole project was targeted towards one specific type of
                 machine, namely for the personal workstation Ceres. The
                 Oberon system and the language found great attention
                 outside ETH, but was not available on commercial
                 machines. This was a big handicap for any kind of
                 propagation. Some years ago several members of the
                 institute started porting Oberon to commercial hardware
                 platforms like DECstation, SPARC, RS/6000 and MacIntosh
                 II. This was a good chance to spread both the system
                 and language Oberon over a large number of new users.
                 But most of the people merely have access to simple
                 MS-DOS based personal computers. Until now, Oberon was
                 therefore not available on the most frequently used
                 computers all over the world. With a port for
                 DOS-machines a huge range of new potential users can be
                 opened. For teaching purposes it would be interesting
                 to use Oberon as well, because it proved to be very
                 adequate as a language and system for students. Another
                 point to consider is that PC machines became more and
                 more inexpensive in the last years, which makes it
                 possible for nearly everyone to own a computer for
                 working at home. For all these reasons, we decided in
                 summer 1991 to start the DOS Oberon project, targeted
                 at the Oberon system and language in combination with
                 the most popular computer in the world.",
  acknowledgement = ack-nhfb,
  keywords =     "computer science; data processing; DOS
                 (Betriebssysteme); DOS (operating systems);
                 info:eu-repo/classification/ddc/004; Oberon
                 (Programmiersprachen); Oberon (programming languages)",
}

@Article{Egorov:1993:YAA,
  author =       "Igor I. Egorov and Ruslan P. Bogatyrev and Dmitry L.
                 Petrovichev",
  title =        "Yet Another Approach to {Modula-2} Implementation of
                 Exception Handling Mechanism",
  journal =      j-STRUCT-PROGRAM,
  volume =       "14",
  number =       "1",
  pages =        "23--36",
  year =         "1993",
  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,
  biburl =       "https://dblp.org/rec/journals/stp/EgorovBP93.bib",
  dblp-id =      "DBLP:journals/stp/EgorovBP93",
  fjournal =     "Structured Programming",
  timestamp =    "Tue, 26 May 2020 08:52:29 +0200",
}

@Article{Franz:1993:EOS,
  author =       "Michael Franz",
  title =        "Emulating an Operating System on Top of Another",
  journal =      j-SPE,
  volume =       "23",
  number =       "6",
  pages =        "677--692",
  month =        jun,
  year =         "1993",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380230607",
  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 =     "Oberon on Mac OS; Oberon operating system",
  onlinedate =   "30 Oct 2006",
}

@Article{Glaser:1993:DAM,
  author =       "H. Glaser and R. Harrison",
  title =        "Data abstraction in {Modula-2}",
  journal =      j-INFO-SOFTWARE-TECH,
  volume =       "35",
  number =       "11--12",
  pages =        "619--626",
  month =        nov # "\slash " # dec,
  year =         "1993",
  CODEN =        "ISOTE7",
  DOI =          "https://doi.org/10.1016/0950-5849(93)90076-F",
  ISSN =         "0950-5849 (print), 1873-6025 (electronic)",
  ISSN-L =       "0950-5849",
  bibdate =      "Mon Jan 14 21:50:10 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/095058499390076F",
  acknowledgement = ack-nhfb,
  fjournal =     "Information and Software Technology",
  keywords =     "Ada",
}

@TechReport{Horning:1993:SUM,
  author =       "Jim Horning and Bill Kalsow and Paul McJones and Greg
                 Nelson",
  title =        "Some Useful {Modula-3} Interfaces",
  type =         "Memo",
  number =       "113",
  institution =  "Digital Equipment Corporation, Systems Research
                 Center",
  address =      "Palo Alto, CA, USA",
  month =        dec,
  year =         "1993",
  bibdate =      "Wed Jan 29 16:39:06 2003",
  bibsource =    "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,
  remark =       "From \cite{Steele:2004:RHP}: ``The floating-point
                 reader has been implemented in \ldots{} to
                 Modula-3''.",
}

@Article{Kenner:1993:ASG,
  author =       "Hugh Kenner and Dick Pountain and Jon Udell and
                 Raymond {Ga Cote}",
  title =        "Again the Swinging Gates: Another look at
                 {Microsoft}'s leader, a controversial {Windows} book,
                 how to program in {Oberon}, and more",
  journal =      j-BYTE,
  volume =       "18",
  number =       "2",
  pages =        "222--??",
  month =        feb,
  year =         "1993",
  CODEN =        "BYTEDJ",
  ISSN =         "0360-5280 (print), 1082-7838 (electronic)",
  ISSN-L =       "0360-5280",
  bibdate =      "Tue Jan 2 10:01:41 MST 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/byte1990.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{King:1993:MTA,
  author =       "K. N. King",
  booktitle =    "Proceedings of the {Tenth Annual Washington Ada
                 Symposium on Ada: Ada's Role in Software Engineering}",
  title =        "{Modula-3}: a Threat to {Ada}?",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "147--154",
  year =         "1993",
  DOI =          "https://doi.org/10.1145/260096.260334",
  ISBN =         "0-89791-609-3",
  ISBN-13 =      "978-0-89791-609-7",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "WADAS '93",
  acknowledgement = ack-nhfb,
  location =     "McLean, Virginia, USA",
  numpages =     "8",
}

@InProceedings{Mossenbock:1993:O,
  author =       "Hanspeter M{\"o}ssenb{\"o}ck",
  booktitle =    "{Object-Oriented Programming}",
  title =        "{Oberon-2}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "13--27",
  year =         "1993",
  DOI =          "https://doi.org/10.1007/978-3-642-97479-3_2",
  ISBN =         "3-642-97479-1",
  ISBN-13 =      "978-3-642-97479-3",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-642-97479-3_2",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@Book{Mossenbock:1993:OOP,
  author =       "Hanspeter M{\"o}ssenb{\"o}ck",
  title =        "Object-Oriented Programming in {Oberon 2}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xiii + 278",
  year =         "1993",
  ISBN =         "0-387-56411-X (New York), 3-540-56411-X (Berlin),
                 3-642-97479-1 (e-book)",
  ISBN-13 =      "978-0-387-56411-1 (New York), 978-3-540-56411-9
                 (Berlin), 978-3-642-97479-3 (e-book)",
  LCCN =         "QA76.64 .M67 1993",
  bibdate =      "Mon Feb 19 07:38: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 = "1959--",
  subject =      "Objektorientierte Programmierung; OBERON 2",
  tableofcontents = "1. Overview / 1 \\
                 2. Oberon-2 / 13 \\
                 3. Data Abstraction / 29 \\
                 4. Classes / 39 \\
                 5. Inheritance / 49 \\
                 6. Dynamic Binding / 63 \\
                 7. Typical Applications / 75 \\
                 8. Useful Techniques / 95 \\
                 9. Object-Oriented Design / 121 \\
                 10. Frameworks / 143 \\
                 11. Oberon0 --- a Case Study / 153 \\
                 12. Costs and Benefits of OOP / 215 \\
                 A Oberon-2-Language Definition / 221 \\
                 B The Module OS / 255 \\
                 C The Module IO / 259 \\
                 D How to Get Oberon / 261 \\
                 Bibliography / 263 \\
                 Index / 267",
}

@Book{Mossenbock:1993:OPO,
  author =       "Hanspeter M{\"o}ssenb{\"o}ck",
  title =        "{Objektorientierte Programmierung in Oberon-2}.
                 ({German}) [{Object} Oriented Programming in
                 {Oberon-2}]",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  edition =      "Second",
  pages =        "xii + 286",
  year =         "1993",
  DOI =          "https://doi.org/10.1007/978-3-642-97416-8",
  ISBN =         "3-540-55690-7, 3-540-57789-0",
  ISBN-13 =      "978-3-540-55690-9, 978-3-540-57789-8",
  LCCN =         "QA76.6-76.66",
  MRclass =      "*68N15, 68-01",
  bibdate =      "Sat Jan 20 09:20:29 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://www.zentralblattmath.org/zmath/en/search/?an=0835.68011",
  acknowledgement = ack-nhfb,
  author-dates = "1959--",
  language =     "German",
  subject =      "Object-oriented programming (Computer science);
                 Oberon-2 (Programming language); Programmation
                 orient{\'e}e objet (Informatique); Object-oriented
                 programming (Computer science); Objektorientierte
                 Programmierung; OBERON 2; Objektorientierte
                 Programmierung; Oberon (Programmiersprache); Oberon;
                 (Programmiersprache); Objektorientierte
                 Programmierung; OBERON (Programmiersprache);
                 Objektorientierte Programmierung; OBERON 2.",
  tableofcontents = "1. {\"U}berblick \\
                 1.1 Prozedurorientiertes Denke \\
                 1.2 Objektorientiertes Denke \\
                 1.3 Objektorientierte Sprache \\
                 1.4 Unterschiede zu herk{\"o}mmlicher Programmierun \\
                 1.5 Klassen als Abstraktionsmechanisme \\
                 1.6 Geschichte objektorientierter Sprachen \\
                 1.7 Zusammenfassung \\
                 2. Oberon-2 \\
                 2.1 Merkmale von Oberon-2 \\
                 2.2 Deklarationen \\
                 2.3 Ausdr{\"u}cke \\
                 2.4 Anweisungen \\
                 2.5 Prozeduren \\
                 2.6 Module \\
                 2.7 Kommandos \\
                 3. Datenabstraktion \\
                 3.1 Konkrete Datenstrukturen \\
                 3.2 Abstrakte Datenstrukturen \\
                 3.3 Abstrakte Datentypen \\
                 4. Klassen \\
                 4.1 Methoden \\
                 4.2 Klassen und Module \\
                 4.3 Beispiele \\
                 4.4 H{\"a}ufige Fragen \\
                 5. Vererbung \\
                 5.1 Typerweiterung \\
                 5.2 Kompatibilit{\"a}t zwischen Basistyp und
                 Erweiterung \\
                 5.3 Statischer und dynamischer Typ \\
                 5.4 Laufzeit-Typpr{\"u}fungen \\
                 5.5 Erweiterbarkeit im objektorientierten Sinn \\
                 5.6 H{\"a}ufige Fragen \\
                 6. Dynamische Bindung \\
                 6.1 Meldungen \\
                 6.2 Abstrakte Klassen \\
                 6.3 Beispiele \\
                 6.4 Meldungsrecords \\
                 6.5 H{\"a}ufige Fragen \\
                 7. Typische Anwendungen \\
                 7.1 Abstrakte Datentypen \\
                 7.2 Generische Bausteine \\
                 7.3 Heterogene Datenstrukturen \\
                 7.4 Austauschbares Verhalten \\
                 7.5 Anpassung bestehender Bausteine \\
                 7.6 Halbfabrikate \\
                 7.7 Zusammenfassung \\
                 8. N{\"u}tzliche Techniken \\
                 8.1 Initialisierung von Objekten \\
                 8.2 Erweitern eines Systems zur Laufzeit \\
                 8.3 Persistente Objekte \\
                 8.4 Einbettung von Klassen in andere Klassen \\
                 8.5 Erweiterbarkeit in mehrere Richtungen \\
                 8.6 Mehrfache Vererbung \\
                 8.7 Datenmodelle und ihre Sichten \\
                 8.8 Iteratoren \\
                 8.9 Ab{\"a}nderung geerbter Methoden \\
                 9. Objektorientierter Entwurf \\
                 9.1 Aufgabenorientierte Sicht \\
                 9.2 Objektorientierte Sicht \\
                 9.3 Wie findet man Klassen \\
                 9.4 Klassenschnittstellen \\
                 9.5 Abstrakte Klassen \\
                 9.6 Beziehungen zwischen Klassen \\
                 9.7 Wann sind Klassen sinnvoll und wann nicht \\
                 9.8 H{\"a}ufige Entwurfsfehler \\
                 10. Ger{\"u}ste \\
                 10.1 Ger{\"u}ste als erweiterbare Systeme \\
                 10.2 Das MVC-Ger{\"u}st \\
                 10.3 Ein Ger{\"u}st f{\"u}r Objekte in Texten \\
                 10.4 Programmger{\"u}ste \\
                 11. Oberon0 \\
                 Eine Fallstydie \\
                 11.1 Das Fenstersystem \\
                 11.2 Verteilung von Benutzereingaben \\
                 11.3 Ein Texteditor \\
                 11.4 Ein Grafikeditor \\
                 11.5 Einbettung von Grafiken in Texte \\
                 12. Kosten und Nutzen der objektorientierten
                 Programmieryng \\
                 12.1 Nutzen \\
                 12.2 Kosten \\
                 12.3 Ausblick \\
                 Anh{\"a}nge \\
                 A Sprachdefinition von Oberon-2 \\
                 B Modul OS \\
                 C Modul IO \\
                 D Bezugsquelle von Oberon-2 \\
                 Literaturwerzeichnis \\
                 Stichwortverzeichnis",
}

@Article{Nigro:1993:TEO,
  author =       "Libero Nigro",
  title =        "On the Type Extensions of {Oberon-2}",
  journal =      j-SIGPLAN,
  volume =       "28",
  number =       "2",
  pages =        "41--44",
  month =        feb,
  year =         "1993",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/157352.157355",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 09:29:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
  abstract =     "Oberon-2, the latest Prof. N. Wirth language design,
                 supports object-oriented (OO) programming through an
                 original record type extension mechanism. The language
                 is expected to gain a growing acceptance both in the
                 academic and industrial worlds. This short note aims to
                 make a critical evaluation of Oberon-200 facilities by
                 showing how the current language definition can be too
                 restrictive in the building of usual type hierarchies
                 like those allowed, for instance, by C++. A minor
                 extension is suggested which improves the effectiveness
                 of Oberon-2.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "Feb. 1993",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "4",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InProceedings{Pomberger:1993:SEW,
  author =       "Gustav Pomberger",
  booktitle =    "{Informationswirtschaft}",
  title =        "Software Engineering --- {Auf dem Wege vom Handwerk
                 zur industriellen Fertigung von Softwareprodukten?}
                 ({German}) [{Software} Engineering --- On the way from
                 craftsmanship to industrial production of software
                 products?]",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "289--307",
  year =         "1993",
  DOI =          "https://doi.org/10.1007/978-3-642-87094-1_18",
  ISBN =         "3-642-87094-5",
  ISBN-13 =      "978-3-642-87094-1",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-642-87094-1_18",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
  language =     "German",
}

@Article{Pountain:1993:OGA,
  author =       "Dick Pountain",
  title =        "{Oberon}: a Glimpse at the Future: a radically
                 object-oriented design previews future operating
                 systems",
  journal =      j-BYTE,
  volume =       "18",
  number =       "6",
  pages =        "111--??",
  month =        may,
  year =         "1993",
  CODEN =        "BYTEDJ",
  ISSN =         "0360-5280 (print), 1082-7838 (electronic)",
  ISSN-L =       "0360-5280",
  bibdate =      "Tue Jan 2 10:01:41 MST 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/byte1990.bib",
  acknowledgement = ack-nhfb,
}

@Article{Radenski:1993:VO,
  author =       "Atanas Radenski",
  title =        "A Voyage to {Oberon}",
  journal =      j-SIGCSE,
  volume =       "25",
  number =       "3",
  pages =        "13--18",
  month =        sep,
  year =         "1993",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/165408.165412",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Fri Jan 5 09:29:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse1990.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  issuedate =    "Sept. 1993",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "6",
}

@Book{Sedgewick:1993:AM,
  author =       "Robert Sedgewick",
  title =        "Algorithms in {Modula-3}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xiv + 656",
  year =         "1993",
  ISBN =         "0-201-53351-0",
  ISBN-13 =      "978-0-201-53351-4",
  LCCN =         "QA76.73.M63 S43 1993",
  bibdate =      "Mon Jan 3 12:10:05 1994",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/cryptography1990.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib",
  acknowledgement = ack-nhfb,
  libnote =      "Not yet in my library.",
  tableofcontents = "1: Introduction \\
                 2: Modula-3 \\
                 3: Elementary Data Structures \\
                 4: Trees \\
                 5: Recursion \\
                 6: Analysis of Algorithms \\
                 7: Implementation of Algorithms \\
                 8: Elementary Sorting Methods \\
                 9: Quicksort \\
                 10: Radix Sorting \\
                 11: Priority Queues \\
                 12: Mergesort \\
                 13: External Sorting \\
                 14: Elementary Searching Methods \\
                 15: Balanced Trees \\
                 16: Hashing \\
                 17: Radix Searching \\
                 18: External Searching \\
                 19: String Searching \\
                 20: Pattern Matching \\
                 21: Parsing \\
                 22: File Compression \\
                 23: Cryptology \\
                 24: Elementary Geometric Methods \\
                 25: Finding the Convex Hull \\
                 26: Range Searching \\
                 27: Geometric Intersection \\
                 28: Closest-Point Problems \\
                 29: Elementary Graph Algorithms \\
                 30: Connectivity \\
                 31: Weighted Graphs \\
                 32: Directed Graphs \\
                 33: Network Flow \\
                 34: Matching \\
                 35: Random Numbers \\
                 36: Arithmetic \\
                 37: Gaussian Elimination \\
                 38: Curve Fitting \\
                 39: Integration \\
                 40: Parallel Algorithms \\
                 41: The Fast Fourier Transform \\
                 42: Dynamic Programming \\
                 43: Linear Programming \\
                 44: Exhaustive Search \\
                 45: NP-Complete Problems",
}

@Article{Woodman:1993:TMS,
  author =       "Mark Woodman",
  title =        "A Taste of the {Modula-2 Standard}",
  journal =      j-SIGPLAN,
  volume =       "28",
  number =       "9",
  pages =        "15--24",
  month =        sep,
  year =         "1993",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/165364.165370",
  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/sigplan1990.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "Sept. 1993",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "10",
}

@Article{Abadi:1994:BMT,
  author =       "Martin Abadi",
  title =        "{Baby Modula-3} and a theory of objects",
  journal =      j-J-FUNCT-PROGRAM,
  volume =       "4",
  number =       "2",
  pages =        "249--283",
  month =        apr,
  year =         "1994",
  CODEN =        "JFPRES",
  DOI =          "https://doi.org/10.1017/S0956796800001052",
  ISSN =         "0956-7968 (print), 1469-7653 (electronic)",
  ISSN-L =       "0956-7968",
  bibdate =      "Tue Jul 11 18:01:58 MDT 2017",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib",
  URL =          "https://www.cambridge.org/core/product/7091DC3F4FC43DC753EE1D5372D8C38C",
  acknowledgement = ack-nhfb,
  ajournal =     "J. Funct. Program.",
  fjournal =     "Journal of Functional Programming",
  journal-URL =  "http://journals.cambridge.org/action/displayJournal?jid=JFP",
  onlinedate =   "07 November 2008",
}

@Article{Anonymous:1994:IM,
  author =       "Anonymous",
  title =        "Introducing {Modula-3}",
  journal =      j-LINUX-J,
  volume =       "7",
  pages =        "??--??",
  month =        nov,
  year =         "1994",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Fri Oct 9 08:35:26 MDT 1998",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue7/index.html;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/linux-journal.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{BrinchHansen:1994:ICS,
  author =       "Per {Brinch Hansen}",
  title =        "Interference control in {SuperPascal} --- a
                 block-structured parallel language",
  journal =      j-COMP-J,
  volume =       "37",
  number =       "5",
  pages =        "399--406",
  month =        "????",
  year =         "1994",
  CODEN =        "CMPJA6",
  DOI =          "https://doi.org/10.1093/comjnl/37.5.399",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Tue Dec 4 14:48:40 MST 2012",
  bibsource =    "http://comjnl.oxfordjournals.org/content/37/5.toc;
                 http://www3.oup.co.uk/computer_journal/Volume_37/Issue_05/Vol37_05.index.html;
                 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/compj.bib;
                 https://www.math.utah.edu/pub/tex/bib/compj1990.bib",
  URL =          "http://brinch-hansen.net/papers/1994d.pdf;
                 http://comjnl.oxfordjournals.org/content/37/5/399.full.pdf+html;
                 http://www3.oup.co.uk/computer_journal/Volume_37/Issue_05/Vol37_05.body.html#AbstractHansen",
  acknowledgement = ack-nhfb,
  affiliation =  "Sch. of Comput. and Inf. Sci., Syracuse Univ., NY,
                 USA",
  author-1-adr = "School of Computer and Information Science, Syracuse
                 University, Syracuse, NY 13244, USA",
  classcodes =   "C6140D (High level languages); C4240P (Parallel
                 programming and algorithm theory); C6110P (Parallel
                 programming); C6150C (Compilers, interpreters and other
                 processors)",
  classification = "C4240P (Parallel programming and algorithm theory);
                 C6110P (Parallel programming); C6140D (High level
                 languages); C6150C (Compilers, interpreters and other
                 processors)",
  corpsource =   "Sch. of Comput. and Inf. Sci., Syracuse Univ., NY,
                 USA",
  fjournal =     "The Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
  keywords =     "block-structured parallel; Block-structured parallel
                 language; Block-structured parallel languages;
                 compilation; Compilation; compilers; global variables;
                 Global variables; insecure programming languages;
                 Insecure programming languages; interference control;
                 Interference control; language; languages; parallel;
                 parallel languages; parallel programming; Parallel
                 programming language; Parallel programs; parallel
                 scientific computing; Parallel scientific computing;
                 parallel statements; Parallel statements; Pascal;
                 process interference; Process interference; program;
                 programming language; programs; shared variables;
                 Shared variables; single-pass compiler; Single-pass
                 compiler; SuperPascal; synchronous communication
                 channels; Synchronous communication channels; syntactic
                 control; Syntactic control",
  thesaurus =    "Parallel languages; Parallel programming; Pascal;
                 Program compilers",
  treatment =    "P Practical",
}

@Article{BrinchHansen:1994:PLS,
  author =       "Per {Brinch Hansen}",
  title =        "The Programming Language {SuperPascal}",
  journal =      j-SPE,
  volume =       "24",
  number =       "5",
  pages =        "467--483",
  month =        may,
  year =         "1994",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380240504",
  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 =   "30 Oct 2006",
}

@InProceedings{Corney:1994:TTE,
  author =       "Diane Corney and John Gough",
  booktitle =    "{Programming Languages and System Architectures}",
  title =        "Type test elimination using typeflow analysis",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "137--150",
  year =         "1994",
  DOI =          "https://doi.org/10.1007/3-540-57840-4_29",
  ISBN =         "3-540-48356-X",
  ISBN-13 =      "978-3-540-48356-4",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/3-540-57840-4_29",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@PhdThesis{Franz:1994:CGF,
  author =       "Michael Steffen Oliver Franz",
  title =        "Code-Generation On-the-Fly: a Key to Portable
                 Software",
  type =         "{Dr.sc.tech.} dissertation (number 10497)",
  number =       "47",
  publisher =    "Verlag der Fachvereine",
  school =       "ETH Z{\"u}rich",
  address =      "Z{\"u}rich, Switzerland",
  pages =        "97",
  year =         "1994",
  ISBN =         "3-7281-2115-0",
  ISBN-13 =      "978-3-7281-2115-8",
  bibdate =      "Fri Jan 05 10:14:47 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "{Informatik-Dissertationen ETH Z{\"u}rich}",
  URL =          "https://www.proquest.com/pqdtglobal/docview/304133041",
  abstract =     "A technique for representing programs abstractly and
                 independently of the eventual target architecture is
                 presented that yields a file representation twice as
                 compact as machine code for a CISC processor. It forms
                 the basis of an implementation, in which the process of
                 code generation is deferred until the time of loading.
                 At that point, native code is created on-the-fly by a
                 code-generating loader.

                 The process of loading with dynamic code-generation is
                 so fast that it requires little more time than the
                 input of equivalent native code from a disk storage
                 medium. This is predominantly due to the compactness of
                 the abstract program representation, which allows to
                 counterbalance the additional effort of code-generation
                 by shorter input times. Since processor power is
                 currently rising more rapidly than disk-access times
                 and transfer rates are falling, the proposed technique
                 is likely to become even more competitive as hardware
                 technology evolves.

                 To users of the implemented system, working with
                 modules in the abstract representation is as
                 convenient: as working with native object-files. Both
                 kinds of file-representation coexist in the implemented
                 system; they are completely interchangeable and modules
                 in either representation can import from the other
                 kind. Separate compilation of program modules with
                 type-safe interfaces, and dynamic loading on a
                 per-module basis are both fully supported.

                 Deferring code-generation until loading time can
                 provide several new capabilities, especially when the
                 intermediate program representation is
                 machine-independent and thereby portable. It is argued
                 that the combination of portability with practicality
                 denotes an important step toward a software-component
                 industry. Further benefits include a potential for
                 reducing the number of recompilations after changes in
                 source text, and a mechanism to decide at load time
                 whether or not run-time integrity checks should be
                 generated for a library module, eliminating the need to
                 distinguish between development and production library
                 configurations. All of these new possibilities have the
                 potential of lowering the cost of software development
                 and maintenance.

                 In the long run, fast on-the-fly code-generation may
                 even replace binary compatibility for achieving
                 software portability among processors implementing the
                 same architecture. Already today, different models of a
                 processor family are diverging more and more and it is
                 becoming increasingly difficult to serve all of them
                 equally well with just one version of native code. If
                 code is generated only at the time of loading, however,
                 it can always be custom-tailored toward the specific
                 processor that it will eventually run on.",
  acknowledgement = ack-nhfb,
  xxpages =      "100",
}

@InProceedings{Franz:1994:COS,
  author =       "Michael Franz",
  editor =       "Peter Schulthess",
  booktitle =    "Advances in modular languages: Proceedings of the
                 {Joint Modular Languages Conference, University of Ulm,
                 Germany, 28--30 September 1994}",
  title =        "Compiler Optimizations Should Pay for Themselves",
  publisher =    "Universit{\"a}tsverlag",
  address =      "Ulm, Germany",
  bookpages =    "539",
  pages =        "111--121",
  year =         "1994",
  ISBN =         "3-89559-220-X",
  ISBN-13 =      "978-3-89559-220-1",
  LCCN =         "QA76.6 .J6578 1994",
  bibdate =      "Sun Jan 07 16:16:00 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  keywords =     "just-in-time compilation; Oberon",
}

@Article{Gutknecht:1994:OSV,
  author =       "J{\"u}rg Gutknecht",
  title =        "{Oberon System 3}: Vision of a Future Software
                 Technology",
  journal =      j-SOFTW-CONCEPTS-TOOLS,
  volume =       "15",
  number =       "1",
  pages =        "26--33",
  month =        "????",
  year =         "1994",
  CODEN =        "SCOTE5",
  ISSN =         "0945-8115 (print), 1432-2188 (electronic)",
  ISSN-L =       "0945-8115",
  bibdate =      "Sun Jan 07 16:20:58 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Concepts and Tools",
  journal-URL =  "https://link.springer.com/journal/378",
}

@Article{Harbison:1994:MPL,
  author =       "Sam Harbison",
  title =        "The {Modula-3} Programming Language",
  journal =      j-DDJ,
  volume =       "19",
  type =         "PL",
  number =       "??",
  pages =        "24",
  month =        "????",
  year =         "1994",
  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/dr-dobbs-1990.bib",
  note =         "Repeat of Oct92 article.",
  acknowledgement = ack-nhfb,
}

@Article{Lalis:1994:ACO,
  author =       "Spiros Lalis and Beverly A. Sanders",
  title =        "Adding Concurrency to the {Oberon} System",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "782",
  pages =        "328--??",
  year =         "1994",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sun Oct 25 10:57:00 1998",
  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,
}

@Article{Marais:1994:OS,
  author =       "Johannes L. Marais",
  title =        "{Oberon System 3}",
  journal =      j-DDJ,
  volume =       "19",
  number =       "11",
  pages =        "42--50",
  month =        oct,
  year =         "1994",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  ISSN-L =       "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-1990.bib;
                 UnCover database",
  abstract =     "From certain perspectives, developing truly
                 interoperable component objects requires viewing the
                 programming language and operating system as a
                 symbiotic whole. Oberon System 3 is just such an
                 environment.",
  acknowledgement = ack-nhfb,
  affiliation =  "Inst. for Comput. Syst., Eidgen{\"o}ssische Tech.
                 Hochschule",
  affiliationaddress = "Zurich, Switz",
  classification = "723.1; 723.1.1; 723.2; 723.5; C6110J
                 (Object-oriented programming); C6115 (Programming
                 support); C6140D (High level languages)",
  journalabr =   "Dr Dobb's J Software Tools Prof Program",
  keywords =     "Computer aided software engineering; Computer
                 architecture; Computer operating systems; Computer
                 programming languages; Computer simulation; Computer
                 software; Data handling; Data structures; File editors;
                 Gadgets; Graphic editor; Graphical user interfaces;
                 Interactive computer graphics; Interoperable component
                 objects; Network protocols; Oberon system; Oberon
                 System 3; Object model; Object oriented programming;
                 Operating system; Programming environment; Programming
                 in-the-large; Programming language; Software design;
                 Software reuse; User interfaces",
  thesaurus =    "Object-oriented languages; Object-oriented
                 programming; Programming environments; Software
                 reusability",
}

@Article{Mossenbock:1994:EOS,
  author =       "Hanspeter M{\"o}ssenb{\"o}ck",
  title =        "Extensibility in the {Oberon} system",
  journal =      j-NORDIC-J-COMPUT,
  volume =       "1",
  number =       "1",
  pages =        "77--93",
  month =        "Spring",
  year =         "1994",
  CODEN =        "NJCOFR",
  ISSN =         "1236-6064",
  ISSN-L =       "1236-6064",
  bibdate =      "Fri Nov 13 15:49:29 MST 1998",
  bibsource =    "http://www.cs.helsinki.fi/njc/njc1.html;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/nordic-j-computing.bib",
  URL =          "http://www.cs.helsinki.fi/njc/References/mossenbock1994:77.html",
  acknowledgement = ack-nhfb,
}

@Article{Naumann:1994:EO,
  author =       "David A. Naumann",
  title =        "On the Essence of {Oberon}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "782",
  pages =        "313--??",
  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,
}

@Article{Pountain:1994:ESS,
  author =       "Dick Pountain and Clemens Szyperski",
  title =        "Extensible Software Systems: New programming tools are
                 needed to develop software systems tha can be easily
                 extended with new modules",
  journal =      j-BYTE,
  volume =       "19",
  number =       "5",
  pages =        "57--??",
  month =        may,
  year =         "1994",
  CODEN =        "BYTEDJ",
  ISSN =         "0360-5280 (print), 1082-7838 (electronic)",
  ISSN-L =       "0360-5280",
  bibdate =      "Tue Jan 2 10:01:41 MST 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/byte1990.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{Radenski:1994:OSP,
  author =       "Atanas Radenski",
  booktitle =    "{Programming Languages and System Architectures}",
  title =        "Is {Oberon} as Simple as Possible? {A} Smaller
                 Object-Oriented Language Based on the Concept of Module
                 Type",
  volume =       "782",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "298--312",
  year =         "1994",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/3-540-57840-4_38",
  ISBN =         "3-540-48356-X",
  ISBN-13 =      "978-3-540-48356-4",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sun Oct 25 10:56:54 1998",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/lncs1994.bib",
  series =       ser-LNCS,
  URL =          "http://link.springer.com/chapter/10.1007/3-540-57840-4_38",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InProceedings{Sydow:1994:I,
  author =       "Friedrich V. Sydow",
  booktitle =    "{InformLex}",
  title =        "{O}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "231--244",
  year =         "1994",
  DOI =          "https://doi.org/10.1007/978-3-322-83682-3_15",
  ISBN =         "3-322-83682-7",
  ISBN-13 =      "978-3-322-83682-3",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Glossary with Oberon and Oberon-2 entries.",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-322-83682-3_15",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InProceedings{Szyperski:1994:EPL,
  author =       "Clemens Szyperski and Stephen Omohundro and Stephan
                 Murer",
  booktitle =    "{Programming Languages and System Architectures}",
  title =        "Engineering a programming language: The type and class
                 system of {Sather}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "208--227",
  year =         "1994",
  DOI =          "https://doi.org/10.1007/3-540-57840-4_33",
  ISBN =         "3-540-48356-X",
  ISBN-13 =      "978-3-540-48356-4",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/3-540-57840-4_33",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@Article{Templ:1994:OPL,
  author =       "Josef Templ",
  title =        "The {Oberon} Programming Language",
  journal =      j-DDJ,
  volume =       "19",
  type =         "PL",
  number =       "??",
  pages =        "60--??",
  month =        "????",
  year =         "1994",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  ISSN-L =       "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/dr-dobbs-1990.bib",
  acknowledgement = ack-nhfb,
}

@Article{Woodman:1994:PLS,
  author =       "Mark Woodman",
  title =        "Programming language standards scene, ten years on
                 paper 10: {Modula-2}",
  journal =      j-COMP-STANDARDS-INTERFACES,
  volume =       "16",
  number =       "5-6",
  pages =        "487--494",
  month =        sep,
  year =         "1994",
  CODEN =        "CSTIEZ",
  ISSN =         "0920-5489 (print), 1872-7018 (electronic)",
  ISSN-L =       "0920-5489",
  bibdate =      "Fri May 24 09:57:50 MDT 1996",
  bibsource =    "Compendex database;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  abstract =     "This paper, one of a simultaneously published set,
                 describes the establishment in 1984 of the standards
                 project for the programming language Modula-2, and the
                 progress of the project to the end of 1993. This
                 project, including the language itself and an
                 associated library, enters its final phase in 1994.
                 This paper gives a thumbnail sketch of the language,
                 the history of standardization, and the main
                 consequences of changes made during standardization.
                 New work on object-oriented extensions and a Posix
                 binding is also described.",
  acknowledgement = ack-nhfb,
  affiliation =  "Open Univ",
  affiliationaddress = "Milton Keynes, Engl",
  classification = "723.1; 723.1.1; 902.2",
  fjournal =     "Computer Standards and Interfaces",
  journalabr =   "Comput Stand Interfaces",
  keywords =     "Modula (programming language); Modula 2 programming
                 language; Object oriented programming; Posix binding;
                 Standardization; Standards",
}

@Article{Wyant:1994:IM,
  author =       "Geoff Wyant",
  title =        "Introducing {Modula-3}",
  journal =      j-LINUX-J,
  volume =       "8",
  pages =        "??--??",
  month =        dec,
  year =         "1994",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Fri Oct 9 08:35:26 MDT 1998",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue8/index.html;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/linux-journal.bib",
  abstract =     "The right tool for building complex Linux
                 applications.",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@InProceedings{Bancroft:1995:FSL,
  author =       "Peter Bancroft and Ian Hayes",
  booktitle =    "{ZUM '95: The Z Formal Specification Notation}",
  title =        "A formal semantics for a language with type
                 extension",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "298--314",
  year =         "1995",
  DOI =          "https://doi.org/10.1007/3-540-60271-2_127",
  ISBN =         "3-540-44782-2",
  ISBN-13 =      "978-3-540-44782-5",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/3-540-60271-2_127",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@Article{Brandis:1995:OSF,
  author =       "Marc M. Brandis and R{\'e}gis Crelier and Michael
                 Franz and Josef Templ",
  title =        "The {Oberon} system family",
  journal =      j-SPE,
  volume =       "25",
  number =       "12",
  pages =        "1331--1366",
  month =        dec,
  year =         "1995",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.4380251204",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat May 31 13:36:16 MDT 1997",
  bibsource =    "Compendex database;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/spe.bib",
  abstract =     "Oberon simultaneously refers to a modular, extensible
                 operating system and an object-oriented programming
                 language developed for its implementation. Although the
                 original Oberon System had been conceived as the native
                 operating system for a custom-built workstation,
                 further implementations for several commercial
                 platforms were developed later and are described here.
                 All of these implementations are based on an efficient,
                 retargetable Oberon compiler, and each provides a
                 complete Oberon environment and the original library
                 interface. This paper describes the structure of the
                 compiler, summarizes the experience gained in adapting
                 it for various CISC and RISC processors, and presents
                 some empirical performance data. It also sheds light on
                 the task of grafting an operating environment onto a
                 variety of existing operating systems.",
  acknowledgement = ack-nhfb,
  affiliation =  "ETH Zurich",
  affiliationaddress = "Zurich, Switz",
  ajournal =     "Softw. Pract. Exp.",
  classification = "722.2; 722.4; 723.1; 723.1.1; 723.2",
  fjournal =     "Software --- Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  journalabr =   "Software Pract Exper",
  keywords =     "Code generation; Codes (symbols); Computer operating
                 systems; Computer programming languages; Computer
                 software portability; Computer workstations; Interfaces
                 (computer); Library interface; Oberon compiler; Oberon
                 system; Object oriented programming; Performance data;
                 Program compilers; Reduced instruction set computing",
  onlinedate =   "30 Oct 2006",
}

@Article{BrinchHansen:1995:SSa,
  author =       "Per {Brinch Hansen}",
  title =        "The {SuperPascal} Software",
  journal =      j-SIGNUM,
  volume =       "30",
  number =       "3",
  pages =        "27--27",
  month =        jul,
  year =         "1995",
  CODEN =        "SNEWD6",
  DOI =          "https://doi.org/10.1145/221332.221335",
  ISSN =         "0163-5778 (print), 1558-0237 (electronic)",
  ISSN-L =       "0163-5778",
  bibdate =      "Tue Apr 12 07:50:26 MDT 2005",
  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/signum.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGNUM Newsletter",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J690",
}

@Article{BrinchHansen:1995:SSb,
  author =       "Per {Brinch Hansen}",
  title =        "The {SuperPascal} Software",
  journal =      j-SIGSOFT,
  volume =       "20",
  number =       "5",
  pages =        "91--91",
  month =        dec,
  year =         "1995",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/217030.565658",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Thu Jul 21 08:20:51 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",
  abstract =     "Pascal is still the most widely used programming
                 language in computer science textbooks. Building on
                 that tradition I have developed SuperPascal as a
                 publication language for parallel scientific computing.
                 SuperPascal extends a subset of IEEE Standard Pascal
                 with deterministic statements for parallel processes
                 and synchronous message passing. Recursive procedures
                 may be combined with parallel statements.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@InProceedings{Fernandez:1995:SELa,
  author =       "Mary F. Fern{\'a}ndez",
  booktitle =    "Proceedings of the {ACM SIGPLAN 1995 Conference on
                 Programming Language Design and Implementation}",
  title =        "Simple and Effective Link-Time Optimization of
                 {Modula-3} Programs",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "103--115",
  year =         "1995",
  DOI =          "https://doi.org/10.1145/207110.207121",
  ISBN =         "0-89791-697-2",
  ISBN-13 =      "978-0-89791-697-4",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "PLDI '95",
  abstract =     "Modula-3 supports development of modular programs by
                 separating an object's interface from its
                 implementation. This separation induces a runtime
                 overhead in the implementation of objects, because it
                 prevents the compiler from having complete information
                 about a program's type hierarchy. This overhead can be
                 reduced at link time, when the entire type hierarchy
                 becomes available. We describe opportunities for
                 link-time optimization of Modula-3, present two
                 link-time optimizations that reduce the runtime costs
                 of Modula-3's opaque types and methods, and show how
                 link-time optimization could provide C++ which the
                 benefits of opaques types at no additional runtime
                 cost. Our optimization techniques are implemented in
                 mld, a retargetable linker for the MIPS, SPARC, and
                 Intel 486, mld links a machine-independent intermediate
                 code that is suitable for link-time optimization and
                 code generation. Linking intermediate code simplifies
                 implementation of the optimizations and makes it
                 possible to evaluate them on a wide range of
                 architectures. mld's optimizations are effective: they
                 reduce the total number of instructions executed by up
                 to 14\% and convert as many as 79\% of indirect calls
                 to direct calls.",
  acknowledgement = ack-nhfb,
  location =     "La Jolla, California, USA",
  numpages =     "13",
}

@Article{Fernandez:1995:SELb,
  author =       "Mary F. Fern{\'a}ndez",
  title =        "Simple and Effective Link-Time Optimization of
                 {Modula-3} Programs",
  journal =      j-SIGPLAN,
  volume =       "30",
  number =       "6",
  pages =        "103--115",
  month =        jun,
  year =         "1995",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/223428.207121",
  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/sigplan1990.bib",
  abstract =     "Modula-3 supports development of modular programs by
                 separating an object's interface from its
                 implementation. This separation induces a runtime
                 overhead in the implementation of objects, because it
                 prevents the compiler from having complete information
                 about a program's type hierarchy. This overhead can be
                 reduced at link time, when the entire type hierarchy
                 becomes available. We describe opportunities for
                 link-time optimization of Modula-3, present two
                 link-time optimizations that reduce the runtime costs
                 of Modula-3's opaque types and methods, and show how
                 link-time optimization could provide C++ which the
                 benefits of opaques types at no additional runtime
                 cost. Our optimization techniques are implemented in
                 mld, a retargetable linker for the MIPS, SPARC, and
                 Intel 486, mld links a machine-independent intermediate
                 code that is suitable for link-time optimization and
                 code generation. Linking intermediate code simplifies
                 implementation of the optimizations and makes it
                 possible to evaluate them on a wide range of
                 architectures. mld's optimizations are effective: they
                 reduce the total number of instructions executed by up
                 to 14\% and convert as many as 79\% of indirect calls
                 to direct calls.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "June 1995",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "13",
}

@Article{Freeman:1995:PRM,
  author =       "Steve Freeman",
  title =        "Partial Revelation and {Modula-3}",
  journal =      j-DDJ,
  volume =       "20",
  number =       "10",
  pages =        "36, 38, 40, 42, 110, 112",
  month =        oct,
  year =         "1995",
  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/dr-dobbs-1990.bib",
  acknowledgement = ack-nhfb,
  affiliation =  "Rank Xerox Res. Centre, Grenoble, France",
  classification = "C6110J (Object-oriented programming); C6120 (File
                 organisation); C6140D (High level languages)",
  keywords =     "Class reuse; Modula-3; Partial revelation; Statically
                 typed object oriented language; Strongly typed
                 languages; Type system",
  thesaurus =    "Abstract data types; Modula; Modula listings;
                 Object-oriented languages; Object-oriented
                 programming",
}

@InProceedings{Hitz:1995:MVCa,
  author =       "Martin Hitz and Marcus Hudec",
  booktitle =    "Proceedings of the Twenty-Sixth {SIGCSE} Technical
                 Symposium on Computer Science Education",
  title =        "{Modula-2} versus {C++} as a First Programming
                 Language --- Some Empirical Results",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "317--321",
  year =         "1995",
  DOI =          "https://doi.org/10.1145/199688.199838",
  ISBN =         "0-89791-693-X",
  ISBN-13 =      "978-0-89791-693-6",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "SIGCSE '95",
  abstract =     "The success of an experiment of using C++ as a first
                 programming language for students of a specific type of
                 computer science is presented. The paper motivates the
                 shift from Modula-2 to C++ in the curriculum, shortly
                 describes the course and discusses the statistical
                 evaluation of the results of the last Modula-2 course
                 and the first C++ course, respectively. The main
                 findings of the study are the fact that in contrast to
                 most expectations, the shift from a typical
                 ``educational'' language to a much ``dirtier'' language
                 had no significant effect to the performance of the
                 students taking the course.",
  acknowledgement = ack-nhfb,
  location =     "Nashville, Tennessee, USA",
  numpages =     "5",
}

@Article{Hitz:1995:MVCb,
  author =       "Martin Hitz and Marcus Hudec",
  title =        "{Modula-2} versus {C++} as a First Programming
                 Language --- Some Empirical Results",
  journal =      j-SIGCSE,
  volume =       "27",
  number =       "1",
  pages =        "317--321",
  month =        mar,
  year =         "1995",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/199691.199838",
  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/sigcse1990.bib",
  abstract =     "The success of an experiment of using C++ as a first
                 programming language for students of a specific type of
                 computer science is presented. The paper motivates the
                 shift from Modula-2 to C++ in the curriculum, shortly
                 describes the course and discusses the statistical
                 evaluation of the results of the last Modula-2 course
                 and the first C++ course, respectively. The main
                 findings of the study are the fact that in contrast to
                 most expectations, the shift from a typical
                 ``educational'' language to a much ``dirtier'' language
                 had no significant effect to the performance of the
                 students taking the course.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  issuedate =    "March 1995",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
  numpages =     "5",
}

@Article{Kaeding:1995:PPG,
  author =       "Thomas A. Kaeding",
  title =        "{Pascal} program for generating tables of {$ {\rm
                 SU}(3) $} {Clebsch--Gordan} coefficients",
  journal =      j-COMP-PHYS-COMM,
  volume =       "85",
  number =       "1",
  pages =        "82--88",
  year =         "1995",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/0010-4655(94)00115-I",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  MRclass =      "81R05 (81-04)",
  MRnumber =     "1311819",
  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 =     "Computer Physics Communications. An International
                 Journal and Program Library for Computational Physics
                 and Physical Chemistry",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

@TechReport{Kirk:1995:OGO,
  author =       "Brian Kirk",
  title =        "The {Oakwood} Guidelines for {Oberon-2} Compiler
                 Developers",
  type =         "Report",
  institution =  "Robinson Associates",
  address =      "Red Lion House, St Mary's Street Painswick GLOS, GL6
                 6QR, UK",
  pages =        "49",
  day =          "20",
  month =        oct,
  year =         "1995",
  bibdate =      "Mon Feb 19 06:59:42 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://github.com/Oleg-N-Cher/OfrontPlus/",
  abstract =     "These guidelines have been produced by a group of
                 Oberon-2 compiler developers, including ETH developers,
                 after a meeting at the Oakwood Hotel in Croydon, UK in
                 June 1993. The purpose of that meeting was to agree on
                 a standard specification for the Oberon-2 Language,
                 some minimal extensions and a standard portable
                 library. The intention is that all implementors should
                 offer support for Oberon-2 to at least the ETH
                 specification standard and also offer an implementation
                 of the basic library modules. The aim is to ensure that
                 Oberon-2 programs using the library will be consistent
                 and portable across all conforming implementations.",
  acknowledgement = ack-nhfb,
  remark =       "Available as file {\tt Docu/oakwood-guidelines.pdf} in
                 github.",
}

@InProceedings{Knasmuller:1995:ODU,
  author =       "Markus Knasm{\"u}ller",
  booktitle =    "{GISI 95}",
  title =        "{Oberon} Dialogs: a User Interface for End Users",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "749--757",
  year =         "1995",
  DOI =          "https://doi.org/10.1007/978-3-642-79958-7_104",
  ISBN =         "3-642-79958-2",
  ISBN-13 =      "978-3-642-79958-7",
  ISSN =         "1431-472X",
  ISSN-L =       "1431-472X",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-642-79958-7_104",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InProceedings{Koskimies:1995:DFS,
  author =       "Kai Koskimies and Hanspeter M{\"o}ssenb{\"o}ck",
  booktitle =    "{Software Engineering --- ESEC '95}",
  title =        "Designing a framework by stepwise generalization",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "479--498",
  year =         "1995",
  DOI =          "https://doi.org/10.1007/3-540-60406-5_31",
  ISBN =         "3-540-45552-3",
  ISBN-13 =      "978-3-540-45552-3",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/3-540-60406-5_31",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InProceedings{Mosli:1995:CCF,
  author =       "Bernd M{\"o}sli",
  booktitle =    "{GISI 95}",
  title =        "A Comparison of {C++}, {FORTRAN 90} and {Oberon-2} for
                 Scientific Programming",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "740--748",
  year =         "1995",
  DOI =          "https://doi.org/10.1007/978-3-642-79958-7_103",
  ISBN =         "3-642-79958-2",
  ISBN-13 =      "978-3-642-79958-7",
  ISSN =         "1431-472X",
  ISSN-L =       "1431-472X",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-642-79958-7_103",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InProceedings{Mossenbock:1995:O,
  author =       "Hanspeter M{\"o}ssenb{\"o}ck",
  booktitle =    "{Object-Oriented Programming in Oberon-2}",
  title =        "{Oberon-2}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "13--27",
  year =         "1995",
  DOI =          "https://doi.org/10.1007/978-3-642-79898-6_2",
  ISBN =         "3-642-79898-5",
  ISBN-13 =      "978-3-642-79898-6",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-642-79898-6_2",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@Book{Mossenbock:1995:OOP,
  author =       "Hanspeter M{\"o}ssenb{\"o}ck",
  title =        "Object-Oriented Programming in {Oberon-2}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  edition =      "Second",
  pages =        "xiii + ii + iii + 278",
  year =         "1995",
  DOI =          "https://doi.org/10.1007/978-3-642-79898-6",
  ISBN =         "3-540-60062-0 (New York), 3-540-60062-0 (Berlin),
                 3-642-79898-5 (e-book, Berlin)",
  ISBN-13 =      "978-3-540-60062-6 (New York), 978-3-540-60062-6
                 (Berlin), 978-3-642-79898-6 (e-book, Berlin)",
  LCCN =         "QA76.64",
  bibdate =      "Sun Feb 11 07:39:59 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://ssw.jku.at/Research/Books/Oberon2.pdf",
  abstract =     "Object-oriented programming (OOP) tends to improve
                 software quality by promoting structure, extensibility,
                 and reusability of software. Its fundamentals are data
                 abstraction, inheritance and dynamic binding. But it is
                 not enough to understand these concepts; one must also
                 learn how to make good use of them. This book covers
                 the basic concepts of OOP, shows typical application
                 patterns, gives useful design hints, and finally
                 presents the design and implementation of an
                 object-oriented windows system with an integrated text
                 and graphics editor. The language used throughout this
                 book in Oberon-2, a clean and type-safe language
                 designed at ETH Z{\'y}urich. However, the emphasis of
                 the book is not on the language but on the concepts of
                 OOP. They can easily be transferred to any other
                 object-oriented language. The book is aimed at students
                 of computer science as well as at practitioners who
                 want to gain a perspective on modern software
                 development techniques. Compilers for Oberon-2 as well
                 as the source code of the case study in this book are
                 freely available for several common workstations. The
                 book is aimed at students of computer science as well
                 as at practitioners who want to gain a perspective on
                 modern software development techniques.",
  acknowledgement = ack-nhfb,
  remark =       "Out of print, but publisher has permitted free
                 distribution of the PDF file.",
  tableofcontents = "1 Overview \\
                 1.1 Procedure-Oriented Thinking \\
                 1.2 Object-Oriented Thinking \\
                 1.3 Object-Oriented Languages \\
                 1.4 How OOP Differs from Conventional Programming \\
                 1.5 Classes as Abstraction Mechanisms \\
                 1.6 History of Object-Oriented Languages \\
                 1.7 Summary \\
                 2 Oberon-2 \\
                 2.1 Features of Oberon-2 \\
                 2.2 Declarations \\
                 2.3 Expressions \\
                 2.4 Statements \\
                 2.5 Procedures \\
                 2.6 Modules \\
                 2.7 Commands \\
                 3 Data Abstraction \\
                 3.1 Concrete Data Structures \\
                 3.2 Abstract Data Structures \\
                 3.3 Abstract Data Types \\
                 4 Classes \\
                 4.1 Methods \\
                 4.2 Classes and Modules \\
                 4.3 Examples \\
                 4.4 Common Questions \\
                 5 Inheritance \\
                 5.1 Type Extension \\
                 5.2 Compatibility of a Base Type and its Extension \\
                 5.3 Static and Dynamic Type \\
                 5.4 Run-Time Type Checking \\
                 5.5 Extensibility in an Object-Oriented Sense \\
                 5.6 Common Questions \\
                 6 Dynamic Binding \\
                 6.1 Messages \\
                 6.2 Abstract Classes \\
                 6.3 Examples \\
                 6.4 Message Records \\
                 6.5 Common Questions \\
                 7 Typical Applications \\
                 7.1 Abstract Data Types \\
                 7.2 Generic Components \\
                 7.3 Heterogeneous Data Structures \\
                 7.4 Replaceable Behavior \\
                 7.5 Adaptable Components \\
                 7.6 Semifinished Products \\
                 7.7 Summary \\
                 8 Useful Techniques \\
                 8.1 Initialization of Objects \\
                 8.2 Extending a System at Run Time \\
                 8.3 Persistent Objects \\
                 8.4 Wrapping Classes in Other Classes \\
                 8.5 Extensibility in Multiple Dimensions \\
                 8.6 Multiple Inheritance \\
                 8.7 Models and Views \\
                 8.8 Iterators \\
                 8.9 Modifying Inherited Methods \\
                 9 Object-Oriented Design \\
                 9.1 Functional Design \\
                 9.2 Object-Oriented Design \\
                 9.3 Identifying the Classes \\
                 9.4 Designing the Interface of a Class \\
                 9.5 Abstract Classes \\
                 9.6 Relationships between Classes \\
                 9.7 When to Use Classes \\
                 9.8 Common Design Errors \\
                 10 Frameworks \\
                 10.1 Subsystems and Frameworks \\
                 10.2 The MVC Framework \\
                 10.3 A Framework for Objects in Texts \\
                 10.4 Application Frameworks \\
                 11 Oberon0 \\
                 A Case Study \\
                 11.1 The Viewer System \\
                 11.2 Handling User Input \\
                 11.3 A Text Editor \\
                 11.4 A Graphics Editor \\
                 11.5 Embedding Graphics in Texts \\
                 12 Costs and Benefits of OOP \\
                 12.1 Benefits \\
                 12.2 Costs \\
                 12.3 The Future \\
                 A Oberon-2 \\
                 Language Definition \\
                 A.1 Introduction \\
                 A.2 Syntax \\
                 A.3 Vocabulary and Representation \\
                 A.4 Declarations and Scope Rules \\
                 A.5 Constant Declarations \\
                 A.6 Type Declarations \\
                 A.7 Variable Declarations \\
                 A.8 Expressions \\
                 A.9 Statements \\
                 A.10 Procedure Declarations \\
                 A.11 Modules \\
                 A.12 Appendices to the Language Definition \\
                 B The Module OS \\
                 C The Module IO \\
                 D How to Get Oberon",
}

@Article{Pountain:1995:OFS,
  author =       "Dick Pountain",
  title =        "The {Oberon/F} System: {Niklaus Wirth}'s {Oberon/F} is
                 a lightweight, portable, object-oriented component
                 framework for the {Windows} and {Mac} environments",
  journal =      j-BYTE,
  volume =       "20",
  number =       "1",
  pages =        "227--??",
  month =        jan,
  year =         "1995",
  CODEN =        "BYTEDJ",
  ISSN =         "0360-5280 (print), 1082-7838 (electronic)",
  ISSN-L =       "0360-5280",
  bibdate =      "Tue Jan 2 10:01:41 MST 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/byte1995.bib",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Rueping:1995:M,
  author =       "A. Rueping and E. Sekerinski",
  title =        "{Modula-3}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "891",
  pages =        "357--??",
  year =         "1995",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat May 11 13:45:32 MDT 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/lncs1995a.bib",
  acknowledgement = ack-nhfb,
}

@Article{Szarapka:1995:TMP,
  author =       "Lehez Szarapka and Dragan Ma{\v{s}}ulovi{\'c}",
  title =        "On Translating {Modula-2} Programs to {C}: Local
                 Procedures and Modules",
  journal =      "Filomat",
  volume =       "9",
  number =       "2",
  pages =        "295--302",
  month =        oct,
  year =         "1995",
  bibdate =      "Mon Jan 15 12:15:36 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.jstor.org/stable/43997738",
  acknowledgement = ack-nhfb,
}

@Manual{Templ:1995:OOC,
  author =       "Josef Templ",
  title =        "{Ofront\TM}: {Oberon-2} to {C} Translator, Version
                 1.0: User Guide",
  organization = "Software Templ",
  address =      "Linz, Austria",
  pages =        "101",
  year =         "1995",
  bibdate =      "Mon Feb 19 06:29:33 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://github.com/Oleg-N-Cher/OfrontPlus/",
  abstract =     "This document serves as a guide for users of Ofront,
                 the industry's leading Oberon-2 to C translator. The
                 reader of this guide is expected to have at least a
                 basic understanding of the programming language Oberon
                 and to be able to use the C compiler and linkage editor
                 on the respective target platform. It is also expected
                 that the user of the integrated version (cf. 2.2) has
                 some knowledge about the ETH Oberon system.",
  acknowledgement = ack-nhfb,
  remark =       "Available as file {\tt Docu/Ofront.pdf} in github.",
}

@InCollection{BrinchHansen:1996:MCPa,
  author =       "Per {Brinch Hansen}",
  title =        "Monitors and {Concurrent Pascal}: a Personal History",
  crossref =     "BrinchHansen:1996:SSE",
  chapter =      "21",
  pages =        "??--??",
  year =         "1996",
  bibdate =      "Mon Jul 25 16:32:26 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",
  acknowledgement = ack-nhfb,
}

@InProceedings{BrinchHansen:1996:MCPb,
  author =       "Per {Brinch Hansen}",
  title =        "Monitors and {Concurrent Pascal}: a personal history",
  crossref =     "Bergin:1996:HPL",
  pages =        "121--172",
  year =         "1996",
  DOI =          "https://doi.org/10.1145/234286.1057814",
  bibdate =      "Thu Jul 21 08:24:34 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",
  abstract =     "This is a personal history of the early development of
                 the monitor concept and its implementation in the
                 programming language Concurrent Pascal. The paper
                 explains how monitors evolved from the ideas of Dahl,
                 Dijkstra, Hoare, and the author (1971--1973). At
                 Caltech the author and his students developed and
                 implemented Concurrent Pascal and used it to write
                 several model operating systems (1974--1975). A
                 portable implementation of Concurrent Pascal was widely
                 distributed and used for system design (1976--1990).
                 The monitor paradigm was also disseminated in survey
                 papers and textbooks. The author ends the story by
                 expressing his own mixed feelings about monitors and
                 Concurrent Pascal.",
  acknowledgement = ack-nhfb,
}

@InCollection{BrinchHansen:1996:PLC,
  author =       "Per {Brinch Hansen}",
  title =        "Programming Language {Concurrent Pascal}",
  crossref =     "BrinchHansen:1996:SSE",
  chapter =      "7",
  pages =        "??--??",
  year =         "1996",
  bibdate =      "Mon Jul 25 16:32:26 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",
  acknowledgement = ack-nhfb,
}

@InCollection{BrinchHansen:1996:SOSa,
  author =       "Per {Brinch Hansen}",
  title =        "{Solo} Operating System: a {Concurrent Pascal}
                 Program",
  crossref =     "BrinchHansen:1996:SSE",
  chapter =      "8",
  pages =        "??--??",
  year =         "1996",
  bibdate =      "Mon Jul 25 16:32:26 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",
  acknowledgement = ack-nhfb,
}

@InCollection{BrinchHansen:1996:SPL,
  author =       "Per {Brinch Hansen}",
  title =        "{SuperPascal}: a Publication Language for Parallel
                 Scientific Computing",
  crossref =     "BrinchHansen:1996:SSE",
  chapter =      "24",
  pages =        "??--??",
  year =         "1996",
  bibdate =      "Mon Jul 25 16:32:26 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",
  acknowledgement = ack-nhfb,
}

@Article{Dotzel:1996:POS,
  author =       "G{\"u}nter Dotzel and Hartmut Goebel",
  title =        "Porting the {Oberon System} to {AlphaAXP}",
  journal =      j-SIGPLAN,
  volume =       "31",
  number =       "11",
  pages =        "66--73",
  month =        nov,
  year =         "1996",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/240964.240979",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 09:29:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
  abstract =     "The Oberon System is an object-oriented programming
                 framework supporting persistent objects and run-time
                 extensibility. This paper describes the development of
                 Alpha Oberon, an implementation of the Oberon System V4
                 for AlphaAXP under OpenVMS with X11 server. The port is
                 based upon the ETH Z{\"u}rich's Oberon System for
                 MIPS/Unix and ModulaWare's OpenVMS AXP stand-alone
                 Oberon-2 compiler. The processor and operating system
                 specific parts of the Oberon System and its boot-loader
                 were rewritten in Oberon-2 from scratch. Details are
                 provided for the module-loader, bootstrap-mechanism,
                 garbage collector, OpenVMS' vs. Unix's system service
                 support for exception- and stack-processing, procedure
                 calling conventions, data alignment issues, and
                 run-time data structures.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "Nov. 1996",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "8",
}

@Book{ISO:1996:IIIc,
  author =       "{ISO}",
  title =        "{ISO\slash IEC 10514-1:1996}: {Information} technology
                 --- {Programming} languages --- {Part} 1: {Modula-2},
                 Base Language",
  publisher =    pub-ISO,
  address =      pub-ISO:adr,
  pages =        "707",
  year =         "1996",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Tue Dec 12 06:45:39 2000",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/isostd.bib",
  price =        "CHF 360; US\$245.00",
  URL =          "http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+10514%2D1%3A1996;
                 http://www.iso.ch/cate/d18583.html",
  acknowledgement = ack-nhfb,
  pricecode =    "XN",
}

@InProceedings{Jimenez-Peris:1996:MIVa,
  author =       "Ricardo Jim{\'e}nez-Peris and Marta
                 Pati{\~n}o-Mart{\'{}\i}nez",
  booktitle =    "Proceedings of the 1st Conference on Integrating
                 Technology into Computer Science Education",
  title =        "A {Modula-2} Interpreter\slash Visualizer",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "232--232",
  year =         "1996",
  DOI =          "https://doi.org/10.1145/237466.237671",
  ISBN =         "0-89791-844-4",
  ISBN-13 =      "978-0-89791-844-2",
  bibdate =      "Fri Jan 5 15:14:43 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "ITiCSE '96",
  acknowledgement = ack-nhfb,
  location =     "Barcelona, Spain",
}

@Article{Jimenez-Peris:1996:MIVb,
  author =       "Ricardo Jim{\'e}nez-Peris and Marta
                 Pati{\~n}o-Mart{\'{}\i}nez",
  title =        "A {Modula-2} Interpreter\slash Visualizer",
  journal =      j-SIGCSE,
  volume =       "28",
  number =       "SI",
  pages =        "232--232",
  month =        jan,
  year =         "1996",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/237477.237671",
  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/sigcse1990.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  issuedate =    "1996",
  journal-URL =  "https://dl.acm.org/loi/sigcse",
}

@Article{Jimenez-Peris:1996:MIVc,
  author =       "Ricardo Jim{\'e}nez-Peris and Marta
                 Pati{\~n}o-Mart{\'{}\i}nez",
  title =        "A {Modula-2} Interpreter\slash Visualizer",
  journal =      "SIGCUE Outlook",
  volume =       "24",
  number =       "1--3",
  pages =        "232--232",
  month =        jan,
  year =         "1996",
  DOI =          "https://doi.org/10.1145/1013718.237671",
  ISSN =         "0163-5735",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  issuedate =    "Jan.-July, 1996",
}

@Article{Marais:1996:ESS,
  author =       "Johannes L. Marais",
  title =        "Extensible Software Systems in {Oberon}",
  journal =      j-J-COMPUT-GRAPH-STAT,
  volume =       "5",
  number =       "3",
  pages =        "284--298",
  year =         "1996",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1080/10618600.1996.10474712",
  ISSN =         "1061-8600 (print), 1537-2715 (electronic)",
  ISSN-L =       "1061-8600",
  bibdate =      "Thu Aug 13 10:27:44 MDT 2020",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/jcomputgraphstat.bib",
  URL =          "http://www.tandfonline.com/doi/abs/10.1080/10618600.1996.10474712",
  acknowledgement = ack-nhfb,
  ajournal =     "J. Comput. Graph. Stat.",
  fjournal =     "Journal of Computational and Graphical Statistics",
  journal-URL =  "http://www.amstat.org/publications/jcgs/;
                 http://www.tandfonline.com/loi/ucgs20",
  onlinedate =   "21 Feb 2012",
}

@Article{Matsumoto:1996:AAP,
  author =       "Aki Matsumoto and D. S. Han and Takao Tsuda",
  title =        "Alias analysis of pointers in {Pascal} and {Fortran
                 90}: {Dependence} analysis between pointer references",
  journal =      j-ACTA-INFO,
  volume =       "33",
  number =       "2",
  pages =        "99--130",
  month =        "????",
  year =         "1996",
  CODEN =        "AINFA2",
  ISSN =         "0001-5903 (print), 1432-0525 (electronic)",
  ISSN-L =       "0001-5903",
  bibdate =      "Sat Oct 9 17:51:51 MDT 1999",
  bibsource =    "ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib;
                 http://link.springer-ny.com/link/service/journals/00236/tocs/t6033002.htm;
                 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/fortran3.bib",
  URL =          "http://link.springer-ny.com/link/service/journals/00236/bibs/6033002/60330099.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "Acta Informatica",
  journal-URL =  "http://link.springer.com/journal/236",
}

@Article{Pronk:1996:IIS,
  author =       "C. Pronk and M. Sch{\"o}nhacker",
  title =        "{ISO\slash IEC 10514-1, the Standard for Modula-2}:
                 Process Aspects",
  journal =      j-SIGPLAN,
  volume =       "31",
  number =       "8",
  pages =        "74--83",
  month =        aug,
  year =         "1996",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/242903.242950",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sun Dec 14 09:17:22 MST 2003",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "August 1996",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "10",
}

@Article{Sawitzki:1996:ESS,
  author =       "G{\"u}nther Sawitzki",
  title =        "Extensible Statistical Software: On a Voyage to
                 {Oberon}",
  journal =      j-J-COMPUT-GRAPH-STAT,
  volume =       "5",
  number =       "3",
  pages =        "263--283",
  year =         "1996",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1080/10618600.1996.10474711",
  ISSN =         "1061-8600 (print), 1537-2715 (electronic)",
  ISSN-L =       "1061-8600",
  bibdate =      "Thu Aug 13 10:27:44 MDT 2020",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/jcomputgraphstat.bib",
  URL =          "http://www.tandfonline.com/doi/abs/10.1080/10618600.1996.10474711",
  acknowledgement = ack-nhfb,
  ajournal =     "J. Comput. Graph. Stat.",
  fjournal =     "Journal of Computational and Graphical Statistics",
  journal-URL =  "http://www.amstat.org/publications/jcgs/;
                 http://www.tandfonline.com/loi/ucgs20",
  onlinedate =   "21 Feb 2012",
}

@Article{Schonhacker:1996:IIS,
  author =       "M. Sch{\"o}nhacker and C. Pronk",
  title =        "{ISO\slash IEC 10514-1, the Standard for Modula-2}:
                 Changes, Clarifications and Additions",
  journal =      j-SIGPLAN,
  volume =       "31",
  number =       "8",
  pages =        "84--95",
  month =        aug,
  year =         "1996",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/242903.242951",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Oct 29 05:58:33 MST 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "August 1996",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  numpages =     "12",
}

@InProceedings{Zamulin:1996:ASO,
  author =       "A. V. Zamulin",
  title =        "Algebraic Semantics of the {Oberon} Target Machine",
  crossref =     "Bjorner:1996:PSI",
  pages =        "41--54",
  year =         "1996",
  DOI =          "https://doi.org/10.1007/3-540-62064-8_5",
  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",
  URL =          "http://link.springer.com/chapter/10.1007/3-540-62064-8_5",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InProceedings{Back:1997:ABC,
  author =       "Ralph Back and Martin B{\"u}chi and Emil Sekerinski",
  booktitle =    "{Transformation-Based Reactive Systems Development}",
  title =        "Action-based concurrency and synchronization for
                 objects",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "248--262",
  year =         "1997",
  DOI =          "https://doi.org/10.1007/3-540-63010-4_17",
  ISBN =         "3-540-69058-1",
  ISBN-13 =      "978-3-540-69058-0",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/3-540-63010-4_17",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@Article{Cytron:1997:BNC,
  author =       "Ron K. Cytron",
  title =        "Book Nook: {{\booktitle{Compiler Construction}} by
                 Niklaus Wirth}",
  journal =      j-SIGPLAN,
  volume =       "32",
  number =       "2",
  pages =        "20--21",
  month =        feb,
  year =         "1997",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/251621.609139",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Mar 31 20:08:33 MST 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Disteli:1997:COA,
  author =       "A. R. Disteli and P. Reali",
  title =        "Combining {Oberon} with Active Objects",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1204",
  pages =        "221--??",
  year =         "1997",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  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/lncs1997a.bib",
  acknowledgement = ack-nhfb,
}

@Article{Dotzel:1997:OHP,
  author =       "G{\"u}nter Dotzel and Wojtek Skulski and Paul F.
                 Dubois",
  title =        "{Oberon-2}, A High-Performance Alternative To {C++}",
  journal =      j-COMPUT-PHYS,
  volume =       "11",
  number =       "1",
  pages =        "81--??",
  month =        jan,
  year =         "1997",
  CODEN =        "CPHYE2",
  DOI =          "https://doi.org/10.1063/1.4822520",
  ISSN =         "0894-1866 (print), 1558-4208 (electronic)",
  ISSN-L =       "0894-1866",
  bibdate =      "Wed Apr 10 08:46:05 MDT 2019",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/computphys.bib",
  URL =          "https://aip.scitation.org/doi/10.1063/1.4822520",
  acknowledgement = ack-nhfb,
  ajournal =     "Comput. Phys",
  fjournal =     "Computers in Physics",
  journal-URL =  "https://aip.scitation.org/journal/cip",
}

@Article{Franz:1997:PLL,
  author =       "Michael Franz",
  title =        "The Programming Language {Lagoona}: a Fresh Look at
                 Object-Orientation",
  journal =      j-SOFTW-CONCEPTS-TOOLS,
  volume =       "18",
  number =       "1",
  pages =        "14--26",
  month =        "????",
  year =         "1997",
  CODEN =        "SCOTE5",
  ISSN =         "0945-8115 (print), 1432-2188 (electronic)",
  ISSN-L =       "0945-8115",
  bibdate =      "Sun Jan 07 16:18:42 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Concepts and Tools",
  journal-URL =  "https://link.springer.com/journal/378",
  keywords =     "Lagoona",
}

@Article{Franz:1997:SB,
  author =       "Michael Franz and Thomas Kistler",
  title =        "Slim binaries",
  journal =      j-CACM,
  volume =       "40",
  number =       "12",
  pages =        "87--94",
  month =        dec,
  year =         "1997",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/265563.265576",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Dec 3 16:44:17 MST 1997",
  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/cacm1990.bib",
  URL =          "http://www.acm.org:80/pubs/citations/journals/cacm/1997-40-12/p87-franz/",
  abstract =     "The traditional path to software portability among
                 various hardware platforms takes a new turn with the
                 use of slim binaries.",
  acknowledgement = ack-nhfb,
  journal-URL =  "https://dl.acm.org/loi/cacm",
  keywords =     "algorithms; languages; performance",
  subject =      "{\bf D.2.7} Software, SOFTWARE ENGINEERING,
                 Distribution, Maintenance, and Enhancement,
                 Portability. {\bf D.2.2} Software, SOFTWARE
                 ENGINEERING, Design Tools and Techniques, Modules and
                 interfaces. {\bf E.4} Data, CODING AND INFORMATION
                 THEORY, Data compaction and compression. {\bf D.2.7}
                 Software, SOFTWARE ENGINEERING, Distribution,
                 Maintenance, and Enhancement, Extensibility**. {\bf
                 D.3.4} Software, PROGRAMMING LANGUAGES, Processors.",
}

@InProceedings{Gutknecht:1997:DFR,
  author =       "J{\"u}rg Gutknecht",
  booktitle =    "{Modular Programming Languages}",
  title =        "Do the Fish Really Need Remote Control? {A} Proposal
                 for Self-Active Objects in {Oberon}",
  volume =       "1204",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "207--220",
  year =         "1997",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/3-540-62599-2_41",
  ISBN =         "3-540-68328-3",
  ISBN-13 =      "978-3-540-68328-5",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  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/lncs1997a.bib",
  series =       ser-LNCS,
  URL =          "http://link.springer.com/chapter/10.1007/3-540-62599-2_41",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InProceedings{Knasmuller:1997:APO,
  author =       "Markus Knasm{\"u}ller",
  booktitle =    "{Modular Programming Languages}",
  title =        "Adding persistence to the {Oberon-System}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "97--111",
  year =         "1997",
  DOI =          "https://doi.org/10.1007/3-540-62599-2_33",
  ISBN =         "3-540-68328-3",
  ISBN-13 =      "978-3-540-68328-5",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/3-540-62599-2_33",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@Article{Kredel:1997:MAS,
  author =       "Heinz Kredel and Michael Pesch",
  title =        "{MAS}, the {Modula-2 Algebra System}, Version 1.00",
  journal =      j-SIGSAM,
  volume =       "31",
  number =       "3",
  pages =        "52--54",
  month =        sep,
  year =         "1997",
  CODEN =        "SIGSBZ",
  DOI =          "https://doi.org/10.1145/271130.271205",
  ISSN =         "0163-5824 (print), 1557-9492 (electronic)",
  ISSN-L =       "0163-5824",
  bibdate =      "Fri Feb 8 18:27:05 MST 2002",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigsam.bib",
  note =         "Poster abstract only.",
  acknowledgement = ack-nhfb,
  ajournal =     "SIGSAM Bull.",
  fjournal =     "SIGSAM Bulletin (ACM Special Interest Group on
                 Symbolic and Algebraic Manipulation)",
  issue =        "122",
  issuedate =    "Sept. 1997",
  journal-URL =  "https://dl.acm.org/loi/sigsam-cca",
  numpages =     "3",
}

@Article{Kutter:1997:FSO,
  author =       "Ph. W. Kutter and A. Pierantonio",
  title =        "The Formal Specification of {Oberon}",
  journal =      j-J-UCS,
  volume =       "3",
  number =       "5",
  pages =        "443--503",
  day =          "28",
  month =        may,
  year =         "1997",
  CODEN =        "????",
  ISSN =         "0948-695X (print), 0948-6968 (electronic)",
  ISSN-L =       "0948-6968",
  bibdate =      "Sat Oct 11 14:56:23 1997",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/jucs.bib",
  URL =          "http://medoc.springer.de:8000/jucs_3_5/specification_oberon;
                 http://www.jucs.org/jucs_3_5/specification_oberon;
                 internal&sk=05460486",
  acknowledgement = ack-nhfb,
  fjournal =     "J.UCS: Journal of Universal Computer Science",
  journal-URL =  "http://www.jucs.org/jucs",
}

@InCollection{Muhlbacher:1997:IO,
  author =       "J{\"o}rg R. M{\"u}hlbacher and Bernhard Leisch and
                 Brian Kirk and Ulrich Kreuzeder",
  title =        "Introduction to {Oberon-2}",
  crossref =     "Muhlbacher:1997:OPW",
  pages =        "49--174",
  year =         "1997",
  DOI =          "https://doi.org/10.1007/978-3-642-45762-3_4",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-642-45762-3_4",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InCollection{Muhlbacher:1997:WEP,
  author =       "J{\"o}rg R. M{\"u}hlbacher and Bernhard Leisch and
                 Brian Kirk and Ulrich Kreuzeder",
  title =        "The Working Environment of {POW!}",
  crossref =     "Muhlbacher:1997:OPW",
  pages =        "15--47",
  year =         "1997",
  DOI =          "https://doi.org/10.1007/978-3-642-45762-3_3",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-642-45762-3_3",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2; Programmers Open Workbench (POW!)",
}

@Book{Nikitin:1997:ROI,
  author =       "Eric W. Nikitin",
  title =        "Into the Realm of {Oberon}: an Introduction to
                 Programming and the {Oberon-2} Programming Language",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xii + 197",
  year =         "1997",
  DOI =          "https://doi.org/10.1007/978-1-4612-2300-9",
  ISBN =         "0-387-98279-5, 1-4612-2300-8 (e-book), 1-4612-7491-5
                 (print)",
  ISBN-13 =      "978-0-387-98279-3, 978-1-4612-2300-9 (e-book),
                 978-1-4612-7491-9 (print)",
  LCCN =         "QA76.64 .N55 1998",
  bibdate =      "Sat Jan 20 09:40:23 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  abstract =     "This is a beginner's introduction to programming which
                 uses Oberon as the programming language. Oberon is
                 chosen because it is the natural descendant of the
                 teaching languages Pascal and Modula and because it is
                 designed to encourage good object-oriented practices.
                 Oberon provides program safety, modularity,
                 readability, maintainability, efficiency, and support
                 for programming-in-the-large. The author begins with
                 introducing procedures --- the basic building blocks of
                 Oberon programs -- before introducing types and then
                 type-bound procedures. Along the way, students will
                 build increasingly complex modules of Oberon code and
                 develop a basic understanding of the advantages of
                 object-oriented programming. As a result students
                 coming to programming for the first time will
                 appreciate this hands-on textbook. Readers familiar
                 with programming but new to Oberon will find this a
                 well-paced guide to the language which will have them
                 programming interesting software quickly.",
  acknowledgement = ack-nhfb,
  subject =      "Computer science; Software engineering; Electronic
                 data processing; Informatique; G{\'e}nie logiciel",
  tableofcontents = "Acknowledgments \\
                 Introduction / 1 \\
                 Using Procedures / 7 \\
                 Values and Type / 15 \\
                 Writing Procedures / 24 \\
                 Variables and Changing Values / 34 \\
                 Using Modules / 46 \\
                 Expressions and Function Procedures / 54 \\
                 The FOR Statement / 70 \\
                 The IF Statement / 75 \\
                 Other Looping Statements / 86 \\
                 The CASE Statement / 96 \\
                 Working with Types / 103 \\
                 Array Types / 107 \\
                 Record Types / 120 \\
                 Extending Record Types / 129 \\
                 Pointer Types / 139 \\
                 Uses of Pointers / 154 \\
                 Sets / 161 \\
                 Objects / 173 \\
                 Type-bound Procedures / 177 \\
                 Additional Topics / 190 \\
                 References / 199",
}

@Article{Pescio:1997:FWN,
  author =       "Carlo Pescio",
  title =        "A Few Words with {Niklaus Wirth}",
  journal =      "Software Development",
  volume =       "5",
  number =       "6",
  pages =        "??--??",
  month =        jun,
  year =         "1997",
  bibdate =      "Sat Feb 03 08:59:32 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://pascal.hansotten.com/uploads/wirth/interview%20wirth%20June%201997%20carlio%20pescio.txt",
  acknowledgement = ack-nhfb,
  remark-1 =     "NW: ``I've always designed a language because I had a
                 practical need that was not satisfied by languages that
                 where already available. For example, Modula and Oberon
                 were by-products of the designs of the workstations
                 Lilith (1979) and Ceres (1986).''",
  remark-2 =     "NW: ``Edsger Dijkstra called Software Engineering
                 `Programming in spite of the fact that you can't'.''",
  remark-3 =     "NW: ``Many people tend to look at programming styles
                 and languages like religions: if you belong to one, you
                 cannot belong to others. But this analogy is another
                 fallacy. ''",
  remark-4 =     "NW: ``Static modularization is the first step towards
                 OOP. It is much easier to understand and master than
                 full OOP, it's sufficient in most cases for writing
                 good software, and is sadly neglected in most common
                 languages (with the exception of Ada).''",
  remark-5 =     "NW: ``If the definition of a language requires fat
                 manuals of hundred pages and more, and if the
                 definition refers to a mechanical model of execution
                 (i.e., to a computer), this must be taken as a sure
                 symptom of inadequacy. But alas, in this respect, 1960
                 Algol was far ahead of most of its successors, in
                 particular of all those that are so popular today.''",
  remark-6 =     "NW: ``Work under constant time pressure, however,
                 results in unsatisfactory, faulty products.''",
  remark-7 =     "NW: ``Keeping a language as simple and as regular as
                 possible has always been a guideline in my work; the
                 description of Pascal took some 50 pages, that of
                 Modula 40, and Oberon's a mere 16 pages.''",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Pronk:1997:SEM,
  author =       "C. Pronk and R. J. Sutcliffe and M. Sch{\"o}nhacker
                 and A. Wiedemann",
  title =        "Standardized Extensions to {Modula-2}",
  journal =      j-SIGPLAN,
  volume =       "32",
  number =       "11",
  pages =        "34--48",
  month =        nov,
  year =         "1997",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/270941.270949",
  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/sigplan1990.bib",
  abstract =     "This article will describe a number of extensions to
                 the programming language Modula-2 that are in the
                 process of being standardized by ISO. Modula-2 has been
                 extended by facilities for generic and object oriented
                 programming and by a set of rules to facilitate calling
                 APIs defined in the C language. The first two
                 extensions will be defined in part 2 and 3 of the
                 multi-part Modula-2 standard (of which part 1 describes
                 the base standard). The latter extension will be
                 described in a Technical Report.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "Nov. 1997",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  keywords =     "object orientation, generics, modula-2, interfacing to
                 C",
  numpages =     "15",
}

@Article{Zeller:1997:SIO,
  author =       "E. Zeller",
  title =        "Seamless Integration of Online Services in the
                 {Oberon} Document System",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1204",
  pages =        "366--??",
  year =         "1997",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  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/lncs1997a.bib",
  acknowledgement = ack-nhfb,
}

@Article{Boszormenyi:1998:WJM,
  author =       "L{\'a}szl{\'o} B{\"o}sz{\"o}rm{\'e}nyi",
  title =        "Why {Java} is not my favorite first-course language",
  journal =      j-SOFTW-CONCEPTS-TOOLS,
  volume =       "19",
  number =       "3",
  pages =        "141--145",
  month =        mar,
  year =         "1998",
  CODEN =        "SCOTE5",
  DOI =          "https://doi.org/10.1007/s003780050017",
  ISSN =         "0945-8115 (print), 1432-2188 (electronic)",
  ISSN-L =       "0945-8115",
  bibdate =      "Fri Jan 5 10:22:34 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/java.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Concepts and Tools",
  journal-URL =  "https://link.springer.com/journal/378",
  remark =       "From the abstract: ``This paper compares the merits of
                 Java and Modula-3 as a first-course language.''",
}

@Article{Dotzel:1998:BO,
  author =       "G{\"u}nter Dotzel and Hartmut Goebel",
  title =        "64 Bit {Oberon}",
  journal =      j-SIGPLAN,
  volume =       "33",
  number =       "2",
  pages =        "56--58",
  month =        feb,
  year =         "1998",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/274930.274938",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Jan 5 09:29:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
  abstract =     "To exploit the 64 bit address space, we migrated
                 ModulaWare's 32 bit Oberon System [DG 96] to OpenVMS
                 Alpha V7.1 [AXP] using very large memory [VLM]. We
                 describe the required language extensions of the
                 Oberon-2 programming language in order to support 64
                 bit pointers and 64 bit integers. The goal was to keep
                 the number of languages extensions minimal and to
                 disallow any language changes which would break
                 existing code developed for the 32 bit Oberon System.
                 We also summarize the modifications required to get the
                 Oberon System running in the 64 bit address space.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  issuedate =    "Feb. 1998",
  journal-URL =  "https://dl.acm.org/loi/sigplan",
  keywords =     "64 bit addressing, alpha, OpenVMS, Oberon, compiler",
  numpages =     "3",
}

@Book{Fischer:1998:OCG,
  author =       "A. L. Fischer and M. Hannes",
  title =        "The {Oberon} Companion: a Guide to Using and
                 Programming {Oberon System 3}",
  publisher =    "Hochsvhulverlag AG",
  address =      "Z{\"u}rich, Switzerland",
  pages =        "xi + 322",
  year =         "1998",
  ISBN =         "3-7281-2493-1",
  ISBN-13 =      "978-3-7281-2493-7",
  LCCN =         "QA76.76.O63 F566 1998",
  bibdate =      "Mon Jan 8 17:00:45 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  ZMnumber =     "0913.68038",
  acknowledgement = ack-nhfb,
}

@Book{ISO:1998:IIIc,
  author =       "{ISO}",
  title =        "{ISO\slash IEC 10514-2:1998}: {Information} technology
                 --- {Programming} languages --- {Part} 2: {Generics
                 Modula-2}",
  publisher =    pub-ISO,
  address =      pub-ISO:adr,
  pages =        "45",
  year =         "1998",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Tue Dec 12 06:45:47 2000",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/isostd.bib",
  price =        "CHF 128; US\$88.00",
  URL =          "http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+10514%2D2%3A1998;
                 http://www.iso.ch/cate/d20792.html",
  acknowledgement = ack-nhfb,
  pricecode =    "S",
}

@Book{ISO:1998:IIId,
  author =       "{ISO}",
  title =        "{ISO\slash IEC 10514-3:1998}: {Information} technology
                 --- {Programming} languages --- {Part} 3: {Object
                 Oriented Modula-2}",
  publisher =    pub-ISO,
  address =      pub-ISO:adr,
  pages =        "48",
  year =         "1998",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Tue Dec 12 06:45:49 2000",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/isostd.bib",
  price =        "CHF 136; US\$92.00",
  URL =          "http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+10514%2D3%3A1998;
                 http://www.iso.ch/cate/d20793.html",
  acknowledgement = ack-nhfb,
  pricecode =    "T",
}

@Article{Kominek:1998:BDS,
  author =       "John Kominek",
  title =        "Building a Distributed Spreadsheet in {Modula-3}",
  journal =      j-LINUX-J,
  volume =       "49",
  pages =        "??--??",
  month =        may,
  year =         "1998",
  CODEN =        "LIJOFX",
  ISSN =         "1075-3583 (print), 1938-3827 (electronic)",
  ISSN-L =       "1075-3583",
  bibdate =      "Fri Oct 9 08:35:26 MDT 1998",
  bibsource =    "http://noframes.linuxjournal.com/lj-issues/issue49/index.html;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/linux-journal.bib",
  URL =          "ftp://ftp.ssc.com/pub/lj/listings/issue49/2690.tgz",
  abstract =     "An introduction to Modula-3 for distributed
                 applications.",
  acknowledgement = ack-nhfb,
  fjournal =     "Linux Journal",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J508",
}

@Article{Leino:1998:ESC,
  author =       "K. R. M. Leino and G. Nelson",
  title =        "An extended static checker for {Modula-3}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1383",
  pages =        "302--??",
  year =         "1998",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Oct 10 14:40:24 MDT 1998",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/lncs1998a.bib",
  acknowledgement = ack-nhfb,
}

@Article{Mastorakis:1998:BSG,
  author =       "Nikos E. Mastorakis",
  title =        "Bookshelf: Stylish Guide to {Modula-3}",
  journal =      j-IEEE-SOFTWARE,
  volume =       "15",
  number =       "4",
  pages =        "89--90",
  month =        jul # "\slash " # aug,
  year =         "1998",
  CODEN =        "IESOEG",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Tue Jul 7 08:58:23 MDT 1998",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ieeesoft.bib",
  URL =          "http://dlib.computer.org/so/books/so1998/pdf/s4087.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=52",
  journalabr =   "IEEE Software",
}

@Book{Mossenbock:1998:OPOd,
  author =       "H. M{\"o}ssenb{\"o}ck",
  title =        "{Objektorientierte Programmierung in Oberon-2}.
                 ({German}) [{Object} Oriented Programming in
                 {Oberon-2}]",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  edition =      "Third",
  pages =        "xvii + 329",
  year =         "1998",
  ISBN =         "3-540-64649-3",
  ISBN-13 =      "978-3-540-64649-5",
  LCCN =         "QA76.64 .M67 1998",
  bibdate =      "Sat Jan 20 09:26:19 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  language =     "German",
}

@InProceedings{Steindl:1998:ISO,
  author =       "Christoph Steindl",
  booktitle =    "{Compiler Construction}",
  title =        "Intermodular slicing of object-oriented programs",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "264--278",
  year =         "1998",
  DOI =          "https://doi.org/10.1007/BFb0026437",
  ISBN =         "3-540-69724-1",
  ISBN-13 =      "978-3-540-69724-4",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/BFb0026437",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InProceedings{Weck:1998:IUC,
  author =       "Wolfgang Weck",
  booktitle =    "{Object-Oriented Technologys}",
  title =        "Inheritance Using Contracts \& Object Composition",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "384--388",
  year =         "1998",
  DOI =          "https://doi.org/10.1007/3-540-69687-3_78",
  ISBN =         "3-540-69687-3",
  ISBN-13 =      "978-3-540-69687-2",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/3-540-69687-3_78",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InProceedings{Baquero:1999:PS,
  author =       "Carlos Baquero",
  booktitle =    "{Object-Oriented Technology ECOOP'99 Workshop
                 Reader}",
  title =        "Poster Session",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "371--383",
  year =         "1999",
  DOI =          "https://doi.org/10.1007/3-540-46589-8_22",
  ISBN =         "3-540-46589-8",
  ISBN-13 =      "978-3-540-46589-8",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/3-540-46589-8_22",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@Article{Meyer:1999:CLP,
  author =       "Uwe Meyer",
  title =        "Correctness of on-line partial evaluation for a
                 {Pascal}-like language",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "34",
  number =       "1",
  pages =        "55--73",
  year =         "1999",
  CODEN =        "SCPGD4",
  DOI =          "https://doi.org/10.1016/S0167-6423(98)00015-X",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  MRclass =      "68N20 (68N15)",
  MRnumber =     "1682253",
  bibdate =      "Fri Jan 5 06:21:57 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming. Methods of Software
                 Design: Techniques and Applications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Moessenboek:1999:ORM,
  author =       "H. Moessenboek and C. Steindl",
  title =        "The {Oberon-2} Reflection Model and Its Applications",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "1616",
  pages =        "40--??",
  year =         "1999",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Sep 13 16:57:02 MDT 1999",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/lncs1999b.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{Mossenbock:1999:ORM,
  author =       "Hanspeter M{\"o}ssenb{\"o}ck and Christoph Steindl",
  booktitle =    "Meta-Level Architectures and Reflection",
  title =        "The {Oberon-2} Reflection Model and Its Applications",
  volume =       "1616",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "40--53",
  year =         "1999",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/3-540-48443-4_4",
  ISBN =         "3-540-48443-4",
  ISBN-13 =      "978-3-540-48443-1",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Tue Feb 5 11:54:10 MST 2002",
  bibsource =    "http://link.springer-ny.com/link/service/series/0558/tocs/t1616.htm;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/lncs1999b.bib",
  series =       ser-LNCS,
  URL =          "http://link.springer-ny.com/link/service/series/0558/bibs/1616/16160040.htm;
                 http://link.springer-ny.com/link/service/series/0558/papers/1616/16160040.pdf;
                 http://link.springer.com/chapter/10.1007/3-540-48443-4_4",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InCollection{Burton:2000:CCM,
  author =       "Robert Burton and Farrell Ostler and Thorn Boyer and
                 Fon Brown and Matt Morrise",
  title =        "The chip company that made {{\$100M}} with
                 {MODULA-2}",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "219--226",
  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,
}

@InCollection{Dijkstra:2000:TCW,
  author =       "Edsger W. Dijkstra",
  title =        "On the transitive closure of a well-founded relation",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "31--40",
  year =         "2000",
  bibdate =      "Fri Jan 05 16:51:21 2024",
  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",
  acknowledgement = ack-nhfb,
}

@InCollection{Eberle:2000:DCN,
  author =       "Hans Eberle",
  title =        "Designing a cluster network",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "153--172",
  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,
}

@TechReport{Franz:2000:OOJa,
  author =       "Michael Franz",
  title =        "{Oberon} --- The Overlooked Jewel",
  type =         "Report",
  institution =  "University of California, Irvine",
  address =      "Irvine, CA, USA",
  pages =        "13",
  day =          "15",
  month =        jun,
  year =         "2000",
  bibdate =      "Fri Jan 05 06:02:55 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://people.cis.ksu.edu/~danielwang/Investigation/System_Security/download.pdf",
  abstract =     "Niklaus Wirth has received much deserved fame for the
                 creation of Pascal, but in many ways, he subsequently
                 became a victim of Pascal's success. In an age of
                 rising specialization, in which most researchers are
                 trying to define themselves as experts in increasingly
                 narrow domains, Wirth stands out as a rare generalist,
                 almost an ``Universalgenie'' of our discipline. Sadly,
                 the larger computer science community has been unable
                 or unwilling to recognize Wirth's broader horizon as a
                 builder of systems, and throughout his career has
                 pigeonholed him as a ``language and compiler
                 guy''.\par

                 But ever since Pascal, the language aspect has been
                 almost secondary to Wirth's work. Modula(-2) and Oberon
                 both came out of larger system-level design projects
                 that simultaneously also developed workstation
                 computers, modular operating systems, and suites of
                 innovative application programs. Unfortunately, these
                 other important contributions were overshadowed by the
                 programming languages they were associated with, and
                 hence never received the recognition they
                 deserved.\par

                 This article presents selected facets of Project
                 Oberon, the latter of Wirth's two large system-level
                 design efforts. The leitmotiv of this project was a
                 quote from Einstein, ``make it as simple as possible,
                 but not simpler''. And if any further evidence was
                 still needed, Oberon provided the conclusive proof for
                 Wirth's mastery of The Art of Simplicity",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Franz:2000:OOJb,
  author =       "Michael Franz",
  title =        "{Oberon}: the overlooked jewel",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "41--54",
  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,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InProceedings{Frohlich:2000:SAM,
  author =       "Peter H. Fr{\"o}hlich and Michael Franz",
  booktitle =    "{Modular Programming Languages}",
  title =        "Stand-Alone Messages",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "90--103",
  year =         "2000",
  DOI =          "https://doi.org/10.1007/10722581_9",
  ISBN =         "3-540-44519-6",
  ISBN-13 =      "978-3-540-44519-7",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/10722581_9",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InCollection{Gehring:2000:LVS,
  author =       "Stephan W. Gehring",
  title =        "Learning the value of simplicity",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "95--100",
  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,
}

@InProceedings{Gough:2000:EJV,
  author =       "K. John Gough and Diane Corney",
  booktitle =    "{Modular Programming Languages}",
  title =        "Evaluating the {Java Virtual Machine} as a Target for
                 Languages Other Than {Java}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "278--290",
  year =         "2000",
  DOI =          "https://doi.org/10.1007/10722581_22",
  ISBN =         "3-540-44519-6",
  ISBN-13 =      "978-3-540-44519-7",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
  URL =          "http://link.springer.com/chapter/10.1007/10722581_22",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InCollection{Griesemer:2000:CJH,
  author =       "Robert Griesemer and Srdjan Mitrovic",
  title =        "A compiler for the {Java HotSpot\TM} virtual machine",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "133--152",
  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,
}

@InCollection{Gutknecht:2000:CCV,
  author =       "J{\"u}rg Gutknecht",
  title =        "Compiler construction versus {Lotus Notes\TM}: a
                 strange battle",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "101--120",
  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,
}

@InProceedings{Gutknecht:2000:OIL,
  author =       "J{\"u}rg Gutknecht",
  title =        "{Oberon} as an Implementation Language for {COM}
                 Components: a Case Study in Language Interoperability",
  crossref =     "Gutknecht:2000:MPL",
  pages =        "119--133",
  year =         "2000",
  DOI =          "https://doi.org/10.1007/10722581_11",
  bibdate =      "Tue Feb 06 21:20:28 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{Hof:2000:CMS,
  author =       "Markus Hof",
  title =        "Composable Message Semantics in {Oberon}",
  crossref =     "Gutknecht:2000:MPL",
  pages =        "11--25",
  year =         "2000",
  DOI =          "https://doi.org/10.1007/10722581_2",
  bibdate =      "Tue Feb 06 21:20:28 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
}

@InCollection{Hoppe:2000:DLW,
  author =       "Jirka Hoppe",
  title =        "Daily life with {N. Wirth}",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "247--252",
  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,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Jensen:2000:S,
  author =       "Kathleen Jensen",
  title =        "Serendipity",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "245--246",
  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,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Knudsen:2000:MR,
  author =       "Svend Erik Knudsen",
  title =        "{Medos} in retrospect",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "69--86",
  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,
}

@InCollection{Mossenbock:2000:CCA,
  author =       "Hanspeter M{\"o}ssenb{\"o}ck",
  title =        "Compiler construction: the art of {Niklaus Wirth}",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "55--68",
  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,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InCollection{Odersky:2000:PFN,
  author =       "Martin Odersky",
  title =        "Programming with functional nets",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "172--202",
  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,
}

@InCollection{Pomberger:2000:NWP,
  author =       "Gustav Pomberger and Hanspeter M{\"o}ssenb{\"o}ck and
                 Peter Rechenberg",
  title =        "{Niklaus Wirth}: a pioneer of computer science",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "5--20",
  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,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InProceedings{Reed:2000:BYO,
  author =       "Paul Reed",
  title =        "Building Your Own Tools: an {Oberon} Industrial
                 Case-Study",
  crossref =     "Gutknecht:2000:MPL",
  pages =        "291--298",
  year =         "2000",
  DOI =          "https://doi.org/10.1007/10722581_23",
  bibdate =      "Tue Feb 06 21:20:28 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
}

@InProceedings{Schramm:2000:SUA,
  author =       "Andreas Schramm",
  booktitle =    "{High Performance Computing Systems and
                 Applications}",
  title =        "The {``Structured-Universe} Approach'' for Irregular
                 and Dynamic Spatial Structures",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "197--214",
  year =         "2000",
  DOI =          "https://doi.org/10.1007/0-306-47015-2_24",
  ISBN =         "0-7923-7774-5",
  ISBN-13 =      "978-0-7923-7774-0",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/0-306-47015-2_24",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InCollection{Schulthess:2000:LSI,
  author =       "Peter Schulthess",
  title =        "Lean systems in an intrinsically complex world",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "87--94",
  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,
}

@InCollection{Szyperski:2000:MCR,
  author =       "Clemens Szyperski",
  title =        "Modules and components: rivals or partners?",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "121--132",
  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,
}

@InCollection{Templ:2000:FOR,
  author =       "Josef Templ",
  title =        "{FFF97}: {Oberon} in the real world",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "227--244",
  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,
}

@InCollection{Wagner:2000:LMW,
  author =       "Bernhard Wagner",
  title =        "{Lilith} meets the world of business",
  crossref =     "Boszormenyi:2000:SNW",
  pages =        "203--218",
  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,
}

@InCollection{BrinchHansen:2001:SOSa,
  author =       "Per {Brinch Hansen}",
  title =        "The {Solo} Operating System: A {Concurrent Pascal}
                 Program",
  crossref =     "BrinchHansen:2001:COS",
  pages =        "324--336",
  year =         "2001",
  DOI =          "https://doi.org/10.1007/978-1-4757-3510-9_16",
  bibdate =      "Thu Jul 21 15:48:14 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",
  acknowledgement = ack-nhfb,
}

@InProceedings{Corti:2001:AWC,
  author =       "Matteo Corti and Roberto Brega and Thomas Gross",
  booktitle =    "{Languages, Compilers, and Tools for Embedded
                 Systems}",
  title =        "Approximation of Worst-Case Execution Time for
                 Preemptive Multitasking Systems",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "178--198",
  year =         "2001",
  DOI =          "https://doi.org/10.1007/3-540-45245-1_12",
  ISBN =         "3-540-45245-1",
  ISBN-13 =      "978-3-540-45245-4",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/3-540-45245-1_12",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@TechReport{Pfister:2001:WNC,
  author =       "Cuno Pfister",
  title =        "What's New in {Component Pascal}?",
  type =         "Report",
  institution =  "Oberon microsystems, Inc.",
  address =      "Z{\"u}rich, Switzerland",
  pages =        "13",
  month =        mar,
  year =         "2001",
  bibdate =      "Mon Feb 19 06:39:50 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://github.com/Oleg-N-Cher/OfrontPlus/",
  acknowledgement = ack-nhfb,
  remark =       "Available as file {\tt Docu/CP-News.pdf} in github.",
}

@InProceedings{Rodionov:2001:OSM,
  author =       "Alexey S. Rodionov and Dmitry V. Leskov",
  editor =       "Dines Bj{\"a}rner and Manfred Broy and Alexandre V.
                 Zamulin",
  title =        "{Oberon-2} as successor of {Modula-2} in simulation",
  crossref =     "Bjarner:2001:PSI",
  pages =        "538--545",
  year =         "2001",
  DOI =          "https://doi.org/10.1007/3-540-45575-2_52",
  MRclass =      "99-03",
  MRnumber =     "2049192",
  bibdate =      "Fri Jan 5 06:09:46 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/3-540-45575-2_52",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InProceedings{Schramm:2001:IDA,
  author =       "Andreas Schramm",
  booktitle =    "{Vector and Parallel Processing --- VECPAR 2000}",
  title =        "An Index Domain for Adaptive Multi-grid Methods",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "330--343",
  year =         "2001",
  DOI =          "https://doi.org/10.1007/3-540-44942-6_27",
  ISBN =         "3-540-44942-6",
  ISBN-13 =      "978-3-540-44942-3",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/3-540-44942-6_27",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InCollection{BrinchHansen:2002:PLC,
  author =       "Per {Brinch Hansen}",
  title =        "The Programming Language {Concurrent Pascal}",
  crossref =     "BrinchHansen:2002:OCP",
  pages =        "297--318",
  year =         "2002",
  DOI =          "https://doi.org/10.1007/978-1-4757-3472-0_11",
  bibdate =      "Sat Jul 23 07:01:09 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",
  acknowledgement = ack-nhfb,
}

@InCollection{BrinchHansen:2002:SOSa,
  author =       "Per {Brinch Hansen}",
  title =        "The {Solo} Operating System: a {Concurrent Pascal}
                 Program",
  crossref =     "BrinchHansen:2002:OCP",
  pages =        "321--333",
  year =         "2002",
  DOI =          "https://doi.org/10.1007/978-1-4757-3472-0_12",
  bibdate =      "Sat Jul 23 07:01:09 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",
  acknowledgement = ack-nhfb,
}

@InCollection{BrinchHansen:2002:SPL,
  author =       "Per {Brinch Hansen}",
  title =        "{SuperPascal}: a Publication Language for Parallel
                 Scientific Computing",
  crossref =     "BrinchHansen:2002:OCP",
  pages =        "495--524",
  year =         "2002",
  DOI =          "https://doi.org/10.1007/978-1-4757-3472-0_19",
  bibdate =      "Sat Jul 23 07:01:09 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",
  acknowledgement = ack-nhfb,
}

@Misc{Pemberton:2002:PI,
  author =       "Steven Pemberton and Martin Daniels",
  title =        "{Pascal} Implementation",
  howpublished = "Web site",
  month =        feb,
  year =         "2002",
  bibdate =      "Wed Jan 10 18:29:01 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://homepages.cwi.nl/~steven/pascal/book/0intro.html",
  acknowledgement = ack-nhfb,
}

@TechReport{Ritchie:2002:FLL,
  author =       "Dennis M. Ritchie",
  title =        "Five Little Languages and How They Grew: Talk at
                 {HOPL}",
  type =         "Report",
  number =       "??",
  institution =  "Bell Laboratories",
  address =      "Murray Hill, NJ 07974, USA",
  day =          "19",
  month =        mar,
  year =         "2002",
  bibdate =      "Tue May 07 15:47:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib",
  note =         "This talk was presented at the Second History of
                 Programming Languages conference, Cambridge, Mass.,
                 April, 1993.",
  URL =          "https://www.bell-labs.com/usr/dmr/www/hopl.html",
  abstract =     "A paper on the development of C was presented at the
                 second ACM History of Programming Languages conference
                 in Cambridge, Mass. in 1993. It was printed in History
                 of Programming Languages, ed. T. Bergin and R. Gibson,
                 ACM Press and Addison-Wesley, New York 1996, ISBN
                 0-201-89502-1. The paper itself has been available for
                 some time; here I record the transcript of the talk I
                 gave at the time. Unlike the paper, it doesn't talk
                 about C's history, but instead concentrates on its
                 relationships with other contemporary languages that
                 are at heart similar to C but have some characteristic
                 differences.\par

                 Although I have the introductory remarks by the session
                 chair, Brent Hailpern, and also the transcript of the
                 Q\&A session that followed, I've omitted these parts.
                 I'll leave the parts others said for the book (which I
                 recommend).\par

                 The transcript below is quite close to what I intended
                 to say according to my notes, though there were some
                 on-the-fly additions (especially in the opening --- not
                 surprisingly, there were more than a few barbs
                 thrown).\par

                 In cooperation with the volume's editors, particularly
                 Tim Bergin (to whom great thanks are due), my own
                 language glitches have been cleaned up well, but it
                 still retains some informality, as well as showing some
                 of the time pressure on the presentation.",
  acknowledgement = ack-nhfb,
  author-dates = "Dennis M. Ritchie (9 September 1941--12 October
                 2011)",
  keywords =     "Algol 68; BCPL; Bliss; C; Pascal",
}

@InProceedings{Gough:2003:LMF,
  author =       "K. John Gough and Diane Corney",
  booktitle =    "{Modular Programming Languages}",
  title =        "Leveraging Managed Frameworks from Modular Languages",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "150--162",
  year =         "2003",
  DOI =          "https://doi.org/10.1007/978-3-540-45213-3_20",
  ISBN =         "3-540-45213-3",
  ISBN-13 =      "978-3-540-45213-3",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-540-45213-3_20",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InProceedings{Heinlein:2003:SEP,
  author =       "Christian Heinlein",
  booktitle =    "{Modular Programming Languages}",
  title =        "Safely Extending Procedure Types to Allow Nested
                 Procedures as Values",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "144--149",
  year =         "2003",
  DOI =          "https://doi.org/10.1007/978-3-540-45213-3_19",
  ISBN =         "3-540-45213-3",
  ISBN-13 =      "978-3-540-45213-3",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-540-45213-3_19",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@InProceedings{Rustan:2003:AD,
  author =       "K. Rustan and M. Leino and Greg Nelson",
  booktitle =    "{Programming Methodology}",
  title =        "Abstraction dependencies",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "269--289",
  year =         "2003",
  DOI =          "https://doi.org/10.1007/978-0-387-21798-7_13",
  ISBN =         "0-387-21798-3",
  ISBN-13 =      "978-0-387-21798-7",
  ISSN =         "0172-603X",
  ISSN-L =       "0172-603X",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-0-387-21798-7_13",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@Book{Ward:2003:VWH,
  author =       "Brian Ward",
  title =        "{VMware Workstation: [das Handbuch; Installation,
                 Konfiguration, Anwendung und Troubleshooting;
                 Gast-Systeme: Windows, Linux, BSD, Novell NetWare,
                 Solaris, FreeDOS und Oberon; virtuelle Netzwerke,
                 Netzwerkkonfiguration und -dienste]}",
  publisher =    "mitp-Verlag",
  address =      "Landsberg, Germany",
  pages =        "336",
  year =         "2003",
  ISBN =         "3-8266-0964-6",
  ISBN-13 =      "978-3-8266-0964-0",
  LCCN =         "????",
  bibdate =      "Sat Oct 14 17:21:53 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/linux.bib;
                 https://www.math.utah.edu/pub/tex/bib/unix.bib;
                 https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib;
                 z3950.gbv.de:20011/gvk",
  note =         "Translation of American original to German by Gerhard
                 Franken.",
  price =        "EUR 32.00 (DE)",
  URL =          "http://www.gbv.de/du/services/agi/FCC0A57071BE8695C125704A0029797F/FLMA122525",
  acknowledgement = ack-nhfb,
  language =     "German",
  subject =      "VMware Workstation",
  tableofcontents = "1 Einleitung / 9 \\
                 1.1 An wen richtet sich dieses Buch? / 10 \\
                 1.2 Begriffe und Schreibweisen / 11 \\
                 1.3 Aufbau des Buches / 11 \\
                 1.4 VMware-Anwendungen / 13 \\
                 \\
                 2 Die virtuelle VMware-Maschine / 17 \\
                 2.1 Prozessor, Bus, Speicher und Interrupts / 17 \\
                 2.2 Die VMware-Ger{\"a}te / 19 \\
                 2.3 PC-BIOS / 27 \\
                 2.4 Der Bootvorgang beim PC / 28 \\
                 \\
                 3 VMware Workstation installieren / 31 \\
                 3.1 Anforderungen an das Host-System / 31 \\
                 3.2 Installation von VMware Workstation f{\"u}r Windows
                 / 33 \\
                 3.3 VMware f{\"u}r Windows starten / 36 \\
                 3.4 Die Dateien von VMware Workstation f{\"u}r Windows
                 / 36 \\
                 3.5 Deinstallation von VMware f{\"u}r Windows / 37 \\
                 3.6 Installation von VMware Workstation f{\"u}r Linux /
                 38 \\
                 3.7 VMware Workstation f{\"u}r Linux konfigurieren / 41
                 \\
                 3.8 VMware-Kernel-Module kompilieren / 43 \\
                 3.9 VMware Workstation f{\"u}r Linux starten / 45 \\
                 3.10 Ausf{\"u}hrbare VMware-Dateien f{\"u}r Linux / 47
                 \\
                 3.11 Linux-Library-Verzeichnis von VMware / 48 \\
                 3.12 Das Bootskript von VMware Workstation f{\"u}r
                 Linux / 48 \\
                 3.13 Zus{\"a}tzliche Dateien in den Verzeichnissen
                 /etc/vmware und /dev / 50 \\
                 3.14 VMware Workstation f{\"u}r Linux aktualisieren /
                 51 \\
                 \\
                 4 Konfiguration und Funktionen der virtuellen Maschine
                 / 53 \\
                 4.1 Erste Schritte / 53 \\
                 4.2 Der Konfigurationsassistent von VMware / 54 \\
                 4.3 Die Arbeit mit VMware / 58 \\
                 4.4 Einschalten (Power On) / 59 \\
                 4.5 Schalter der Werkzeugleiste / 61 \\
                 4.6 Men{\"u}optionen von VMware / 62 \\
                 4.7 Eingabeoptionen / 67 \\
                 4.8 Suspend/Resume / 70 \\
                 4.9 Vollbildmodus / 72 \\
                 4.10 Verbinden und Trennen von Ger{\"a}ten / 75 \\
                 4.11 VMware Tools / 76 \\
                 4.12 Der Konfigurationseditor / 81 \\
                 4.13 Host-Speicheranforderungen / 98 \\
                 4.14 Das VMware-BIOS / 100 \\
                 \\
                 5 Windows-Gast-Systeme / 107 \\
                 5.1 Windows-Treiberkompatibilit{\"a}t in einem
                 Gast-System / 107 \\
                 5.2 Windows NT/2000/XP / 108 \\
                 5.3 Windows 95/98/Me / 117 \\
                 5.4 VMware Tools f{\"u}r Windows / 125 \\
                 5.5 Unix/GNU-Hilfsprogramme f{\"u}r Windows / 130 \\
                 5.6 DOS und Windows 3.1 / 131 \\
                 \\
                 6 Linux-Gast-Betriebssysteme / 141 \\
                 6.1 Linux als Gast unter VMware ausf{\"u}hren / 141 \\
                 6.2 Systemanforderungen / 142 \\
                 6.3 Installation von Linux unter VMware / 142 \\
                 6.4 Vorhandene Linux-Installationen unter VMware
                 ausf{\"u}hren / 144 \\
                 6.5 VMware Tools f{\"u}r Linux / 146 \\
                 6.6 Linux-Ger{\"a}te / 158 \\
                 6.7 Der Linux-Kernel und die Ger{\"a}tetreiber / 164
                 \\
                 6.8 Linux-Systeminformationen / 168 \\
                 6.9 Booten von Linux: LILO / 170 \\
                 \\
                 7 FreeBSD-Gastsysteme / 173 \\
                 7.1 Installieren von FreeBSD unter VMware / 174 \\
                 7.2 Ben{\"u}tzung vorhandener FreeBSD-Installationen
                 unter VMware / 175 \\
                 7.3 VMware Tools f{\"u}r FreeBSD / 175 \\
                 7.4 BSD-Ger{\"a}te / 180 \\
                 7.5 Anpassung eines FreeBSD-Kernels f{\"u}r VMware /
                 190 \\
                 7.6 Der Boot-Manager von FreeBSD / 194 \\
                 y.y FreeBSD-Systemstatistiken / 195 \\
                 8 Andere Gast-Betriebssysteme / 197 \\
                 8.1 Idle- und Halt-CPU-Befehle und VMware Workstation /
                 198 \\
                 8.2 NetBSD und OpenBSD / 199 \\
                 8.3 Novell NetWare / 206 \\
                 8.4 Solaris / 209 \\
                 8.5 FreeDOS / 216 \\
                 8.6 Oberon / 219 \\
                 \\
                 9 Netzwerkkonfiguration von Host- und Gast-Systemen /
                 223 \\
                 9.1 Netzwerkoptionen von VMware / 223 \\
                 9.2 {\"U}berbr{\"u}ckende Netzwerkfunktionen / 225 \\
                 9.3 Host-only-Netzwerkfunktionen / 227 \\
                 9.4 VMware-DHCP-Server f{\"u}r Host-only- und
                 NAT-Netzwerke / 231 \\
                 9.5 Netzwerkkonfiguration beim Gast-Betriebs System /
                 233 \\
                 9.6 Auffinden von Host-Namen / 237 \\
                 9.7 NAT-Netzwerkfunktionen / 239 \\
                 9.8 VMnet-Ger{\"a}te / 245 \\
                 9.9 Speziell angepasste Netzwerke / 246 \\
                 9.10 Ethernet-MAC-Adressen / 251 \\
                 9.11 Einsatz des VMnet-Sniffers / 252 \\
                 \\
                 10 Netzwerkdienste / 255 \\
                 10.1 SMB-Dateiserver (Linux-Host) / 256 \\
                 10.2 SMB-Dateiserver (Windows-Host) / 261 \\
                 10.3 SMB-Client f{\"u}r Freigaben (Windows-Gast) / 262
                 \\
                 10.4 Der SAMBA-Client f{\"u}r Freigaben (Linux-Gast) /
                 264 \\
                 10.5 Druckfunktionen im Netzwerk / 265 \\
                 10.6 Freigabe des Druckers eines Windows-Hosts / 268
                 \\
                 10.7 Druckausgabe {\"u}ber einen Unix-Gast / 269 \\
                 10.8 SSH-Zugriff f{\"u}r Unix-Gast-Systeme / 272 \\
                 10.9 Der Einsatz eines Proxy-Servers / 277 \\
                 10.10 Anmerkungen zu anderen Diensten / 281 \\
                 \\
                 11 Dateitransfer au{\ss}erhalb des Netzwerks / 283 \\
                 11.1 Image-Dateien von Disketten / 283 \\
                 11.2 Hilfsprogramme f{\"u}r Disketten-Images
                 (Linux-Host) / 284 \\
                 11.3 Hilfsprogramme f{\"u}r Disketten-Images
                 (Windows-Host) / 287 \\
                 11.4 Erstellen von CD-ROM-Image-Dateien / 288 \\
                 11.5 Zugriff auf virtuelle Gast-Festplatten (nur
                 Linux-Host) / 290 \\
                 12 Fehlersuche / 293 \\
                 12.i Allgemeine Verfahren der Fehlersuche / 293 \\
                 12.2 Probleme und L{\"o}sungen / 296 \\
                 12.3 Einrichtung eines Gast-Betriebssystems zur
                 Fehlerbehebung / 317 \\
                 \\
                 A Linux-Anzeige-Parameter / 319 \\
                 \\
                 B Aktualisierung von VMware Workstation 2 / 323 \\
                 \\
                 Stichwortverzeichnis / 327",
}

@TechReport{Anonymous:2004:EOC,
  author =       "Cuno Pfister",
  title =        "The Evolution of {Oberon-2} to {Component Pascal}",
  type =         "Report",
  institution =  "Oberon microsystems, Inc.",
  address =      "Z{\"u}rich, Switzerland",
  day =          "1",
  month =        feb,
  year =         "2004",
  bibdate =      "Wed Feb 07 12:24:44 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://oberon2005.oberoncore.ru/paper/p_o2cp.pdf;
                 http://www.oberon.ch/resources/component_pascal/language_report.html;
                 https://web.archive.org/web/20220331230135/http://www.oberon.ch/resources/component_pascal/language_report.html",
  abstract =     "Except for some minor points, Component Pascal is a
                 superset of Oberon-2. Compared to Oberon-2, it provides
                 several clarifications and improvements. This text
                 summarizes the differences. Some of the changes had
                 already been realized in earlier releases of the
                 BlackBox Component Builder, all of them are implemented
                 for Release 1.3.\par

                 The language revision was driven by the experience with
                 the BlackBox Component Framework, and the desire to
                 further improve support for the specification,
                 documentation, development, maintenance, and
                 refactoring of component frameworks. The goal was to
                 give a framework architect the means to better control
                 the overall integrity of large component-based software
                 systems. Control over a system's integrity is key to
                 increased reliability, reduced maintenance costs, and
                 to higher confidence in the system's correctness when
                 it evolves over time.\par

                 Care was taken that the language remains small, easy to
                 use, and easy to learn. The new features are most
                 visible to framework designers, less visible to
                 framework extenders, and least visible to mere
                 framework clients. This ensures that these different
                 categories of developers are burdened with the minimal
                 amounts of complexity that their respective tasks
                 require. The complete language report is available
                 here.",
  acknowledgement = ack-nhfb,
  remark =       "The site URL for the complete report no longer exists,
                 and although the archive.org site reports 40 captures
                 of the HTML file, each of the several that I tried
                 returns a not-found error.",
}

@InProceedings{Boszormenyi:2005:TPP,
  author =       "Laszlo B{\"o}sz{\"o}rmenyi",
  booktitle =    "{From Computer Literacy to Informatics Fundamentals}",
  title =        "Teaching: People to People --- About People A Plea for
                 the Historic and Human View",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "93--103",
  year =         "2005",
  DOI =          "https://doi.org/10.1007/978-3-540-31958-0_13",
  ISBN =         "3-540-31958-1",
  ISBN-13 =      "978-3-540-31958-0",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-540-31958-0_13",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@Misc{Nouspikel:2005:TTP,
  author =       "Thierry Nouspikel",
  title =        "The {TI-99\slash 4A} Tech Pages",
  howpublished = "Web site",
  year =         "2005",
  bibdate =      "Thu Jan 11 05:37:54 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "See section \booktitle{The P-Code card, Part II: the
                 P-system} for a description of the Pascal P-Code
                 language.",
  URL =          "https://www.unige.ch/medecine/nouspikel/ti99/titechpages.htm",
  acknowledgement = ack-nhfb,
}

@Misc{Anonymous:2006:CP,
  author =       "Anonymous",
  title =        "{Component Pascal}",
  howpublished = "Web site.",
  day =          "24",
  month =        aug,
  year =         "2006",
  bibdate =      "Wed Feb 07 12:11:40 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "This site has undergone numerous updates from 2006 to
                 2024.",
  URL =          "https://en.wikipedia.org/wiki/Component_Pascal",
  abstract =     "Component Pascal is a programming language in the
                 tradition of Niklaus Wirth's Pascal, Modula-2, Oberon
                 and Oberon-2. It bears the name of the language Pascal
                 and preserves its heritage, but is incompatible with
                 Pascal. Instead, it is a minor variant and refinement
                 of Oberon-2 with a more expressive type system and
                 built-in string support. Component Pascal was
                 originally named Oberon/L \ldots{}",
  acknowledgement = ack-nhfb,
}

@TechReport{Anonymous:2006:CPL,
  author =       "Anonymous",
  title =        "{Component Pascal} Language Report",
  type =         "Report",
  institution =  "Oberon Microsystems, Inc.",
  address =      "Z{\"u}rich, Switzerland",
  pages =        "32",
  month =        oct,
  year =         "2006",
  bibdate =      "Wed Feb 07 12:19:36 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.astrobe.com/CPIde/CP-Lang.pdf",
  abstract =     "Component Pascal is Oberon Microsystems' refinement of
                 the Oberon-2 language. Oberon Microsystems thanks H.
                 M{\"o}ssenb{\"o}ck and N. Wirth for the friendly
                 permission to use their Oberon-2 report as basis for
                 this document.",
  acknowledgement = ack-nhfb,
  remark =       "See also \cite{Anonymous:2006:CPL}.",
}

@InProceedings{Sommerer:2006:OSL,
  author =       "Ralph Sommerer",
  booktitle =    "{Modular Programming Languages}",
  title =        "{Oberon Script}: a Lightweight Compiler and Runtime
                 System for the {Web}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "73--83",
  year =         "2006",
  DOI =          "https://doi.org/10.1007/11860990_6",
  ISBN =         "3-540-40928-9",
  ISBN-13 =      "978-3-540-40928-1",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Sat Jan 6 06:42:26 MST 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/11860990_6",
  acknowledgement = ack-nhfb,
  keywords =     "Oberon-2",
}

@Book{Syslo:2006:DOA,
  author =       "Maciej M. Syslo and Narsingh Deo and Janusz S.
                 Kowalik",
  title =        "Discrete Optimization Algorithms with {Pascal}
                 Programs",
  publisher =    pub-DOVER,
  address =      pub-DOVER:adr,
  pages =        "xiv + 542",
  year =         "2006",
  ISBN =         "0-486-45353-7 (paperback)",
  ISBN-13 =      "978-0-486-45353-8 (paperback)",
  LCCN =         "QA402.5 .S94 2006",
  MRclass =      "90-02 (90C10 90C27 90C35)",
  MRnumber =     "2292523",
  bibdate =      "Fri Jan 5 06:27:40 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Reprint of the 1983 original.",
  acknowledgement = ack-nhfb,
  tableofcontents = "Linear And Integer Programming \\
                 Packing And Covering \\
                 Optimization On Networks \\
                 Coloring And Scheduling",
}

@Book{Priestley:2010:SOM,
  author =       "Mark Priestley",
  title =        "A Science of Operations: Machines, Logic and the
                 Invention of Programming",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "ix + 341",
  year =         "2010",
  DOI =          "https://doi.org/10.1007/978-1-84882-555-0",
  ISBN =         "1-84882-554-4 (hardcover), 1-84882-555-2 (e-book)",
  ISBN-13 =      "978-1-84882-554-3 (hardcover), 978-1-84882-555-0
                 (e-book)",
  LCCN =         "QA76.6 .P737 2010",
  bibdate =      "Sat Mar 24 12:15:16 MDT 2012",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/b/bauer-friedrich-ludwig.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/h/hartree-douglas-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/l/lovelace-ada-augusta.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/s/stiefel-eduard.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/t/turing-alan-mathison.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/v/von-neumann-john.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/bjhs2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/fortran3.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "History of computing",
  acknowledgement = ack-nhfb,
  shorttableofcontents = "1. Introduction \\
                 2. Babbage's Engines \\
                 3. Semi-Automatic Computing \\
                 4. Logic, Computability and Formal Systems \\
                 5. Automating Control \\
                 6. Logic and the Invention of the Computer \\
                 7. Machine Code Programming and Logic \\
                 8. The Invention of Programming Languages \\
                 9. The Algol Research Programme \\
                 10. The Logic of Correctness in Software Engineering
                 \\
                 11. The Unification of Data and Algorithms \\
                 12. Conclusions",
  subject =      "Computer programming; History; Programming languages
                 (Electronic computers); Microcomputers; Logic, Symbolic
                 and mathematical",
  tableofcontents = "1 Introduction / 1 \\
                 1.1 Minds, Method and Machines / 3 \\
                 1.2 Language and Science / 4 \\
                 1.3 The Age of Machinery / 7 \\
                 1.4 The Mechanization of Mathematical Language / 8 \\
                 2 Babbage's Engines / 17 \\
                 2.1 The Division of Mental Labour / 18 \\
                 2.2 The Difference Engine / 21 \\
                 2.3 The Meanings of the Difference Engine / 25 \\
                 2.4 The Mechanical Notation / 28 \\
                 2.5 The Analytical Engine / 31 \\
                 2.6 The Science of Operations / 41 \\
                 2.7 The Meanings of the Analytical Engine / 44 \\
                 2.8 Conclusions / 48 \\
                 3 Semi-Automatic Computing / 53 \\
                 3.1 The Census Problem / 53 \\
                 3.2 The Hollerith Tabulating System of 1890 / 55 \\
                 3.3 Further Developments in Punched Card Machines / 57
                 \\
                 3.4 Comrie and the Mechanization of Scientific
                 Calculation / 60 \\
                 3.5 Semi-Automatic Programming / 65 \\
                 4 Logic, Computability and Formal Systems / 67 \\
                 4.1 G{\"o}del's Construction / 69 \\
                 4.2 Recursive Functions / 72 \\
                 4.3 $\lambda$-definability / 74 \\
                 4.4 Direct Approaches to Defining Effective
                 Computability / 75 \\
                 4.5 Turing's Machine Table Notation / 77 \\
                 4.6 Universal Machines / 89 \\
                 4.7 The Concept of a Formal Language / 92 \\
                 4.8 The Relationship Between Turing's Work and Logic /
                 96 \\
                 5 Automating Control / 99 \\
                 5.1 Konrad Zuse's Early Machines / 100 \\
                 5.2 Mark I: The Automatic Sequence Controlled
                 Calculator / 102 \\
                 5.3 The ENIAC / 107 \\
                 5.4 The Bell Labs Relay Machines / 115 \\
                 5.5 The Significance of the Automatic Calculators / 118
                 \\
                 6 Logic and the Invention of the Computer / 123 \\
                 6.1 The Origins of the Stored-Program Computer / 126
                 \\
                 6.2 The Early Development of Cybernetics / 130 \\
                 6.3 Von Neumann's Design for the EDVAC / 133 \\
                 6.4 Logic and the Stored-Program Concept / 136 \\
                 6.5 The EDVAC Code and Address Modification / 139 \\
                 6.6 Turing and the ACE / 142 \\
                 6.7 Giant Brains / 145 \\
                 6.8 Universal Machines / 147 \\
                 6.9 General-Purpose Machines / 153 \\
                 6.10 Conclusions / 154 \\
                 7 Machine Code Programming and Logic / 157 \\
                 7.1 Sequencing of Operations / 158 \\
                 7.2 Transfer of Control / 162 \\
                 7.3 Condition Testing / 164 \\
                 7.4 Instruction Modification / 167 \\
                 7.5 Subroutines / 170 \\
                 7.6 Machine Code and Program Structures / 172 \\
                 7.7 Machine Code and Logic / 174 \\
                 7.8 Syntax / 176 \\
                 7.9 Flow Diagrams and Program Semantics / 179 \\
                 7.10 Programs as Metalinguistic Expressions / 182 \\
                 7.11 Conclusions / 183 \\
                 8 The Invention of Programming Languages / 185 \\
                 8.1 Automatic Coding / 186 \\
                 8.2 The Semantics of Pseudocodes / 188 \\
                 8.3 Formula Translation / 193 \\
                 8.4 Fortran and Increasing Linguistic Complexity / 197
                 \\
                 8.5 Universal Languages / 204 \\
                 8.6 Algol 60 as a Formal Language / 209 \\
                 8.7 The Influence of Logic on Algol / 217 \\
                 8.8 Lisp and Recursive Function Theory / 220 \\
                 8.9 Conclusions / 224 \\
                 9 The Algol Research Programme / 225 \\
                 9.1 Algol 60 as a Concrete Paradigm / 226 \\
                 9.2 Normal Science in the Algol Research Programme /
                 229 \\
                 9.3 The Description of Programming Languages / 230 \\
                 9.4 Different Philosophies of Programming Language
                 Design / 237 \\
                 9.5 Logic and the Design of Control Structures / 239
                 \\
                 9.6 Logic and Data Structures / 244 \\
                 9.7 Modelling Data for Information Retrieval / 247 \\
                 9.8 Conclusions / 252 \\
                 10 The Logic of Correctness in Software Engineering /
                 253 \\
                 10.1 Checking Computations / 253 \\
                 10.2 Debugging and Testing / 255 \\
                 10.3 Correctness Proofs / 257 \\
                 10.4 Constructive Methods / 261 \\
                 10.5 Specifications and Correctness / 263 \\
                 10.6 Structured Programming / 265 \\
                 10.7 Proof and Testing / 269 \\
                 10.8 Conclusions / 275 \\
                 11 The Unification of Data and Algorithms / 277 \\
                 11.1 Simulation Languages / 278 \\
                 11.2 Modelling the Real World / 281 \\
                 11.3 Simula 67 / 282 \\
                 11.4 Data Abstraction / 283 \\
                 11.5 Smalltalk / 288 \\
                 11.6 The Relationship Between Smalltalk and Logic / 293
                 \\
                 11.7 Conclusions / 296 \\
                 12 Conclusions / 297 \\
                 12.1 Paradigms and Revolutions / 298 \\
                 12.2 Relating Theory and Practice / 301 \\
                 12.3 Methodological Conclusions / 303 \\
                 Appendix Turing's Universal Machine / 307 \\
                 A.1 General Purpose $m$-functions / 307 \\
                 A.2 The Contents of the Tape / 310 \\
                 A.3 The Main Table / 312 \\
                 References / 317 \\
                 Index / 335",
}

@Article{Severance:2012:ATC,
  author =       "Charles Severance",
  title =        "The Art of Teaching Computer Science: {Niklaus
                 Wirth}",
  journal =      j-COMPUTER,
  volume =       "45",
  number =       "7",
  pages =        "8--10",
  year =         "2012",
  CODEN =        "CPTRB4",
  DOI =          "https://doi.org/10.1109/MC.2012.245",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Jan 5 16:32:35 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://youtu.be/BJIqHIYSDrk;
                 http://youtu.be/Wel2b93LjhY",
  abstract =     "With a goal of improving how computer science is
                 taught, Niklaus Wirth created some of the field's most
                 influential programming languages, including Pascal,
                 Modula, and Oberon. An audio recording of author
                 Charles Severance's Computing Conversations column is
                 available at http://youtu.be/Wel2b93LjhY. In it, he
                 discusses his interview with Niklaus Wirth, creator of
                 some of the field's integral programming languages,
                 including Modula, Pascal, and Oberon. A video interview
                 with Niklaus Wirth is available at
                 http://youtu.be/BJIqHIYSDrk. Wirth created some of the
                 field's integral programming languages, including
                 Modula, Pascal, and Oberon, with a goal of improving
                 how computer science is taught.",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@InProceedings{Martynenko:2014:TAW,
  author =       "Boris Martynenko",
  booktitle =    "{2014 Third International Conference on Computer
                 Technology in Russia and in the Former Soviet Union}",
  title =        "Towards the 80th Anniversary of {N. Wirth}: {Wirth}'s
                 Syntactic Charts in the {SYNTAX}-Technology",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "199--206",
  year =         "2014",
  DOI =          "https://doi.org/10.1109/SoRuCom.2014.52",
  bibdate =      "Fri Jan 5 16:34:14 2024",
  bibsource =    "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{Fors:2015:JIO,
  author =       "Niklas Fors and G{\"o}rel Hedin",
  title =        "A {JastAdd} implementation of {Oberon-0}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "114",
  number =       "??",
  pages =        "74--84",
  day =          "15",
  month =        dec,
  year =         "2015",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Mon Nov 30 08:20:54 MST 2015",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S016764231500026X",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423/",
}

@Article{Kaminski:2015:MSO,
  author =       "Ted Kaminski and Eric {Van Wyk}",
  title =        "A modular specification of {Oberon0} using the
                 {Silver} attribute grammar system",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "114",
  number =       "??",
  pages =        "33--44",
  day =          "15",
  month =        dec,
  year =         "2015",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Mon Nov 30 08:20:54 MST 2015",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0167642315003020",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423/",
}

@Article{Sloane:2015:OK,
  author =       "Anthony M. Sloane and Matthew Roberts",
  title =        "{Oberon-0} in {Kiama}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "114",
  number =       "??",
  pages =        "20--32",
  day =          "15",
  month =        dec,
  year =         "2015",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Mon Nov 30 08:20:54 MST 2015",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0167642315003032",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423/",
}

@Article{Viera:2015:CCC,
  author =       "Marcos Viera and S. Doaitse Swierstra",
  title =        "Compositional compiler construction: {Oberon0}",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "114",
  number =       "??",
  pages =        "45--56",
  day =          "15",
  month =        dec,
  year =         "2015",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Mon Nov 30 08:20:54 MST 2015",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0167642315003019",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423/",
}

@InProceedings{Savic:2016:MVJ,
  author =       "Milo{\v{s}} Savi{\'c} and Mirjana Ivanovi{\'c} and
                 Milo{\v{s}} Radovanovi{\'c} and Zoran Budimac",
  booktitle =    "Proceedings of the 17th International Conference on
                 Computer Systems and Technologies 2016",
  title =        "{Modula-2} versus {Java} as the First Programming
                 Language: Evaluation of Students' Performance",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  bookpages =    "466",
  pages =        "415--422",
  year =         "2016",
  DOI =          "https://doi.org/10.1145/2983468.2983511",
  ISBN =         "1-4503-4182-9",
  ISBN-13 =      "978-1-4503-4182-0",
  LCCN =         "????",
  bibdate =      "Fri Jan 5 15:46:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "CompSysTech '16",
  abstract =     "The choice of the first programming language in
                 computer science curricula is a complex multi-faceted
                 issue that needs to be addressed from multiple points
                 of view. In this paper we adopt the perspective of the
                 teacher, and after surveying factors such as language
                 features, programming paradigms, curricular concerns
                 and students' perceptions, we present extended results
                 of the empirical assessment of student performance at
                 our introductory programming course, where a switch was
                 recently made from Modula-2 to Java, keeping the course
                 structurally unchanged. Our main aim is to investigate
                 the impact of the first programming language to the
                 acquisition of essential programming concepts,
                 techniques and principles. New results involving
                 students' high-school GPA and performance at other
                 courses, backed up by thorough statistical analysis,
                 remove some potential sources of bias regarding
                 students' learning and cognitive abilities, reaffirming
                 the overall conclusion that the programming language
                 used in the introductory programming course does not
                 have a deep impact on the acquisition of essential
                 concepts, techniques and principles of the imperative
                 programming style.",
  acknowledgement = ack-nhfb,
  keywords =     "change of the first programming language, empirical
                 evaluation, Introductory programming course, students'
                 performance",
  location =     "Palermo, Italy",
  numpages =     "8",
  zz-isbn =      "9781-450-3418-2-0",
}

@Misc{Anonymous:2018:NWP,
  author =       "Anonymous",
  title =        "{Niklaus Wirth} and {PASCAL} --- Programming Language
                 for the Masses",
  howpublished = "Web site",
  day =          "15",
  month =        feb,
  year =         "2018",
  bibdate =      "Tue Jan 30 10:58:15 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://scihi.org/nikolaus-wirth-pascal/",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@TechReport{Pirklbauer:2019:ROP,
  author =       "Andreas Pirklbauer",
  title =        "The {Revised Oberon-2} programming language",
  type =         "Report",
  institution =  "????",
  address =      "????",
  pages =        "7",
  day =          "1",
  month =        dec,
  year =         "2019",
  bibdate =      "Mon Feb 19 06:47:11 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://github.com/Oleg-N-Cher/OfrontPlus/",
  abstract =     "Revised Oberon-2 is a revision of the programming
                 language Oberon-2. The main difference to the original
                 is that it implements a strict superset of Revised
                 Oberon (Oberon-07) as defined in 2007\slash 2016 rather
                 than being based on the original language Oberon as
                 defined in 1988\slash 1990.",
  acknowledgement = ack-nhfb,
  remark =       "Available as file {\tt
                 Docu/The-Revised-Oberon2-Programming-Language.pdf} in
                 github.",
}

@Misc{Anonymous:2021:WTP,
  author =       "Anonymous",
  title =        "The {Wirth} Trinity -- {Pascal}",
  howpublished = "Web site",
  day =          "28",
  month =        apr,
  year =         "2021",
  bibdate =      "Tue Jan 30 11:18:44 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://craftofcoding.wordpress.com/2021/04/28/the-wirth-trinity-pascal/",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Emry:2021:PPL,
  author =       "Katharina Emry",
  title =        "{Pascal}: a programming language that conquered the
                 world",
  howpublished = "Web site",
  day =          "20",
  month =        apr,
  year =         "2021",
  bibdate =      "Tue Jan 30 11:02:43 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://inf.ethz.ch/news-and-events/spotlights/infk-news-channel/2021/04/niklaus-wirth-pascal-conquers-the-world.html",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Holzheu:2021:INW,
  author =       "Michael Holzheu",
  title =        "Interview mit {Niklaus Wirth}",
  howpublished = "Web video (1h)",
  year =         "2021",
  bibdate =      "Fri Jan 05 17:29:20 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.youtube.com/watch?v=OEmMx55SF8U",
  acknowledgement = ack-nhfb,
  language =     "German",
  remark =       "With English translation in subtitles.",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Keller:2021:COO,
  author =       "Rochus Keller",
  title =        "Comparing {Oberon+} with {Oberon-2} and {Oberon-07}",
  howpublished = "Web site",
  day =          "16",
  month =        jul,
  year =         "2021",
  bibdate =      "Thu Feb 15 06:57:33 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://oberon-lang.github.io/2021/07/16/comparing-oberon+-with-oberon-2-and-07.html",
  acknowledgement = ack-nhfb,
}

@Misc{Luthi:2021:ASM,
  author =       "Pauline L{\"u}thi",
  title =        "``{I} always saw myself as an engineer'' --- Part
                 1/3",
  howpublished = "Web video interviews with Niklaus Wirth",
  day =          "3",
  month =        dec,
  year =         "2021",
  bibdate =      "Tue Jan 09 10:14:56 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://inf.ethz.ch/news-and-events/spotlights/infk-news-channel/2021/11/niklaus-wirth-video-interview.html",
  abstract =     "[In] 1970, Prof. em. Niklaus Wirth developed the
                 programming language Pascal and became world famous
                 with it. In this conversation with Prof. em. Friedemann
                 Mattern, Wirth talks about the beginnings of computer
                 science and how he influenced them significantly.",
  acknowledgement = ack-nhfb,
}

@Misc{Anonymous:2024:CPN,
  author =       "Anonymous",
  title =        "Computer pioneer {Niklaus Wirth} has died",
  howpublished = "Web site",
  day =          "4",
  month =        jan,
  year =         "2024",
  bibdate =      "Sat Jan 13 13:22:47 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.publicnow.com/view/7A7BEAF82FAC7EB495CD524FBF368290C34A0F11?1704415819",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Anonymous:2024:JML,
  author =       "Anonymous",
  title =        "The {JKU} Mourns the Loss of {Univ. Prof. Dr. Niklaus
                 Wirth}",
  howpublished = "Johannes Kepler University Linz Web site",
  month =        jan,
  year =         "2024",
  bibdate =      "Sat Jan 13 13:13:11 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.jku.at/en/2024/obituary-for-univ-prof-niklaus-wirth/",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Anonymous:2024:NWO,
  author =       "Anonymous",
  title =        "{Niklaus Wirth} Obituary",
  howpublished = "Rebellion Research Web site",
  day =          "4",
  month =        jan,
  year =         "2024",
  bibdate =      "Sat Jan 13 13:24:08 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.rebellionresearch.com/niklaus-wirth-obituary",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Chaik:2024:PCN,
  author =       "Andy Chaik",
  title =        "{Pascal} creator {Niklaus Wirth} has died",
  howpublished = "PC Gamer Web site",
  day =          "5",
  month =        jan,
  year =         "2024",
  bibdate =      "Sat Jan 13 13:14:55 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.pcgamer.com/pascal-creator-niklaus-wirth-has-died/",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Daws:2024:CSP,
  author =       "Ryan Daws",
  title =        "Computer science pioneer {Niklaus Wirth} dies aged
                 89",
  howpublished = "Developer Tech Web site",
  day =          "4",
  month =        jan,
  year =         "2024",
  bibdate =      "Sat Jan 13 13:17:48 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.developer-tech.com/news/2024/jan/04/computer-science-pioneer-niklaus-wirth-dies-aged-89/",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Fessi:2024:PPL,
  author =       "Ahmed Fessi",
  title =        "{Pascal} Programming Language --- {RIP Niklaus
                 Wirth}",
  howpublished = "Web site",
  day =          "7",
  month =        jan,
  year =         "2024",
  bibdate =      "Tue Jan 30 11:06:21 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://medium.com/@AhmedF/pascal-programming-language-rip-niklaus-wirth-d230a3d9ea88",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Garfinkel:2024:NMN,
  author =       "Simson Garfinkel and Eugene H. Spafford",
  title =        "News: In Memoriam: {Niklaus Wirth}",
  journal =      j-CACM,
  volume =       "67",
  number =       "3",
  pages =        "20--20",
  month =        mar,
  year =         "2024",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/3641309",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Sat Mar 9 14:48:40 MST 2024",
  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://dl.acm.org/doi/10.1145/3641309",
  acknowledgement = ack-nhfb,
  ajournal =     "Commun. ACM",
  fjournal =     "Communications of the ACM",
  journal-URL =  "https://dl.acm.org/loi/cacm",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Gruber:2024:NWT,
  author =       "John Gruber",
  title =        "{Niklaus Wirth}, Titan of Computer Science and Creator
                 of {Pascal}, Dies at 89",
  howpublished = "Web site",
  month =        jan,
  year =         "2024",
  bibdate =      "Sat Jan 13 13:19:16 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://daringfireball.net/linked/2024/01/11/niklaus-wirth-rip",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Kornelis:2024:NWW,
  author =       "Chris Kornelis",
  title =        "{Niklaus Wirth}, Who Inspired a Generation of Computer
                 Programmers, Dies at 89",
  howpublished = "Wall Street Journal Web site",
  day =          "24",
  month =        feb,
  year =         "2024",
  bibdate =      "Mon Feb 26 12:24:36 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.wsj.com/tech/personal-tech/niklaus-wirth-computer-programmers-dies-at-89-6817b134",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Luthi:2024:CPN,
  author =       "Pauline L{\"u}thi and Florian Meyer",
  title =        "Computer pioneer {Niklaus Wirth} has died",
  howpublished = "ETH Web site",
  day =          "4",
  month =        jul,
  year =         "2024",
  bibdate =      "Thu Jan 04 18:23:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://ethz.ch/en/news-and-events/eth-news/news/2024/01/computer-pioneer-niklaus-wirth-has-died.html",
  abstract =     "Computer pioneer Niklaus Wirth died on 1 January 2024,
                 just weeks before his 90th birthday. The long-serving
                 ETH Professor of Computer Science achieved world fame
                 by developing the Pascal programming language in the
                 1970s. In 1984, he became the only German-speaking
                 computer scientist yet to have received the Turing
                 Award, which is regarded as the Nobel Prize for
                 computer science.",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Meyer:2024:NWD,
  author =       "Bertrand Meyer",
  title =        "{Niklaus Wirth} has died",
  howpublished = "Web site",
  day =          "4",
  month =        jan,
  year =         "2024",
  bibdate =      "Sat Jan 13 13:20:50 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://news.ycombinator.com/item?id=38858012",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{Mulley:2024:GMC,
  author =       "Gaius Mulley",
  title =        "The {GNU Modula-2} Compiler",
  publisher =    pub-FSF,
  address =      pub-FSF:adr,
  pages =        "v + 429",
  year =         "2024",
  bibdate =      "Fri Jan 19 06:23:43 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://gcc.gnu.org/onlinedocs/gm2.pdf",
  acknowledgement = ack-nhfb,
}

@Misc{Posch:2024:RNW,
  author =       "Maya Posch",
  title =        "Remembering {Niklaus Wirth}: Father of {Pascal} and
                 Inspiration to Many",
  howpublished = "Web site",
  day =          "5",
  month =        jan,
  year =         "2024",
  bibdate =      "Sat Jan 13 13:29:59 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://hackaday.com/2024/01/05/remembering-niklaus-wirth-father-of-pascal-and-inspiration-to-many/",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Provem:2024:RSD,
  author =       "Liam Provem",
  title =        "{RIP}: Software design pioneer and {Pascal} creator
                 {Niklaus Wirth}",
  howpublished = "Web site",
  day =          "4",
  month =        jan,
  year =         "2024",
  bibdate =      "Thu Jan 04 18:21:23 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Includes 1h42m video interview with Niklaus Wirth
                 about his academic career and professional life.",
  URL =          "https://www.theregister.com/2024/01/04/niklaus_wirth_obituary/",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Quandt:2024:NWT,
  author =       "Roland Quandt",
  title =        "{Niklaus Wirth ist tot: IT-Welt trauert um Erfinder
                 von Pascal}. ({German}) [{Niklaus Wirth} is dead: {IT}
                 world mourns {Pascal}'s inventor]",
  howpublished = "Web site",
  day =          "3",
  month =        jan,
  year =         "2024",
  bibdate =      "Fri Jan 05 11:49:44 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://winfuture.de/news,140430.html",
  acknowledgement = ack-nhfb,
  language =     "German",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Rosenwald:2024:NWV,
  author =       "Michael S. Rosenwald",
  title =        "{Niklaus Wirth}, Visionary Software Architect, Dies at
                 89",
  howpublished = "New York Times Web site",
  day =          "22",
  month =        feb,
  year =         "2024",
  bibdate =      "Mon Feb 26 13:41:13 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://www.nytimes.com/2024/02/22/technology/niklaus-wirth-dead.html",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Spicer:2024:MNW,
  author =       "Dag Spicer",
  title =        "In Memoriam: {Niklaus Wirth} (1934--2024)",
  howpublished = "Computer History Museum Web site",
  day =          "5",
  month =        jan,
  year =         "2024",
  bibdate =      "Sat Jan 13 13:11:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://computerhistory.org/blog/in-memoriam-niklaus-wirth-1934-2024/",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Article{Spicer:2024:NWO,
  author =       "Dag Spicer",
  title =        "{Niklaus Wirth} Obituary",
  journal =      j-IEEE-ANN-HIST-COMPUT,
  volume =       "46",
  number =       "1",
  pages =        "74--74",
  month =        jan # "\slash " # mar,
  year =         "2024",
  CODEN =        "IAHCEX",
  DOI =          "https://doi.org/10.1109/MAHC.2024.3366628",
  ISSN =         "1058-6180 (print), 1934-1547 (electronic)",
  ISSN-L =       "1058-6180",
  bibdate =      "Wed May 1 12:17:43 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/ieeeannhistcomput.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Annals of the History of Computing",
  journal-URL =  "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=85",
  keywords =     "Obituaries; Wirth, Niklaus",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Book{Tyler:2024:NWI,
  author =       "Carol B. Tyler",
  title =        "{Niklaus Wirth} s Impact on the World of Programming
                 and Computing: a Detailed Biography, Memoir and
                 Legacy",
  publisher =    "????",
  address =      "????",
  pages =        "25",
  year =         "2024",
  ISBN-13 =      "979-88-8274-057-2",
  bibdate =      "Thu Jul 04 15:53:38 2024",
  bibsource =    "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)",
}

@Misc{Vaughan-Nichols:2024:TNW,
  author =       "Steven J. Vaughan-Nichols",
  title =        "Tribute: {Niklaus Wirth}, 1934--2024: Remembering the
                 creator of {Pascal}, a champion of lean and elegant
                 code, and a vital figure in the evolution of software
                 development",
  howpublished = "The Newstack Web site",
  day =          "12",
  month =        jan,
  year =         "2024",
  bibdate =      "Sat Jan 13 13:16:07 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://thenewstack.io/tribute-niklaus-wirth-1934-2024/",
  acknowledgement = ack-nhfb,
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
}

@Misc{Anonymous:20xx:MC,
  author =       "Anonymous",
  title =        "Mapping to {C}",
  howpublished = "Web site",
  year =         "20xx",
  bibdate =      "Mon Jan 15 12:19:52 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://freepages.modula2.org/xdsdoc/xm011.html",
  abstract =     "Almost all features of Modula-2 and Oberon-2 have
                 direct equivalents in ANSI C. If some construct is not
                 directly available in C, the most simple and effective
                 solution preserving the language semantics is used.",
  acknowledgement = ack-nhfb,
}

@Misc{Anonymous:20xx:OSV,
  author =       "Anonymous",
  title =        "The {Oberon System (V4)}",
  howpublished = "Web site",
  year =         "20xx",
  bibdate =      "Sat Jan 20 09:45:56 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "https://ssw.jku.at/Research/Projects/Oberon.html",
  acknowledgement = ack-nhfb,
}

@Misc{Floyd:20xx:DOL,
  author =       "Paul Floyd",
  title =        "A Description of the {Oberon-2} Language",
  howpublished = "Web site",
  year =         "20xx",
  bibdate =      "Tue Jan 16 07:21:09 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://www.edm2.com/0608/oberon2.html",
  acknowledgement = ack-nhfb,
}

%%% ====================================================================
%%% Cross-referenced entries must come last.  They are sorted by year,
%%% and then by citation label, with ``bibsort --byear'':
@Proceedings{Ershov:1974:IST,
  editor =       "Andrei Ershov and Valery Aleksandrovich Nepomniaschy",
  booktitle =    "{International Symposium on Theoretical Programming
                 [held in Novosibirsk, Aug. 7--11, 1972]}",
  title =        "{International Symposium on Theoretical Programming
                 [held in Novosibirsk, Aug. 7--11, 1972]}",
  volume =       "5",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "vi + 407",
  year =         "1974",
  DOI =          "https://doi.org/10.1007/3-540-06720-5",
  ISBN =         "0-387-06720-5 (New York paperback), 3-540-06720-5
                 (Berlin paperback)",
  ISBN-13 =      "978-0-387-06720-9 (New York paperback),
                 978-3-540-06720-7 (Berlin paperback)",
  LCCN =         "QA76 .I5798 1972",
  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",
  series =       ser-LNCS,
  acknowledgement = ack-nhfb,
  tableofcontents = "An axiomatic definition of the programming language
                 PASCAL \\
                 The logic of ``can do'' \\
                 Copying in commutation \\
                 Operator schemata \\
                 On synthesizing programs given by examples \\
                 Central technical issues in programming language design
                 \\
                 Sur quelques syst{\`e}mes de programmation pour les
                 recherches scientifiques \\
                 Decision problems in computational models \\
                 Non-determined algorithm schemata or R-schemata \\
                 Equivalence and optimization of programs \\
                 On the average speed of automaton with terminal state
                 \\
                 Logical-termal equivalence of program schemata \\
                 On universal classes of program schemas \\
                 Certain decompositions of G{\"o}del numbering and the
                 semantics of programming languages \\
                 Criteria for the algorithmic completeness of the
                 systems of operations \\
                 Data flow schemas \\
                 Operation patterns \\
                 Looking for an approach to a theory of models for
                 parallel computation \\
                 Configurable computers: a new class of general purpose
                 machines \\
                 A method for determining program data relationships \\
                 Towards automatical construction of parallel programs
                 \\
                 A calculus for the mathematical theory of computation
                 \\
                 Admissibility of fixed-point induction in first-order
                 logic of typed theories \\
                 A formal approximation theory of semantic data types
                 \\
                 Some features of a language for a proof-checking
                 programming system",
  xxbooktitle =  "{International Symposium on Theoretical Programming
                 (Novosibirsk, 1972)}",
}

@Proceedings{Gunther:1974:ICS,
  editor =       "A. G{\"u}nther and B. Levrat and H. Lipps",
  booktitle =    "{International Computing Symposium 1973}: Proceedings
                 of the {International Computing Symposium 1973, Davos,
                 Switzerland, 4--7 September 1973}",
  title =        "{International Computing Symposium 1973}: Proceedings
                 of the {International Computing Symposium 1973, Davos,
                 Switzerland, 4--7 September 1973}",
  publisher =    pub-NORTH-HOLLAND,
  address =      pub-NORTH-HOLLAND:adr,
  pages =        "xii + 635",
  year =         "1974",
  ISBN =         "0-444-10596-4, 0-7204-2097-0",
  ISBN-13 =      "978-0-444-10596-7, 978-0-7204-2097-5",
  LCCN =         "QA76 .I567 1973",
  MRclass =      "68-06",
  bibdate =      "Wed Jan 10 14:36:40 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wilkes-maurice-v.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
  meetingname =  "International computing symposium 1973 Davos,
                 Switzerland",
  tableofcontents = "OPENING SESSION / Chairman: H. Lipps \\
                 The future of higher level languages (in teaching),
                 (invited paper) / A. Ralston / 1 \\
                 THEORY OF COMPUTATION / Chairmen: H. Stetter (Plenary
                 Session), E. Engeler (Parallel Session) \\
                 Description of processes, (invited paper) / P. Deussen
                 / 11 \\
                 General context-free parsing in time $n^2$ / M.
                 Snelling / 19 \\
                 Recursive functions not dependent on the computational
                 rules / G. de Michelis / 25 \\
                 Listing the functional digraph structures/ C. Bohm, M.
                 Dezani-Ciancaglini / 33 \\
                 Functions describing interactive programming / I.
                 Kupka, N. Wilsing / 41 \\
                 PROGRAMMING METHODS / Chairmen: S. Crespi-Reghizzi
                 (Plenary Session), N. Wirth (Parallel Session) \\
                 From programming techniques to programming methods,
                 (invited paper) / N. Wirth / 47 \\
                 Some experiments in improving program documentation /
                 R. S. Scowen, A. R. Lawrence / 55 \\
                 Programming by selection / H.-J. Hoffmann / 59 \\
                 Holon programming / P. A. de Marneffe, D. Ribbens / 67
                 \\
                 PROGRAMMING LANGUAGES / Chairman: M. Tienari (Parallel
                 Session) \\
                 ALEPH, A Language Encouraging Program Hierarchy / R.
                 Bosch, D. Grune, L. Meertens / 73 \\
                 Interactive structured programming / R. Schild / 81 \\
                 Identification of syntax-directed translation schemes /
                 A. Celentano, P. Della Vigna, C. Ghezzi, F. Tisato / 85
                 \\
                 COMPILERS / Chairman: H. J. Hoffmann (Parallel Session)
                 \\
                 The method of structured programming applied to the
                 development of a compiler / U. Ammann / 93 \\
                 Optimized translation process, application to ALGOL 68
                 / P. Branquart, J. P. Cardinael, J. Lewi / 101 \\
                 The NAG library and its special function chapter / J.
                 L. Schonfelder / 109 \\
                 A method for defining and implementing PL/1 / P.
                 Chatelin, B. Willis / 117 \\
                 OPERATING SYSTEMS / Chairmen: G. R. Macleod (Plenary
                 Session), R. M. Needham (Parallel Session) \\
                 Protection --- A current research area in operating
                 systems, (invited paper) / R. M. Needham / 123 \\
                 The formal semantics of operating systems / E. J.
                 Neuhold / 127 \\
                 Deadlock prevention in real time systems / A. van
                 Lamsweerde / 135 \\
                 ORION --- The OMEGA remote interactive on-line system /
                 R. D. Russell, P. Sparrman, M. Krieger / 143 \\
                 CONCURRENT PROCESSES AND RESOURCE ALLOCATION /
                 Chairman: J. D. Haupt (Parallel Session) \\
                 Description and asynchronous implementation of control
                 structures for concurrent systems / F. Grandoni, P.
                 Zerbetto / 151 \\
                 A semantic approach to the theory of parallel processes
                 / G. Belpaire, J. P. Wilmotte / 159 \\
                 An approach to the communication and synchronization of
                 processes / H. A. Schmid / 165 \\
                 Approximate ``open'' priority queue model for
                 determining total delay including overhead in a
                 real-time virtual memory system / P. A. Johnson / 173
                 \\
                 SIMULATION AND SYSTEM MEASUREMENTS / Chairman: E.
                 Gelenbe (Parallel Session) \\
                 An interactive facility for process-oriented
                 simulations / K. G. Muller / 179 \\
                 Selecting the components of multi-purpose computer
                 systems / S. E. Sutcliffe / 187 \\
                 OSSYOSCOPE: System on auxiliary processors for
                 measuring operating systems / L. Boi, J. P. Drucbert /
                 195 \\
                 COMPUTER DESIGN / Chairman: F. H. Sumner (Plenary and
                 Parallel Sessions) \\
                 Hardware innovation and computer design, (invited
                 paper) / D. B. G. Edwards / 201 \\
                 System design for scientific computation / B. D.
                 Shriver / 211 \\
                 Multiunit register-transfer networks and pipeline
                 concurrency / J. C. Huang / 217 \\
                 Fault-tolerant computing by using residue number
                 systems / F. Barsi, P. Maestrini / 225 \\
                 High performance input/output channels / H. Spreen /
                 231 \\
                 MICROPROGRAMMING / Chairman: D. G. B. Edwards (Parallel
                 Session) \\
                 The significance of microprogramming / R. F. Rosin /
                 237 \\
                 Microprogramming. A hardware point of view / P.-E.
                 Danielsson / 243 \\
                 Logical organization of a problem-oriented
                 microprogram-controlled processor / N. Haff 25 / 1 \\
                 Procedural decision tables and their implementation /
                 R. Thurner, K. Bauknecht / 259 \\
                 NETWORKS / Chairman: M. Engeli (Parallel Session) \\
                 Synchronization problems in a computer network / M.
                 Somia / 265 \\
                 Introduction to POLI network design / C. Ghezzi, G. Le
                 Moli, L. Mezzalira / 271 \\
                 ``DATAPORT'' --- A control system for computer networks
                 designed by the Inland Revenue (Finanzverwaltung) in
                 Nordrhein-Westfalen / M. Molloy / 279 \\
                 ON-LINE APPLICATIONS / Chairman: F. L. Nicolet
                 (Parallel Session) \\
                 $S_0$, A low level systems implementation language / B.
                 Krieg, R. Gnatz, R. Hoellerer / 285 \\
                 CARINE --- A multi-user real-time system for control
                 and data acquisition of neutron beam experiments / A.
                 Barth{\'e}lemy, W. Kaiser, M. Le Sourne, M. Taeschner,
                 P. Darier, A. Vinit, J. J. Girod / 291 \\
                 Process control system for test stand data acquisition
                 and control in an automotive company / R. Bender. H.
                 Reiter / 299 \\
                 NUMERICAL MATHEMATICS / Chairman: H. J. Stetter
                 (Plenary and Parallel Sessions) \\
                 Problems related to the numerical treatment of stiff
                 differential equations, (invited paper) / G. Dahlquist
                 / 307 \\
                 On the control of floating-point mantissa length in
                 iterative computations / M. Tienari / 315 \\
                 Computing analytical functions by means of power series
                 or continued fractions / J. Patry, S. Gupta / 323 \\
                 The method of moments. A class of methods for the
                 solution of nonlinear equations and systems of
                 equations / D. Trigiante, S. Ciucani / 331 \\
                 APPLIED MATHEMATICS / Chairman: G. Dahlquist (Parallel
                 Session) \\
                 La m{\'e}thode frontale pour la r{\'e}solution des
                 syst{\`e}mes lin{\'e}aires / M. Fremond / 337 \\
                 Finite-element-type solution of integral equations / R.
                 Wait / 345 \\
                 An application of optimal control theory to a problem
                 of hydrodynamics / J. Henry / 349 \\
                 PATTERN RECOGNITION METHODS / Chairman: P. Zanella
                 (Plenary and Parallel Sessions) \\
                 Problems in automatic pattern recognition, (invited
                 paper) / H. Kazmierczak / 357 \\
                 Reconstruction of binary pattern from a few projections
                 / G. T. Herman / 371 \\
                 Using the minimum spanning tree to recognize dotted and
                 dashed curves / C. T. Zahn / 381 \\
                 R{\`e}sultats r{\`e}cents concernant la m{\`e}thode des
                 nu{\`e}es dynamiques et application {\`a} la recherche
                 de profils biologiques / G. Sandor, E. Di day, Y.
                 Lechevallier / 389 \\
                 PATTERN RECOGNITION APPLICATIONS / Chairman: H.
                 Kazmierczak (Parallel Session) \\
                 Computer identification of white blood cells / P. W.
                 Neurath, J. F. Brenner, W. D. Selles, E. S. Gelsema, B.
                 W. Poweil, G. Gallus, E. Vastola / 399 \\
                 Approaches to computer analysis of polio infection in
                 HeLa cells / H. M. Aus, K. Kaschel, V. ter Meulen, P.
                 H. Bartels / 407 \\
                 Identification of digitized particle trajectories / H.
                 Grote, M. Hansroul, J. C. Lassalle, P. Zanella / 413
                 \\
                 COMPUTER-AIDED DESIGN / Chairmen: F. H. Sumner (Plenary
                 Session), I. de Lotto (Parallel Session) \\
                 Sparse matrix techniques in computer-aided design,
                 (invited paper) / I. de Lotto, G. Pierini, P. Tiberio /
                 423 \\
                 Perspective geometry and computer graphics: Techniques
                 and applications in computer-aided design / J. W. Demic
                 435 \\
                 Interactive computer aided design of control systems /
                 K. C. Daly, G. C. Goodwin / 443 \\
                 Computer-aided design of the layout of integrated
                 circuits (CADLIC) / H. Klamet / 451 \\
                 COMPUTER GRAPHICS / Chairman: J. Nievergelt (Parallel
                 Session) \\
                 A language for 3D graphics applications / M. E. Engeli
                 / 459 \\
                 Optimizing curve segmentation in computer graphics / K.
                 Reumann, A. P. M. Witkam / 467 \\
                 Finger input to a small graphic system / G.
                 Vuilleumier, M. Sarret / 473 \\
                 COMPUTER-AIDED INSTRUCTION, COMPUTER EDUCATION /
                 Chairman: H. P. Frei (Parallel Session) \\
                 Application of mathematical models of learning in the
                 decision structure of adaptive computer-aided
                 instructional systems / J. H. Laubsch, A. Chiang / 481
                 \\
                 Generative CAI in high school algebra / T. J. Gilkey,
                 E. B. Koffman / 489 \\
                 The automation of introductory computer science courses
                 / J. Nievergelt, E. M. Reingold, T. R. Wilcox / 495 \\
                 INFORMATION STORAGE AND RETRIEVAL SYSTEMS / Chairmen:
                 B. Levrat (Plenary Session), E. J. Neuhold (Parallel
                 Session) \\
                 Real time systems in administrative data processing,
                 (invited paper) / C. Toulet / 503 \\
                 Automatic file compression / J. P. McCarthy / 511 \\
                 A system for the definition of the syntax and semantics
                 of data description languages / G. L. Wolfendale / 517
                 \\
                 Self-contained facilities to process sub-structures of
                 more complex network structures / T. W. Olle / 527 \\
                 DATA BASES / Chairman: J. J. Duby (Parallel Session)
                 \\
                 Retrieval in a set-theoretically structured data base:
                 Concepts and practical considerations / K.-D.
                 Kr{\"a}geloh, P. C. Lockemann / 533 \\
                 Specifying data base systems / J. J. Florentin / 541
                 \\
                 The prospects for large capacity set support systems
                 imbedded within generalized data management systems /
                 W. T. Hardgrave / 549 \\
                 An experimental query system: SYNTEX / A. Artaud, J. M.
                 Nicolas / 557 \\
                 MEDICAL APPLICATIONS / Chairman: L. Dadda (Parallel
                 Session) \\
                 Reliability of the ECG-interpretation by seven
                 different computer-programs compared to that of three
                 cardiologists / J. Meyer, K.-W. Heinrich, W. Merx, S.
                 Effert / 565 \\
                 A method of sequential selection for information
                 capture in a real-time information system / K. F.
                 Bowden, G. I. L. Grafton, I. R. MacCallum / 575 \\
                 Structure and functions of the patient data bank in the
                 medical system Hannover / K. Sauter / 585 \\
                 NON-NUMERICAL APPLICATIONS / Chairman: S.
                 Crespi-Reghizzi (Parallel Session) \\
                 Heuristic programming techniques applied to chemical
                 mass spectrometry / A. Delfino, B. Levrat / 591 \\
                 Theme searches in French texts / P. A. Fortier, J. C.
                 McConnelli / 599 \\
                 Synthesis in dynamic models / J. A. Richter / 605 \\
                 CLOSING SESSION / Chairman: B. Levrat \\
                 Past, present, and future in the computer world,
                 (invited paper) / M. V. Wilkes / 615 \\
                 LIST OF PARTICIPANTS / 621",
}

@Proceedings{Bauer:1976:LHI,
  editor =       "Friedrich Ludwig Bauer and Klaus Samelson",
  booktitle =    "{Language hierarchies and interfaces: international
                 summer school [held July 23 to August 2, 1975 in
                 Marktoberdorf]}",
  title =        "{Language hierarchies and interfaces: international
                 summer school [held July 23 to August 2, 1975 in
                 Marktoberdorf]}",
  volume =       "46",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "x + 428",
  year =         "1976",
  DOI =          "https://doi.org/10.1007/3-540-07994-7",
  ISBN =         "0-387-07994-7 (New York), 3-540-07994-7 (Berlin),
                 3-540-37972-X (e-book)",
  ISBN-13 =      "978-0-387-07994-3 (New York), 978-3-540-07994-1
                 (Berlin), 978-3-540-37972-0 (e-book)",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  LCCN =         "QA76.6 .L335",
  bibdate =      "Fri Aug 21 09:24:18 MDT 2020",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/b/bauer-friedrich-ludwig.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.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/lncs.bib",
  series =       ser-LNCS,
  URL =          "http://link.springer-ny.com/link/service/series/0558/tocs/t0046.htm;
                 http://www.springerlink.com/content/978-0-387-07994-3;
                 http://www.springerlink.com/openurl.asp?genre=book&isbn=978-3-540-07994-1;
                 http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=46",
  ZMID =         "03518718",
  ZMnumber =     "0332.00007",
  abstract =     "Papers prepared by experts for an International Summer
                 School, held in July 1976. Focuses on program
                 development, concurrency, operating systems structures,
                 and programming systems structures.",
  acknowledgement = ack-nhfb,
  editor-dates = "Friedrich (``Fritz'') Ludwig Bauer (10 June 1924--26
                 March 2015)",
  remark =       "The International Summer School took place from July
                 23 to August 2,1975, in Marktoberdorf. This Summer
                 School was organised under the auspices of the
                 Technical University Munich, and was sponsored by the
                 NATO Scientific Affairs Division under the 1975
                 Advanced Study Institutes programme.",
  subject =      "Computer programming; Congresses; Programming
                 languages (Electronic computers); Computer
                 programming.; Programming languages (Electronic
                 computers)",
  tableofcontents = "Introduction \\
                 On the teaching of programming, i.e., on the teaching
                 of thinking / E. W. Dijkstra / 1--10 \\
                 Chapter 1: Concurrency \\
                 Parallel programming: An axiomatic approach / C. A. R.
                 Hoare / 11--42 \\
                 On-the-fly garbage collection: an exercise in
                 cooperation / E. W. Dijkstra / 43--56 \\
                 An exercise in proving parallel programs correct / D.
                 Gries / 57--81 \\
                 The programming language Concurrent Pascal / P. Brinch
                 Hansen / 82--110 \\
                 Chapter 2: Program Development \\
                 Guarded commands, non-determinacy and a calculus for
                 the derivation of programs / E. W. Dijkstra / 111--124
                 \\
                 Program production by successive transformation / M.
                 Griffiths / 125--152 \\
                 Programming as an evolutionary process / F. L. Bauer /
                 153--182 \\
                 Proof of correctness of data representations / C. A. R.
                 Hoare / 183--193 \\
                 Appendix: A philosophy of programming / F. L. Bauer /
                 194--241 \\
                 Chapter 3: Operating System Structure \\
                 The structure of an operating system / C. A. R. Hoare /
                 242--265 \\
                 Language aspects in operating systems / G.
                 Seegm{\"u}uller / 266--292 \\
                 Structured programming in the basic layers of an
                 operating system / W. A. Wulf / 293--344 \\
                 A time-wise hierarchy imposed upon the use of a
                 two-level store / E. W. Dijkstra / 345--357 \\
                 Chapter 4: Programming Systems Structure \\
                 Problems in many-language systems / A. P. Ershov /
                 358--428",
}

@Book{Barron:1978:PLI,
  editor =       "D. W. (David William) Barron",
  booktitle =    "{PASCAL}: the language and its implementation",
  title =        "{PASCAL}: the language and its implementation",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "ix + 301",
  year =         "1978",
  ISBN =         "0-471-27835-1 (hardcover)",
  ISBN-13 =      "978-0-471-27835-1 (hardcover)",
  LCCN =         "QA76.73.P2 P2",
  bibdate =      "Mon Jan 8 09:30:07 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       "Wiley series in computing",
  acknowledgement = ack-nhfb,
  subject =      "Pascal (Computer program language); PASCAL (Langage de
                 programmation); Pascal (Computer program language)",
  tableofcontents = "A perspective on Pascal / D. W. Barron / 1--3 \\
                 Ambiguities and insecurities in Pascal / J. Welsh /
                 5--19 \\
                 Pascal and portability / O. Lecarme / 21--35 \\
                 Pascal in education / C. A. G. Webster / 37--47 \\
                 The efficiency of Pascal / B. A. Wichmann / 49--55 \\
                 The future of Pascal / A. D. Mickel / 57--62 \\
                 The Zurich implementation / U. Ammann / 63--82 \\
                 Code generation for a Pascal compiler / U. Ammann /
                 83--123 \\
                 Pascal-P implementation notes / K. V. Nori / 125--170
                 \\
                 Two 1900 compilers / J. Welsh / 171--179 \\
                 A Pascal diagnostics system / D. A. Watt / 181--198 \\
                 Pascal-S: a subset and its implementation / N. Wirth /
                 199--259 \\
                 Pascal on an advanced architecture / M. J. Rees /
                 261--275 \\
                 A Pascal machine? / J. M. Bishop / 277--300 \\
                 Index",
}

@Book{Brauer:1981:PLA,
  editor =       "Wilfried Brauer and Per {Brinch Hansen} and David
                 Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
                 Stoer and Niklaus Wirth",
  booktitle =    "The Programming Language {Ada Reference Manual,
                 Proposed Standard Document, United States Department of
                 Defense}",
  title =        "The Programming Language {Ada Reference Manual,
                 Proposed Standard Document, United States Department of
                 Defense}",
  volume =       "106",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  year =         "1981",
  DOI =          "https://doi.org/10.1007/3-540-10693-6",
  ISBN =         "3-540-10693-6",
  ISBN-13 =      "978-3-540-10693-7",
  LCCN =         "QA76.73.A35 P76",
  bibdate =      "Tue Jul 26 11:03:12 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/m/moler-cleve-b.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/adabooks.bib",
  series =       ser-LNCS,
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  biburl =       "https://dblp.org/rec/books/sp/Ada81.bib",
  tableofcontents = "Front Matter / i--x \\
                 Introduction / 1--6 \\
                 Lexical Elements / 7--13 \\
                 Declarations and Types / 15--45 \\
                 Names and Expressions / 47--71 \\
                 Statements / 73--82 \\
                 Subprograms / 83--92 \\
                 Packages / 93--103 \\
                 Visibility Rules / 105--114 \\
                 Tasks / 115--130 \\
                 Program Structure and Compilation Issues / 131--141 \\
                 Exceptions / 143--153 \\
                 Generic Program Units / 155--167 \\
                 Representation Specifications and Implementation
                 Dependent Features / 169--181 \\
                 Input--Output / 183--206 \\
                 Back Matter / 207--243",
}

@Book{Wichmann:1983:PCV,
  editor =       "Brian Anderson Wichmann and Z. J. Ciechanowicz",
  booktitle =    "{Pascal} compiler validation",
  title =        "{Pascal} compiler validation",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xiii + 176",
  year =         "1983",
  ISBN =         "0-471-90133-4",
  ISBN-13 =      "978-0-471-90133-4",
  LCCN =         "QA76.73.P2 P35 1983",
  bibdate =      "Wed Jan 10 18:15:01 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  abstract =     "Discusses Pascal compiler validation in a number of
                 different projects and processes.",
  acknowledgement = ack-nhfb,
  tableofcontents = "Introduction / B. A. Wichmann \\
                 The Pascal compiler validation project / B. A. Wichmann
                 \\
                 The validation suite / A. H. J. Sale and B. A. Wichmann
                 \\
                 Developing the testing procedures / B. A. Wichmann and
                 Z. J. Ciechanowicz \\
                 Second thoughts on the validation suite / A. H. J. Sale
                 \\
                 The Pascal standard from the implementor's viewpoint /
                 J. Welsh and A. Hay \\
                 A manufacturer's viewpoint / A. B. Byrne \\
                 Pascal validation user's guide / L. Morgan \\
                 The role of BSI in testing / J. W. Charter \\
                 The SOL project and validation / M. Given and J. Sidi
                 \\
                 Discussion \\
                 Compiler validation: a survey / R. S. Scowen and Z. J.
                 Ciechanowicz",
}

@Book{Feuer:1984:CAP,
  editor =       "Alan R. Feuer and Narain Gehani",
  booktitle =    "Comparing and Assessing Programming Languages: {Ada},
                 {C}, and {Pascal}",
  title =        "Comparing and Assessing Programming Languages: {Ada},
                 {C}, and {Pascal}",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xiv + 271",
  year =         "1984",
  ISBN =         "0-13-154840-9 (paperback), 0-13-154857-3 (hardcover)",
  ISBN-13 =      "978-0-13-154840-4 (paperback), 978-0-13-154857-2
                 (hardcover)",
  LCCN =         "QA76.73.A35 C66 1984",
  bibdate =      "Tue May 24 05:49:12 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/mathcw.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Prentice-Hall software series",
  acknowledgement = ack-nhfb,
  subject =      "Ada (Computer program language); C (Computer program
                 language); Pascal (Computer program language)",
  tableofcontents = "Comparing programming languages \\
                 A comparison of the programming languages C and Pascal
                 / Alan R. Feuer and Narain H. Gehani \\
                 Pascal versus C: a subjective comparison / Prabhaker
                 Mateti \\
                 A comparison of Pascal and Ada / B. A. Wichmann \\
                 A comparison of programming languages Ada, Pascal, C /
                 Arthur Evans, Jr. \\
                 Assessing programming languages \\
                 An assessment of the programming language Pascal /
                 Niklaus Wirth \\
                 UNIX time-sharing system the C programming language /
                 D. M. Ritchie, S. C. Johnson, M. E. Leek, and B. W.
                 Kernighan \\
                 An early assessment of the Ada programming language /
                 Narain H. Gehani \\
                 Language criticisms \\
                 Critical comments on the programming language Pascal /
                 A. N. Habermann \\
                 More comments on the programming language Pascal / O.
                 Lecarme and P. Desjardins \\
                 Why Pascal is not my favorite programming language /
                 Brian W. Kernighan \\
                 Type syntax in the language C an object lesson in
                 syntactic innovation / Bruce Anderson \\
                 Methodology for comparing and assessing languages \\
                 A methodology for comparing programming languages /
                 Alan R. Feuer and Narain H. Gehani \\
                 A comparison of programming languages for software
                 engineering / Mary Shaw, Guy T. Almes, Joseph M.
                 Newcomer, Brian K. Reid, and William A. Wulf \\
                 A critical comparison of several programming language
                 implementations / H. J. Boom and E. De Jong \\
                 Programming languages what to demand and how to assess
                 them / Niklaus Wirth",
}

@Proceedings{STUG:1984:UAS,
  editor =       "{Software Tools Users Group}",
  booktitle =    "{USENIX} Association [and] Software Tools Users Group
                 Summer Conference, Salt Lake City 1984: proceedings,
                 June 12--15, 1984, Salt Lake City, Utah, {USA}",
  title =        "{USENIX} Association [and] Software Tools Users Group
                 Summer Conference, Salt Lake City 1984: proceedings,
                 June 12--15, 1984, Salt Lake City, Utah, {USA}",
  publisher =    pub-USENIX,
  address =      pub-USENIX-EL-CERRITO:adr,
  pages =        "xvi + 388",
  year =         "1984",
  LCCN =         "QA76.8.U65 U83 1984",
  bibdate =      "Sun Feb 18 09:36:47 MST 1996",
  bibsource =    "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,
  annote =       "Cover title: 1984 Summer Conference proceedings. Spine
                 title: USENIX Association, Salt Lake City 1984 Summer
                 Conference proceedings.",
  keywords =     "Computer programs --- Congresses; Electronic digital
                 computers --- Programming --- Congresses; Programming
                 languages (Electronic computers) --- Congresses; UNIX
                 (Computer operating system) --- Congresses.",
}

@Proceedings{USENIX:1985:PUA,
  editor =       "{USENIX Association}",
  booktitle =    "Proceedings: {USENIX} Association Winter Conference,
                 January 23--25, 1985, Dallas, Texas, {USA}",
  title =        "Proceedings: {USENIX} Association Winter Conference,
                 January 23--25, 1985, Dallas, Texas, {USA}",
  publisher =    pub-USENIX,
  address =      pub-USENIX-EL-CERRITO:adr,
  pages =        "ix + 200",
  year =         "1985",
  bibdate =      "Sun Feb 18 07:46:09 MST 1996",
  bibsource =    "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,
  keywords =     "Computer networks --- Congresses.; Operating systems
                 (Computers) --- Congresses; Programming (Electronic
                 computers) --- Congresses; Telecommunication ---
                 Congresses; UNIX (Computer operating system) ---
                 Congresses",
}

@Book{Ashenhurst:1987:ATA,
  editor =       "Robert L. Ashenhurst",
  booktitle =    "{ACM Turing Award Lectures}: the first twenty years,
                 1966--1985",
  title =        "{ACM Turing Award Lectures}: the first twenty years,
                 1966--1985",
  publisher =    pub-ACM # " and " # pub-AW,
  address =      pub-ACM:adr # " and " # pub-AW:adr,
  pages =        "xviii + 483",
  year =         "1987",
  DOI =          "https://doi.org/10.1145/16726",
  ISBN =         "0-201-07794-9, 0-89791-183-0",
  ISBN-13 =      "978-0-201-07794-0, 978-0-89791-183-2",
  LCCN =         "QA76.24 .A33 1987",
  bibdate =      "Tue Jun 21 11:01:04 2011",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/h/hamming-richard-w.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wilkinson-james-hardy.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/acm-turing-awards.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "ACM Press anthology series",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  remark =       "TO DO: the table of contents data vary incompatibly
                 across library catalogs, and the ACM Web sites at the
                 DOI does not supply such data.",
  subject =      "Electronic data processing; Computers",
  tableofcontents = "Authors' Biographies / ix \\
                 Preface / xvii \\
                 Introduction to Part I \\
                 Programming Languages and Systems / Susan L. Graham
                 1966 / 1 \\
                 The Synthesis of Algorithmic Systems / Alan J. Perlis
                 1972 / 5 \\
                 The Humble Programmer / Edsger W. Dijkstra 1974 / 17
                 \\
                 Computer Programming as an Art / Donald E. Knuth 1976 /
                 33 \\
                 Logic and Programming Languages / Dana S. Scott 1977 /
                 47 \\
                 Can Programming Be Liberated from the von Neumann
                 Style? A Functional Style and Its Algebra of Programs /
                 John Backus 1978 / 63 \\
                 The Paradigm of Programming / Robert W. Floyd 1980 /
                 131 \\
                 The Emperor's Old Clothes / Charles Antony Richard
                 Hoare 1983 / 143 \\
                 Reflections on Software Research / Dennis M. Ritchie
                 1983 / 163 \\
                 Reflections on Trusting Trust / Ken Thompson 1984 / 171
                 \\
                 From Programming Language Design to Computer
                 Construction / Niklaus Wirth / 179 \\
                 Introduction to Part II \\
                 Computers and Computing Methodologies / Robert L.
                 Ashenhurst 1967 / 191 \\
                 Computers Then and Now / Maurice V. Wilkes 1968 / 197
                 \\
                 One Man's View of Computer Science / R. W. Hamming 1969
                 / 207 \\
                 Form and Content in Computer Science / Marvin Minsky
                 1970 / 219 \\
                 Some Comments from a Numerical Analyst / J. H.
                 Wilkinson 1971 / 243 \\
                 Generality in Artificial Intelligence (Postscript) /
                 John McCarthy 1973 / 257 \\
                 The Programmer as Navigator / Charles W. Bachman 1975 /
                 269 \\
                 Computer Science as Empirical Inquiry: Symbols and
                 Search / Allen Newell and Herbert A. Simon 1976 / 287
                 \\
                 Complexity of Computations / Michael O. Rabin 1979 /
                 319 \\
                 Notation as a Tool of Thought / Kenneth E. Iverson 1981
                 / 339 \\
                 Relational Database: A Practical Foundation for
                 Productivity / E. F. Codd 1982 / 391 \\
                 An Overview of Computation Complexity / Stephen A. Cook
                 1985 / 411 \\
                 Combinatorics, Complexity, and Randomness / Richard M.
                 Karp / 433 \\
                 Piecing Together Complexity (Postscript) / Karen
                 Frenkel / 456 \\
                 Complexity and Parallel Processing: An Interview with
                 Richard Karp (Postscript) / Karen Frenkel / 458 \\
                 Index According to ACM Computing Reviews Classification
                 Scheme / 467 \\
                 Name Index / 473 \\
                 Subject Index / 477",
  xxtableofcontents = "Authors' Biographies / ix \\
                 Preface / xvii \\
                 Introduction to Part I: Programming Languages and
                 Systems / 1 \\
                 The synthesis of algorithmic systems / Alan J. Perlis /
                 5 \\
                 Computers then and now / Maurice V. Wilkes / 17 \\
                 One man's view of computer science / R. W. Hamming /
                 \\
                 Form and content in computer science / Marvin Minsky /
                 \\
                 Some comments from a numerical analyst / J. H.
                 Wilkinson / \\
                 Generality in artificial intelligence / John McCarthy /
                 \\
                 The humble programmer / Edsger W. Dijkstra / \\
                 The programmer as navigator / Charles W. Bachman / \\
                 Computer programming as an art / Donald E. Knuth / \\
                 Computer science as empirical inquiry: symbols and
                 search / Allen Newell and Herbert A. Simon / \\
                 Complexity of computations / Michael O. Rabin / \\
                 Logic and programming languages / Dana S. Scott / \\
                 Can programming be liberated from the von Neumann
                 style?: a functional style and its algebra of programs
                 / John Backus / \\
                 The paradigms of programming / Robert W. Floyd / \\
                 Notation as a tool of thought / Kenneth E. Iverson /
                 \\
                 The emperor's old clothes / Charles Antony Richard
                 Hoare / \\
                 Relational database: a practical foundation for
                 productivity / E. F. Codd / \\
                 An overview of computational complexity / Stephen A.
                 Cook / \\
                 Reflections on software research / Dennis M. Ritchie /
                 \\
                 Reflections on trusting trust / Ken Thompson / \\
                 From programming language design to computer
                 construction / Niklaus Wirth / \\
                 Combinatorics, complexity, and randomness / Richard M.
                 Karp / \\
                 Algorithm design / Robert E. Tarjan / \\
                 Computer science: the emergence of a discipline / John
                 E. Hopcroft / \\
                 The search for performance in scientific processors /
                 John Cocke / \\
                 Micropipelines / Ivan E. Sutherland / \\
                 On building systems that will fail / Fernando J.
                 Corbat{\'o} / \\
                 Elements of interaction / Robin Milner / \\
                 Turing Award Lecture: it's time to reconsider time /
                 Richard Edwin Stearns / \\
                 Turing Award Lecture: on computational complexity and
                 the nature of computer science / Juris Hartmanis / \\
                 How the `what' becomes the `how' / Edward A. Feigenbaum
                 / \\
                 To dream the possible dream / Raj Reddy / \\
                 The Early Days of RSA: History and Lessons / Ronald L.
                 Rivest / \\
                 Pre-RSA Days: History and Lessons / Leonard Adleman /
                 \\
                 Cryptography: State of the science / Adi Shamir / \\
                 Turing Award Lecture / Alan Kay / \\
                 Assessing the Internet: Lessons Learned, Strategies for
                 Evolution, and Future Possibilities / Vinton Cerf,
                 Robert E. Kahn / \\
                 Computing vs. Human Thinking / Peter Naur / \\
                 Compiling for Performance: a Personal Tour / Frances
                 Allen / \\
                 Model checking: my 27-year quest to overcome the state
                 explosion problem / Edmund M. Clarke / \\
                 Model checking: a Personal Perspective / E. Allen
                 Emerson / \\
                 The Quest for Correctness Beyond Verification / Joseph
                 Sifakis / \\
                 The Power of Abstraction / Barbara Liskov / \\
                 Improving the Future by Examining the Past / Charles P.
                 Thacker",
}

@Proceedings{Gianni:1989:SAC,
  editor =       "P. (Patrizia) Gianni",
  booktitle =    "Symbolic and algebraic computation: International
                 Symposium {ISSAC '88}, Rome, Italy, July 4--8, 1988:
                 proceedings",
  title =        "Symbolic and algebraic computation: International
                 Symposium {ISSAC} '88, Rome, Italy, July 4--8, 1988:
                 proceedings",
  volume =       "358",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xi + 543",
  year =         "1989",
  ISBN =         "3-540-51084-2",
  ISBN-13 =      "978-3-540-51084-0",
  LCCN =         "QA76.95 .I571 1988",
  bibdate =      "Thu Sep 26 06:21:35 MDT 1996",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib;
                 https://www.math.utah.edu/pub/tex/bib/litprog.bib",
  note =         "Conference held jointly with AAECC-6.",
  series =       ser-LNCS,
  abstract =     "The following topics were dealt with: differential
                 algebra; applications; Gr{\"o}bner bases; differential
                 equations; algorithmic number theory; algebraic
                 geometry; computational geometry; computational logic;
                 systems; and arithmetic.",
  acknowledgement = ack-nhfb,
  classification = "C1110 (Algebra); C4100 (Numerical analysis); C7310
                 (Mathematics)",
  confdate =     "4--8 July 1988",
  conflocation = "Rome, Italy",
  keywords =     "Differential algebra; Applications; Gr{\"o}bner bases;
                 Differential equations; Algorithmic number theory;
                 Algebraic geometry; Computational geometry;
                 Computational logic; Systems; Arithmetic",
  pubcountry =   "West Germany",
  thesaurus =    "Algebra; Computational geometry; Differential
                 equations; Formal logic; Mathematics computing; Theorem
                 proving",
}

@Book{Feijen:1990:BOB,
  editor =       "W. H. J. Feijen and A. J. M. van Gasteren and David
                 Gries and J. Misra",
  booktitle =    "Beauty is our Business: a Birthday Salute to {Edsger
                 W. Dijkstra}",
  title =        "Beauty is our Business: a Birthday Salute to {Edsger
                 W. Dijkstra}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xix + 453",
  year =         "1990",
  DOI =          "https://doi.org/10.1007/978-1-4612-4476-9",
  ISBN =         "0-387-97299-4, 3-540-97299-4, 1-4612-8792-8 (print),
                 1-4612-4476-5 (online)",
  ISBN-13 =      "978-0-387-97299-2, 978-3-540-97299-0,
                 978-1-4612-8792-6 (print), 978-1-4612-4476-9 (online)",
  ISSN =         "0172-603X",
  ISSN-L =       "0172-603X",
  LCCN =         "QA76 .B326 1990",
  bibdate =      "Thu Mar 24 09:27:40 1994",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/b/bauer-friedrich-ludwig.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.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/fparith.bib;
                 https://www.math.utah.edu/pub/tex/bib/ibmjrd.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib;
                 https://www.math.utah.edu/pub/tex/bib/texbook3.bib",
  note =         "Contains important treatment of accurate
                 binary-to-decimal conversion
                 \cite{Gries:1990:BDO,Knuth:1990:SPW}.",
  URL =          "http://www.zentralblatt-math.org/zmath/en/search/?an=0718.68004",
  acknowledgement = ack-nhfb,
  author-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  tableofcontents = "Anonymous / Front Matter / i--xix \\
                 Krzysztof R. Apt, Frank S. de Boer, Ernst-R{\"u}diger
                 Olderog / Proving Termination of Parallel Programs /
                 1--6 / doi:10.1007/978-1-4612-4476-9_1 \\
                 Roland C. Backhouse / On a Relation on Functions /
                 7--18 / doi:10.1007/978-1-4612-4476-9_2 \\
                 F. L. Bauer / Efficient Solution of a Non--Monotonic
                 Inverse Problem / 19--26 /
                 doi:10.1007/978-1-4612-4476-9_3 \\
                 A. Bijlsma / Semantics of Quasi--Boolean Expressions /
                 27--35 / doi:10.1007/978-1-4612-4476-9_4 \\
                 Richard S. Bird / Small Specification Exercises /
                 36--43 / doi:10.1007/978-1-4612-4476-9_5 \\
                 Maarten Boasson / Architecture of Real--Time Systems /
                 44--53 / doi:10.1007/978-1-4612-4476-9_6 \\
                 Robert S. Boyer, Milton W. Green, J Strother Moore /
                 The Use of a Formal Simulator to Verify a Simple Real
                 Time Control Program / 54--66 /
                 doi:10.1007/978-1-4612-4476-9_7 \\
                 Donald W. Braben / Exploring the Future: Trends and
                 Discontinuities / 67--75 /
                 doi:10.1007/978-1-4612-4476-9_8 \\
                 Coen Bron / On a Renewed Visit to the Banker and a
                 Remarkable Analogy / 76--82 /
                 doi:10.1007/978-1-4612-4476-9_9 \\
                 Manfred Broy / On Bounded Buffers: Modularity,
                 Robustness, and Reliability in Reactive Systems /
                 83--93 / doi:10.1007/978-1-4612-4476-9_10 \\
                 K. Mani Chandy, Stephen Taylor / Examples in Program
                 Composition / 94--101 /
                 doi:10.1007/978-1-4612-4476-9_11 \\
                 Albert J. Dijkstra / On the Mechanism of the
                 Hydrogenation of Edible Oils / 102--111 /
                 doi:10.1007/978-1-4612-4476-9_12 \\
                 W. H. J. Feijen, A. J. M. van Gasteren, D. Gries, J.
                 Misra / The Problem of the Majority Network / 112--118
                 / doi:10.1007/978-1-4612-4476-9_13 \\
                 W. H. J. Feijen / A Little Exercise in Deriving
                 Multiprograms / 119--126 /
                 doi:10.1007/978-1-4612-4476-9_14 \\
                 A. J. M. van Gasteren / Experimenting with a Refinement
                 Calculus / 127--134 / doi:10.1007/978-1-4612-4476-9_15
                 \\
                 Mohamed G. Gouda / Serializable Programs,
                 Parallelizable Assertions: a Basis for Interleaving /
                 135--140 / doi:10.1007/978-1-4612-4476-9_16 \\
                 David Gries / Binary to Decimal, One More Time /
                 141--148 / doi:10.1007/978-1-4612-4476-9_17 \\
                 A. N. Habermann / Rotate and Double / 149--162 /
                 doi:10.1007/978-1-4612-4476-9_18 \\
                 Eric C. R. Hehner / Beautifying G{\"o}del / 163--172 /
                 doi:10.1007/978-1-4612-4476-9_19 \\
                 G. Helmberg / A Striptease of Entropy / 173--175 /
                 doi:10.1007/978-1-4612-4476-9_20 \\
                 Ted Herman / On a Theorem of Jacobson / 176--181 /
                 doi:10.1007/978-1-4612-4476-9_21 \\
                 Wim H. Hesselink / Modalities of Nondeterminacy /
                 182--192 / doi:10.1007/978-1-4612-4476-9_22 \\
                 C. A. R. Hoare / A Theory for the Derivation of C-mos
                 Circuit Designs / 193--205 /
                 doi:10.1007/978-1-4612-4476-9_23 \\
                 Rob Hoogerwoord / On Mathematical Induction and the
                 Invariance Theorem / 206--211 /
                 doi:10.1007/978-1-4612-4476-9_24 \\
                 J. J. Horning / Formalizing Some Classic
                 Synchronization Primitives / 212--219 /
                 doi:10.1007/978-1-4612-4476-9_25 \\
                 Cliff B. Jones / Consequences / 220--225 /
                 doi:10.1007/978-1-4612-4476-9_26 \\
                 Anne Kaldewaij / Shortest and Longest Segments /
                 226--232 / doi:10.1007/978-1-4612-4476-9_27 \\
                 Donald E. Knuth / A Simple Program Whose Proof Isn't /
                 233--242 / doi:10.1007/978-1-4612-4476-9_28 \\
                 Vadim E. Kotov / Binding Structure and Behaviour in
                 ``Whole Net'' Concurrency Semantics / 243--250 /
                 doi:10.1007/978-1-4612-4476-9_29 \\
                 F. E. J. Kruseman Aretz / Maximal Strong Components: An
                 Exercise in Program Presentation / 251--261 /
                 doi:10.1007/978-1-4612-4476-9_30 \\
                 Christian Lengauer, Duncan G. Hudson / A Systolic
                 Program for Gauss--Jordan Elimination / 262--273 /
                 doi:10.1007/978-1-4612-4476-9_31 \\
                 J. H. van Lint / Coding for Channels with Localized
                 Errors / 274--279 / doi:10.1007/978-1-4612-4476-9_32
                 \\
                 Johan J. Lukkien, Jan L. A. van de Snepscheut /
                 Topology-Independent Algorithms Based on Spanning Trees
                 / 280--288 / doi:10.1007/978-1-4612-4476-9_33 \\
                 Zohar Manna, Amir Pnueli / An Exercise in the
                 Verification of Multi--Process Programs / 289--301 /
                 doi:10.1007/978-1-4612-4476-9_34 \\
                 Alain J. Martin / The Limitations to
                 Delay--Insensitivity in Asynchronous Circuits /
                 302--311 / doi:10.1007/978-1-4612-4476-9_35 \\
                 Jayadev Misra / A Simple Proof of a Simple Consensus
                 Algorithm / 312--318 / doi:10.1007/978-1-4612-4476-9_36
                 \\
                 Carroll Morgan / Of wp and {CSP} / 319--326 /
                 doi:10.1007/978-1-4612-4476-9_37 \\
                 Joseph M. Morris / Programming by Expression
                 Refinement: the {KMP} Algorithm / 327--338 /
                 doi:10.1007/978-1-4612-4476-9_38 \\
                 Greg Nelson / Methodical Competitive Snoopy--Caching /
                 339--345 / doi:10.1007/978-1-4612-4476-9_39 \\
                 Peter G. Neumann / Beauty and the Beast of Software
                 Complexity Elegance versus Elephants / 346--351 /
                 doi:10.1007/978-1-4612-4476-9_40 \\
                 W. Peremans / A Note on Feasibility / 352--355 /
                 doi:10.1007/978-1-4612-4476-9_41 \\
                 Karel A. Post / A Curious Property of Points and
                 Circles in the Plane / 356--357 /
                 doi:10.1007/978-1-4612-4476-9_42 \\
                 Paul Pritchard / A Problem Involving Subsequences /
                 358--364 / doi:10.1007/978-1-4612-4476-9_43 \\
                 Martin Rem / A Personal Perspective of the
                 Alpern--Schneider Characterization of Safety and
                 Liveness / 365--372 / doi:10.1007/978-1-4612-4476-9_44
                 \\
                 Fred B. Schneider / Simpler Proofs for Concurrent
                 Reading and Writing / 373--379 /
                 doi:10.1007/978-1-4612-4476-9_45 \\
                 Carel S. Scholten / Goodbye Junctivity? / 380--385 /
                 doi:10.1007/978-1-4612-4476-9_46 \\
                 Henk C. A. van Tilborg / An Assignment Problem for the
                 Vertices of a Cycle / 386--389 /
                 doi:10.1007/978-1-4612-4476-9_47 \\
                 D. A. Turner / Duality and De Morgan Principles for
                 Lists / 390--398 / doi:10.1007/978-1-4612-4476-9_48 \\
                 W. M. Turski / The Quest for Timeless Specifications
                 Leads to Non--Stepping Automata / 399--409 /
                 doi:10.1007/978-1-4612-4476-9_49 \\
                 Jan Tijmen Udding / The Maximum Length of a Palindrome
                 in a Sequence / 410--416 /
                 doi:10.1007/978-1-4612-4476-9_50 \\
                 Lincoln A. Wallen / On Form, Formalism and Equivalence
                 / 417--426 / doi:10.1007/978-1-4612-4476-9_51 \\
                 N. Wirth / Drawing Lines, Circles, and Ellipses in a
                 Raster / 427--434 / doi:10.1007/978-1-4612-4476-9_52
                 \\
                 Jaap van der Woude / Calculations with Relations, an
                 Example / 435--441 / doi:10.1007/978-1-4612-4476-9_53
                 \\
                 Heinz Zemanek / Two Proofs for Pythagoras / 442--447 /
                 doi:10.1007/978-1-4612-4476-9_54 \\
                 Anonymous / Back Matter / 448--453",
}

@Proceedings{Anonymous:1991:PSI,
  editor =       "Anonymous",
  booktitle =    "Proceedings of the {Second International Modula-2
                 Conference, Modula-2 and Beyond: 11--13 September 1991,
                 Loughborough University of Technology, UK}",
  title =        "Proceedings of the {Second International Modula-2
                 Conference, Modula-2 and Beyond: 11--13 September 1991,
                 Loughborough University of Technology, UK}",
  publisher =    "Centre for Extension Studies, Loughborough University
                 of Technology",
  address =      "Loughborough, Leicestershire",
  pages =        "vi + 360",
  year =         "1991",
  LCCN =         "QA76.73.M63 I57 1991",
  bibdate =      "Thu Jan 11 05:49:19 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  acknowledgement = ack-nhfb,
}

@Book{Bergin:1996:HPL,
  editor =       "T. J. {Bergin, Jr.} and R. G. {Gibson, Jr.}",
  booktitle =    "History of programming languages: {II}",
  title =        "History of programming languages: {II}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "xvi + 864",
  year =         "1996",
  DOI =          "https://doi.org/10.1145/234286",
  ISBN =         "0-201-89502-1",
  ISBN-13 =      "978-0-201-89502-5",
  LCCN =         "QA76.7 .H57 1996",
  bibdate =      "Tue Jul 26 09:43:56 MDT 2022",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 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",
  abstract =     "This specially prepared work compromises a living
                 archive of important programming languages, described
                 by the people most instrumental in their creation and
                 development. Drawn from the ACM/SIGPLAN Second History
                 of Programming Languages Conference, this volume, like
                 the earlier book from the first such conference (HOPL),
                 conveys the motivations of the language designers and
                 the reasons why they rejected existing languages and
                 created new ones. The book relates the processes by
                 which different languages evolved, in the words of the
                 individuals active in the languages' development. Most
                 important, participants share insights about influences
                 and decisions, both on choices made and on the many
                 roads not taken. In the book's conclusion,
                 distinguished historians of computing share views about
                 preserving programming language history.''--BOOK
                 JACKET. ``Fourteen chapters cover a broad range of
                 languages in wide use today, as well as lesser known
                 languages that made significant contributions to
                 programming language evolution: C, C++, Smalltalk,
                 Pascal, Ada, Prolog, Lisp, ALGOL 68, FORMAC, CLU, Icon,
                 Forth, Monitors and Concurrent Pascal, and Discrete
                 Simulation Languages. Prominent contributors to the
                 book are Frederick Brooks, Alain Colmerauer, Richard
                 Gabriel, Ralph Griswold, Per Brinch Hansen, Alan Kay,
                 C. H. Lindsey, Barbara Liskov, Richard Nance, Elizabeth
                 Rather, Dennis Ritchie, Jean Sammet, Guy Steele, Bjarne
                 Stroustrup, William Whitaker, and Niklaus Wirth.
                 Together, the conference contributors and the book's
                 editors have put together a volume of interest to
                 researchers, teachers, students, and computing
                 professionals everywhere who are involved in the use or
                 the development of programming languages today.",
  acknowledgement = ack-nhfb,
  tableofcontents = "Development of the HOPL-II Program \\
                 Conference Chairman's Opening Remarks / John A. N. Lee
                 \\
                 Language Design as Design / Frederick P. Brooks, Jr.
                 \\
                 From HOPL to HOPL-II (1978--1993): 15 Years of
                 Programming Language Development / Jean E. Sammet \\
                 Making History / Michael S. Mahoney \\
                 History of ALGOL 68 / C. H. Lindsey \\
                 Recollections about the Development of Pascal / N.
                 Wirth \\
                 Monitors and Concurrent Pascal: a Personal History /
                 Per Brinch Hansen \\
                 ADA \\
                 The Project: The DoD High Order Language Working Group
                 / William A. Whitaker \\
                 Evolution of Lisp / Guy L. Steele, Jr. and Richard P.
                 Gabriel \\
                 Birth of Prolog / Alain Colmerauer and Philippe Roussel
                 \\
                 History of Discrete Event Simulation Programming
                 Languages / Richard E. Nance \\
                 Beginning and Development of Formac (FORmula
                 MAnipulation Compiler) / Jean E. Sammet \\
                 History of CLU / Barbara Liskov \\
                 Early History of Smalltalk / Alan C. Kay \\
                 History of the Icon Programming Language / Ralph E.
                 Griswold and Madge T. Griswold \\
                 Evolution of Forth / Donald R. Colburn, Charles H.
                 Moore and Elizabeth D. Rather \\
                 Development of the C Programming Language / Dennis M.
                 Ritchie \\
                 History of C++: 1979--1991 / Bjarne Stroustrup \\
                 Issues in the History of Computing / Michael S. Mahoney
                 \\
                 Archives Specializing in the History of Computing /
                 Bruce H. Bruemmer \\
                 Role of Museums in Collecting Computers / Gwen Bell /
                 Edited by Robert F. Rosin \\
                 Annals of the History of Computing and Other Journals /
                 Bernard A. Galler \\
                 Effective History Conference / Jean E. Sammet \\
                 University Courses / Martin Campbell-Kelly \\
                 Documenting Projects with History in Mind / Michael
                 Marcotty \\
                 Issues in the Writing of Contemporary History / J. A.
                 N. Lee \\
                 Forum Closing Panel \\
                 Appendix A: What Makes History? / Michael S. Mahoney
                 \\
                 Appendix B: Call for Papers \\
                 Appendix C: List of Attendees \\
                 Appendix D: Final Conference Program",
}

@Proceedings{Bjorner:1996:PSI,
  editor =       "Dines Bj{\o}rner and Manfred Broy and Igor V.
                 Pottosin",
  booktitle =    "Perspectives of System Informatics: {Second
                 International Andrei Ershov Memorial Conference,
                 Akademgorodok, Novosibirsk, Russia, June 25--28, 1996,
                 Proceedings}",
  title =        "Perspectives of System Informatics: {Second
                 International Andrei Ershov Memorial Conference,
                 Akademgorodok, Novosibirsk, Russia, June 25--28, 1996,
                 Proceedings}",
  volume =       "1181",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  bookpages =    "xvii + 446",
  pages =        "xvii + 446",
  year =         "1996",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/3-540-62064-82",
  ISBN =         "3-540-62064-8",
  ISBN-13 =      "978-3-540-62064-8",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  LCCN =         "QA75.5 .I5443 1996",
  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)",
  tableofcontents = "Semantics and laws of man-made infrastructure
                 systems \\
                 The language lola, FPGAs, and PLDs in teaching digital
                 circuit design \\
                 Calculating digital counters \\
                 Generic programming \\
                 Algebraic semantics of the Oberon target machine \\
                 The making of Algol 68 \\
                 Artificial life and pollution control: Explorations of
                 a genetic algorithm system on the highly parallel
                 connection machine \\
                 Application of subdefinite models for solving
                 constraint satisfaction problems \\
                 Problem solving in the object-oriented technological
                 environment NeMo+ \\
                 What a universal semantic interlingua can and cannot do
                 \\
                 Understanding short texts with integration of knowledge
                 representation methods \\
                 Co-learning of recursive languages from positive data
                 \\
                 Automatic analysis, verification and synthesis of
                 rule-based real-time decision making systems with
                 machine learning assistance \\
                 Processes in cause-effect structures \\
                 On the power of recursion in dataflow Schemes \\
                 Derivation of explicitly parallel code from declarative
                 program by transformations \\
                 Actors as a coordinating model of computation (extended
                 abstract) \\
                 An associative version of the Prim-Dijkstra algorithm
                 and its application to some graph problems \\
                 Adding design strategies to fork algebras \\
                 Supercompilation: Techniques and results \\
                 Program transformation with metasystem transitions:
                 Experiments with a supercompiler \\
                 Fast binding-time analysis for multi-level
                 specialization \\
                 BTA Algorithms to ensure termination of off-line
                 partial evaluation \\
                 Polyvariant expansion and compiler generators \\
                 The disjunctive constrained lambda calculus \\
                 Efficient metaobject control using mediators \\
                 Framework component systems: Concepts, design
                 heuristics, and perspectives \\
                 Prototype of a run-time acceptable, object-oriented
                 system \\
                 The tree equivalence problem for linear recursion
                 schemes \\
                 A mode analysis of logic programs by abstract
                 interpretation \\
                 A semantics-based determinacy analysis for prolog with
                 cut \\
                 Communicating functional agents and their application
                 to graphical user interfaces \\
                 The design of a functional GUI library using
                 constructor classes \\
                 Merging relational database technology with constraint
                 technology \\
                 On homeostatic behavior of dynamic deductive data bases
                 \\
                 On transformations into linear database logic
                 programs",
}

@Book{BrinchHansen:1996:SSE,
  author =       "Per {Brinch Hansen}",
  booktitle =    "The Search for Simplicity: Essays in Parallel
                 Programming",
  title =        "The Search for Simplicity: Essays in Parallel
                 Programming",
  publisher =    pub-IEEE,
  address =      pub-IEEE:adr,
  pages =        "xiv + 528",
  year =         "1996",
  ISBN =         "0-8186-7566-7",
  ISBN-13 =      "978-0-8186-7566-9",
  LCCN =         "QA76.642 .B756 1996",
  bibdate =      "Mon Jul 25 09:58:33 MDT 2022",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 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",
  abstract =     "This is the first collection of classic papers by
                 renowned computer scientist and author Per Brinch
                 Hansen. The book is intended for computer scientists
                 and programmers who are interested in the programming
                 principles of operating systems, parallel languages,
                 and computational science. These writings demonstrate
                 the author's ability to recognize the essence of
                 complex software problems and design simple working
                 systems of nontrivial size.",
  acknowledgement = ack-nhfb,
  subject =      "Parallel programming (Computer science); Programmation
                 parall{\`e}le (Informatique); Parallel programming
                 (Computer science)",
  tableofcontents = "1: RC 4000 Real-time Control System at Pulawy \\
                 2: Nucleus of a Multiprogramming System \\
                 3: Outline of a Course on Operating System Principles
                 \\
                 4: Structured Multiprogramming \\
                 5: Testing a Multiprogramming System \\
                 6: Shared Classes \\
                 7: Programming Language Concurrent Pascal \\
                 8: Solo Operating System: a Concurrent Pascal Program
                 \\
                 9: Solo Operating System: Processes, Monitors, and
                 Classes \\
                 10: Programmer as a Young Dog \\
                 11: Experience with Modular Concurrent Programming \\
                 12: Design Principles \\
                 13: Network: a Multiprocessor Program \\
                 14: Distributed Processes: a Concurrent Programming
                 Concept \\
                 15: Reproducible Testing of Monitors \\
                 16: Keynote Address on Concurrent Programming \\
                 17: Design of Edison \\
                 18: Joyce; A Programming Language for Distributed
                 Systems \\
                 19: Multiprocessor Implementation of Joyce \\
                 20: Nature of Parallel Programming \\
                 21: Monitors and Concurrent Pascal: a Personal History
                 \\
                 22: Model Programs for Computational Science: a
                 Programming Methodology for Multicomputers \\
                 23: Parallel Cellular Automata: a Model Program for
                 Computational Science \\
                 24: SuperPascal: a Publication Language for Parallel
                 Scientific Computing \\
                 25: Efficient Parallel Recursion",
}

@Proceedings{Mossenbock:1997:MPL,
  editor =       "Hanspeter Mossenbock",
  booktitle =    "{Modular programming languages: Joint Modular
                 Languages Conference, JML '97, Linz, Austria, March
                 19--21, 1997: proceedings}",
  title =        "{Modular programming languages: Joint Modular
                 Languages Conference, JML '97, Linz, Austria, March
                 19--21, 1997: proceedings}",
  volume =       "1204",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "x + 379",
  year =         "1997",
  CODEN =        "LNCSD9",
  DOI =          "????",
  ISBN =         "3-540-62599-2 (softcover)",
  ISBN-13 =      "978-3-540-62599-5 (softcover)",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  LCCN =         "QA76.6 .J6578 1997",
  bibdate =      "Mon Aug 25 09:50:07 MDT 1997",
  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/t1204.htm;
                 http://www.springerlink.com/content/978-3-540-62599-5;
                 http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=1204",
  acknowledgement = ack-nhfb,
  keywords =     "modular programming --- congresses; programming
                 languages (electronic computers) --- congresses",
}

@Book{Muhlbacher:1997:OPW,
  author =       "J{\"o}rg R. M{\"u}hlbacher and Bernhard Leisch and
                 Brian Kirk and Ulrich Kreuzeder",
  booktitle =    "{Oberon-2} Programming with {Windows}",
  title =        "{Oberon-2} Programming with {Windows}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "ix + 370 + 66",
  year =         "1997",
  DOI =          "https://doi.org/10.1007/978-3-642-45762-3",
  ISBN =         "3-540-62522-4, 3-642-45762-2 (e-book)",
  ISBN-13 =      "978-3-540-62522-3, 978-3-642-45762-3 (e-book)",
  LCCN =         "QA76.76.O63 O24 1997",
  bibdate =      "Sat Jan 20 09:29:29 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-642-45762-3",
  abstract =     "This book is a detailed introduction to programming in
                 Oberon-2, the object-oriented successor of Pascal.
                 Oberon-2 provides elegant support for programming using
                 a unique blend of structured and object-oriented
                 techniques. The book follows a hands-on approach to
                 teaching based on many examples, starting with basic
                 Oberon-2 language features and gradually increasing in
                 scope to cover the full range of object-oriented
                 programming. The book is completely self-contained and
                 enables readers to develop native Windows programs. It
                 comes with a multi-media CD-ROM (suitable for Windows
                 3.1x, Windows 95, and Windows NT 4.0) containing a full
                 Windows-based integrated development environment, all
                 the examples from the book, and a video tutorial to
                 give users an easy start. The included software can be
                 used and distributed freely.",
  acknowledgement = ack-nhfb,
  keywords =     "Microsoft Windows; Oberon-2",
  shorttableofcontents = "1: Introduction \\
                 2: First Steps \\
                 3: The Working Environment of POW! \\
                 4: Introduction to Oberon-2 \\
                 5: Object Oriented Programming \\
                 6: Oberon Portable Applications Library \\
                 7: Programming with the Windows-API \\
                 Appendix A: Oberon-2 for Pascal Programmers \\
                 Appendix B: The Programming Language Oberon-2 \\
                 Appendix C: Table of ASCII Codes \\
                 Literature \\
                 Index",
  subject =      "Object-oriented programming (Computer science);
                 Operating systems (Computers); Programming;
                 Programmation orient{\'e}e objet (Informatique);
                 Syst{\'e}mes d'exploitation (Ordinateurs); operating
                 systems.; Object-oriented programming (Computer
                 science); Operating systems (Computers)",
  tableofcontents = "1. Introduction \\
                 2. First Steps \\
                 2.1 Installation of POW! \\
                 2.2 Operating the system \\
                 2.3 A first program \\
                 3. The Working Environment of POW! \\
                 3.1 Basic ideas \\
                 3.2 Editor \\
                 3.3 Project management \\
                 3.4 Templates \\
                 3.5 Button bar \\
                 3.6 Configuration \\
                 3.7 Working with windows \\
                 3.8 Tools \\
                 3.9 On-line help \\
                 3.10 Menu functions \\
                 3.11 Typical errors \\
                 3.12 Advanced topics \\
                 4. Introduction to Oberon-2 \\
                 4.1 Introduction \\
                 4.2 Basics of a language \\
                 4.3 Basic language elements \\
                 4.4 Oberon-2 programs under POW! \\
                 4.5 Declarations \\
                 4.6 Statements \\
                 4.7 Expressions and assignments \\
                 4.8 Selection \\
                 4.9 Repeated execution (Iteration) \\
                 4.10 Structured data types \\
                 4.11 Procedures \\
                 4.12 Modules \\
                 4.13 Pointer types \\
                 4.14 Recursion \\
                 4.15 Exercises \\
                 5. Object-Oriented Programming \\
                 5.1 Introduction \\
                 5.2 From abstract data types to classes \\
                 5.3 Concepts \\
                 5.4 Design \\
                 5.5 Application Examples \\
                 5.6 An object-oriented project \\
                 5.7 Retrospective and summary \\
                 5.8 Exercises \\
                 6. Oberon Portable Applications Library \\
                 6.1 What is a library? \\
                 6.2 Overview of the modules \\
                 6.3 Notes on the Windows implementation \\
                 6.4 The module ColorPlane \\
                 6.5 The module Display \\
                 6.6 The module File \\
                 6.7 The module Float \\
                 6.8 The module In \\
                 6.9 The module Out \\
                 6.10 The module Param \\
                 6.11 The module Print \\
                 6.12 The module Process \\
                 6.13 The module Strings \\
                 6.14 The module Utils \\
                 6.15 The module Volume \\
                 6.16 The module XYplane \\
                 7. Programming with the Windows API \\
                 7.1 Overview \\
                 7.2 Language extensions \\
                 7.3 Interfaces to ``foreign'' DLLs \\
                 7.4 Basic Windows program \\
                 7.5 The Mini-resource compiler \\
                 Appendix A: Oberon-2 for Pascal programmers \\
                 A.1 Constants \\
                 A.2 Operators \\
                 A.3 Data types \\
                 A.4 Arrays \\
                 A.5 Strings \\
                 A.6 Open Arrays \\
                 A.7 Pointer types \\
                 A.8 Memory management \\
                 A.9 Compound data types \\
                 A.10 Extensions of record types \\
                 A.11 Procedure types \\
                 A.12 Control structures \\
                 A.13 Procedures \\
                 A.14 Type-bound procedures \\
                 A.15 Modules \\
                 A.16 Export of identifiers \\
                 A.17 Programs in Oberon-2 \\
                 A.18 Object-oriented programming \\
                 Appendix B: The Programming Language Oberon-2 \\
                 B.1 Introduction \\
                 B.2 Syntax \\
                 B.3 Vocabulary and Representation \\
                 B.4 Declarations and scope rules \\
                 B.5 Constant declarations \\
                 B.6 Type declarations \\
                 B.7 Variable declarations \\
                 B.8 Expressions \\
                 B.9 Statements \\
                 B.10 Procedure declarations \\
                 B.11 Modules \\
                 B.12 Definition of terms \\
                 B.13 Syntax of Oberon-2 \\
                 B.14 The module SYSTEM \\
                 B.15 Windows related language extensions \\
                 Appendix C: Table of ASCII Codes \\
                 Literature \\
                 Index",
}

@TechReport{Gutknecht:1999:OIL,
  author =       "J{\"u}rg Gutknecht",
  title =        "{Oberon} as an implementation language for {COM}
                 objects",
  type =         "Technical report",
  number =       "323",
  institution =  "Institute for Scientific Computing, ETH Z{\"u}rich",
  address =      "Z{\"u}rich, Switzerland",
  pages =        "22",
  year =         "1999",
  DOI =          "https://doi.org/10.3929/ethz-a-006653348",
  bibdate =      "Sat Jan 06 07:36:14 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://hdl.handle.net/20.500.11850/68819",
  abstract =     "This is a short report on a short project, carried out
                 during a 3-month sabbatical stay at Microsoft Research
                 in the fall of 1998. The motivation for this endeavor
                 was doublefold: (a) verify the degree of language
                 independence of the COM component technology and (b)
                 explore COM as a potential commercial environment and
                 framework for Oberon applications. The project finally
                 converged towards a simple case study, an electronic
                 accounting system implemented in Oberon as a COM server
                 under Windows NT and illustratively used by a Visual
                 Basic client.",
  acknowledgement = ack-nhfb,
}

@Book{Siefkes:1999:PII,
  editor =       "Dirk Siefkes and Anette Braun and Peter Eulenh{\"o}fer
                 and Heike Stach and Klaus St{\"a}dtler",
  booktitle =    "{Pioniere der Informatik: ihre Lebensgeschichte im
                 Interview: Interviews mit F. L. Bauer, C. Floyd, J.
                 Weizenbaum, N. Wirth und H. Zemanek}. ({German})
                 [{Pioneers} of computer science: their life stories in
                 an interview: Interviews with {F. L. Bauer}, {C.
                 Floyd}, {J. Weizenbaum}, {N. Wirth} and {H. Zemanek}]",
  title =        "{Pioniere der Informatik: ihre Lebensgeschichte im
                 Interview: Interviews mit F. L. Bauer, C. Floyd, J.
                 Weizenbaum, N. Wirth und H. Zemanek}. ({German})
                 [{Pioneers} of computer science: their life stories in
                 an interview: Interviews with {F. L. Bauer}, {C.
                 Floyd}, {J. Weizenbaum}, {N. Wirth} and {H. Zemanek}]",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "143",
  year =         "1999",
  DOI =          "https://doi.org/10.1007/978-3-642-58599-9",
  ISBN =         "3-642-58599-X, 3-642-63660-8 (print)",
  ISBN-13 =      "978-3-642-58599-9, 978-3-642-63660-8 (print)",
  LCCN =         "QA76.17",
  bibdate =      "Fri Aug 21 12:37:14 MDT 2020",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/b/bauer-friedrich-ludwig.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Geleitwort von Wilfried Brauer.",
  URL =          "http://link.springer.com/openurl?genre=book&isbn=978-3-642-63660-8",
  abstract =     "Der Band enth{\"a}lt f{\"u}nf Interviews mit Personen,
                 die die faszinierende Technik ``Computer'' und die
                 aufstrebende Wissenschaft ``Informatik'' entscheidend
                 mitgestaltet haben. Die Gespr{\"a}che wurden im Rahmen
                 eines Interdisziplin{\"a}ren Forschungsprojekts zur
                 ``Sozialgeschichte der Informatik'' der Technischen
                 Universit{\"a}t Berlin gef{\"u}hrt, in dem soziale und
                 kulturelle Einfl{\"u}sse auf die wissenschaftliche und
                 technische Entwicklung untersucht wurden. In den
                 f{\"u}nf Erz{\"a}hlungen verkn{\"u}pfen die Akteure
                 ihre Lebensumst{\"a}nde und Orientierungen mit dem
                 fr{\"u}hen Bau elektronischer Rechenanlagen, der
                 Erarbeitung von Programmiersprachen oder der
                 Etablierung der Disziplin Informatik. Sie betonen immer
                 wieder die Zuf{\"a}lligkeit wegweisender Informationen
                 und veranschaulichen gleichzeitig, wie unentbehrlich
                 Eigeninitiative und soziale wie fachliche Kompetenz
                 sind. Die Befragten stammen aus Deutschland,
                 {\"O}sterreich und der Schweiz und sind f{\"u}r ihre
                 Impulse und ihre Kritik weltweit bekannt und geachtet.
                 Sie geh{\"o}ren der ersten oder zweiten Generation von
                 Informatikpionieren an und berichten {\"u}ber
                 entsprechend weite Zeitr{\"a}ume. Ihre Geschichten
                 zeigen, wie sich in der wissenschaftlich-technischen
                 Entwicklung pers{\"o}nliche, fachliche und
                 zeitgeschichtliche Anteile mischen. Der Band wendet
                 sich gleicherma{\ss}en an Studierende und Lehrende der
                 Informatik, an Nutzer und Betroffene der
                 Computertechnik sowie an Forscher und Entwickler der
                 Informations- und Kommunikationstechnologie - an alle,
                 die aus den vergangenen Entwicklungen lernen wollen,
                 mit den gegenw{\"a}rtigen besser umzugehen.",
  acknowledgement = ack-nhfb,
  language =     "German",
  subject =      "Computer science; Mathematics; Engineering; Computer
                 science; Engineering; Mathematics; Bauer, Friedrich
                 Ludwig; entretien; Wirth, Niklaus; Floyd, Christiane;
                 Weizenbaum, Joseph; Zemanek, Heinz; informaticien;
                 biographie.",
  subject-dates = "Friedrich (``Fritz'') Ludwig Bauer (10 June 1924--26
                 March 2015); Niklaus Wirth (15 February 1934--1 January
                 2024)",
  tableofcontents = "Geleitwort / vii--x \\
                 Vorwort / xi--xiii \\
                 1: Heinz Zemanek / 1--20 \\
                 2: Joseph Weizenbaum / 31--59 \\
                 3: Friedrich L. Bauer / 61--105 \\
                 4: Niklaus Wirth / 107--124 \\
                 5: Christiane Floyd / 125--143",
}

@Book{Boszormenyi:2000:SNW,
  editor =       "L{\'a}szl{\'o} B{\"o}sz{\"o}rm{\'e}nyi",
  booktitle =    "The school of {Niklaus Wirth}: the art of simplicity",
  title =        "The school of {Niklaus Wirth}: the art of simplicity",
  publisher =    "dpunkt-Verlag",
  address =      "Heidelberg, Germany",
  pages =        "viii + 260",
  year =         "2000",
  ISBN =         "1-55860-723-4 (Morgan Kaufmann), 3-932588-85-1
                 (dpunktVerl.)",
  ISBN-13 =      "978-1-55860-723-1 (Morgan Kaufmann), 978-3-932588-85-3
                 (dpunktVerl.)",
  LCCN =         "QA76.756 .S36 2000",
  MRclass =      "*68N25, 01A70, 68-02, 68-03, 68N15",
  bibdate =      "Fri Jan 5 16:41:41 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  URL =          "http://digitale-objekte.hbz-nrw.de/storage2/2016/09/08/file_8/6866144.pdf",
  acknowledgement = ack-nhfb,
  subject =      "Wirth; Niklaus; Aufsatzsammlung; Programmierung;
                 Compiler; Programmiersprache; Oberon;
                 (Programmiersprache); Modula",
  subject-dates = "Niklaus Wirth (15 February 1934--1 January 2024)",
  tableofcontents = "Introduction / L{\'a}szl{\'o}
                 B{\"o}sz{\"o}rm{\'e}nyi / 1 \\
                 Part I \\
                 Niklaus Wirth: a pioneer of computer science / Gustav
                 Pomberger, Hanspeter M{\"o}ssenb{\"o}ck, Peter
                 Rechenberg / 5 \\
                 Part II \\
                 Niklaus Wirth and Edsger W. Dijkstra \\
                 From programming language design to computer
                 construction / Niklaus Wirth / 21 \\
                 On the transitive closure of a well-founded relation /
                 Edsger W. Dijkstra / 31 \\
                 Part III \\
                 The Teachings of a Scholar as Told by his Pupils ---
                 Common Work in Retrospect \\
                 Oberon: the overlooked jewel / Michael Franz / 41 \\
                 Compiler construction: the art of Niklaus Wirth /
                 Hanspeter M{\"o}ssenb{\"o}ck / 55 \\
                 Medos in retrospect / Svend Erik Knudsen / 69 \\
                 Lean systems in an intrinsically complex world / Peter
                 Schulthess / 87 \\
                 Learning the value of simplicity / Stephan W. Gehring /
                 95 \\
                 Part IV \\
                 New Ways in Education and Research \\
                 Compiler construction versus Lotus Notes{\TM}: a
                 strange battle / J{\"u}rg Gutknecht / 101 \\
                 Modules and components: rivals or partners? / Clemens
                 Szyperski / 121 \\
                 A compiler for the Java HotSpot{\TM} virtual machine /
                 Robert Griesemer, Srdjan Mitrovic / 133 \\
                 Designing a cluster network / Hans Eberle / 153 \\
                 Programming with functional nets / Martin Odersky / 173
                 \\
                 Part V \\
                 Mastering Simplicity --- in the Industry \\
                 Lilith meets the world of business / Bernhard Wagner /
                 203 \\
                 The chip company that made \$100M with MODULA-2 /
                 Robert Burton, Farrell Ostler, Thorn Boyer, Fon Brown,
                 Matt Morrise / 219 \\
                 FFF97: Oberon in the real world / Josef Templ / 227 \\
                 Part VI \\
                 The World According to Wirth --- Personal, Anecdotal
                 Reviews \\
                 Serendipity / Kathleen Jensen / 245 \\
                 Daily life with N. Wirth / Jirka Hoppe / 247 \\
                 Third millennium culture / Ann D{\"u}nki / 253 \\
                 Authors and Editors / 255",
}

@Proceedings{Gutknecht:2000:MPL,
  editor =       "Jurg Gutknecht and Wolfgang Weck",
  booktitle =    "{Modular programming languages: Joint Modular
                 Languages Conference, JMLC 2000, Z{\"u}rich,
                 Switzerland, September 6--8, 2000: Proceedings}",
  title =        "{Modular programming languages: Joint Modular
                 Languages Conference, JMLC 2000, Z{\"u}rich,
                 Switzerland, September 6--8, 2000: Proceedings}",
  volume =       "1897",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xii + 298",
  year =         "2000",
  CODEN =        "LNCSD9",
  DOI =          "????",
  ISBN =         "3-540-67958-8",
  ISBN-13 =      "978-3-540-67958-5",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  LCCN =         "QA76.6 .J6578 2000",
  bibdate =      "Mon Oct 16 18:31:56 MDT 2000",
  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/t1897.htm;
                 http://www.springerlink.com/content/978-3-540-67958-5;
                 http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=1897",
  acknowledgement = ack-nhfb,
  keywords =     "modular programming --- congresses; programming
                 languages (electronic computers) --- congresses",
}

@Proceedings{Bjarner:2001:PSI,
  editor =       "Dines Bj{\"a}rner and Manfred Broy and Alexandre V.
                 Zamulin",
  booktitle =    "Perspectives of System Informatics: {Fourth
                 International Andrei Ershov memorial Conference, PSI
                 2001, Akademgorodok, Novosibirsk, Russia, July 2001:
                 revised papers}",
  title =        "Perspectives of System Informatics: {Fourth
                 International Andrei Ershov memorial Conference, PSI
                 2001, Akademgorodok, Novosibirsk, Russia, July 2001:
                 revised papers}",
  volume =       "2244",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xiii + 548",
  year =         "2001",
  DOI =          "https://doi.org/10.1007/3-540-45575-2_52",
  ISBN =         "3-540-43075-X (softcover), 3-540-45575-2 (e-book)",
  ISBN-13 =      "978-3-540-43075-9",
  LCCN =         "QA75.5 .I52 2001",
  MRclass =      "99-03",
  MRnumber =     "2049192",
  bibdate =      "Fri Jan 5 06:09:46 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  series =       ser-LNCS,
  acknowledgement = ack-nhfb,
  tableofcontents = "[Part 1] Memorial session \\
                 A. P. Ershov: a pioneer and a leader of national
                 programming \\
                 A. A. Lyapunov and A. P. Ershov in the theory of
                 program schemes and the development of its logic
                 concepts \\
                 [Part 2] Computing and algorithms \\
                 The abstract state machine paradigm: What is in and
                 what is out \\
                 On algorithmic unsolvability \\
                 [Part 3] Logic methods \\
                 Resolution and binary decision diagrams cannot simulate
                 each other polynomially \\
                 On expressive and model checking power of propositional
                 program logics \\
                 An extension of dynamic logic for modelling OCL's @pre
                 operator \\
                 Optimal algorithms of event-driven re-evaluation of
                 Boolean functions \\
                 [Part 4] Verification \\
                 A transformation of SDL specifications: a step towards
                 the verification \\
                 Accurate widenings and boundedness properties of timed
                 systems \\
                 Adaptive saturation-based reasoning \\
                 A verification approach for distributed abstract state
                 machines \\
                 [Part 5] Program transformation and synthesis \\
                 Transformational construction of correct pointer
                 algorithms \\
                 A theoretical foundation of program synthesis by
                 equivalent transformation \\
                 Equivalent transformation by safe extension of data
                 structures \\
                 Semantics and transformations in formal synthesis at
                 system level \\
                 Automated program synthesis for Java programming
                 language \\
                 [Part 6] Semantics and types \\
                 The varieties of programming language semantics (and
                 their uses) \\
                 Binding-time analysis for polymorphic types \\
                 An investigation of compact and efficient number
                 representations in the pure Lambda calculus \\
                 [Part 7] Processes and concurrency \\
                 Observational semantics for timed event structures \\
                 The impact of synchronisation on secure information
                 flow in concurrent programs \\
                 Dynamical priorities without time measurement and
                 modification of the TCP \\
                 [Part 8] UML specification \\
                 From ADT to UML-like modelling \\
                 Transformation of UML specification to XTG \\
                 [Part 9] Petri nets \\
                 A systematic approach towards object-based Petri net
                 formalisms \\
                 Unfoldings of coloured Petri nets \\
                 A net-based multi-tier behavior inheritance modelling
                 method \\
                 [Part 10] Testing \\
                 Specification based testing: Towards practice \\
                 Java specification extension for automated test
                 development \\
                 Specification-based testing of firewalls \\
                 [Part 11] Software construction \\
                 Academic vs. industrial software engineering: Closing
                 the gap \\
                 A method for recovery and maintenance of software
                 architecture \\
                 An empirical study of retargetable compilers \\
                 [Part 12] Data and knowledge bases \\
                 Conceptual data modeling: an algebraic viewpoint \\
                 Integrating and managing conflicting data \\
                 A knowledge engineering approach to deal with
                 'narrative' multimedia documents \\
                 Using agents for concurrent querying of web-like
                 databases via a hyper-set theoretic approach \\
                 [Part 13] Logic programming \\
                 Reexecution-based analysis of logic programs with delay
                 declarations \\
                 Pos(T): Analyzing dependencies in typed logic programs
                 \\
                 A prolog tailoring technique on an epilog tailored
                 procedure \\
                 [Part 14] Constraint programming \\
                 Hierarchical constraint satisfaction based on
                 subdefinite models \\
                 Using constraint solvers in CAD/CAM systems \\
                 A graphical interface for solver cooperations \\
                 [Part 15] Program analysis \\
                 Abstract computability of non-deterministic programs
                 over various data structures \\
                 On lexicographic termination ordering with space bound
                 certifications \\
                 Generalised computability and applications to hybrid
                 systems \\
                 [Part 16] Language implementation \\
                 Exploring template template parameters \\
                 Compiler-cooperative memory management in Java \\
                 A software composition language and its implementation
                 \\
                 Editor definition language and its implementation \\
                 Oberon-2 as successor of Modula-2 in simulation",
}

@Book{BrinchHansen:2001:COS,
  author =       "Per {Brinch Hansen}",
  booktitle =    "Classic Operating Systems: from Batch Processing to
                 Distributed Systems",
  title =        "Classic Operating Systems: from Batch Processing to
                 Distributed Systems",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "x + 597",
  year =         "2001",
  DOI =          "https://doi.org/10.1007/978-1-4757-3510-9",
  ISBN =         "0-387-95113-X",
  ISBN-13 =      "978-0-387-95113-3",
  LCCN =         "QA76.76.O63 B7425 2001",
  bibdate =      "Thu Jun 7 17:23:26 MDT 2018",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
                 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/unix.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0816/00045036-d.html;
                 http://www.loc.gov/catdir/enhancements/fy0816/00045036-t.html;
                 https://link.springer.com/book/10.1007/978-1-4757-3510-9",
  abstract =     "This remarkable anthology allows the pioneers who
                 orchestrated the major breakthroughs in operating
                 system technology to describe their work in their own
                 words. From the batch processing systems of the 1950s
                 to the distributed systems of the 1990s, Tom Kilburn,
                 David Howarth, Bill Lynch, Fernando Corbat{\'o}, Robert
                 Daley, Sandy Fraser, Dennis Ritchie, Ken Thompson,
                 Edsger Dijkstra, Per {Brinch Hansen}, Soren Lauesen,
                 Barbara Liskov, Joe Stoy, Christopher Strachey, Butler
                 Lampson, David Redell, Brian Randell, Andrew Tanenbaum,
                 and others describe the systems they designed. The
                 volume details such classic operating systems as the
                 Atlas, B5000, Exec II, Egdon, CTSS, Multics, Titan,
                 Unix, THE, RC 4000, Venus, Boss 2, Solo, OS 6, Alto,
                 Pilot, Star, WFS, Unix United, and Amoeba systems. An
                 introductory essay on the evolution of operating
                 systems summarizes the papers and helps puts them into
                 a larger perspective. This provocative journey captures
                 the historic contributions of operating systems to
                 software design, concurrent programming, graphic user
                 interfaces, file systems, personal computing, and
                 distributed systems. It also fully portrays how
                 operating systems designers think. It's ideal for
                 everybody in the field, from students to professionals,
                 academics to enthusiasts.",
  acknowledgement = ack-nhfb,
  subject =      "Operating systems (Computers)",
  tableofcontents = "Front Matter / i--x \\
                 The Evolution of Operating Systems \\
                 The Evolution of Operating Systems / Per {Brinch
                 Hansen} (2000) / 1--34 \\
                 Part I: Open Shop \\
                 Front Matter / 35--35 \\
                 1: The IBM 701 Computer at the General Motors Research
                 Laboratories / George F. Ryckman (1983) / 37--40 \\
                 Part II: Batch Processing \\
                 Front Matter / 41--41 \\
                 2: The BKS System for the Philco-2000 (1961) / Richard
                 B. Smith / 43--45 \\
                 Part III: Multiprogramming \\
                 Front Matter / 47--47 \\
                 3: The Atlas Supervisor / Tom Kilburn, R. Bruce Payne
                 and David J. Howarth (1961) / 49--77 \\
                 4: Operating System for the B5000 / Clark Oliphint
                 (1964) / 78--87 \\
                 5: Description of a High Capacity, Fast Turnaround
                 University Computing Center / William C. Lynch (1966) /
                 88--101 \\
                 6: The Egdon System for the KDF9 / David Burns, E.
                 Neville Hawkins, D. Robin Judd, and John L. Venn (1966)
                 / 102--114 \\
                 Part IV: Timesharing \\
                 Front Matter / 115--115 \\
                 7: An Experimental Time-Sharing System / Fernando
                 Corbat{\'o}, Marjorie Merwin-Daggett and Robert C.
                 Daley (1962) / 117--137 \\
                 8: A General-Purpose File System for Secondary Storage
                 / Robert C. Daley and Peter G. Neumann (1965) /
                 138--166 \\
                 9: File Integrity in a Disc-Based Multi-Access System /
                 A. G. Fraser (1972) / 167--194 \\
                 10: The Unix Time-Sharing System / Dennis M. Ritchie,
                 Ken Thompson (1974) / 195--220 \\
                 Part V: Concurrent Programming \\
                 Front Matter / 221--221 \\
                 11: The Structure of the ``THE'' Multiprogramming
                 System / Edsger W. Dijkstra (1968) / 223--236 \\
                 12: RC 4000 Software: Multiprogramming System / Per
                 Brinch Hansen (1969) / 237--281 \\
                 13: The Design of the Venus Operating System / Barbara
                 H. Liskov (1972) / 282--294 \\
                 14: A Large Semaphore Based Operating System / S{\o}ren
                 Lauesen (1975) / 295--323 \\
                 15: The Solo Operating System: A Concurrent Pascal
                 Program / Per {Brinch Hansen} (1976) / 324--336 \\
                 16: The Solo Operating System: Processes, Monitors and
                 Classes (1976) / Per {Brinch Hansen} / 337--384 \\
                 Part VI: Personal Computing \\
                 Front Matter / 385--385 \\
                 17: OS6 --- An Experimental Operating System for a
                 Small Computer: Input/Output and Filing System / Joe E.
                 Stoy, Christopher Strachey (1972) / 387--413 \\
                 18: An Open Operating System for a Single-User Machine
                 / Butler W. Lampson, Robert F. Sproull (1979) /
                 414--432 \\
                 19: Pilot: An Operating System for a Personal Computer
                 / David D. Redell, Yogen K. Dalal, Thomas R. Horsley,
                 Hugh C. Lauer, William C. Lynch, Paul R. McJones, Hal
                 G. Murray, and Stephen C. Purcell (1980) / 433--459 \\
                 20: The Star User Interface: An Overview / David C.
                 Smith, Charles Irby, Ralph Kimball, Eric Harslem (1982)
                 / 460--490 \\
                 Part VII: Distributed Systems \\
                 Front Matter / 491--491 \\
                 21: WFS: A Simple Shared File System for a Distributed
                 Environment / Daniel Swinehart, Gene McDaniel, David
                 Boggs (1979) / 493--510 \\
                 22: The Design of a Reliable Remote Procedure Call
                 Mechanism / Santosh Shrivastava, Fabio Panzieri (1982)
                 / 511--527 \\
                 23: The Newcastle Connection or Unixes of the World
                 Unite / David R. Brownbridge, Lindsay F. Marshall,
                 Brian Randell (1982) / 528--549 \\
                 24: Experiences with the Amoeba Distributed Operating
                 System / Andrew S. Tanenbaum, Robbert Van Renesse, Hans
                 Van Staveren, Gregory J. Sharp, Sape J. Mullender, Jack
                 Jansen, and Guido Van Rossum (1990) / 550--586 \\
                 Back Matter (Bibliography) / 587--597",
}

@Proceedings{Broy:2001:PTC,
  editor =       "Manfred Broy and Ernst Denert",
  booktitle =    "{Pioneers and Their Contributions to Software
                 Engineering: sd\&m Conference on Software Pioneers,
                 Bonn, June 28\slash 29, 2001, Original Historic
                 Contributions}",
  title =        "{Pioneers and Their Contributions to Software
                 Engineering: sd\&m Conference on Software Pioneers,
                 Bonn, June 28\slash 29, 2001, Original Historic
                 Contributions}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "vi + 569",
  year =         "2001",
  DOI =          "https://doi.org/10.1007/978-3-642-48354-7",
  ISBN =         "3-540-42290-0 (print), 3-642-48354-2 (e-book)",
  ISBN-13 =      "978-3-540-42290-7 (print), 978-3-642-48354-7
                 (e-book)",
  LCCN =         "QA76.758",
  bibdate =      "Wed Mar 18 16:02:44 MDT 2015",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/b/bauer-friedrich-ludwig.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.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",
  acknowledgement = ack-nhfb,
  author-dates = "Friedrich (``Fritz'') Ludwig Bauer (10 June 1924--26
                 March 2015); Niklaus Wirth (15 February 1934--1 January
                 2024)",
  remark =       "Sonderausgabe: Buch nicht im Handel erh{\"a}ltlich
                 (special edition: book is not available in stores).
                 This conference was the last occasion at which Edsger
                 Dijkstra spoke publicly. He died 13 months later",
  subject =      "Computer science; Software engineering; Computer
                 science; Software engineering.",
  tableofcontents = "K. Samelson, F. L. Bauer / Sequentielle
                 Formel{\"u}bersetzung / 3 \\
                 Friedrich L. Bauer / Verfahren zur automatischen
                 Verarbeitung von kodierten Daten und Rechenmaschinen
                 zur Aus{\"u}bung des Verfahrens / 31 \\
                 Rudolf Bayer, E. McCreight / Organization and
                 Maintenance of Large Ordered Indexes / 43 \\
                 E. F. Codd / A Relational Model of Data for Large
                 Shared Data Banks / 63 \\
                 Barry Boehm / Software Engineering Economics / 101 \\
                 Fred Brooks, G. H. Mealy, B. I. Witt, W. A. Clark / The
                 Functional Structure of OS/360 / 153 \\
                 Peter Chen / The Entity Relationship Model --- Toward a
                 Unified View of Data / 207 \\
                 Ole-Johan Dahl, Kristen Nygaard / Class and Subclass
                 Declarations / 237 \\
                 Tom DeMarco / Structure Analysis and System
                 Specification / 257 \\
                 Edsger Dijkstra / Solution of a Problem in Concurrent
                 Programming Control / 291 \\
                 Edsger Dijkstra / Go To Statement Considered Harmful /
                 297 \\
                 Michael Fagan / Design and Code Inspections to Reduce
                 Errors in Program Development / 303 \\
                 Michael Fagan / Advances in Software Inspections / 337
                 \\
                 Erich Gamma, Richard Helm, Ralph Johnson, John
                 Vlissides / Design Patterns: Abstraction and Reuse of
                 Object-Oriented Design / 363 \\
                 John Guttag / Abstract Data Types and the Development
                 of Data Structures / 391 \\
                 C. A. R. Hoare / An Axiomatic Basis for Computer
                 Programming / 421 \\
                 C. A. R. Hoare / Proof of Correctness of Data
                 Representations / 441 \\
                 Michael Jackson / Constructive Methods of Program
                 Design / 455 \\
                 David L. Parnas / On the Criteria to Be Used in
                 Decomposing Systems into Modules / 481 \\
                 David L. Parnas / On a 'Buzzword': Hierarchical
                 Structure / 501 \\
                 Niklaus Wirth / The Programming Language Pascal / 517
                 \\
                 Niklaus Wirth / Program Development by Stepwise
                 Refinement / 547",
}

@Book{BrinchHansen:2002:OCP,
  editor =       "Per {Brinch Hansen}",
  booktitle =    "The Origin of Concurrent Programming: From Semaphores
                 to Remote Procedure Calls",
  title =        "The Origin of Concurrent Programming: From Semaphores
                 to Remote Procedure Calls",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "x + 534",
  year =         "2002",
  DOI =          "https://doi.org/10.1007/978-1-4757-3472-0",
  ISBN =         "0-387-95401-5, 1-4419-2986-X, 1-4757-3472-7,
                 1-4757-3472-7",
  ISBN-13 =      "978-0-387-95401-1, 978-1-4419-2986-0,
                 978-1-4757-3472-0, 978-1-4757-3473-7",
  LCCN =         "QA76.642 .O75 2002",
  bibdate =      "Thu Jul 21 15:50:51 MDT 2022",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.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",
  URL =          "http://link.springer.com/10.1007/978-1-4757-3472-0",
  abstract =     "One cannot build or understand a modern operating
                 system unless one knows the principles of concurrent
                 programming. This volume is a collection of 19 original
                 papers on the invention and origins of concurrent
                 programming, illustrating the major breakthroughs in
                 the field from the mid 1960s to the late 1970s. All of
                 them are written by the pioneers in concurrent
                 programming, including Brinch Hansen himself, and have
                 introductions added that summarize the papers and put
                 them in perspective. This anthology is an essential
                 reference for professional programmers, researchers,
                 and students of electrical engineering and computer
                 science. A familiarity with operating system principles
                 is assumed.",
  acknowledgement = ack-nhfb,
  subject =      "Programming Techniques",
  tableofcontents = "The invention of concurrent programming / Per
                 Brinch Hansen \\
                 Cooperating sequential processes \\
                 The structure of the ``THE'' multiprogramming system /
                 Edsger W. Dijkstra \\
                 RC 4000 software: multiprogramming system / Per Brinch
                 Hansen \\
                 Hierarchical ordering of sequential processes / Edsger
                 W. Dijkstra \\
                 Towards a theory of parallel programming / C. A. R.
                 Hoare \\
                 An outline of a course on operating system principles
                 \\
                 Structured multiprogramming \\
                 Shared classes / Per Brinch Hansen \\
                 Monitors: an operating system structuring concept / C.
                 A. R. Hoare \\
                 The programming language concurrent Pascal \\
                 The Solo operating system: a concurrent Pacal program
                 \\
                 The Solo operating system: processes, monitors and
                 classes \\
                 Design principles / Per Brinch Hansen \\
                 A synthesis emerging? / Edsger W. Dijkstra \\
                 Communicating sequential processes / C. A. R. Hoare \\
                 Distributed processes: a concurrent programming concept
                 \\
                 Joyce: a programming language for distributed systems
                 \\
                 SuperPascal: a publication language for parallel
                 scientific computing \\
                 Efficient parallel recursion / Per Brinch Hansen",
}

@Book{Broy:2002:SPC,
  editor =       "Manfred Broy and Ernst Denert",
  booktitle =    "Software Pioneers: Contributions to Software
                 Engineering",
  title =        "Software Pioneers: Contributions to Software
                 Engineering",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  bookpages =    "728",
  pages =        "728",
  year =         "2002",
  DOI =          "https://doi.org/10.1007/978-3-642-59412-0",
  ISBN =         "3-540-43081-4, 3-642-59412-3 (e-book), 3-642-59413-1,
                 3-642-63970-4 (print)",
  ISBN-13 =      "978-3-540-43081-0, 978-3-642-59412-0 (e-book),
                 978-3-642-59413-7, 978-3-642-63970-8 (print)",
  LCCN =         "QA76.758",
  bibdate =      "Mon Jan 8 08:23:45 2024",
  bibsource =    "https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.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",
  URL =          "http://link.springer.com/10.1007/978-3-642-59412-0",
  abstract =     "A lucid statement of the philosophy of modular
                 programming can be found in a 1970 textbook on the
                 design of system programs by Gouthier and Pont [1, l
                 Cfl0. 23], which we quote below: A well-defined
                 segmentation of the project effort ensures system
                 modularity. Each task forms a separate, distinct
                 program module. At implementation time each module and
                 its inputs and outputs are well-defined, there is no
                 confusion in the intended interface with other system
                 modules. At checkout time the integrity of the module
                 is tested independently; there are few scheduling
                 problems in synchronizing the completion of several
                 tasks before checkout can begin. Finally, the system is
                 maintained in modular fashion; system errors and
                 deficiencies can be traced to specific system modules,
                 thus limiting the scope of detailed error searching.
                 Usually nothing is said about the criteria to be used
                 in dividing the system into modules. This paper will
                 discuss that issue and, by means of examples, suggest
                 some criteria which can be used in decomposing a system
                 into modules. A Brief Status Report The major
                 advancement in the area of modular programming has been
                 the development of coding techniques and assemblers
                 which (1) allow one modu1e to be written with little
                 knowledge of the code in another module, and (2) allow
                 modules to be reassembled and replaced without
                 reassembly of the whole system.",
  biburl =       "https://dblp.org/rec/books/sp/02/Wirth02.bib",
  dvdtableofcontents = "DVD 1. Welcome and opening / Ernst Demert \\
                 Welcome / Manfred Broy \\
                 The relevance of the software pioneers for sd and m /
                 Ernst Demert \\
                 Overview of the software pioneers talks \\
                 Impressions \\
                 DVD 2. From the stack principle to Algol / Freidrich L.
                 Bauer \\
                 Simula / Ole-Johan Dahl \\
                 Pascal / Niklaus Wirth \\
                 OS/360 / Fred Brooks \\
                 Graphical user interfaces / Alan Kay \\
                 B-trees and Codd's relational data model / Rudolf Bayer
                 \\
                 DVD 3. Entity/relationship modeling / Peter Chen \\
                 Structured programming / Edsger W. Dijkstra \\
                 Assertions and program verification / C. A. R. Hoare
                 \\
                 Modularization by information hiding / David L. Parnas
                 \\
                 Abstract data types / John Guttag \\
                 DVD 4. Jackson structured programming / Michael Jackson
                 \\
                 Structured analysis / Tom DeMarco \\
                 Inspections / Michael Fagan \\
                 Software economics / Barry Boehm \\
                 Design patterns / Erich Gamma",
  subject =      "Software Engineering/Programming and Operating
                 Systems; History of Computing; History of Science;
                 Software Engineering; Programming Techniques;
                 Programming Languages, Compilers, Interpreters",
  tableofcontents = "Software Engineering \\
                 From Auxiliary to Key Technology \\
                 The Relevance of the Software Pioneers for sd and m \\
                 From the Stack Principle to ALGOL \\
                 Sequentielle Formel{\"u}bersetzung \\
                 Verfahren zur automatischen Verarbeitung von kodierten
                 Daten und Rechenmaschinen zur Aus{\"u}bung des
                 Verfahrens \\
                 The Roots of Object Orientation: The Simula Language
                 \\
                 Class and Subclass Declarations \\
                 Pascal and Its Successors / N. Wirth / 109--119 \\
                 The Programming Language Pascal \\
                 Program Development by Stepwise Refinement \\
                 The IBM Operating System/360 \\
                 The Functional Structure of OS/360 \\
                 Graphical User Interfaces \\
                 B-Trees and Databases, Past and Future \\
                 Organization and Maintenance of Large Ordered Indexes
                 \\
                 A Relational Model of Data for Large Shared Data Banks
                 \\
                 Entity-Relationship Modeling: Historical Events Future
                 Trends and Lessons Learned \\
                 The Entity Relationship Model \\
                 Toward a Unified View of Data \\
                 EWD 1308: What Led to ``Notes on Structured
                 Programming'' \\
                 Solution of a Problem in Concurrent Programming Control
                 \\
                 Go To Statement Considered Harmful \\
                 Assertions: A Personal Perspective \\
                 An Axiomatic Basis for Computer Programming \\
                 Proof of Correctness of Data Representations \\
                 The Secret History of information Hiding \\
                 On the Criteria to Be Used in Decomposing Systems into
                 Modules \\
                 On a ``Buzzword'': Hierarchical Structure \\
                 Abstract Data Types, Then and Now \\
                 Abstract Data Types and the Development of Data
                 Structures \\
                 JSP in Perspective \\
                 Constructive Methods of Program Design \\
                 Structured Analysis: Beginnings of a New Discipline \\
                 Structure Analysis and System Specification \\
                 A History of Software Inspections \\
                 Design and Code Inspections to Reduce Errors in Program
                 Development \\
                 Advances in Software Inspections \\
                 Early Experiences in Software Economics \\
                 Software Engineering Economics \\
                 Design Patterns \\
                 Ten Years Later \\
                 Design Patterns: Abstraction and Reuse of
                 Object-Oriented Design",
  timestamp =    "Mon, 17 Jul 2017 14:01:30 +0200",
}

@Proceedings{Boszormenyi:2003:MPL,
  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: 2003}",
  title =        "{Modular Programming Languages: Joint Modular
                 Languages Conference, JMLC 2003, Klagenfurt, Austria,
                 August 25--27, 2003: proceedings: 2003}",
  volume =       "2789",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "xiii + 269",
  year =         "2003",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/b12023",
  ISBN =         "3-540-40796-0",
  ISBN-13 =      "978-3-540-40796-6",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  LCCN =         "QA76.6 .J6578 2003",
  bibdate =      "Mon Nov 15 19:15:17 2004",
  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/t2789.htm;
                 http://www.springerlink.com/content/978-3-540-40796-6;
                 http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=2789;
                 http://www.springerlink.com/openurl.asp?genre=volume&id=doi:10.1007/b12023",
  acknowledgement = ack-nhfb,
}

@Proceedings{Lightfoot:2006:MPL,
  editor =       "David E. Lightfoot and Clemens Szyperski",
  booktitle =    "{Modular Programming Languages: 7th Joint Modular
                 Languages Conference, JMLC 2006 Oxford, UK, September
                 13--15, 2006 Proceedings}",
  title =        "{Modular Programming Languages: 7th Joint Modular
                 Languages Conference, JMLC 2006 Oxford, UK, September
                 13--15, 2006 Proceedings}",
  volume =       "4228",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "345 (est.)",
  year =         "2006",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/11860990",
  ISBN =         "3-540-40927-0 (print), 3-540-40928-9 (e-book)",
  ISBN-13 =      "978-3-540-40927-4 (print), 978-3-540-40928-1
                 (e-book)",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  LCCN =         "????",
  bibdate =      "Wed Dec 19 15:22:28 MST 2012",
  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://www.springerlink.com/content/978-3-540-40928-1",
  acknowledgement = ack-nhfb,
}

@Book{Daylight:2012:DSE,
  author =       "Edgar G. Daylight",
  booktitle =    "The Dawn of Software Engineering: from {Turing} to
                 {Dijkstra}",
  title =        "The Dawn of Software Engineering: from {Turing} to
                 {Dijkstra}",
  publisher =    "Lonely Scholar",
  address =      "Heverlee, Belgium",
  pages =        "vi + 239",
  year =         "2012",
  ISBN =         "94-91386-02-6",
  ISBN-13 =      "978-94-91386-02-2",
  LCCN =         "QA76.17 .D38 2012",
  bibdate =      "Tue Mar 17 06:10:32 MDT 2015",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/t/turing-alan-mathison.bib;
                 https://www.math.utah.edu/pub/bibnet/authors/w/wirth-niklaus.bib",
  note =         "Edited by Kurt {De Grave}.",
  acknowledgement = ack-nhfb,
  remark =       "Includes Interviews with 4 Turing Award Winners: Tony
                 Hoare, Barbara Liskov, Niklaus Wirth, Peter Naur.",
  subject =      "Software Engineering.",
  subject-dates = "Edsger Wybe Dijkstra (1930--2002); Peter Naur
                 (1928--2016); Alan Mathison Turing (1912--1954);
                 Niklaus Wirth (15 February 1934--1 January 2024)",
  tableofcontents = "1: Introduction / 1 \\
                 2: Turing's influence on programming / 13 \\
                 3: Dijkstra's rallying cry for generalization / 43 \\
                 4: Tony Hoare and mathematical logic / 79 \\
                 5: Niklaus Wirth and software engineering / 105 \\
                 6: Barbara Liskov and data abstractions / 133 \\
                 7: Peter Naur and Turing's 1936 paper / 165 \\
                 8: Deromanticizing Turing's role in history / 187 \\
                 Endnotes / 199 \\
                 Bibliography / 213 \\
                 Index / 234",
}