CoCreate è la Hewlett Packard 2D CAD - Computer Aided Design - pacchetto software. Gli ingegneri usano per progettare nuove parti . Il linguaggio macro che viene fornito con CoCreate si chiama ME10 . A prima vista , ME10 sembra molto diversa dalla AI linguaggio LISP . La pletora di parentesi che è così caratteristica del LISP è quasi assenza di ME10 . A ben guardare , però , si scopre che i principali operatori ME10 sono " definire ", "loop " e "lasciare ", che sono anche i principali operatori in LISP . Fatta eccezione per le apparenze superficiali , LISP e ME10 sono in realtà molto simili . Istruzioni
1
Converti definizioni di funzioni in LISP di funzionare definizioni in ME10 . Definizioni di funzioni in LISP simile a questa: " . END_DEFINE " ( Definisci nome ( parametri ) ABC) , e il codice equivalente in ME10 inizieranno con una linea che si è " definire il nome " e terminano con una linea che ha la parola chiave ogni parametro è elencato in una riga separata con il " parametro" parola chiave e il nome del parametro . Le istruzioni di A, B e C saranno nello stesso ordine in ME10 come erano in LISP
2
Cambia istruzioni di loop in LISP che assomigliano a questo : . (Anello ABC ) . In ME10 , cicli iniziano con una linea che ha la parola chiave "loop " e terminano con la parola chiave " end_loop " su una riga da solo . Ci sono molti modi di uscire da un ciclo in LISP , ma solo un modo di ME10 . E 'abbastanza facile per convertire le fughe da un loop LISP in uscita da un ciclo ME10 , che sembra sempre così: " . Condizione exit_if "
3
Rewrite " let" dichiarazioni in LISP . Funzionano esattamente come i "let" dichiarazioni a ME10 tranne la sintassi è un po 'diverso . In LISP il "Consenti " dichiarazioni appaiono così: ( lasciare A1 A2 B1 B2 C1 C2 ) . Questo fa sì che a2 di essere vincolato al a1 , b2 di essere vincolato al b1 e c2 di essere vincolato al c1 . In ME10 , ci sarebbero tre differenti linee : "Sia A1 A2 " , "lasciare B1 B2 " e " lasciare che c1 c2 ".
4
Ricorda che in LISP una variabile non deve essere dichiarato prima di essere utilizzato . Questo non è vero nella maggior parte delle lingue - tra cui ME10 . Se una variabile non è dichiarata in un " let " o dichiarazione " parametro" in LISP , dovrà essere dichiarato in ME10 . Il modo più semplice per farlo è quello di dichiarare X con una riga che dice "x locali" prima di X compare in qualsiasi altra dichiarazione .