Ezhil (programmeringsspråk)
Paradigm | tolkad , imperativ , strukturerad |
---|---|
Designad av | Muthiah Annamalai på Google scholar |
Utvecklare | Oberoende/frilans |
Dök först upp | 2007 |
Stabil frisättning | version 0.99 / 23 augusti 2017
|
Förhandsgranska release | version 10rc0 / 14 mars 2021
|
Maskinskrivningsdisciplin | stark , dynamisk |
OS | Linux , Windows ,Kan köras i MacOS med Pythons pip (pakethanterare) |
Licens | GPLv3 |
Filnamnstillägg | .n |
Hemsida | |
Stora implementeringar | |
Ezhil-Lang | |
Influenced by | |
Logo , BASIC , Python |
Ezhil , på tamilskt skrift ( tamilskt : எழில் , romaniserat: Eḻil , bokstavligen "skönhet", tamilskt uttal: [eɻil̪] ), är ett kompakt, öppen källkod , tolkat , programmeringsspråk , ursprungligen utformat för att möjliggöra modersmål för tamilska elever , K-12 åldersgrupp för att lära sig datorprogrammering och möjliggöra inlärning av räknekunskap och datoranvändning , utanför språklig expertis i övervägande engelskspråkiga datorsystem.
I programmeringsspråket Ezhil väljs tamilska nyckelord och språkgrammatik för att enkelt göra det möjligt för tamilsktalande att skriva program i Ezhil-systemet. Ezhil tillåter enkel representation av datorprogram närmare de tamilska logiska konstruktionerna som motsvarar de villkorliga, gren- och loop-satserna i moderna engelska baserade programmeringsspråk. Ezhil är det första fritt tillgängliga programmeringsspråket på det tamilska språket och ett av många kända icke-engelskbaserade programmeringsspråk . Språket tillkännagavs officiellt i juli 2009, medan det har utvecklats sedan slutet av 2007.
Beskrivning
Syntaxen för Ezhil liknar i stort sett den för BASIC : kodblock körs i sekventiell ordning, eller via funktionsdefinitioner, i ett gemensamt kontrollflödesstrukturer inkluderar while ,
och if
. Avslutningen av funktionsblock och satsblock bör ha nyckelordet terminering, liknande END i BASIC. Deklarationer är inte nödvändiga eftersom Ezhil är ett dynamiskt maskinskrivet språk, även om typkonverteringar måste göras explicit. Ezhil har inbyggda typer för siffror, strängar, logika och listor.
Mål
- Utbildning: Ezhil-språket är inriktat på elever i grund- och gymnasieskolor och som talar tamil som modersmål för att lära sig grundläggande datavetenskap
- Intuitivt: Ezhil-språkets syntaktiska socker är arrangerat för att tillåta en meningsstruktur som ligger närmare det slutliga tamilska språket , där den vanliga ordföljden är SOV , i motsats till SVO -ordningen på engelska.
Funktioner
- Aritmetiska och logiska operationer, prioritet anges med parentes
- Över 350+ inbyggda - många av dem finns vanligtvis i Python-standardbiblioteket
- Procedurprogrammering med funktioner, stöd för rekursion, call-by-value etc.
- Ezhil som språk - det är inte en makroprocessor, och det är ett komplett kompilator-front-end
- Ezhil-språket har stöd för syntaxmarkering för Notepad++ och Emacs
Nyckelord
Villkorliga uttalanden är modellerade efter IF-ELSEIF-ELSE-satsen . Slingkontrollsatser som härrör från WHILE-satserna väljs. Funktionsdeklarationens syntax hålls enkel. Detaljer inkluderar utskriftsutlåtandet och flödeskontrollutlåtandena nedan.
1. - : PRINT- sats - பதிப்பி 2. - : BREAK - sats - நிறுத்து 3. - : CONTINUE - sats - தொடரப -ப- sats -பப . ொடு 5. - : IF - ELSEIF - ELSE - statement - ஆனால் , இல்லைஆனால் , இல்லை 6 - : END - sats - முடி 7. - : FUNCTION - sats - நிரல்பாகம் 8. - : WHILE - sats - வரை _
Typ system
Ezhil har fyra grundläggande typer, för siffror, strängar, logiska och listor. Det tillåter inte skapandet av nya typer, eftersom det är ett procedurspråk utan strukturer eller objekt.
Språk - kontrollstrukturer, funktionsdeklarationer och operatorgrammatik
Standardspråkets grammatik för kontrollstrukturer för Ezhil-språket ges nedan,
Om-annat uttalande
@ ( VILLKOR ) ஆனால் #True branch இல்லை #False branch முடி
Loop statement
@ ( SKICK ) வரை #LOOP BODY முடி
Operatörer
Standard logiska operatorer, likhet "==", olikhet "!=", aritmetisk jämförelse ">=", "<=",">","<" stöds. Aritmetiska operatorer som "+","-","*","/" indikerar standard plus, minus, produkt, division. Modulo betecknas med "%" och exponent med "^"-tecken.
Kommentarer
Tecknet '#' anger en enradskommentar från punkten till slutet av raden. Flerradiga kommentarer är inte definierade.
Funktionsdeklaration
நிரல்பாகம் [ FUNCTION_NAME ] ( ARGLIST ) [ FUNCTION BODY ] முடி
Variabel omfattning och synlighet
Ezhil stöder endast call-by-value och kopierar alla datastrukturer på funktionsanrop. Globals stöds inte. Rekursion stöds och funktioner anrop kopierar variabler.
Genomföranden
Den nuvarande Ezhil-implementeringen är tätt integrerad med Python-körtiden. Ezhil-tolken är baserad på en läslinjeliknande CLI , samtidigt som den även kan köras i batch-läge. Det interaktiva läget förbrukar program som UTF-8-kodad text och bygger ett träd, med hjälp av ett kompilatorgränssnitt, för att bygga en AST och exekverar den med Python-objekten som byggs från denna AST.
Exempel
Hej världen
Följande är ett Hello world-program i Ezhil:
# தமிழில் ஒரு எடுத்துக்காட்டு பதகப்பதகப் ் Vijay!" பதிப்பி "உலகே வணக்கம்" பதிப்பி "******* நன***்ற. ( )
Gissningslek
Följande är ett gissningsspel med 10 chanser att gissa ett tal mellan [1-100].
0
0
பதிப்பி "வணக்கம், விதி விளையாட்டுக்ுக்!" # 1 , 100 ) # 10 வாய்ப்புகளை கொடுக்க வாய்ப்ப௵ @ ( ப்பு = < 10 ) வரை பதிப்பி " நான் என் இதயத்தில்ய ற -100 _ _ _ _ _ நினைக்கிறேன்" பதிப்பி "நான் என்ன கேமனக்ின ் என்று தெரியுமா?" gissning = உள்ளீடு ( " Gissa / யூகிக்க >>" ) வாய்ப்பு = வாயதபய்பபய்ப ்பி ( எண் == gissa ) #பதிப்பி எண் @ ( எண் == gissning ) ஆனாலப பிப ழ்த்துக்கள்! சரியான பதில் " avsluta ( ) முடி @ ( ி < gissa ) ஆனால் பதிப்பி "உங்கள் உள்ளீடு அகளஉகதிஉ ு" இல்லை பதிப்பி "உங்கள் உள்ளீடு குது குது து" முடி பதிப்பி " இன்னும் " பதிப்பிப்ப ௯ ப௵ திப்பி "வாய்ப்புக்குள் மீதமுள்ளன டிி ிப்பி " மன்னிக்கவும் : 10 வாய்ப்பு முடயவுடய ில்லை! " avsluta ( -1 ) _
Fil I/O
0
# கோப்புப் பயன்பாடு fp = கோப்பை_திற ( " names.txt " , " ரந ) ) பட்டியலில் இருந்து வார்த்தைகளை பதயயபட ூ மொழி _ _ _ " , " உதாரணம்" ] இ = @ ( இ < len ( எ ) ) வரை # நாம் ஒவ்வொிு ஒரு எண் மற்றும் வார்த்தை சேர்க்க ரிிரு ( இ ) + " = " + எடு ( எ , இ ) + " \n" பதிப்பி வரி கோப்பை_எழுது ( fp , வரி ) இ = டஇ + 1 த்து மூட கோப்பை_மூடு ( fp ) # மறு திறந்கதபோ f = போ ்பை_திற ( "names.txt" ) # மற்றும் உள்ளடக்கங்களக ப்கட வரிகள் = கோப்பை_படி ( fp ) # பயனருக்கு ககதி ககண் ்பி வரிகள் # கோப்பு மூட கோப்பை_மூடு ( fp ) # ஒரு எடிட்யி்ய திறக்க, "names.txt". emacs அல்லது Anteckningar பயன்படுத்தவும்.
Sköldpadda grafik
Följande är ett sköldpaddsgrafikbaserat exempel för att rita Yin-Yang-symbolerna.
*
நிரல்பாகம் yin ( radie , color1 , color2 ) #turtle_width (3 ) turtle_color ( " black " ) turtle_fill ( True ) turtle_circle ( radie / 2. , 180 ) turtle _ 8 turtle 8 ) turtle_circle ( - 1 * radie / 2.0 , 180 ) turtle_color ( color1 ) turtle_fill ( True ) turtle_color ( color2 ) turtle_left ( 90 ) turtle_up ( ) turtle_forward ( radie * 0,375 ) turtle_right ( 90 ) turtle_down () turtle_down () sköldpadda_cirkel ( 0 ft ) sköldpadda_cirkel ( 9 ft ) turtle _ False)
turtle_up()
turtle_backward(radius*0.375)
turtle_down()
turtle_left(90)
முடி
நிரல்பாகம் main()
#turtle_reset()
yin(200, "white", "black")
yin(200, "black", "white")
turtle_ht()
pause( "Done! Hit enter to quit", 5)
முடி
main()
Logotyp Ezhil
- Logotypen för Ezhil-språket består av sammanflätade bokstäver i det tamilska språkskriptet, som stavar Ezhil - Ett tamilskt programmeringsspråk .
Se även
- Annamalai, Muthiah (28 juli 2009). "Ezhil: Ett tamilskt programmeringsspråk". arXiv : 0907.4960 [ cs.PL ]. Referensimplementering av programmeringsspråket Ezhil