Ezhil , en escritura en idioma tamil ( Tamil : எழில் , romanizado: Eḻil , lit. ' belleza ' , pronunciación en tamil: [ eɻil̪ ] ), es un lenguaje de programación compacto, de código abierto e interpretado , diseñado originalmente para permitir que los estudiantes nativos de habla tamil , del grupo de edad K-12 , aprendan programación informática y puedan aprender aritmética e informática , fuera de la experiencia lingüística en sistemas informáticos predominantemente basados en el idioma inglés.
En el lenguaje de programación Ezhil, se han elegido palabras clave y gramática tamil para facilitar la escritura de programas a hablantes nativos de tamil. Ezhil permite una representación sencilla de los programas informáticos, más cercana a las construcciones lógicas del idioma tamil, equivalentes a las sentencias condicionales, de bifurcación y de bucle de los lenguajes de programación modernos basados en inglés. Ezhil es el primer lenguaje de programación gratuito en idioma tamil y uno de los muchos lenguajes de programación conocidos que no están basados en inglés . El lenguaje se anunció oficialmente en julio de 2009, aunque su desarrollo comenzó a finales de 2007.
Descripción
La sintaxis de Ezhil es muy similar a la de BASIC : los bloques de código se ejecutan en orden secuencial o mediante definiciones de funciones, en un flujo de control común. Las estructuras incluyen `<script>`, `<script>` whiley `<script> if`. La terminación de los bloques de funciones y de sentencias debe tener la palabra clave `termination`, similar a `END` en BASIC. Las declaraciones no son necesarias, ya que Ezhil es un lenguaje de tipado dinámico, aunque las conversiones de tipo deben hacerse explícitamente. Ezhil tiene tipos integrados para números, cadenas, lógicos y listas.
Objetivos
- Educativo: El idioma Ezhil está dirigido a estudiantes de primaria y secundaria, y a hablantes nativos de tamil, para aprender principios básicos de informática.
- Intuitivo: el azúcar sintáctico del idioma Ezhil está organizado para permitir una estructura de oración más cercana al núcleo final del idioma tamil , donde el orden habitual de las palabras es SOV , en contraste con el orden SVO del inglés.
Características
- Operaciones aritméticas y lógicas, con precedencia indicada entre paréntesis.
- Más de 350 funciones integradas, muchas de ellas presentes en la biblioteca estándar de Python.
- Programación procedimental mediante funciones, con soporte para recursión, paso por valor, etc.
- Ezhil como lenguaje: no es un macroprocesador, sino un compilador-front-end completo.
- El lenguaje Ezhil cuenta con soporte para resaltado de sintaxis en Notepad++ y Emacs.
Palabras clave
Las sentencias condicionales se basan en la estructura IF-ELSEIF-ELSE. Se utilizan sentencias de control de bucle derivadas de las sentencias WHILE. La sintaxis de declaración de funciones es sencilla. A continuación se detallan la sentencia de impresión y las sentencias de control de flujo.
1. - : declaración PRINT - பதிப்பி 2. - : declaración BREAK - நிறுத்து 3. - : declaración CONTINUE - தொடர் 4. - : declaración RETURN - பின்கொடு 5. - : IF - ELSEIF - ELSE - declaración - ஆனால் , இல்லைஆனால் , இல்லை 6. - : END - declaración - முடி 7. - : FUNCIÓN - declaración - நிரல்பாகம் 8. - : MIENTRAS - declaración - வரைSistema de tipos
Ezhil cuenta con cuatro tipos básicos: números, cadenas de caracteres, valores lógicos y listas. No permite la creación de nuevos tipos, ya que es un lenguaje procedimental sin estructuras ni objetos.
Lenguaje: estructuras de control, declaraciones de funciones y gramática de operadores.
A continuación se muestra la gramática estándar del lenguaje para las estructuras de control del lenguaje Ezhil.

