CoCreate ist die Hewlett Packard 2D CAD - Computer Aided Design - Software-Paket. Ingenieure verwenden, um neue Teile zu entwerfen. Die Makro-Sprache , die mit CoCreate kommt heißt ME10 . Auf den ersten Blick sieht ME10 sehr verschieden von der AI Sprache LISP . Die Fülle der Klammern , die so charakteristisch für LISP ist fast Abwesenheit in ME10 . Bei näherer Betrachtung stellt sich jedoch heraus, dass die wichtigsten Betreiber in ME10 " definieren", "Schleife" und "let" , die auch die Betreiber grundsätzlich in LISP sind . Außer für oberflächliche Erscheinungen sind LISP und ME10 eigentlich recht ähnlich. Anleitung
1
Konvertieren Funktionsdefinitionen in LISP zu Definitionen in ME10 funktionieren . Funktionsdefinitionen in LISP wie folgt aussehen: " . END_DEFINE " (define name (Parameter) ABC) , und der entsprechende Code in ME10 wird mit einer Zeile, die " define name " hat und am Ende mit einer Linie , die das Schlüsselwort hat beginnen Jeder Parameter ist aufgeführt auf einer separaten Zeile mit dem Schlüsselwort " Parameter" und dem Namen des Parameters. Die Anweisungen A, B und C werden in der gleichen Reihenfolge in ME10 sein, wie sie in LISP
2
ändern Schleife Anweisungen in LISP , die wie folgt aussehen waren: . (Loop ABC) . In ME10 , starten Loops mit einer Linie , die das Schlüsselwort "loop " und enden mit dem Stichwort " END_LOOP " auf einer eigenen Zeile hat . Es gibt viele unterschiedliche Methoden zum Beenden einer Schleife in LISP , aber nur einen Weg in ME10 . Es ist ziemlich einfach, die Fluchten aus einer LISP Schleife in den Ausstieg aus einem ME10 -Schleife, die sieht immer so zu konvertieren: " . Exit_if Zustand "
3
Rewrite "let" Aussagen in LISP . Sie arbeiten genau wie die "let" Aussagen in ME10 außer der Syntax ist ein wenig anders . In LISP die "let" Aussagen wie folgt aussehen: (let b1 a1 a2 b2 c1 c2) . Dies führt zu a1 a2 , b2 um b1 und c2 gebunden werden, um c1 ihn nicht verbindlich ist . "Lasst a1 a2 ", " lassen b1 b2 " und " lassen c1 c2 . "
4
Beachten Sie, dass in LISP eine Variable muss nicht deklariert werden: In ME10 , gäbe es drei verschiedene Linien bevor es verwendet wird. Dies ist nicht in den meisten Sprachen wahr - einschließlich ME10 . Wird eine Variable nicht in einem "let " oder " Parameter "-Anweisung in LISP erklärt , wird es brauchen, um in ME10 deklariert werden. Der einfachste Weg dies zu tun ist, um X mit einer Zeile, die " lokalen X " sagt , bevor X erscheint in einer anderen Anweisung zu deklarieren .