Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

自作言語に関するsonota88のブックマーク (5)

  • HaskellとRustを足して2で割ったような関数型言語Fixを作っている話 - Qiita

    はじめに ここ1年ぐらいかけて、Fixという名前のプログラミング言語を作っています。 コアとなる機能の実装がある程度落ち着き、実際にFixを使ってプログラムを書けるようになってきたので、そろそろ言語の紹介をしてみようと思います。 記事はFixのチュートリアルではなく、どういう思想で設計されていて、どういう特徴を持つ言語なのか、という点を紹介するものです。 意見・提案・助言などをいただけるとうれしいです。 リポジトリはこちらです。 ※ コメントやコミットメッセージは一応拙い英語で書いていますが、日語でissueを立てたりdiscordで意見・質問してもらっても大丈夫です。 ※ 急いで作った部分もあるため、コンパイラのコードは結構汚いです。ご容赦ください。 現状、Fixをローカルで実行するためにはLLVMのインストールが必要で時間がかかりますが、Fix playgroundを使えばブラウザ

    HaskellとRustを足して2で割ったような関数型言語Fixを作っている話 - Qiita
  • C#でシンプルな自作言語のコンパイラを書いた - Qiita

    $ wc -l src/*.cs src/lib/{Types,Utils}.cs 389 src/CodeGenerator.cs 28 src/Compiler.cs 70 src/Lexer.cs 402 src/Parser.cs 221 src/lib/Types.cs 78 src/lib/Utils.cs 1188 total $ echo ' func add(a, b) { return a + b; } func main() { call add(1, 2); } ' | mono bin/mrclc lex | mono bin/mrclc parse | mono bin/mrclc codegen # ↓ アセンブリが出力される call main exit label add push bp mov bp sp mov reg_a [bp:2] push re

    C#でシンプルな自作言語のコンパイラを書いた - Qiita
  • 素朴な自作言語Ruccolaのコンパイラをセルフホストした - Qiita

    自作言語 Ruccola のコンパイラがセルフホストできました! (2021-06-26 追記) Pric という名前はよろしくなさそうという情報をいただきました。自分では気づけていなかったので大変ありがたいです。k が付いたものと発音がおそらく同じになるので、ダメそうですね。何か別の名前を考えようと思います。 (2022-01-12 追記) 名前を Pric から Ruccola に変えました。記事の記述などはおいおい修正していきます。 概要 これまでのあらすじ これまで vm2gol(virtual machine to game of life)というプロジェクト名で以下のようなことをやってきました。 (2018) RubyでオレオレVMとアセンブラとコード生成器を2週間で作ってライフゲームを動かした話 vm2gol-v1 高水準言語の代わりに構文木を直接書き、それをコンパイルして

    素朴な自作言語Ruccolaのコンパイラをセルフホストした - Qiita
  • (2週間ちょっとで)Rubyでかんたんな自作言語のコンパイラを作った - Qiita

    RubyでオレオレVMとアセンブラとコード生成器を2週間で作ってライフゲームを動かした話の続きです。このときスコープ外にしていたフロントエンド部分(高水準言語から構文木への変換部分)をやっと書きました。3日くらいでできたのでさっさとやっておけばよかった。 これまではパーサまで揃っていなかったため仕方なく「コード生成器を作った」という表現にしていましたが、ここまでやったら「コンパイラを作った」と言っていいはず! ※ ブログに書いていたもの1を引っ越してきました。元の記事公開日は 2020-05-04 です。 ※ パーサ以外の部分をどうやって作ったか知りたい方はこちらをどうぞ ※ 他の言語にも移植していますので Ruby わからんという方はこちらもどうぞ(2021-06-15 現在での移植先: TypeScript, Python, Dart, Java, C, Perl, C♭, PHP,

    (2週間ちょっとで)Rubyでかんたんな自作言語のコンパイラを作った - Qiita
  • RubyでオレオレVMとアセンブラとコード生成器を2週間で作ってライフゲームを動かした話 - Qiita

    (↓Firefox だとアニメgifが再生されない場合があるようです。ファイルをクリックして画像だけ表示すると動くものが見れます。) きれいにまとまってないですが、箇条書き+α程度で雑にメモ。 ブログに書いていたもの1を Qiita に引っ越してきました。元の記事公開日は 2019-05-04 です。 TechRacho さんの週刊Railsウォッチ(20210209後編)で紹介されました(ありがとうございます )。こちらもあわせて読んでいただけるとよいかと。 できたもの 2018年5月のゴールデンウィーク残り2日というところ(5/5)で思い立って初めて、 5/18 完成。 もっと早く公開したかったんですが仕事が忙しくて燃え尽きたりしていて結局1年かかってしまいました。 去年の言語実装 Advent Calendar に超初心者枠で参加しようかと考えてたんですが、間に合わず……。 それを原

    RubyでオレオレVMとアセンブラとコード生成器を2週間で作ってライフゲームを動かした話 - Qiita
  • 1