CoCreate is de Hewlett Packard 2D CAD - Computer Aided Design - softwarepakket . Ingenieurs gebruiken om nieuwe onderdelen te ontwerpen . De macro taal die wordt geleverd met CoCreate heet ME10 . Op het eerste gezicht , ME10 ziet er heel anders uit de AI taal LISP . De overvloed aan haakjes die zo kenmerkend is voor LISP is bijna afwezigheid in ME10 . Bij nader onderzoek echter blijkt dat de belangrijkste operators in ME10 zijn "te definiëren , " "loop " en " laat " die ook het principe operatoren in LISP . Behalve voor oppervlakkige schijn , LISP en ME10 zijn eigenlijk heel vergelijkbaar . Instructies 1 converteren functiedefinities in LISP om definities te functioneren in ME10 . Functiedefinities in LISP zien eruit als: " . End_define " (define naam ( parameters ) ABC ) , en de gelijkwaardige code in ME10 zal beginnen met een lijn die heeft "te definiëren naam " en eindigen met een regel die het trefwoord heeft Elke parameter is vermeld op een aparte lijn met de " parameter" keyword en de naam van de parameter . De instructies A , B en C zullen in dezelfde volgorde in ME10 als ze waren in LISP kopen van 2 Verandering lusexecuties in LISP die er zo uitzien : . ( Lus ABC ) . In ME10 , lussen beginnen met een lijn die het trefwoord "loop " en eindigen met het trefwoord " end_loop " op een lijn door zelf heeft . Er zijn vele manieren om een lus in LISP verlaten , maar slechts op een manier in ME10 . Het is vrij gemakkelijk om het ontsnapt uit een LISP lus zetten in de uitgang van een ME10 lus , die altijd ziet er zo uit : " . Exit_if conditie " Rewrite 3 " laat " uitspraken in LISP . Ze werken precies hetzelfde als de " let" uitspraken in ME10 behalve de syntax is een beetje anders . In LISP het " laten " uitspraken als volgt uitzien : ( laat a1 a2 b1 b2 c1 c2 ) . Hierdoor a2 gebonden te zijn a1 , b2 gebonden te zijn aan b1 en c2 worden gebonden c1 . In ME10 , zouden er drie verschillende lijnen : " Laat a1 a2 " , " laat b1 b2 " en " laat c1 c2 . " 4 Vergeet niet dat in LISP een variabele hoeft niet te worden aangegeven voordat het wordt gebruikt . Dit is niet het geval in de meeste talen - waaronder ME10 . Als een variabele niet in een " let" of " parameter" verklaring in LISP wordt verklaard , zal het nodig hebben in ME10 te worden verklaard . De eenvoudigste manier om dit te doen is om X te verklaren met een lijn die ' lokale X " zegt voordat X verschijnt op een andere verklaring .
|