Эжил (бағдарламалау тілі) - Ezhil (programming language)

Ежил
Эжил - Тамил бағдарламалау тілі Logo.png
Парадигматүсіндірілді, императивті, құрылымдалған
ЖобалағанМуту Аннамалай
ӘзірлеушіТәуелсіз / штаттан тыс
Бірінші пайда болды2007
Тұрақты шығарылым
0.1 нұсқасы[1][2] / 2013 жылғы 13 маусым; 7 жыл бұрын (2013-06-13)
Пәнді терукүшті, динамикалық
ОЖLinux, Windows
ЛицензияGPLv3
Файл атауының кеңейтімдері.n
Веб-сайтezhillang.org
Майор іске асыру
Эжил-Ланг
Әсер еткен
Логотип, НЕГІЗГІ, Python

Ежил, жылы Тамил тілі сценарий (Тамил: எழில், романизацияланған:Эйл, жанды  «сұлулық», Тамилше айтылуы:[eɻil̪]), ықшам, ашық ақпарат көзі, түсіндірілді, бағдарламалау тілі бастапқыда жергіліктіТамил сөйлейтін студенттер, K-12 оқуға арналған жас тобы компьютерлік бағдарламалау және оқуға мүмкіндік беру есептеу және есептеу, негізінен ағылшын тілді компьютерлік жүйелердегі лингвистикалық сараптамадан тыс.

Эжил бағдарламалау тілінде ана тілі сөйлеушілерге Эжил жүйесінде бағдарламалар жазуды жеңілдету үшін тамил кілт сөздері мен тіл-грамматикасы таңдалады. Ezhil компьютерлік бағдарламаны заманауи ағылшын тілді бағдарламалау тілдеріндегі шартты, тармақталған және циклдік тұжырымдарға баламалы тамил тілінің логикалық құрылымына жақын ұсынуға мүмкіндік береді. Эжил - бұл еркін қол жетімді бірінші бағдарламалау тілі Тамил тілі және көпшіліктің бірі ағылшын емес бағдарламалау тілдері. Бұл тіл ресми түрде 2009 жылдың шілдесінде жарияланды, ал 2007 жылдың аяғынан бастап дамып келеді.

Сипаттама

The синтаксис туралы Ежил жалпыға ұқсас НЕГІЗГІ: кодтар блоктары жүйелі түрде немесе функциялар анықтамалары арқылы жалпыға бірдей орындалады басқару ағыны құрылымдар жатады уақыт, және егер. Функциялар блогы мен оператор блоктарының тоқтатылуында, BASIC-те END сияқты, аяқтау кілт сөзі болуы керек. Декларация қажет емес Ежил дегенмен, бұл динамикалық типтегі тіл түрлендірулерді теріңіз нақты түрде жасалуы керек. Эжилдің сандар, жолдар, логикалық және тізімдерге арналған типтері бар.

Мақсаттар

  • Тәрбиелік: Эжил тілі K-12 студенттеріне және ана-тамил тілінде сөйлеушілерге компьютерлік бастауыш принциптерін үйренуге бағытталған.
  • Интуитивті: эжил тілі синтаксистік қант сөйлем құрылымын жақындатуға мүмкіндік беретін етіп орналастырылған бас финал Тамил тілі, мұнда кәдімгі сөз тәртібі орналасқан СОВ, айырмашылығы SVO ағылшын тілі.

Ерекшеліктер

  • Арифметикалық және логикалық амалдар, жақшамен көрсетілген басымдылық
  • 350-ден астам қондырылған - олардың көпшілігі Python стандартты кітапханасында кездеседі
  • Функцияларды қолдана отырып процедуралық бағдарламалау, рекурсияны қолдау, шақыру бойынша және т.б.
  • Эжил тіл ретінде - бұл макро-процессор емес, және ол толық компилятор-фронт болып табылады
  • Эжил тілінде Notepad ++ және Emacs қолдайтын синтаксистік қолдау бар

Кілт сөздер

Шартты мәлімдемелер IF-ELSEIF-ELSE мәлімдемесінен кейін модельденеді. WHILE операторынан шығатын циклді басқару операторлары таңдалды. Функцияны жариялау синтаксисі қарапайым болып келеді. Мәліметтерге баспа мәлімдемесі және төмендегі ағынды басқару мәлімдемелері кіреді.

