CoCreate est le Hewlett Packard CAO 2D - Conception Assistée par Ordinateur - progiciel . Les ingénieurs utilisent pour concevoir de nouvelles pièces. Le langage de macro qui vient avec CoCreate est appelé ME10 . À première vue, ME10 est très différente de la langue AI LISP . La pléthore de parenthèses qui est si caractéristique de LISP est presque absence dans ME10 . Lors de l'examen de plus près, il s'avère que les principaux opérateurs dans ME10 sont " définir ", " boucle " et "let" qui sont aussi les opérateurs de principe dans LISP . Sauf pour les apparences , LISP et ME10 sont en fait très similaires . Instructions
1
Convertir les définitions de fonctions en LISP pour fonctionner définitions ME10 . Les définitions de fonctions en LISP ressembler à ceci: " . END_DEFINE " (define nom ( paramètres) ABC) , et le code équivalent dans ME10 débutera par une ligne qui a " définir le nom " et se terminent par une ligne qui possède le mot-clé Chaque paramètre est figurant sur une ligne distincte avec le " paramètre" mot-clé et le nom du paramètre. Les instructions A, B et C seront dans le même ordre dans ME10 comme ils étaient en LISP
2
Changement instructions de boucle en LISP qui ressemblent à ceci : . ( Boucle ABC). En ME10 , boucles commencent par une ligne qui possède le mot-clé «boucle» et à la fin avec le mot-clé " fin de boucle " sur une ligne par lui-même. Il ya plusieurs façons de sortir d'une boucle en LISP , mais seulement une façon ME10 . Il est assez facile de convertir les évasions une boucle LISP dans la sortie d'une boucle ME10 , qui regarde toujours comme ceci: " . Exit_if état "
3
Rewrite " let" déclarations contenues dans le LISP . Ils fonctionnent exactement comme les déclarations "let" dans ME10 l'exception de la syntaxe est un peu différente . En LISP les déclarations "let" ressemblent à ceci: ( a1 a2 laisser b1 b2 c1 c2) . Cela provoque a2 être lié à a1, b2 être lié à b1 et c2 être lié à c1 . En ME10 , il y aurait trois lignes différentes : «Que a1 a2 ", " laissez- b2 b1 » et « laissez c1 c2 ".
4
Rappelez-vous que dans LISP une variable n'a pas à être déclaré avant d'être utilisé . Ce n'est pas vrai dans la plupart des langues - y compris ME10 . Si une variable n'est pas déclarée dans un " let " ou déclaration "Paramètres" en LISP , il devra être déclarée dans ME10 . La meilleure façon de le faire est de déclarer X avec une ligne qui dit " X locales» avant X apparaît dans toute autre déclaration.