Declaración if-else
@ ( CONDICIÓN ) ஆனால் #Rama verdadera இல்லை #Rama falsa முடிSentencia de bucle
@ ( CONDICIÓN ) வரை #LOOP BODY முடிOperadores
Se admiten los operadores lógicos estándar: igualdad "==", desigualdad "!=", comparación aritmética ">=", "<=",">","<". Los operadores aritméticos como "+","-","*","/" indican suma, resta, producto y división estándar. El módulo se denota con el símbolo "%" y el exponente con el carácter "^".
Comentarios
El carácter '#' indica un comentario de una sola línea desde el punto hasta el final de la línea. No se definen comentarios de varias líneas.
Declaración de función
நிரல்பாகம் [ NOMBRE_FUNCIÓN ] ( ARGLIST ) [ CUERPO DE FUNCIÓN ] முடிAlcance y visibilidad variables
Ezhil solo admite paso por valor y copia todas las estructuras de datos al invocar funciones. No admite variables globales. Admite recursión y la invocación de funciones copia las variables.
Implementaciones
La implementación actual de Ezhil [ 4 ] está estrechamente integrada con el entorno de ejecución de Python. El intérprete de Ezhil se basa en una interfaz de línea de comandos similar a readline , aunque también puede ejecutarse en modo por lotes. El modo interactivo consume programas como texto codificado en UTF-8 y construye un árbol, utilizando un compilador como interfaz, para generar un árbol de sintaxis abstracta ( AST) , que luego ejecuta utilizando los objetos Python construidos a partir de dicho AST.
Ejemplos
Hola Mundo
El siguiente es un programa "Hola mundo" en Ezhil:
# தமிழில் ஒரு எடுத்துக்காட்டுபதிப்பி "வணக்கம் Vijay!" பதிப்பி "உலகே வணக்கம்" பதிப்பி "******* நன்றி!. *******" salir ()Juego de adivinanzas
El siguiente es un juego de adivinanzas con 10 oportunidades para adivinar un número entre [1-100].
பதிப்பி "வணக்கம், விதி விளையாட்டுக்கு வருக!"# ஒவ்வொரு முறை ஒரு புதிய விதி தேவை semilla ( 1729 + 500 * aleatorio () ) எண் = randint ( 1 , 100 )# 10 வாய்ப்புகளை கொடுக்க வாய்ப்பு = 0@ ( வாய்ப்பு < 10 ) வரை பதிப்பி "நான் என் இதயத்தில் எண் [1-100] ஒன்று நினைக்கிறேன்" பதிப்பி "நான் என்ன நினைக்கிறேன் என்று தெரியுமா?" adivinar = உள்ளீடு ( "Adivinar/யூகிக்க >>" ) வாய்ப்பு = வாய்ப்பு + 1 #பதிப்பி ( எண் == adivinar ) #பதிப்பி எண் @ ( எண் == adivinar ) ஆனால் பதிப்பி "வாழ்த்துக்கள்! சரியான பதில்" salida ( 0 ) முடி@ ( எண் < adivinar ) ஆனால் பதிப்பி "உங்கள் உள்ளீடு அதிகமாக உள்ளது" இல்லை பதிப்பி "உங்கள் உள்ளீடு குறைத்து உள்ளது" முடிபதிப்பி "இன்னும் " பதிப்பி ( 10 - வாய்ப்பு ) பதிப்பி "வாய்ப்புக்குள் மீதமுள்ளன முடி" முடிபதிப்பி "மன்னிக்கவும் : 10 வாய்ப்பு முடிக்க ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ salir ( -1 )
E/S de archivos
# கோப்புப் பயன்பாடு fp = கோப்பை_திற ( "nombres.txt" , "w" )# நாம் ஒரு பட்டியலில் இருந்து வார்த்தைகளை பயன்படுத்த முடியும் எ = [ "இந்த" , "ஒரு" , "எழில்" , "தமிழ்" , "நிரலாக்க" , "மொழி" , "உதாரணம்" ] இ = 0 @ ( இ < len ( எ ) ) வரை # நாம் ஒவ்வொரு வரியும் ஒரு எண் மற்றும் வார்த்தை சேர்க்க முடியும் வரி = str ( இ ) + " = " + எடு ( எ , இ ) + " \n" பதிப்பி வரி கோப்பை_எழுது ( fp , வரி ) இ = இ + 1 முடி #சேமித்து மூட கோப்பை_மூடு ( fp )# மறு திறந்த கோப்பு fp = கோப்பை_திற ( "nombres.txt" )# மற்றும் உள்ளடக்கங்களை படிக்கவும் வரிகள் = கோப்பை_படி ( fp )# பயனருக்கு காண்பிக்க பதிப்பி வரிகள்# கோப்பு மூட கோப்பை_மூடு ( fp )# ஒரு எடிட்டர் கோப்பு திறக்க, "nombres.txt". emacs அல்லது Bloc de notas பயன்படுத்தவும்.Gráficos de tortuga
El siguiente es un ejemplo basado en gráficos Turtle para dibujar los símbolos del Yin-Yang.
நிரல்பாகம் yin ( radio , color1 , color2 ) #ancho_tortuga(3) color_tortuga ( "negro" ) relleno_tortuga ( Verdadero ) círculo_tortuga ( radio / 2. , 180 ) círculo_tortuga ( radio , 180 ) izquierda_tortuga ( 180 ) círculo_tortuga ( - 1 * radio / 2.0 , 180 ) color_tortuga ( color1 ) relleno_tortuga ( Verdadero ) color_tortuga ( color2 ) izquierda_tortuga ( 90 ) arriba_tortuga () adelante_tortuga ( radio * 0.375 ) derecha_tortuga ( 90 ) abajo_tortuga () círculo_tortuga ( radio * 0.125 ) izquierda_tortuga ( 90 ) relleno_tortuga ( Falso ) arriba_tortuga () atrás_tortuga ( radio * 0.375 ) tortuga_abajo () tortuga_izquierda ( 90 ) முடிநிரல்பாகம் main () #turtle_reset() yin ( 200 , "blanco" , "negro" ) yin ( 200 , "negro" , "blanco" ) tortuga_ht () pausa ( "¡Listo! Pulsa enter para salir" , 5 ) முடிprincipal ()
Logo Ezhil
- El logotipo del idioma Ezhil consiste en letras entrelazadas del alfabeto tamil , que forman la frase Ezhil - Un lenguaje de programación tamil .
Véase también
Referencias
- Annamalai, Muthiah (28 de julio de 2009). "Ezhil: un lenguaje de programación tamil". arXiv : 0907.4960 [ cs.PL ].Implementación de referencia del lenguaje de programación Ezhil
Enlaces externos
- Sitio web oficial
- Fundación Ezhil-Language en GitHub
- Proyecto Ezhil-Lang en el repositorio PIP Python
- Informática tamil
- Lenguajes de programación creados en 2007
- Lenguajes de programación educativa
- Lenguajes de programación procedimental
- Software multiplataforma
- Lenguajes de programación no basados en el inglés