Ezhil (programmeringsspråk)

Ezhil
Ezhil - A Tamil Programming Language Logo.png
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ör 5 år sedan ( 2017-08-23 )
Förhandsgranska release
version 10rc0 / 14 mars 2021 ; 23 månader sedan ( 2021-03-14 )
Maskinskrivningsdisciplin stark , dynamisk
OS Linux , Windows ,Kan köras i MacOS med Pythons pip (pakethanterare)
Licens GPLv3
Filnamnstillägg .n
Hemsida ezhillang .org
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,

Ezhil-program i Notepad++ syntaxmarkeringsläge

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  )  _  
Följande är ett gissningsspel med 10 chanser att gissa ett tal mellan [1-100]

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()
Följande är ett sköldpaddsgrafikbaserat exempel för att rita Yin-Yang- symbolerna

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

  1. Annamalai, Muthiah (28 juli 2009). "Ezhil: Ett tamilskt programmeringsspråk". arXiv : 0907.4960 [ cs.PL ]. Referensimplementering av programmeringsspråket Ezhil

externa länkar