![]() | |
| パラダイム | 解釈された、命令的な、構造化された |
|---|---|
| デザイン: | Muthiah Annamalai [1] Google学者 |
| 開発者 | 独立/フリーランス |
| 初登場 | 2007 |
| 安定版リリース | バージョン0.99 [2] [3]
/ 2017年8月23日 |
| プレビューリリース | バージョン 10rc0 / 2021年3月14日 |
| タイピングの規律 | 強い、ダイナミックな |
| OS | Linux、Windows 、 Pythonのpip(パッケージマネージャー)を使用してMacOSで実行できます |
| ライセンス | GPLv3 |
| ファイル名拡張子 | .n |
| Webサイト | ezhillang.org |
| 主な実装 | |
| エジル・ラング | |
| 影響を受けた | |
| ロゴ、BASIC、Python | |
タミル語の文字で表記するとEzhil (タミル語: எழில்、ローマ字表記: Eḻil、直訳すると 「美しさ」、タミル語の発音: [eɻil̪] ) は、コンパクトなオープンソースの解釈型プログラミング言語であり、もともとは、タミル語を母国語とするK-12年齢層の学生が、主に英語ベースのコンピュータ システムにおける言語専門知識に頼らずに、コンピュータ プログラミングを学習し、計算能力とコンピューティングを学習できるように設計されています。
Ezhil プログラミング言語では、タミル語のキーワードと言語文法が選択され、タミル語を母国語とする人が Ezhil システムでプログラムを簡単に記述できるようにしています。Ezhil を使用すると、現代の英語ベースのプログラミング言語の条件文、分岐文、ループ文に相当するタミル語の論理構造に近いコンピュータ プログラムを簡単に表現できます。Ezhil は、タミル語で無料で利用できる最初のプログラミング言語であり、多くの英語ベースではないプログラミング言語の 1 つです。この言語は 2007 年後半から開発され、2009 年 7 月に正式に発表されました。
説明
Ezhilの構文はBASICの構文とほぼ同様です。コード ブロックは、、、などの共通の制御フロー構造で、順番に、または関数定義を介して実行されます。関数ブロックとステートメント ブロックの終了には、BASIC の END に似た終了キーワードが必要です。Ezhilは動的型付け言語であるため、宣言は必要ありませんが、型変換は明示的に行う必要があります。Ezhil には、数値、文字列、論理値、リストの組み込み型があります。
whileif
目標
- 教育:エジル語は、初等教育のコンピュータサイエンスの原理を学ぶために、K-12の生徒とタミル語を母国語とする人を対象としています。
- 直感的: エジル語の統語糖は、英語のSVO順とは対照的に、通常の語順がSOVであるタミル語の主要部 に近い文構造を可能にするように配置されています。
特徴
- 算術演算と論理演算、優先順位は括弧で示す
- 350以上の組み込み関数 - その多くはPython標準ライブラリによく含まれています
- 関数を使用した手続き型プログラミング。再帰、値渡しなどをサポートします。
- Ezhilは言語として、マクロプロセッサではなく、完全なコンパイラフロントエンドです。
- Ezhil言語はNotepad++とEmacsの構文強調表示をサポートしています
キーワード
条件文は、IF-ELSEIF-ELSE 文をモデルにしています。WHILE 文から派生したループ制御文が選択されます。関数宣言構文はシンプルに保たれています。詳細には、print 文と以下のフロー制御文が含まれます。
1. - : PRINT文- பதிப்பி 2. - : BREAK文- நிறுத்து 3. - : CONTINUE文- தொடர் 4. - : RETURN文- 5. - : IF - ELSEIF - ELSE -ステートメント- 、、、、、6. - : END -ステートメント- முடி 7. - : FUNCTION -ステートメント- நிரல்பாகம் 8. - : WHILE -ステートメント- வரை
型システム
Ezhil には、数値、文字列、論理値、リストの 4 つの基本型があります。構造体やオブジェクトのない手続き型言語であるため、新しい型を作成することはできません。
言語 - 制御構造、関数宣言、演算子の文法
エジル言語の制御構造の標準言語文法は以下のとおりです。

