HOME

TheInfoList



OR:

Plus is a "Pascal-like" system implementation language from the
University of British Columbia The University of British Columbia (UBC) is a public university, public research university with campuses near Vancouver and in Kelowna, British Columbia. Established in 1908, it is British Columbia's oldest university. The university ranks a ...
(UBC), Canada, based on the SUE''The System Language for Project SUE''
B. L. Clark and J. J. Horning of the Computer Systems Research Group and Department of Computer Science, University of Toronto, Proceedings of the SIGPLAN symposium on Languages for system implementation, 1971, pages 79-88
system language developed at the
University of Toronto The University of Toronto (UToronto or U of T) is a public research university in Toronto, Ontario, Canada, located on the grounds that surround Queen's Park. It was founded by royal charter in 1827 as King's College, the first institution ...
, c. 1971. There is another programming language named PLUS, developed at Sperry Univac in Roseville, Minnesota, but the Univac PLUS is not the subject of this article.


Description

Plus was developed at the
University of British Columbia The University of British Columbia (UBC) is a public university, public research university with campuses near Vancouver and in Kelowna, British Columbia. Established in 1908, it is British Columbia's oldest university. The university ranks a ...
(UBC) Computing Centre by Alan Ballard and Paul Whaley for use with and for the development of the
Michigan Terminal System The Michigan Terminal System (MTS) is one of the first time-sharing computer operating systems.. Developed in 1967 at the University of Michigan for use on IBM S/360-67, S/370 and compatible mainframe computers, it was developed and used by a con ...
(MTS), but the code generated by the compiler is not operating system dependent and so is not limited to use with or the development of MTS. The UBC Plus compiler is written largely in Plus, runs under the
Michigan Terminal System The Michigan Terminal System (MTS) is one of the first time-sharing computer operating systems.. Developed in 1967 at the University of Michigan for use on IBM S/360-67, S/370 and compatible mainframe computers, it was developed and used by a con ...
(MTS) on IBM S/370 or compatible hardware or under IBM's
OS/VS1 Operating System/Virtual Storage 1, or OS/VS1, is a discontinued IBM mainframe computer operating system designed to be run on IBM System/370 hardware. It was the successor to the OS/360 and successors#MFT, Multiprogramming with a Fixed number of ...
, and generates code for the IBM S/370, the DEC
PDP-11 The PDP-11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sold, ...
, or the
Motorola 68000 The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Sector ...
architectures. Plus is based to a large extent on the SUE System Language developed at the University of Toronto, c. 1971. The SUE language was derived, particularly in its data structure facilities from
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Fren ...
. Plus is superficially quite different from SUE or Pascal; however the underlying language semantics are really quite similar. Users familiar with the
C programming language ''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
will also recognize much of its structure and semantics in PLUS. Goals for the compiler and the Plus language include:''The PLUS Programming Language''
Allan Ballard and Paul Whaley, pp. 2-5, revised 1987, Computing Centre, University of British Columbia
# Allow and encourage reasonable program structures # Provide problem-oriented data structures # Allow and encourage readable and understandable source code # Allow for parametrization using symbolic constants # Actively assist in the detection and isolation of errors, at compile-time if possible and optionally at run-time where necessary # Generate efficient code # Provide facilities necessary for systems programming # Provide reasonably efficient compilation including separate compilation of different parts of a program # Optionally produce symbol (SYM) information allowing programs to be debugged using a Symbolic Debugging System such as SDS under MTS The compiler generates extensive source listings, including cross-references. In addition, it automatically formats the source using strict rules and has a simple mark-up language for comments. The manual, ''UBC PLUS: The Plus Programming Language'', is available. A description of the source and object libraries available for use with Plus, ''PLUS Source Library Definitions'', is also available.''PLUS Source Library Definitions''
Alan Ballard, 1983, University of British Columbia Computing Centre, 139pp.


"Hello, world" example

The " hello, world" example program prints the string "Hello, world!" to a terminal or screen display. %Title := "Hello world"; %Include(Pluslist); %Subtitle := "Definitions"; %Lower_Case := True; /* Definitions that everyone needs */ %Include(Boolean, Numeric_Types, More_Numeric_Types, String_Types, More_String_Types); /* A tasteful subset of procedure definitions */ %Include(Main); /* Message routine definitions */ %Include(Message_Initialize, Message, Message_Terminate); %Subtitle := "Local Procedure Definitions"; %Eject(); definition Main variable Mcb is pointer to Stream_Type; Mcb := Message_Initialize(); Message(Mcb, "Hello, world!"); Message_Terminate(Mcb); Mcb := Null; end Main;


See also

*
Michigan Terminal System The Michigan Terminal System (MTS) is one of the first time-sharing computer operating systems.. Developed in 1967 at the University of Michigan for use on IBM S/360-67, S/370 and compatible mainframe computers, it was developed and used by a con ...
(MTS)


References

{{DEFAULTSORT:Plus (Programming Language) Pascal programming language family Procedural programming languages Statically typed programming languages Systems programming languages Programming languages created in 1976