🐡
Rustで言語を自作してみた
なんか作りたくなったので作りました
言語について
言語名はPrimo、ChatGPTに決めてもらいました(多分他のソフトウェアと名前は被ってないはず)
一応初心者が書くことを想定して作ってます
インタプリタ形式の動的型付け言語で、Rustで実装してます
programs/
以下にコード例があります
使用したcrate
- rust-peg
- 構文のパースからAST生成までをしてます
- rstest
- テスト書くとき使いました
文法
リテラル
bool型のリテラル
true false
int型のリテラル
10
str型のリテラル
"Hello World!"
条件式
==
と!=
しか実装していません
Python同様and
、or
、not
が使えます
変数定義
最近の言語に多いlet文を採用しました
let x = 10;
代入
x = 20;
print文
print "Hello World!", "\n";
,
区切りで複数値を出力できます
if文
if hoge {}
elif huga {}
else {}
loop文
Rustから輸入してきました
continueはキーワードが長く、間違いが発生しやすそうなのでnextにしてます
loop {
next;
break;
}
関数定義
これもRustから輸入してきました
JSのようにfunction
みたいな長いキーワードは間違いが起きやすいので
fn add(a, b) {
return a + b;
}
実装予定の文法
struct
こういう感じになる予定
struct Person {
name,
age
}
コメント
一番重要な気がする
# コメントはPythonと同じ文法にする予定
Discussion