if-else文
@ ( CONDITION ) ஆனால் #True 分岐இல்லை #False 分岐முடி
ループ文
@ ( CONDITION ) வரை #LOOP BODY முடி
オペレーター
標準の論理演算子、等号 "=="、不等号 "!="、算術比較 ">="、"<="、">、"<" がサポートされています。"+"、"-"、"*"、"/" などの算術演算子は、標準の加算、減算、積、除算を示します。モジュロは "%" で示され、指数は "^" 文字で示されます。
コメント
'#' 文字は、そのポイントから行末までの 1 行コメントを表します。複数行コメントは定義されていません。
関数宣言
[関数名] ( ARGLIST ) [関数本体]関数
変数のスコープと可視性
Ezhil は値渡しのみをサポートし、関数呼び出し時にすべてのデータ構造をコピーします。グローバルはサポートされていません。再帰はサポートされており、関数呼び出しによって変数がコピーされます。
実装
現在のEzhil実装[4]はPythonランタイムと緊密に統合されています。EzhilインタープリタはreadlineのようなCLIに基づいていますが、バッチモードで実行することもできます。インタラクティブモードでは、プログラムをUTF-8でエンコードされたテキストとして消費し、コンパイラフロントエンドを使用してツリーを構築してASTを構築し、このASTから構築されたPythonオブジェクトを使用してそれを実行します。
例
こんにちは世界
以下はEzhil のHello world プログラムです。
#தமிழில் ஒரு எடுத்துக்காட்டு
「ビジェイ!」பதிப்பி "உலகே வணக்கம்" பதிப்பி "******* நன்றி!. *******" exit ()
推測ゲーム
以下は、[1-100] の間の数字を 10 回推測するゲームです。
「ありがとうございます!」
#
シード( 1729 + 500 *ランダム() ) எண் =ランディント( 1 , 100 )
# 10 வாய்ப்புகளை கொடுக்க
வாய்ப்பு = 0
@ ( வாய்ப்பு < 10 ) வரை பதிப்பி "நான் என் இதயத்தில் [1-100] ஒன்று நினைக்கிறேன்" பதிப்பி "நான் என்ன 「どうですか?」推測= உள்ளீடு ( "推測/யூகிக்க >>" ) வாய்ப்பு = வாய்ப்பு + 1 #பதிப்பி ( எண் == 推測 ) #பதிப்பி எண் @ ( எண் ==推測) ஆனால் பதிப்பி "வாழ்த்துக்கள்! சரியான பதில்" exit ( 0 ) முடி
@ ( எண் <推測) ஆனால் பதிப்பி "உங்கள் உள்ளீடு அதிகமாக 「உள்ளது」「இல்லை பதிப்பி 」「உங்கள் உள்ளீடு」 குறைத்து 「உள்ளது 」
பதிப்பி "இன்னும் " பதிப்பி ( 10 - வாய்ப்பு ) பதிப்பி "வாய்ப்புக்குள் மீதமுள்ளன முடி」முடி
「மன்னிக்கவும் : 10 வாய்ப்பு முடிக்க 」முடியவில்லை!」出口( - 1 )

ファイルI/O
# கோப்புப் பயன்பாடு
fp = கோப்பை_திற ( "names.txt" , "w" )
# நாம் ஒரு பட்டியலில் இருந்து வார்த்தைகளை பயன்படுத்த முடியும்
எ = [ "இந்த" , "ஒரு" , "எழில்" , "தமிழ்" 、"நிரலாக்க" , "மொழி" , "உதாரணம்" ] இ = 0 @ ( இ < len ( எ ) ) வரை # நாம் ஒவ்வொரு வரியும் ஒரு எண் மற்றும் வார்த்தை சேர்க்க முடியும் வரி = str ( இ ) + " = " + எடு ( எ , இ ) + " \n" பதிப்பி வரி கோப்பை_எழுது ( fp , வரி ) இ = இ + 1 முடி #சேமித்து மூட கோப்பை_மூடு ( fp )
# மறு திறந்த கோப்பு
fp = கோப்பை_திற ( "names.txt" )
# மற்றும் உள்ளடக்கங்களை படிக்கவும்
வரிகள் = கோப்பை_படி ( fp )
#பயனருக்கு காண்பிக்க
பதிப்பி வரிகள்
# கோப்பு மூட
கோப்பை_மூடு ( fp )
# 「names.txt」。 emacs はメモ帳の機能です。
タートルグラフィックス
以下は、陰陽のシンボルを描画するための タートル グラフィックスベースの例です。
タートルの半径yin (半径, color1 , color2 ) #turtle_width(3) turtle_color ( "black" ) turtle_fill ( True ) turtle_circle (半径/ 2. , 180 ) turtle_circle (半径, 180 ) turtle_left ( 180 ) turtle_circle ( - 1 *半径/ 2.0 , 180 ) turtle_color ( color1 ) turtle_fill ( True ) turtle_color ( color2 ) turtle_left ( 90 ) turtle_up () turtle_forward (半径* 0.375 ) turtle_right ( 90 ) turtle_down () turtle_circle (半径* 0.125 ) turtle_left ( 90 ) turtle_fill ( False ) turtle_up () turtle_backward (半径* 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 ) முடி
主要()

ロゴ エジル
- Ezhil 言語のロゴは、タミル語の文字が絡み合って構成されており、「Ezhil - タミル語プログラミング言語」と綴っています。
参照
参考文献
- ^ 「ムティア・アンナマライ」.
- ^ Python PIP リポジトリ
- ^ Ezhil-プログラミング言語 (github)
- ^ 「エジル=ラング」。 2021年10月4日。
- アンナマライ、ムティア (2009 年 7 月 28 日)。 「Ezhil: タミル語プログラミング言語」。arXiv : 0907.4960 [cs.PL]。Ezhilプログラミング言語のリファレンス実装
外部リンク
- 公式サイト
- GitHubの Ezhil-Language-Foundation
- PIP Python リポジトリ上の Ezhil-Lang プロジェクト

