에즈힐 (프로그래밍 언어)
Ezhil (programming language)![]() | |
패러다임 | 해석, 명령, 구조화 |
---|---|
설계자 | 무투안나말라이 |
개발자 | 독립/자유 |
첫 등장 | 2007 |
안정적 해제 | |
릴리스 미리 보기 | 버전 10rc0 / 2021년 3월 14일; 전 |
타이핑 규율 | 강하고 역동적인 |
OS | 리눅스, 윈도우즈,Python의 pip을 사용하여 MacOS에서 실행할 수 있음(패키지 관리자) |
면허증 | GPLv3 |
파일 이름 확장명 | .n |
웹사이트 | ezhillang |
주요 구현 | |
에질랑 | |
영향을 받은 | |
로고, BASIC, Python |
에즈힐, 타밀어 대본(타밀어: எழி roman, 로마자: 에질, 점등. '아름다움', 타밀어 발음: [eɻil̪])은 영어 기반 컴퓨터 시스템의 언어적 전문지식을 벗어나 원래 원어민-타밀어 말하기 학생, K-12세 그룹이 컴퓨터 프로그래밍을 배우고 학습 수치와 컴퓨팅을 가능하게 하기 위해 고안된 소형 오픈 소스, 해석 프로그래밍 언어다.
에스힐 프로그래밍 언어에서는 타밀 키워드와 언어 문법을 선택하여 토착 타밀 스피커가 에스힐 시스템에서 프로그램을 쉽게 쓸 수 있도록 한다.에즈힐은 현대 영어 기반의 프로그래밍 언어에서 조건부, 분기, 루프 문장에 해당하는 타밀어 논리 구조에 더 가까운 컴퓨터 프로그램을 쉽게 표현할 수 있게 한다.에즈힐은 타밀어에서 최초로 자유롭게 이용할 수 있는 프로그래밍 언어로서 많은 알려진 비영어 프로그래밍 언어 중 하나이다.이 언어는 2009년 7월에 공식적으로 발표되었고, 2007년 말부터 개발되었다.
설명
Ezhil의 구문은 BASIC의 구문과 대체로 유사하다: 코드 블록은 순차적으로 실행되거나 함수 정의를 통해 공통 제어 흐름 구조에서 다음을 포함한다.while
그리고if
. 기능 블록과 문 블록의 종료에는 END in BASIC과 유사한 종료 키워드가 있어야 한다.형식 변환이 명시적으로 이루어져야 하지만 Ezhil은 동적 형식 언어이기 때문에 선언은 필요하지 않다.Ezhil은 숫자, 문자열, 논리, 리스트에 대한 내장형태를 가지고 있다.
목표들
- 교육: Ezhil 언어는 초등 컴퓨터 사용 원리를 배우기 위해 K-12 학생과 원어민 타밀어를 대상으로 한다.
- 직관: Ezhil 언어 통사설탕은 영어의 SVO 순서와 대조적으로 통상적인 단어 순서가 SOV인 Tamil 언어에 더 가까운 문장 구조를 허용하도록 배열되어 있다.
특징들
- 산술 및 논리 연산, 괄호로 표시된 우선 순위
- 350개 이상의 기본 제공 - 대부분 Python 표준 라이브러리에서 확인 가능
- 기능을 사용한 절차 프로그래밍, 재귀 지원, 가치별 통화 지원 등
- 언어로서의 에즈힐 - 매크로 프로세서가 아니며, 완전한 컴파일러-프론트 엔드(front-end)이다.
- Ezhil 언어는 Notepad++와 Emacs에 대한 지원을 강조하는 구문을 가지고 있다.
키워드
조건문은 IF-ELSEIF-ELSE 문을 본떠서 작성된다. WHIF 문에서 도출되는 루프 제어 문을 선택한다.함수 선언 구문은 단순하게 유지된다.상세 내용에는 프린트 문장과 아래의 흐름 제어 문장이 포함되어 있다.
1.- : 프린트 성명서 - பதிப்பி 2.- : 브레이크 성명서 - நிறுத்து 3.- : 계속 성명서 - தொடர் 4.- : 리턴 성명서 - பின்கொடு 5.- : IF-엘시프-기타-성명서 - ஆனால், இல்லைஆனால், இல்லை 6.- : 끝-성명서 - முடி 7.- : 함수-성명서 - நிரல்பாகம் 8.- : 그러는 동안-성명서 - வரை
유형 시스템
Ezhil은 Numbers, Strings, Logicals 및 Lists의 네 가지 기본 유형을 가지고 있다.구조나 사물이 없는 절차적 언어가 되어 새로운 유형의 생성을 허용하지 않는다.
언어 - 제어 구조, 함수 선언 및 연산자 문법
Ezhil 언어의 제어 구조에 대한 표준 언어 문법은 다음과 같다.
If-else 문
@( 컨디션 ) ஆனால் #참가지 இல்லை #거짓말가지 முடி
루프 문
@( 컨디션 ) வரை #루프 바디 முடி
연산자
표준 논리 연산자, 평등 "=", 불평등 "!=", 산술 비교 ">=", "<=","<","<"가 지원된다."+", "-",*"/"와 같은 산술 연산자는 표준 더하기, 빼기, 제품, 나누기를 나타낸다.Modulo는 "%"로 표시되고 "^" 문자로 지수화된다.
평.
'#' 문자는 점부터 점까지 한 줄의 코멘트를 가리킨다.다중 회선 코멘트는 정의되지 않는다.
함수 선언
நிரல்பாகம் [함수_NAME] ( ARGLIST ) [함수 본체] முடி
가변 범위 지정 및 가시성
Ezhil은 가치별 호출만 지원하며, 함수 호출 시 모든 데이터 구조를 복사한다.글로벌은 지원되지 않는다.재귀가 지원되며 함수를 호출하면 변수가 복사된다.
구현
현재의 Ezhil 구현은[3] Python 런타임과 긴밀하게 통합되어 있다.에즈힐 통역기는 리드라인과 같은 CLI를 기반으로 하는 한편, 배치 모드에서도 실행할 수 있다.대화형 모드는 프로그램을 UTF-8 인코딩된 텍스트로 소비하고, 컴파일러 프런트엔드를 사용하여 트리를 만들어 AST를 만들고, 이 AST에서 빌드된 파이톤 객체를 사용하여 실행한다.
예
안녕 세계
다음은 에즈힐의 헬로 월드 프로그램이다.
# தமிழில் ஒரு எடுத்துக்காட்டு பதிப்பி "வணக்ம்்் Vijay!" பதிப்பி "உலகே வணக்கம்" பதிப்பி "******* நன்றி!.*******" 퇴장하다()
추측 게임
다음은 [1-100] 사이의 숫자를 추측하기 위한 10-chance의 추측 게임이다.
பதிப்பி "வணக்கம், விதி விளையாட்டுக்கு வருக!" # ஒவ்வொரு முறை ஒரு புதிய விதி தேவை 씨를 뿌리다( 1729 + 500*무작위의() ) எண் = 랜딘트(1,100) # 10 வாய்ப்புகளை கொடுக்க வாய்ப்பு = 0 @( வாய்ப்பு < 10 ) வரை பதிப்பி "நான் என் இதயத்தில் எண் [1-100] ஒன்று நினைக்கிறேன்" பதிப்பி "நான் என்ன நினைக்கிறேன் என்று தெரியுமா?" 맞혀봐. = உள்ளீடு ( "게스/யூிிக > >" ) வாய்ப்பு = வாய்ப்பு + 1 #பதிப்( (் == 추측 ) #பதிப்பி எண் @( எண் == 맞혀봐. ) ஆனால் பதிப்பி "வாழ்த்துக்கள்! சரியான பதில்" 퇴장하다(0) முடி @( எண் < 맞혀봐. ) ஆனால் பதிப்பி "உங்கள் உள்ளீடு அதிகமாக உள்ளது" இல்லை பதிப்பி "உங்கள் உள்ளீடு குறைத்து உள்ளது" முடி பதிப்பி "இன்னும் " பதிப்பி ( 10 - வாய்ப்பு ) பதிப்பி "வாய்ப்புக்குள் மீதமுள்ளன முடி" முடி பதிப்பி "மன்னிக்கவும் : 10 வாய்ப்பு முடிக்க முடியவில்லை!" 퇴장하다( -1 )
파일 I/O
# கோப்புப் பயன்பாடு fp = கோப்பை_திற( "names.txt","w") # நாம் ஒரு பட்டியலில் இருந்து வார்த்தைகளை பயன்படுத்த முடியும் எ = ["இந்த","ஒரு","எழில்","தமிழ்","நிரலாக்க","மொழி","உதாரணம்"] இ = 0 @( இ < 렌(எ) ) வரை # நாம் ஒவ்வொரு வரியும் ஒரு எண் மற்றும் வார்த்தை சேர்க்க முடியும் வரி = 발을 동동 구르다(இ) +" = "+ எடு( எ, இ ) + "\n" பதிப்பி வரி கோப்பை_எழுது( fp,வரி ) இ = இ + 1 முடி #சேமித்து மூட கோப்பை_மூடு( fp ) # மறு திறந்த கோப்பு fp = கோப்பை_திற( "names.txt") # மற்றும் உள்ளடக்கங்களை படிக்கவும் வரிகள் = கோப்பை_படி(fp) # பயனருக்கு காண்பிக்க பதிப்பி வரிகள் # கோப்பு மூட கோப்பை_மூடு( fp ) # ஒரு எடிட்டர் கோப்பு திறக்க, "names.txt". emacs அல்லது Notepad பயன்படுத்தவும்.
거북 그래픽스
다음은 음양 기호를 그리기 위한 거북 그래픽 기반 예다.
நிரல்பாகம் 음양의(반지름, 컬러1, 컬러2) #turtle_폭(3) 거북이_색깔("검은색") 거북이_채움(진실의) 거북이_circle(반지름/2., 180) 거북이_circle(반지름, 180) 거북이_왼쪽(180) 거북이_circle( -1*반지름/2.0 , 180 ) 거북이_색깔(컬러1) 거북이_채움(진실의) 거북이_색깔(컬러2) 거북이_왼쪽(90) 거북이_up() 거북이_앞으로(반지름*0.375) 거북이_오른쪽(90) 거북이_다운() 거북이_circle(반지름*0.125) 거북이_왼쪽(90) 거북이_채움(거짓의) 거북이_up() 거북이_backward(반지름*0.375) 거북이_다운() 거북이_왼쪽(90) முடி நிரல்பாகம் 본래의() #turtle_reset()() 음양의(200, "흰색", "검은색") 음양의(200, "검은색", "흰색") 거북_ht() 잠시 멈추다( "완료! 종료하려면 Enter 키를 누르십시오.", 5) முடி 본래의()

로고 에질
- Ezhil 언어의 로고는 Ezhil - A Tamil 프로그래밍 언어의 철자를 철자하여 타밀 언어 대본의 교차된 문자로 구성되어 있다.
참고 항목
참조
- ^ Python PIP 저장소
- ^ 기투브 에즈힐 프로그래밍 언어
- ^ "Ezhil-Lang". 4 October 2021.
- Annamalai, Muthiah (28 Jul 2009). "Ezhil: A Tamil Programming Language". arXiv:0907.4960 [cs.PL]. Ezhil 프로그래밍 언어의 참조 구현
외부 링크
![]() | 위키미디어 커먼즈에는 에즈힐과 관련된 미디어가 있다. |