Abstract

ALGOL 68 has been designed as a powerful successor of ALGOL 60. It is a monumental language, but we regret the complexity of it and its description. This has been the primary motivation for our designing ALGOL N, a more viable successor of ALGOL 60, as powerful as ALGOL 68, and yet described in a much simpler way. Some characteristics of ALGOL N will now be given. The letter 'N' is short for 'Nippon', which means 'Japan' in Japanese. 1. An easy-to-grasp meta-language for the syntax description is devised. It is logically equivalent to BNF, but the whole syntax can be compactified by its use. Thus the syntax of ALGOL N (see Appendix) is even shorter and easier to understand than the BNF syntax of ALGOL 60. There are a number of extensions to the strict language just as in ALGOL 68. 2. The semantics is described with rigor, partly in prose of mathematical clarity, and otherwise, in the form of simple programs in a semantics description language called the 'core language'. 3. Basic data types are effect, real, bits, string, and reference from which types of array-style, structure-style, and procedure-style are compounded. The result of a completed elaboration of an expression is (aside from possible side effects) a 'quantity' of some 'mode' with which some value of a fixed type is associated. The type specifies a machine-independent domain of values such as the domain of real numbers, while the mode prescribes the behavior of a quantity upon assignment of a value (e.g. rounding). Coercion is avoided by this system without tears. 4. The treatment of operators is generalized so that the unified notion 'formula' covers term, factor, assignment statement, for-statement, conditional expression, etc. This together with the feature that, in specifying a type, any sample expression having an established type may be used, makes the mode-indication in ALGOL 68 only a special case of 0-ary operator.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call