Wie ein Lisp-Programm eines ME10-Makros konvertieren

April 5

Wie ein Lisp-Programm eines ME10-Makros konvertieren

CoCreate ist das Hewlett Packard 2D CAD--Computer-Aided-Design---Softwarepaket. Ingenieure können sie neue Teile entwerfen. Die Makrosprache, die mit CoCreate kommt wird ME10 genannt. ME10 sieht auf den ersten Blick ganz anders aus der AI-Programmiersprache LISP. Die Vielzahl von Klammern, die so charakteristisch für LISP fast fehlen in ME10 ist. Bei näherer Betrachtung stellt jedoch sich heraus, dass die wichtigsten Operatoren in ME10 sind "definieren", "Schleife" und "Let", die auch die Prinzip-Betreiber in LISP sind. Außer oberflächlichen Erscheinungen sind LISP und ME10 eigentlich ziemlich ähnlich.

Anweisungen

1 Funktionsdefinitionen in ME10 umwandeln Sie Funktionsdefinitionen in LISP. Funktionsdefinitionen in LISP, die wie folgt aussehen: (Name (Parameter) A B C definieren), und der entsprechende Code in ME10 beginnt mit einer Linie, die hat "Namen definieren" und endet mit einer Linie, die das Schlüsselwort "End_define." Jeder Parameter wird in einer separaten Zeile mit dem Schlüsselwort "Parameter" und der Name des Parameters aufgeführt. Die Anweisungen A, B und C werden in der gleichen Reihenfolge in ME10 wie in LISP.

2 Ändern der Schleife Anweisungen in LISP, die wie folgt aussehen: (Schleife A-B-C). Starten Sie in ME10 Schleifen mit einer Zeile mit dem Schlüsselwort "Schleife" und Ende mit dem Schlüsselwort "End_loop" in einer Zeile allein. Es gibt viele Möglichkeiten, verlassen einer Schleife in LISP, aber nur eine Möglichkeit in ME10. Es ist ziemlich einfach, die entweicht aus einer LISP-Schleife in der Ausfahrt aus einer Schleife ME10 zu konvertieren, die immer aussieht: "Exit_if Zustand."

3 Schreiben Sie "Anweisungen in LISP lassen". Sie funktionieren genau wie die "lassen Sie" Aussagen in ME10, außer die Syntax etwas anders ist. In LISP "Let" Aussagen wie folgt aussehen: (lassen Sie a1 a2 b1 b2 c1 c2). Dies bewirkt, dass a2 a1, b2, b1 und c2 c1 gebunden werden gebunden werden gebunden werden. In ME10, gäbe es drei Linien: "lassen Sie a1 a2", "Lasst b1 b2" und "c1 c2."

4 Denken Sie daran, dass in LISP eine Variable nicht deklariert werden, bevor sie verwendet wird. Dies gilt nicht in den meisten Sprachen – einschließlich ME10. Wenn eine Variable nicht in einer "lassen" oder "Parameter" Anweisung in LISP deklariert ist, wird es in ME10 deklariert werden müssen. Der einfachste Weg, dies zu tun ist X mit einer Linie zu deklarieren, die "lokalen X" sagt bevor X in anderen Anweisungen angezeigt wird.