1. 言語概要および文法
カナデ(Kanade) 言語の技術仕様概要です。
1. カナデの技術仕様について
カナデ(Kanade)は、韓国語プログラミング言語ハリ(Hari)の日本語ローカライズ版サブセット言語です。
カナデの内部的なAST(抽象構文木)の構造や、インタープリタの動作原理、実行環境の仕組みなどは、すべてハリ(Hari)と同一です。
AST構造とランタイムの詳細な仕様は、このサイトの次のページにまとめてあります。
ハリ(Hari)の公式ドキュメント(Hari 公式技術仕様)と同じ内容の日本語版なので、違いは次の対応表の語彙と区切り記号だけです。
2. ハリ(Hari) → カナデ(Kanade) キーワード対応表
カナデとハリの違いは、ASTやランタイムではなく表面上の語彙と区切り記号だけです。日本語キーボードで打ちやすいように区切り記号を置き換え、動詞を「〜しよう」調の日本語に翻訳しています。実装(レキサー)を基準にした対応表です。
2.1 区切り記号
| 用途 |
ハリ |
カナデ |
| 変数 |
'변수' |
『変数』 |
| 文字列 |
"문자" |
「文字」 |
| タイプ(型) |
[타입] |
【タイプ】 |
| 関数・メソッド |
<함수> |
〈関数〉 |
| テンプレート文字列 |
틀"...{'변수'}..." |
枠「...{『変数』}...」 |
2.2 基本語彙(自己参照・真偽・空値)
| 意味 |
ハリ |
カナデ |
| 自分自身(this) |
나 |
私 |
| 静的自己参照(static, class全体で共有) |
우리 |
私たち |
| 真 |
참 |
真 |
| 偽 |
거짓 |
偽 |
| 空値(null) |
비어있음 |
空っぽ |
| 親クラス |
부모 |
親 |
| 外側のスコープ(クロージャ) |
바깥 |
外 |
| 新しいインスタンス生成 |
새로운 |
新しい |
2.3 宣言・代入動詞
| 意味 |
ハリ |
カナデ |
| 値を決める(代入・宣言) |
정하자 |
にしよう |
| 作る(メソッド・関数定義) |
만들자 |
作ろう |
| private で作る |
숨기자 |
隠そう |
| protected で作る |
물려주자 |
譲ろう |
| 定数として固定 |
고정하자 |
固定しよう |
| 型だけ宣言(値は空値) |
준비하자 |
準備しよう |
| コンストラクタ |
처음 만들어질 때 |
最初に作られる時 |
| コンストラクタ・ブロックの導入句 |
다음과 같이 하자 |
次のようにしよう |
2.4 クラス・インターフェース
| 意味 |
ハリ |
カナデ |
| クラス定義 |
설계하자 |
設計しよう |
| インターフェース定義 |
규정하자 |
規定しよう |
| 必須メソッドの宣言 |
있어야 한다 |
なければならない |
| インターフェースの実装 |
따르는 |
従う |
| 継承元の指定 |
바탕으로(하고) |
基づいて / もとにして |
| ゲッター |
가져올 때 |
取得する時 |
| セッター |
정할 때 |
決める時 |
2.5 制御構文
| 意味 |
ハリ |
カナデ |
| もし〜なら |
만약 ~ 라면 |
もし ~ なら |
| else if(もう一つの条件) |
그렇지 않고 만약(ELSE+IFの2語) |
もしくは(1語に融合) |
| それ以外なら |
그렇지 않다면 |
それ以外ならば |
| かつ(AND) |
그리고 |
かつ / そして |
| または(OR) |
또는 |
または |
| switch文 |
따라 나누자 |
によって分けよう |
| case |
경우 |
の場合 |
| default |
나머지는 |
残りは |
| fallthrough |
다음으로 이어가자 |
次に続けよう |
2.6 繰り返し文
ハリは動詞「반복하자」1つに末尾のマーカー語(「동안」)で種類を区別しますが、カナデは動詞自体が3種類に分かれています。
| 種類 |
ハリ |
カナデ |
| 範囲(range) |
1부터 3까지 반복하자 |
1から3まで繰り返そう |
| while(条件) |
(조건)인 동안 반복하자 |
(条件)間繰り返そう |
| foreach(リスト) |
'목록'의 '항목'마다 반복하자 |
『リスト』の『項目』ごとに繰り返そう |
| break |
반복을 끝내자 |
繰り返しを終わろう |
2.7 例外処理
| 意味 |
ハリ |
カナデ |
| try |
일단 해보자 |
とりあえずやってみよう |
| catch |
오류가 발생했다면 |
発生したら / 発生したなら |
| finally |
마무리는 항상 |
最後はいつも / 締めくくりはいつも |
| throw |
던지자 / 발생시키자 |
発生させよう |
2.8 入出力・関数呼び出し
| 意味 |
ハリ |
カナデ |
| 出力(改行あり) |
출력하자 |
出力しよう |
| 出力(改行なし) |
이어출력하자 |
続けて出力しよう |
| 入力受付 |
입력받자 |
入力させよう / 入力してもらおう |
| 関数・メソッド実行 |
실행하자 |
実行しよう |
| return |
돌려주자 |
返そう |
| import |
가져오자 |
持ってこよう |
2.9 比較演算子(語彙)
| 意味 |
ハリ |
カナデ |
| 等しい(==) |
같다 |
同じだ / と同じだ |
| 異なる(!=) |
다르다 |
違う / 異なる |
| より大きい(>) |
크다 |
大きい / より大きい |
| より小さい(<) |
작다 |
小さい / より小さい |
| 以上(>=) |
이상이다 |
以上だ |
| 以下(<=) |
이하이다 |
以下だ |
| instanceof |
일종이다 |
一種だ |
区切り記号・語彙以外の文法規則(型注釈、アクセス制御、スコープ規則など)は完全にハリと同一なので、上の対応表を当てはめれば、Hari 技術仕様もそのままカナデのコードに読み替えられます。