1.- : БАСЫП ШЫҒАРУ мәлімдеме - பதிப்பி2.- : СЫНЫҚ мәлімдеме - நிறுத்து 3.- : ЖАЛҒАСЫҢЫЗ мәлімдеме - தொடர்4.- : ҚАЙТУ мәлімдеме - பின்கொடு 5.- : Егер-ELSEIF-БАСҚА-мәлімдеме - ஆனால், இல்லைஆனால், இல்லை6.- : СОҢЫ-мәлімдеме -  முடி7.- : ФУНКЦИЯ-мәлімдеме - நிரல்பாகம்8.- : Қашан-мәлімдеме - வரை

Түр жүйесі

Эжилдің сандар, жолдар, логикалық және тізімдерге арналған төрт негізгі түрі бар. Бұл құрылымдар мен нысандарсыз процедуралық тіл бола отырып, жаңа типтерді құруға мүмкіндік бермейді.

Тіл - басқару құрылымдары, функциялар декларациясы және операторлар грамматикасы

Эжил тілінің басқару құрылымдары үшін стандартты тіл грамматикасы төменде келтірілген,

Ezhil бағдарламалары Notepad ++ синтаксистік ерекшелеу режимінде

If-else мәлімдемесі

@( ШАРТ ) ஆனால்   # Шынайы филиалஇல்லை   # Жалған филиалமுடி

Цикл туралы мәлімдеме

@( ШАРТ ) வரை    # ЛОП ДЕНЕமுடி

Операторлар

Стандартты логикалық операторларға, «==» теңдікке, «! =» Теңсіздікке, «> =», «<=», «>», «<» арифметикалық салыстыруға қолдау көрсетіледі. «+», «-», «*», «/» сияқты арифметикалық операторлар стандартты плюс, минус, көбейтіндіні, бөлуді көрсетеді. Модуло «%», ал дәреже «» «таңбаларымен белгіленеді.

Түсініктемелер

'#' таңбасы нүктеден бастап жолдың соңына дейінгі бір жолды түсініктемені білдіреді. Көп жолды түсініктемелер анықталмаған.

Функциялар туралы декларация

நிரல்பாகம் [FUNCTION_NAME] ( ARGLIST )  [ФУНКЦИЯ ДЕНЕ]முடி

Айнымалы ауқым және көріну

Ezhil тек шақыру бойынша қолдайды және функционалдық шақыруларға барлық деректер құрылымын көшіреді. Әлемдік деңгейлерге қолдау көрсетілмейді. Рекурсияға қолдау көрсетіледі және шақыру функциясы айнымалыларды көшіреді.

Іске асыру

Қазіргі Ежилді енгізу[3] Python жұмыс уақытымен тығыз интеграцияланған. Ezhil аудармашысы readline тәрізді CLI, оны пакеттік режимде де іске қосуға болады. Интерактивті режим UTF-8 кодталған мәтін ретінде бағдарламаларды қолданады және компилятордың алдыңғы жағын пайдаланып ағаш құрастырады. AST және оны осы AST-тен құрастырылған Python нысандары арқылы орындайды.

Мысалдар

Сәлем Әлем

Келесі а Сәлем әлемдік бағдарлама Ежилде:

# தமிழில் ஒரு எடுத்துக்காட்டு பதிப்பி «வணக்கம் Виджей!»<реф></реф>பதிப்பி «உலகே வணக்கம்»பதிப்பி «******* நன்றி !. *******»Шығу()

Ойын тап

Төменде [1-100] аралығындағы санды болжауға 10 мүмкіндік бар болжау ойыны келтірілген.

