Hinweise zur Pure Pascal Version 1.1 Pure Software README 15.3.93 Was ist in Release 1.1 neu? =========================== Spracherweiterungen: -------------------- - Offene Arrayparameter gestatten es, Arrays flexibler Gr”že an Prozeduren und Funktionen zu bergeben. Beispiel: FUNCTION SkalarProdukt( a, b: ARRAY OF REAL): REAL; - Bei VAR-Parametern vom Typ String ist es jetzt ebenfalls m”glich, die Gr”že flexibel zu halten. Beispiel: PROCEDURE FillBlanks( VAR s: OpenString ); - Um die šbergabe grožer Eingangsparameter effizienter zu machen, gibt es jetzt die M”glichkeit, Parameter mit dem Schlsselwort CONST zu deklarieren. Solche Parameter k”nnen von der aufgeru- fenen Funktion oder Prozedur nicht modifiziert werden und mssen daher nicht kopiert werden. Beispiel: PROCEDURE Proc( CONST x: BigVector; ... ); - In Objektdeklarationen gibt es zus„tzlich zu PRIVATE jetzt die Direktive PUBLIC. PUBLIC und PRIVATE Abschnitte drfen sich beliebig abwechseln. - Mit dem neuen Schlsselwort INHERITED wird die Methode eines Basistyps aufgerufen. Bisher mužte der Name des Basistyps ex- plizit angegeben werden, die neue Syntax erleichtert also Žnderungen in der Objekthierarchie. - Der neue Typ PCHAR steht fr nullterminierte Strings, wie sie in der Sprache C gebr„uchlich sind. Neue Standardfunktionen: ------------------------ - ASSIGNED(P: POINTER oder PROCEDURE(...)):BOOLEAN; gestattet es, Zeiger und Prozedurvariablen auf NIL zu berprfen. Dies ist insbesondere bei Prozedurvariablen wichtig. - INCLUDE(VAR S: SET OF ...; ELEM: ...); und EXCLUDE(VAR S: SET OF ...; ELEM: ...); gestatten es direkt, Elemente zu Mengen hinzuzufgen oder zu entfernen. - BREAK verl„žt eine FOR- WHILE- oder REPEAT-Schleife. CONTINUE startet eine neue Iteration einer Schleife. - LOW und HIGH ermitteln Ober- und Untergrenzen von skalaren Typen und Arrays. Neue Standardunit Strings: -------------------------- - Bietet Funktionen zur bequemen Verarbeitung von nullterminierten Strings. Neue Compileroptionen ===================== - $P+ Offene VAR-String Parameter: Dieser Schalter veranlažt, daž VAR-Parameter vom Typ String wie offene Arrays bergeben werden, als ob man den Parameter also als VAR s: OpenString; deklariert h„tte. Voreinstellung ist $P-. - $Q+ šberlaufprfung: Der Compiler erzeugt optional Code, um arithmetischen šberlauf bei ganzzahliger Arithmetik zu berprfen. Dies wird mit dem Compilerschalter $Q+ eingeschaltet, Voreinstellung ist $Q-. - $T+ Strenge Typprfung beim Adrežoperator @: Optional ist es m”glich, den Addressoperator @ mit dem "richtigen" Typ zu versehen und damit die Typprfungen in diesem Zusammen- hang strenger zu machen. Die strengere Typprfung wird durch den Compilerschalter $T+ veranlažt - $T- ist die Voreinstellung. - $Z- schaltet die Optimierung des Compilers ab. Dies ist manchmal beim Debuggen ntzlich, um auf die Werte der Variablen immer zugreifen zu k”nnen. Voreinstellung ist $Z+. Žnderungen im Debugger ====================== - Bei Objekten werden nun auch die ererbten Felder und Methoden auto- matisch dargestellt. Das Feld "Ancestor" ist entfallen. - Bei Objekten gibt es ein zus„tzliches Feld "TypeOf", das den Typ des Objektes zur Laufzeit darstellt, falls das Objekt einen gltigen VMT-Zeiger aufweist. - Die Anzeige von Parametern ist nun auch am Anfang von Prozeduren korrekt, wenn die Parameter noch nicht in die endgltigen Speicherstellen kopiert sind.