Ezhil , en escritura tamil ( tamil : எழில் , romanizado: Eḻil , lit. 'belleza', pronunciación 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 permitan el aprendizaje de aritmética y computación , fuera de la experiencia lingüística en sistemas informáticos predominantemente basados en el idioma inglés.
En el lenguaje de programación Ezhil, las palabras clave y la gramática del idioma tamil se eligen para permitir que los hablantes nativos de tamil escriban programas en el sistema Ezhil. 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 declaraciones condicionales, de ramificación y de bucle de los lenguajes de programación modernos basados en el inglés. Ezhil es el primer lenguaje de programación disponible de forma gratuita en el idioma tamil y uno de los muchos lenguajes de programación conocidos que no están basados en el inglés . El lenguaje se anunció oficialmente en julio de 2009, mientras que se ha estado desarrollando desde fines 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 while, y if. La terminación de los bloques de funciones y de instrucciones debe tener la palabra clave de terminación, similar a END en BASIC. Las declaraciones no son necesarias ya que Ezhil es un lenguaje de tipado dinámico, aunque las conversiones de tipos deben realizarse explícitamente. Ezhil tiene tipos integrados para números, cadenas, lógicas y listas.
Objetivos
- Educativo: el idioma Ezhil está dirigido a estudiantes de K-12 y hablantes nativos de tamil, para aprender los principios básicos de la informática.
- Intuitivo: el azúcar sintáctico del idioma Ezhil está organizado para permitir una estructura de oración más cercana a la cabeza final del idioma tamil , donde el orden de palabras habitual es SOV , en contraste con el orden SVO del inglés.
Características
- Operaciones aritméticas y lógicas, precedencia indicada con paréntesis
- Más de 350 funciones integradas, muchas de las cuales se encuentran comúnmente en la biblioteca estándar de Python
- Programación procedimental utilizando funciones, soportando recursión, llamada por valor, etc.
- Ezhil como lenguaje no es un macroprocesador, es un compilador-front-end completo.
- El lenguaje Ezhil tiene soporte de resaltado de sintaxis para Notepad++ y Emacs
Palabras clave
Las sentencias condicionales se modelan a partir de la sentencia IF-ELSEIF-ELSE. Se eligen sentencias de control de bucle derivadas de las sentencias WHILE. La sintaxis de declaración de función se mantiene simple. Los detalles incluyen la sentencia de impresión y las sentencias de control de flujo a continuación.
1. - : declaración PRINT - பதிப்பி 2. - : declaración BREAK - நிறுத்து 3. - : declaración CONTINUE - தொடர் 4. - : declaración RETURN - பின்கொ டு 5. - : IF - ELSEIF - ELSE - declaración - ஆனால் , இல்லைஆனால் , இல்லை 6 . - : FINAL - declaración - முடி 7. - : FUNCIÓN - declaración - நிரல்பாகம் 8. - : MIENTRAS - declaración - வரை
Sistema de tipos
Ezhil tiene cuatro tipos básicos: números, cadenas, 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 del lenguaje estándar para las estructuras de control del lenguaje Ezhil.

Declaración if-else
@ ( CONDICIÓN ) ஆனால் #Rama verdadera இல்லை #Rama falsa முடி
Declaración de bucle
@ ( CONDICIÓN ) வரை #LOOP BODY முடி
Operadores
Se admiten 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 "%" y el exponente con caracteres "^".
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 variable y visibilidad
Ezhil solo admite llamadas por valor y copia todas las estructuras de datos en las invocaciones de funciones. No se admiten variables globales. Se admite la recursión y la invocación de funciones copia 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 (CLI) similar a readline , aunque también se puede ejecutar en modo por lotes. El modo interactivo consume programas como texto codificado en UTF-8 y crea un árbol, utilizando un front-end de compilador, para crear un AST y lo ejecuta utilizando los objetos de Python creados a partir de este 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 posibilidades para adivinar un número entre [1-100].
பதிப்பி "வணக்கம், விதி விளையாட்டுக்கு வருக!"
# ஒவ்வொரு முறை ஒரு புதிய விதி தேவை
semilla ( 1729 + 500 * aleatorio () ) எண் = randint ( 1 , 100 )
# 10 வாய்ப்புகளை கொடுக்க
வாய்ப்பு = 0
@ ( வாய்ப்பு < 10 ) வரை பதிப்பி "நான் என் இதயத்தில் ் [1-100] ஒன்று நினைக்கிறேன்" பதிப்பி "நான் என்ன நினைக்கிறேன் என்று தெரியுமா?" adivina = உள்ளீடு ( "Adivina/யூகிக்க >>" ) வாய்ப்பு = வாய்ப்பு + 1 #பதிப ்பி ( எண் == adivinar ) #பதிப்பி எண் @ ( எண் == adivinar ) ஆனால் பதிப்பி "வாழ்த்துக்கள்! சரியான பதில்" salida ( 0 ) முடி
@ ( எண் < adivinar ) ஆனால் பதிப்பி "உங்கள் உள்ளீடு அதிகமாக உ ள்ளது" இல்லை பதிப்பி "உங்கள் உள்ளீடு குறைத்து உள்ளது" முடி
பதிப்பி "இன்னும் " பதிப்பி ( 10 - வாய்ப்பு ) பதிப்பி " வாய்ப்புக்குள் மீதமுள்ளன முடி" முடி
பதிப்பி "மன்னிக்கவும் : 10 வாய்ப்பு முடிக்க முடி யவில்லை!" salir ( -1 )

E/S de archivo
# கோப்புப் பயன்பாடு
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 tortugas
El siguiente es un ejemplo basado en gráficos de tortuga para dibujar los símbolos Yin-Yang.
Patrón yin ( radio , color1 , color2 ) #turtle_width(3) turtle_color ( "negro" ) turtle_fill ( Verdadero ) turtle_circle ( radio / 2. , 180 ) turtle_circle ( radio , 180 ) turtle_left ( 180 ) turtle_circle ( - 1 * radio / 2.0 , 180 ) turtle_color ( color1 ) turtle_fill ( Verdadero ) turtle_color ( color2 ) turtle_left ( 90 ) turtle_up () turtle_forward ( radio * 0.375 ) turtle_right ( 90 ) turtle_down () turtle_circle ( radio * 0.125 ) turtle_left ( 90 ) turtle_fill ( Falso ) turtle_up () turtle_backward ( 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 ()

Logotipo de Ezhil
- El logotipo del idioma Ezhil consta de letras entrelazadas del alfabeto tamil , que forman Ezhil: un lenguaje de programación tamil .
Véase también
Referencias
- ^ "Muthiah Annamalai".
- ^ Repositorio PIP de Python
- ^ Ezhil-Lenguaje de programación en github
- ^ "Ezhil Lang". 4 de octubre de 2021.
- 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