பதிப்பி «வணக்கம், விதி விளையாட்டுக்கு வருக!»# ஒவ்வொரு முறை ஒரு புதிய விதி தேவைтұқым( 1729 + 500*кездейсоқ() )எண் = рандинт(1,100)# 10 கொடுக்க கொடுக்கவாய்ப்பு = 0@( வாய்ப்பு < 10 ) வரை   பதிப்பி «நான் என் இதயத்தில் எண் [1-100] ஒன்று நினைக்கிறேன்»   பதிப்பி «நான் என்ன நினைக்கிறேன் என்று தெரியுமா?»   болжау = உள்ளீடு ( «Guess / யூகிக்க >>» )   வாய்ப்பு = வாய்ப்பு + 1   # பதிப்பி (எண் == болжам)   # பதிப்பி எண்   @( எண் == болжау ) ஆனால்      பதிப்பி «வாழ்த்துக்கள்! சரியான பதில்»      Шығу(0)   முடி   @( எண் < болжау ) ஆனால்      பதிப்பி «உங்கள் உள்ளீடு அதிகமாக உள்ளது»   இல்லை      பதிப்பி «உங்கள் உள்ளீடு குறைத்து உள்ளது»  முடி   பதிப்பி «இன்னும்»   பதிப்பி ( 10 - வாய்ப்பு )   பதிப்பி «வாய்ப்புக்குள் மீதமுள்ளன முடி»முடிபதிப்பி «மன்னிக்கவும்: 10 வாய்ப்பு முடிக்க முடியவில்லை!»Шығу( -1 )
Төменде [1-100] аралығындағы санды болжауға 10 мүмкіндік бар болжау ойыны келтірілген.

Файл енгізу-шығару

# கோப்புப் பயன்பாடுфп = கோப்பை_திற( «names.txt»,«w»)# நாம் ஒரு பட்டியலில் இருந்து வார்த்தைகளை பயன்படுத்த முடியும் = [«இந்த»,«ஒரு»,«எழில்»,«தமிழ்»,«நிரலாக்க»,«மொழி»,«உதாரணம்»] = 0@(  < лен() ) வரை  # நாம் ஒவ்வொரு வரியும் ஒரு எண் மற்றும் வார்த்தை சேர்க்க முடியும்  வரி = str() +" = "+ எடு( ,  ) + « n»  பதிப்பி வரி  கோப்பை_எழுது( фп,வரி )   =  + 1முடி# சேமித்து மூடகோப்பை_மூடு( фп )# மறு திறந்த கோப்புфп = கோப்பை_திற( «names.txt»)# மற்றும் உள்ளடக்கங்களை படிக்கவும்வரிகள் = கோப்பை_படி(фп)# பயனருக்கு காண்பிக்கபதிப்பி வரிகள்# கோப்பு மூடகோப்பை_மூடு( фп )# ஒரு எடிட்டர் கோப்பு திறக்க, «names.txt». emacs அல்லது Блокнот பயன்படுத்தவும்.

Тасбақа графикасы

Келесі а Тасбақа графикасы Инь-Ян таңбаларын салуға негізделген мысал.

நிரல்பாகம் Инь(радиусы, түс1, түс2)    # кеңдік_ең (3)    тасбақа_түсі(«қара»)    тасбақа_ толтыру(Рас)    тасбақа шеңбері(радиусы/2., 180)    тасбақа шеңбері(радиусы, 180)    тасбақа_солға(180)    тасбақа шеңбері( -1*радиусы/2.0 , 180 )    тасбақа_түсі(түс1)    тасбақа_ толтыру(Рас)    тасбақа_түсі(түс2)    тасбақа_солға(90)    тасбақа()    тасбақа_алға(радиусы*0.375)    тасбақа-дұрыс(90)    тасбақа()    тасбақа шеңбері(радиусы*0.125)    тасбақа_солға(90)    тасбақа_ толтыру(Жалған)    тасбақа()    тасбақа кері(радиусы*0.375)    тасбақа()    тасбақа_солға(90)முடிநிரல்பாகம் негізгі()    #turtle_reset ()    Инь(200, «ақ», «қара»)    Инь(200, «қара», «ақ»)    тасбақа_ht()    кідірту( «Дайын! Шығу үшін Enter пернесін басыңыз», 5)முடிнегізгі()
Төменде Инь-Ян таңбаларын салуға арналған Тасбақаның графикалық мысалдары келтірілген

Логотип Ezhil

  • Эжил тілінің логотипі әріптердің қатарынан тұрады Тамил тілдік сценарий, орфография Эжил - Тамил бағдарламалау тілі.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. Аннамалай, Мутия (28 шілде 2009). «Эжил: Тамил бағдарламалау тілі». arXiv:0907.4960. Ezhil бағдарламалау тілінің анықтамалық орындалуы

Сыртқы сілтемелер