Ежил (язык программирования) - Ezhil (programming language)

Ежиль
Эжил - Тамильский язык программирования Logo.png
Парадигмаинтерпретированный, императив, структурированный
РазработаноМутху Аннамалай
РазработчикНезависимый / фрилансер
Впервые появился2007
Стабильный выпуск
версия 0.1[1][2] / 13 июня 2013 г.; 7 лет назад (2013-06-13)
Печатная дисциплинасильный, динамичный
Операционные системыLinux, Windows
ЛицензияGPLv3
Расширения имени файла.n
Интернет сайтЕжилланг.org
Основной реализации
Ежил-Ланг
Под влиянием
Логотип, БАЗОВЫЙ, Python

Ежиль, в Тамильский язык сценарий (Тамильский: எழில், романизированный:Eḻil, горит  'Красота', Тамильское произношение:[eɻil̪]), является компактным, Открытый исходный код, интерпретированный, язык программирования, изначально предназначенный для поддержки собственныхТамильский говорящие студенты, К-12 возрастная группа для обучения компьютерное программирование, и включить обучение умение считать и вычисление, помимо лингвистической экспертизы в компьютерных системах преимущественно на английском языке.

В языке программирования Ezhil тамильские ключевые слова и языковая грамматика выбраны, чтобы легко позволить носителю языка тамильского языка писать программы в системе Ezhil. Ezhil позволяет легко представить компьютерную программу ближе к логическим конструкциям тамильского языка, эквивалентным условным операторам, операторам ветвления и цикла в современных языках программирования, основанных на английском языке. Ezhil - первый свободно распространяемый язык программирования в Тамильский язык и один из многих известных неанглийские языки программирования. Язык был официально анонсирован в июле 2009 года, а разрабатывается с конца 2007 года.

Описание

В синтаксис из Ежиль в целом похож на БАЗОВЫЙ: блоки кода выполняются в последовательном порядке или через определения функций в общем поток управления структуры включают пока, и если. Завершение функционального блока и блока операторов должно иметь ключевое слово завершения, подобное END в BASIC. Заявления не требуются, поскольку Ежиль это язык с динамической типизацией, хотя преобразование типов должно быть сделано явно. У Ezhil есть встроенные типы для чисел, строк, логики и списков.

Цели

  • Образовательные: язык Ezhil нацелен на учащихся K-12 и носителей тамильского языка для изучения элементарного принципа компьютерных наук.
  • Интуитивно: ежил язык синтаксический сахар устроен так, чтобы структура предложения была ближе к главный финал Тамильский язык, где обычный порядок слов SOV, в отличие от SVO порядок английского.

Функции

  • Арифметические и логические операции, приоритет указан в скобках
  • Более 350+ встроенных команд - многие из них обычно встречаются в стандартной библиотеке Python
  • Процедурное программирование с использованием функций, поддерживающих рекурсию, вызов по значению и т. Д.
  • Ежил как язык - это не макропроцессор, а полноценный компилятор-интерфейс.
  • В языке Ezhil есть поддержка подсветки синтаксиса для Notepad ++ и Emacs

Ключевые слова

Условные операторы моделируются после оператора IF-ELSEIF-ELSE. Выбраны операторы управления циклом, производные от операторов WHILE. Синтаксис объявления функции остается простым. Подробности включают оператор печати и операторы управления потоком ниже.

1.- : РАСПЕЧАТАТЬ утверждение - பதிப்பி2.- : ПЕРЕМЕНА утверждение - நிறுத்து 3.- : ПРОДОЛЖИТЬ утверждение - தொடர்4.- : ВОЗВРАЩАТЬСЯ утверждение - பின்கொடு 5.- : ЕСЛИ-ELSEIF-ЕЩЕ-утверждение - ஆனால், இல்லைஆனால், இல்லை6.- : КОНЕЦ-утверждение -  முடி7.- : НАЗНАЧЕНИЕ-утверждение - நிரல்பாகம்8.- : ПОКА-утверждение - வரை

Система типов

Ezhil имеет четыре основных типа: числа, строки, логические элементы и списки. Он не позволяет создавать новые типы, будучи процедурным языком без структур или объектов.

Язык - управляющие структуры, объявления функций и грамматика операторов

Стандартная языковая грамматика управляющих структур для языка Ежиль приведена ниже.

Ежил программы в режиме подсветки синтаксиса Notepad ++

Если-еще заявление

@( УСЛОВИЕ ) ஆனால்   # Истинная веткаஇல்லை   # Ложная веткаமுடி

Заявление цикла

@( УСЛОВИЕ ) வரை    # LOOP BODYமுடி

Операторы

