Paste number 308055: Oberon-07 18.3.2015 vs 15.2.2016

Paste number 308055: Oberon-07 18.3.2015 vs 15.2.2016
Pasted by: pdw
When:1 year, 6 months ago
Share:Tweet this! | http://paste.lisp.org/+6LP3
Channel:None
Paste contents:
Raw Source | XML | Display As
--- Oberon07.Report.old.txt	2016-02-23 20:22:53.102852800 +0100
+++ Oberon07.Report.new.txt	2016-02-23 20:30:23.445284408 +0100
@@ -1,5 +1,5 @@
                    The Programming Language Oberon
-                                Revision 1.10.2013 / 18.3.2015
+                                Revision 1.10.2013 / 15.2.2016
                                             Niklaus Wirth
                      Make it as simple as possible, but not simpler. (A. Einstein)
 
@@ -101,10 +101,7 @@
 program only which are within the scope of the declaration. No identifier may denote more than one
 object within a given scope. The scope extends textually from the point of the declaration to the end
 of the block (procedure or module) to which the declaration belongs and hence to which the object
-is local. The scope rule has the following amendments:
-1. If a type T is defined as POINTER TO T1 (see 6.4), the identifier T1 can be declared textually
-following the declaration of T, but it must lie within the same scope.
-2. Field identifiers of a record declaration (see 6.3) are valid in field designators only.
+is local.
 In its declaration, an identifier in the module's scope may be followed by an export mark (*) to
 indicate that it be exported from its declaring module. In this case, the identifier may be used in
 other modules, if they import the declaring module. The identifier is then prefixed by the identifier
@@ -301,9 +298,10 @@
         set            = "{" [element {"," element}] "}".
         element        = expression [".." expression].
         ActualParameters = "(" [ExpList] ")" .
-The available operators are listed in the following tables. In some instances, several different
-operations are designated by the same operator symbol. In these cases, the actual operation is
-identified by the type of the operands.
+The set {m .. n} denotes {m, m+1, ... , n-1, n}, and if m > n, the empty set. The available operators
+are listed in the following tables. In some instances, several different operations are designated by
+the same operator symbol. In these cases, the actual operation is identified by the type of the
+operands.
 8.2.1. Logical operators
         symbol      result
          OR         logical disjunction
@@ -345,8 +343,8 @@
           IN          set membership
           IS          type test
 Relations are Boolean. The ordering relations <, <=, >, >= apply to the numeric types, CHAR, and
-character arrays. The relations = and # also apply to the types BOOLEAN and SET, and to pointer
-and procedure types. The relations <= and >= denote inclusion when applied to sets.
+character arrays. The relations = and # also apply to the type SET, and to pointer and procedure
+types.
 x IN s stands for "x is an element of s". x must be of type INTEGER, and s of type SET.
 v IS T stands for "v is of type T" and is called a type test. It is applicable, if
          1. T is an extension of the declared type T0 of v, and if
@@ -508,11 +506,11 @@
 The for statement
          FOR v := beg TO end BY inc DO S END
 is, if inc > 0, equivalent to
-      v := beg; lim := end;
-      WHILE v <= lim DO S; v := v + inc END
+      v := beg;
+      WHILE v <= end DO S; v := v + inc END
 and if inc < 0 it is equivalent to
-      v := beg; lim := end;
-      WHILE v >= lim DO S; v := v + inc END
+      v := beg;
+      WHILE v >= end DO S; v := v + inc END
 The types of v, beg and end must be INTEGER, and inc must be an integer (constant expression).
 If the step is not specified, it is assumed to be 1.

This paste has no annotations.

Colorize as:
Show Line Numbers

Lisppaste pastes can be made by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively.