6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

後輩がRustで言語を実装していた話

Last updated at Posted at 2019-07-22

後輩の@maikiichanが言語を作っていた。
仕様や動機など、聞いたことをまとめた。

lisp-by-rust

これはなに?

Lisp風言語のRust実装。

名前は?

考えるのが面倒、とのこと

デプロイ

TravisCIを使い、GitHubにあるtrustのテンプレートを利用して、
CLI上でタグを付けるコマンドを打つだけで自動的にリリースしてくれる環境にした。後述の参考記事にはなかった独自の部分。
設定がちょっと大変だったが、超便利。

具体的には、

  • デプロイ
  • 各環境ごとのバイナリファイル自動生成
  • /releases配下に配置

仕様

  • 数値計算
  • 関数定義
  • 変数使える
  • ファイルからの読み込み可能

使い方

実行ファイルを使う場合

  1. リリースページから、環境に合ったファイルをダウンロード(ex. Mac環境の場合はx86_64-apple-darwin.tar.gz
  2. 解凍して実行ファイルから起動する

スクリーンショット 2019-07-22 午後7.04.11.png

こんな感じで計算できる。
演算子を最初に書く、美しい「前置形式」。

クローンする場合

Rustの実行環境が必要:はじめる

起動

CLI上で叩く

cargo run

ファイル読み込み

runコマンドの後にファイルパスを指定すると、ファイルを読み込んで実行できる

cargo run /path/to/file

作った動機

できないこと

  • 文字列を結合すると落ちる
  • 文字列は泥臭い実装が必要で、それをしたくない+現状のコードの倍の量になるので省いた

参考文献

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?