1 / 12

Lab 10 – Integración de CLIPS con C++ y JAVA

Lab 10 – Integración de CLIPS con C++ y JAVA. Integrantes: Gonzales, Cesar Cespedes , Giorgio Zuñiga , Rodrigo. GENERANDO LOS EJECUTABLES . Link Oficial de descargas Clips: http://sourceforge.net/projects/clipsrules/files/CLIPS/6.30/ Debe estar instalado el programa Clips:

Download Presentation

Lab 10 – Integración de CLIPS con C++ y JAVA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lab 10 – Integración de CLIPS con C++ y JAVA Integrantes: Gonzales, Cesar Cespedes, Giorgio Zuñiga, Rodrigo

  2. GENERANDO LOS EJECUTABLES Link Oficial de descargas Clips: http://sourceforge.net/projects/clipsrules/files/CLIPS/6.30/ Debe estar instalado el programa Clips: CLIPS_6.30_Beta_Windows_Application_Installer_R3.msi Herramientasinstaladas: • Microsoft Visual Studio 2008. • Clips 6.30

  3. GENERANDO LOS EJECUTABLES Se debe instalar el código fuente usando CLIPS 6.30 Windows SourceCodeInstaller. El códigofuente(comprimido en el archivo Projects.zip) se instala en el directorio de instalación. Incluye los proyectosCLIPSWin y CLIPSDOS: • Microsoft Visual C++ Express 2008 • Borland Turbo C++ 2006

  4. Integrando Clips 6.30 con Visual C++ 2008 http://www.youtube.com/watch?v=yDt8QPHGPws

  5. DECLARANDO FUNCIONES EXTERNAS DEFINIDAS POR EL USUARIO Existen dos opciones: • Modificar los el archivouserfunctions.cutilizandolassentenciasUserFunctions o EnvUserFunctions. • Definir la función en el nuevo archivo C/C++. DefineFunction(functionName,functionType, functionPointer,actualFunctionName);

  6. DefineFunction(functionName,functionType, functionPointer,actualFunctionName); • functionName: Nombre de la función que sera utilizada desde CLIPS. • functionType: Es el tipo del valor que será retornado a CLIPS. Puede ser:

  7. functionPointer: Puntero a la función. El identificador PTIF puede ser utilizada antes del nombre de la funciónparahacer un “type-casting” comopuntero a unafuncióndevolviendo un entero (especialmenteparaciertoscompiladores). • actualFunctionName: Es una representación del tercer argumento. Este nombre debe ser igual al tercer argumento, pero encerrada en comillas.

  8. Adicionalmente a DefineFunction(), se puede utilizar_ DefineFunction2(functionName,functionType,functionPointer, actualFunctionName,functionRestrictions); Los cuatro primeros argumentos son iguales a los de DefineFunction(), el quinto es un string que sirve de restricción para indicar el número y tipo de argumentos que la función de CLIPS espera. <min-args> <max-args> [<default-type> <types>*] • 0 – 9: Para indicar el mínimo y máximo número de argumentos. • * : Para indicar que no hay restricción en el numero de argumentos.

  9. Los tipos de datos se presentan a continuación:

  10. EJEMPLOS • La restricciónparaunafunciónquerequiere un mínimo de tresargumentoses: "3*" • La restricciónparaunafunciónquerequiere NO MÁS de cincoargumentoses: "*5" • La restricciónparaunafunciónquerequiere POR LO MENOS tres y NO MÁS de cincoargumentos (cadauno de los cualesdebe ser un entero o float) es: "35n" • La restricciónparaunafunciónquerequiereexactamenteseisargumentos (de los cuales, el primerodebe ser un STRING, el tercero un INTEGER y los demásargumentos FLOATS) es: "66fsui"

More Related