Die in diesem Abschnitt festgelegten Konventionen sind für den Zugriff auf die in der
User Language definierten Index-Variablen-Typen und Systemfunktionen von essentieller Bedeutung.
A.1.1 Interpreterumgebung
Die Interpreterumgebung bezeichnet den Programm-Teil des
Bartels AutoEngineer, in dem der
User Language Interpreter eingebunden ist. Je nach Interpreterumgebung können unterschiedliche Index-Variablen-Typen und Systemfunktionen implementiert und damit verfügbar sein. Ein
User Language-Programm ist jeweils nur in der Interpreterumgebung ablauffähig, in der alle im Programm referenzierten Index-Variablen-Typen und Systemfunktionen implementiert sind.
A.1.2 Aufruftyp
Damit sowohl der
User Language Compiler, als auch der
User Language Interpreter möglichst frühzeitig Kompatibilitätsprobleme erkennen können, ist in der
User Language der Begriff des Aufruftyps definiert. Jedem Index-Variablen-Typ und jeder Systemfunktion der
Bartels User Language ist ein Aufruftyp zugeordnet, der in kodierter Form die Interpreterumgebung(en) definiert, in der das jeweilige Objekt implementiert ist. Mit Hilfe dieser Aufruftyp-Definitionen ist der
User Language Compiler in der Lage, ein
User Language-Programm daraufhin zu prüfen, ob zueinander inkompatible Referenzen in diesem Programm enthalten sind. Das Ergebnis dieser Prüfung ist ein dem erzeugten Maschinenprogramm zugeordneter Aufruftyp, der die Interpreterumgebungen definiert, in denen das Programm ablauffähig ist, und mit dessen Hilfe der
User Language Interpreter wiederum entscheiden kann, ob ein zu startendes Maschinenprogramm zur aktuellen Interpreterumgebung kompatibel ist.
Tabelle A-1 enthält eine Liste aller definierten Aufruftypen. Jeder Index-Variablen-Typ und jede Systemfunktion der
Bartels User Language ist genau einem dieser Aufruftypen zugeordnet.
Tabelle A-1: User Language Aufruftypen
Code | Aufruftyp-Bezeichnung |
STD | Standard |
CAP | Schematic Capture Datenzugriff |
SCM | Schaltplaneditor |
LAY | Layout Datenzugriff |
GED | Layouteditor |
AR | Autorouter |
CAM | CAM-Prozessor |
CV | CAM-View |
ICD | IC Design Datenzugriff |
CED | Chipeditor |
Tabelle A-2 enthält die Information über die Kompatibilität der in der
Bartels User Language definierten Aufruftypen zueinander. Entsprechend dieser Tabelle führt der
User Language Compiler die Kompatibilitätsprüfung für die innerhalb eines Programms enthaltenen Systemreferenzen durch. Wird ein Objekt eines bestimmten Aufruftyps in einem Programm verwendet, so müssen auch alle anderen in diesem Programm verwendeten Objekte der Menge der entsprechend als kompatibel gekennzeichneten Aufruftypen zugeordnet sein
(sofern nicht die Preprozessoranweisung
#pragma ULCALLERSTD verwendet wird; siehe hierzu
Abschnitt 2.6.5).
Tabelle A-2: Kompatibilität Aufruftyp zu Aufruftyp
Aufruftyp |
STD |
CAP |
SCM |
LAY |
GED |
AR |
CAM |
CV |
ICD |
CED |
STD |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
CAP |
x |
x |
x |
- |
- |
- |
- |
- |
- |
- |
SCM |
x |
x |
x |
- |
- |
- |
- |
- |
- |
- |
LAY |
x |
- |
- |
x |
x |
x |
x |
- |
- |
- |
GED |
x |
- |
- |
x |
x |
- |
- |
- |
- |
- |
AR |
x |
- |
- |
x |
- |
x |
- |
- |
- |
- |
CAM |
x |
- |
- |
x |
- |
- |
x |
- |
- |
- |
CV |
x |
- |
- |
- |
- |
- |
- |
x |
- |
- |
---|
ICD |
x |
- |
- |
- |
- |
- |
- |
- |
x |
x |
CED |
x |
- |
- |
- |
- |
- |
- |
- |
x |
x |
Tabelle A-3 enthält die Information über die Kompatibilität der in der
Bartels User Language definierten Aufruftypen zu den Interpreterumgebungen. Entsprechend dieser Tabelle führt der
User Language Interpreter die Kompatibilitätsprüfung für die in einer Interpreterumgebung zu startenden
User Language-Programme durch.
Tabelle A-3: Kompatibilität Aufruftyp zu Interpreter
Aufruftyp |
Interpreter |
SCM | GED | AR | CAM | CV | CED |
STD | x | x | x | x | x | x |
CAP | x | - | - | - | - | - |
SCM | x | - | - | - | - | - |
LAY | - | x | x | x | - | - |
GED | - | x | - | - | - | - |
AR | - | - | x | - | - | - |
CAM | - | - | - | x | - | - |
CV | - | - | - | - | x | - |
ICD | - | - | - | - | - | x |
CED | - | - | - | - | - | x |
Konventionen © 1985-2024 Oliver Bartels F+E • Aktualisiert: 26. January 2007, 17:23 [UTC]
|