Поддерживаются стандартные логические операторы, равенство "==", неравенство "! =", Арифметическое сравнение "> =", "<=", ">", "<". Арифметические операторы, такие как «+», «-», «*», «/», обозначают стандартный плюс, минус, произведение, деление. Модуль обозначается символом «%», а показатель степени - символом «^».

Комментарии

Символ «#» обозначает однострочный комментарий от точки до конца строки. Многострочные комментарии не определены.

Объявление функции

நிரல்பாகம் [FUNCTION_NAME] ( ARGLIST )  [НАЗНАЧЕНИЕ ТЕЛО]முடி

Переменная область видимости и видимость

Ezhil поддерживает только вызов по значению и копирует все структуры данных при вызовах функций. Глобалы не поддерживаются. Поддерживается рекурсия, и вызов функций копирует переменные.

Реализации

Текущая реализация Ezhil[3] тесно интегрирован со средой выполнения Python. Интерпретатор Ezhil основан на readline-подобном CLI, хотя его также можно запускать в пакетном режиме. Интерактивный режим использует программы в виде текста в кодировке UTF-8 и строит дерево, используя интерфейс компилятора, чтобы построить AST, и выполняет его, используя объекты Python, созданные из этого AST.

Примеры

Привет, мир

Ниже приводится Привет, мир программа в Ежиле:

# தமிழில் ஒரு எடுத்துக்காட்டு பதிப்பி "வணக்கம் Виджай!"<ссылка></ссылка>பதிப்பி "உலகே வணக்கம்"பதிப்பி "******* நன்றி !. *******"выход()

Угадайку

Ниже приводится игра в угадывание с 10 шансами угадать число от [1 до 100].

பதிப்பி ", விதி விளையாட்டுக்கு வருக!"# ஒவ்வொரு முறை ஒரு புதிய விதி தேவைсемя( 1729 + 500*случайный() )எண் = Randint(1,100)# 10 வாய்ப்புகளை கொடுக்கவாய்ப்பு = 0@( வாய்ப்பு < 10 ) வரை   பதிப்பி "நான் என் இதயத்தில் எண் [1-100] ஒன்று நினைக்கிறேன்"   பதிப்பி "நான் என்ன நினைக்கிறேன் என்று தெரியுமா?"   Угадай = உள்ளீடு ( "Угадай / யூகிக்க >>" )   வாய்ப்பு = வாய்ப்பு + 1   # பதிப்பி (எண் == угадать)   # பதிப்பி எண்   @( எண் == Угадай ) ஆனால்      பதிப்பி "வாழ்த்துக்கள்! சரியான பதில்"      выход(0)   முடி   @( எண் < Угадай ) ஆனால்      பதிப்பி "உங்கள் உள்ளீடு அதிகமாக உள்ளது"   இல்லை      பதிப்பி "உங்கள் உள்ளீடு குறைத்து உள்ளது"  முடி   பதிப்பி "இன்னும்"   பதிப்பி ( 10 - வாய்ப்பு )   பதிப்பி "வாய்ப்புக்குள் மீதமுள்ளன முடி"முடிபதிப்பி ": 10 வாய்ப்பு முடிக்க முடியவில்லை!"выход( -1 )
Ниже приводится игра в угадывание с 10 шансами угадать число от [1 до 100].

Файловый ввод-вывод

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

Графика черепаха

Ниже приводится Графика черепаха основанный на примере рисования символов Инь-Ян.

நிரல்பாகம் инь(радиус, color1, цвет2)    #turtle_width (3)    turtle_color("чернить")    turtle_fill(Истинный)    turtle_circle(радиус/2., 180)    turtle_circle(радиус, 180)    turtle_left(180)    turtle_circle( -1*радиус/2.0 , 180 )    turtle_color(color1)    turtle_fill(Истинный)    turtle_color(цвет2)    turtle_left(90)    turtle_up()    turtle_forward(радиус*0.375)    turtle_right(90)    turtle_down()    turtle_circle(радиус*0.125)    turtle_left(90)    turtle_fill(Ложь)    turtle_up()    turtle_backward(радиус*0.375)    turtle_down()    turtle_left(90)முடிநிரல்பாகம் главный()    #turtle_reset ()    инь(200, "белый", "чернить")    инь(200, "чернить", "белый")    turtle_ht()    Пауза( «Готово! Нажмите Enter, чтобы выйти», 5)முடிглавный()
Ниже приведен пример изображения Черепахи для рисования символов Инь-Ян.

Логотип Ежил

  • Логотип для ежильского языка состоит из переплетенных букв Тамильский языковой сценарий, разборчивость Ezhil - тамильский язык программирования.

Смотрите также

Рекомендации

  1. Аннамалай, Муфия (28 июля 2009 г.). «Ежил: тамильский язык программирования». arXiv:0907.4960. Эталонная реализация языка программирования Ежил

внешняя ссылка