- MVEL
-
MVEL Archivo:Mvel logo.png Desarrollador Mike Brock y varios colaboradores
http://mvel.codehaus.org/Información general Última versión estable 2.0.18
17 de julio de 2010Género Lenguaje de expresión Programado en Java Sistema operativo multiplataforma Plataforma Java Licencia licencia Apache Idiomas inglés En español Lenguaje de expresión de MVFLEX (MVEL) es un lenguaje de expresión y runtime de tiempo de ejecución híbrido, de tipo dinámico/estático, e incrustable, para la Plataforma Java. Originalmente comenzó como un lenguaje de utilidad para un marco de aplicación, pero el proyecto se desarrolla ahora de forma completamente independiente.
MVEL se utiliza normalmente para exponer lógica básica para usuarios finales y programadores a través de configuración tal como archivos XML o anotaciones de Java. También puede utilizarse para analizar expresiones simples de JavaBean.
El tiempo de ejecución permite expresiones de MVEL para ejecutar, ya sea interpretativamente, o a través de un proceso generalmente pre-compilado con soporte para la generación de bytecode de tiempo de ejecución (runtime) y eliminar el overhead.
Ya que MVEL pretende aumentar el software basado en Java, toma la mayoría de su sintaxis directamente desde el lenguaje con algunas diferencias menores y capacidades adicionales de programación de Java. Por ejemplo: como un efecto secundario del modelo de escritura de MVEL, que trata las referencias de método y clase como variables regulares, es posible utilizar punteros de función y clase (pero sólo para los métodos estáticos).
Contenido
millis = System.currentTimeMillis; // get millis time = millis();
MVEL también permite representar las colecciones como pliegues (o proyecciones) en una sintaxis Lisp-like.
namesOfParents = (parent.name in (hijos de empleados));
Ejemplo de Hola Mundo
System.out.println("¡Hola, mundo!");
MVEL usa clases y espacios de nombres de Java, pero no posee la capacidad de declarar espacios de nombres o clases.
Ejemplo del algoritmo Quicksort
A continuación se muestra un ejemplo de algoritmo Quicksort implementado en MVEL 2.0, lo que demuestra las capacidades de scripting del lenguaje:
import java.util.*; // algoritmo quicksort principal def quicksort(list) { if (list.size() <= 1) { list; } else { pivot = list[0]; concat(quicksort(($ in list if $ < pivot)), pivot, quicksort(($ in list if $ > pivot))); } } // define el método para concatenar listas. def concat(list1, pivot, list2) { concatList = new ArrayList(list1); concatList.add(pivot); concatList.addAll(list2); concatList; } // crear una lista para ordenar list = [5,2,4,1,18,10,15,1,0]; // sort it! quicksort(list);
Véase también
- Portal:Software libre. Contenido relacionado con Software libre.
- Java
- OGNL
- Lenguaje de expresión
Enlaces externos
- (en inglés) Guía de idioma MVEL
Categorías:- Lenguajes interpretados
- Software libre programado en Java
Wikimedia foundation. 2010.